【Microsoft COCO数据集介绍以及简单使用】

2023-05-16

【Microsoft COCO数据集介绍以及简单使用】

  • 文前白话
    • 1、MSCOCO数据集介绍
    • 2、COCO数据集格式说明
    • 3、数据集下载
    • 4、COCO API
      • ① pycocotools
      • ② 其它的COCO API
    • Reference

文前白话

本文介绍Microsoft COCO 数据集内容、格式、下载方式以及使用官方COCO API 处理训练、预测过程中数据以及可视化功能使用等等。

在这里插入图片描述

1、MSCOCO数据集介绍

MSCOCO数据集是微软开发维护的大型图像数据集,数据集标注类型对应任务包括物体检测、关键点检测、实例分割、 stuff分割 (没有特定形状的物体) ,全景分割人体关键点, 人体密度检测 等等。

数据特点:

目标级分割
图像情景识别
超像素分割
超过33万张图象,标注过的图像超过20+万张
150万个对象实例
80 Object categories (80个目标类别)
91个 stuff 类别

每张图图像有5段情景描述
对25万个人进行了关键点标注
在这里插入图片描述

与pascal VOC 数据集对比:

在这里插入图片描述

COCO数据集在类别上,包含了VOC数据集的种类

在训练自己的数据集,可以先用COCO数据集预训练好的权重(训练比较耗时间,硬件GPU训练有一定的要求),再做一个迁移学习,可以达到一个更好的效果。

2、COCO数据集格式说明

关于COCO数据集官方给出的标注文件的格式说明:
具体参见官方链接: https://cocodataset.org/#format-data.

根据官方文档:预测的结果格式以列表的形式保存,列表中的每个元素对应一个检测目标(每个元素都是字典类型),每个目标(列表)中记录了四个信息:

  • image_id 记录该目标所属图像的id —— (int类型)
  • category_id 记录预测该目标的类别索引 ,注意这里索引是对应stuff中91个类别的索引信息**(int类型)** - (可以根据实际情况自己修改)
  • bbox 记录预测该目标的边界框信息,注意对应目标的[xmin,ymin,width,height]——(listfloat]类型)其中,xmin,ymin 目标边界框左上角的 x,y 坐标;width,height 对应目标的宽度和高度
  • score 记录预测该目标的概率(float类型

在这里插入图片描述

3、数据集下载

数据集官方网址:https://cocodataset.org/
数据集介绍论文地址:https://arxiv.org/pdf/1504.00325.pdf.
在这里插入图片描述
数据集下载参赛选用参考:(自己跑无所谓,哪一个都可以)
在这里插入图片描述

针对于目标检测的需求,要下载的数据:

在这里插入图片描述

  • 2017 Train images :训练过程所需的图片文件
  • 2017 Val images :验证过程所需的图片文件
  • 2017 Train/Val annotations :对应训练集和验证集的标注json文件

在本地计算机中创建一个新的文件夹存放下载到的数据集:

在这里插入图片描述

注意: 虽然每个json文件都有"info", “images” , “annotations”, "licenses"关键字,但不同的任务对应的json文件中annotation的形式不同。
在这里插入图片描述

在制作自己的数据集时候,文件夹的格式可以保持一致,标注的信息要提前筛选和检查一遍,避免在标注的过程中出现标定框的高度、宽度为0的情况,影响训练进行。

上述的文件夹框架中,在标注信息文件夹下,训练涉及的主要注意文件是:含有训练集标注信息的json文件 和 验证集的验证集标注信息的json文件。

自己训练的时候,没有必要自己划分测试集。只有特别需求的时候,比如参加什么比赛有要求,防止人为修改参数在模型和数据、结果之间作弊。一般通过训练集得到模型,用验证集进行验证就可以满足基本要求了

4、COCO API

① pycocotools

在这里插入图片描述

pycocotools:帮助使用python加载、解析和可视化coco中的标注文件

示例:

在这里插入图片描述

通过pycocotools可以读取图片以及对应的并标签信息,将预测的结果在原图中显示出来。

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

② 其它的COCO API

  • COCO类:用于加载COCO标注文件并准备所需的数据结构.
  • getAnnlds:获取满足条件的标注信息的ids.
  • getCatlds:获取满足条件的类别的ids.
  • getlmglds:获取满足条件的图片的ids.
  • loadAnns:加载指定ids对应的标注信息.
  • loadCats:加载指定ids对应的类别.
  • loadlmgs:加载指定ids对应的图片.
  • annToMask:将 segmentation 标注信息转换为二值mask.
  • showAnns:显示指定ids的标注信息到对应的图片上.
  • loadRes:加载算法的结果并创建可用于访问数据的APl.
  • download:从mscoco.org 服务器下载COCO图片数据集.

Reference

https://www.bilibili.com/video/BV1TK4y1o78H
https://www.bilibili.com/video/BV19h411C7pK/?spm_id_from=autoNext
https://blog.csdn.net/u013832707/article/details/93710810
https://blog.csdn.net/qq_37541097/article/details/113247318

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Microsoft COCO数据集介绍以及简单使用】 的相关文章

  • LLVM编译

    欢迎到我的博客来阅读这篇文章 https qiu weidong github io 2022 05 01 llvm build Windows下编译LLVM 安装Visual Studio 首先需要下载Visual Studio Inst
  • oracle alter system命令使用

    我們可以利用alter system語句在數據庫咝羞 程中修改初始化參數的值 如果instance在啟動時使用的是文本初始化參數文件 那樣我們在利用alter system語句修改的初始化參數僅在當前的instance中有效 并且所做的修改
  • microsoft store 微软应用商店打不开?所有教程都尝试了一遍,居然是因为这个

    所有教程都尝试了一遍 居然是因为这个 此方法适用于 1 平时爱用梯子 2 下面这个浏览器已经不能上网了 3 网上其他教程均不管用的情况 弄了好久 没想到还能弄好 网上的教程我都试了一遍 真的哭笑不得 原理 微软的应用商店联网靠的就是inte
  • VTK C++版本本地编译(含OOCT编译及创建项目)

    官方编译 以Linux为主 也有Window的处理方式 可以参考 讲述Windows环境下如何进行处理 前期准备 VTK ZIP 建议下载最新版 否则会出错 也可按照需要自行选择 CMake Visualstudio 版本无要求 我下载的是
  • 如何快速增加大量用户和用户组

    Windows平台下 假设建有Domain A和Domain B 两者已经建立了信任关系 可以采用在命令行中输入如下命令在各自的domain中增加用户或用户组 1 增加用户组FOR L i in 1 1 10 DO dsadd group
  • 访谈:小学学历的程序员自主研发出框架级产品

    提到许松森 也许你并不知道他是谁 在Google中敲入这个名字 能找到的结果也寥寥无几 那么做为我们这一期采访的主角 他究竟是用什么在吸引着我们呢 打开许松森的blog 开篇就是 我的悲惨人生 读在字里行间 对他在逆境中的自我成长很是敬佩
  • 安装tiny-cuda-nn时报错RuntimeError: Could not locate a supported Microsoft Visual C++ installation

    问题描述 按照官方教程安装nerf studio 运行命令pip install git https github com NVlabs tiny cuda nn subdirectory bindings torch安装tiny cuda
  • 同样将AI装进“办公全家桶”,Microsoft 与 Google有何不同?

    继GPT 4发布之后 北美时间3月16日 微软在 The Future of Work With AI 大会上发布了Microsoft 365 Copilot 再次掀起一股科技圈浪潮 据介绍 Microsoft 365 Copilot是一种
  • Micropython驱动ST7735显示中文(中文字体库)

    大家是不是遇到显示中文就头大了 又是取模又是怎么的 但麻烦 太繁琐了 对确定的字符显示来说还可以 但不确定的内容时就麻烦了 所以 今天还是来讲讲干货了 来使用一个方便的方式来显示中文 不用取模 直接显示你想要的中英文字体 开始之前要说一下的
  • Dynamics 365应用程序开发 - 6. 使用Microsoft Flow自动化业务流程

    在上一章中 我们了解了如何使用Microsoft PowerApps轻松创建自定义商业应用程序 在本章中 我们将了解Microsoft Flow 它可以定义为一种基于云的服务 使用户能够构建跨多个应用程序和服务自动化不同任务和流程的工作流
  • VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题...

    VC9编译的程序在没有装过VC9 确切的说是 Net Framework3 5 的机器上运行时 如果提示 由于应用程序配置不正确 应用程序未能启动 重新安装应用程序可能会纠正这个问题 这个错误 那么就说明该程序动态链接了VC9的运行时库 如
  • 扬帆证券:A股股息率逼近历史新高 价值股迎配置良机

    A股公司酬谢股东积极性持续进步 本年前三季度多达243家公司现金分红 一切核算数据只包括各个报告期分红 不包括特别分红 派现公司数量及占比均创出10年来同期新高 估计分红近2300亿元 分红率靠近33 分红额及分红率均为近10年来同期次高
  • Microsoft 365 for Mac:提升您的办公效率的终极选择

    在现代工作环境中 高效的办公软件是提高工作效率和团队合作的关键 Microsoft 365 for Mac 前身为Office 365 是微软为Mac操作系统推出的一套全面的办公软件解决方案 为用户提供了强大的工具和功能 帮助您在任何地方都
  • 扬帆证券:买卖点指标?

    生意点方针是证券交易中常用的技能分析东西之一 通过分析商场的价格 成交量等方针 来供应对商场生意的辅导定见 本文将从定义 类型 运用办法和优缺陷四个视点来分析生意点方针 一 定义 生意点方针又称为商场拐点方针 是证券交易中用于猜测商场价格未
  • 机器人学英语

    我的prompt i want to you act as an english language teacher asistant to help me study english you could teach me in such a
  • Linux-----13、用户、组

    用户 组 一 用户管理 用户概念及作用 了解 用户 指的是Linux操作系统中用于管理系统或者服务的人 一问 管理系统到底在 管理什么 答 Linux下一切皆 文件 所以用户管理的是相应的文件 二问 如何管理 文件呢 答 文件基本管理 比如
  • 最新渗透测试入门教程(非常详细),从零基础入门到精通,看完这一篇就够了

    什么是渗透测试 渗透测试就是模拟真实黑客的攻击手法对目标网站或主机进行全面的安全评估 与黑客攻击不一样的是 渗透测试的目的是尽可能多地发现安全漏洞 而真实黑客攻击只要发现一处入侵点即可以进入目标系统 一名优秀的渗透测试工程师也可以认为是一个
  • 全面解析找不到xinput1_3.dll无法继续执行代码的多种解决方案(实用教程)

    xinput1 3 dll文件是什么 xinput1 3 dll是一个动态链接库文件 它是DirectInput的组件之一 DirectInput是微软公司开发的一种输入设备驱动程序 用于处理游戏控制器 键盘 鼠标等输入设备的信号 xinp
  • Temu诉讼为公关手段?出海警惕恶性竞争!

    在国内流量见顶 人口红利接近尾声时 国内企业出海谋发展 已是必然 因此 以Temu与Shein为代表的跨境电商平台 也成为这个赛道的新生力量 正在带领我国企业奔向星辰大海 不过 虽然各大巨头角逐的市场更为宽广 但是面临的市场竞争同样激烈 例
  • Microsoft Family Safety Microsoft 家庭安全将人员添加到你的家庭组

    在 创建家庭组 后 通过添加家庭成员来浏览 Microsoft 家庭安全 的功能和权益 如果某人已是家庭组成员 则在加入另一个组之前 他们必须 退出该组或从该组中删除 他们还可以 创建一个新的 Microsoft 帐户 以与新的家庭组相关联

随机推荐