【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中有效 并且所做的修改
  • VTK C++版本本地编译(含OOCT编译及创建项目)

    官方编译 以Linux为主 也有Window的处理方式 可以参考 讲述Windows环境下如何进行处理 前期准备 VTK ZIP 建议下载最新版 否则会出错 也可按照需要自行选择 CMake Visualstudio 版本无要求 我下载的是
  • 访谈:小学学历的程序员自主研发出框架级产品

    提到许松森 也许你并不知道他是谁 在Google中敲入这个名字 能找到的结果也寥寥无几 那么做为我们这一期采访的主角 他究竟是用什么在吸引着我们呢 打开许松森的blog 开篇就是 我的悲惨人生 读在字里行间 对他在逆境中的自我成长很是敬佩
  • Visual C++中函数的覆盖和函数的隐藏

    我是荔园微风 作为一名在IT界整整25年的老兵 今天来聊聊Visual C 中函数的覆盖和函数的隐藏 Visual C 中函数的覆盖和函数的隐藏与JAVA有很大不同 有些容易搞错的点和概念 我们要特别注意 首先 先满足一下急性子的同学 因为
  • 同样将AI装进“办公全家桶”,Microsoft 与 Google有何不同?

    继GPT 4发布之后 北美时间3月16日 微软在 The Future of Work With AI 大会上发布了Microsoft 365 Copilot 再次掀起一股科技圈浪潮 据介绍 Microsoft 365 Copilot是一种
  • DPC_WATCHDOG_VIOLATION蓝屏分析

    https blog csdn net xiangbaohui article details 104849967 DPC WATCHDOG VIOLATION蓝屏分析 1 背景 今天在我们客户的电脑上面出现了一个蓝屏 并且反馈蓝屏码很奇怪
  • Dynamics 365应用程序开发 - 6. 使用Microsoft Flow自动化业务流程

    在上一章中 我们了解了如何使用Microsoft PowerApps轻松创建自定义商业应用程序 在本章中 我们将了解Microsoft Flow 它可以定义为一种基于云的服务 使用户能够构建跨多个应用程序和服务自动化不同任务和流程的工作流
  • Microsoft Office 2010安装

    哈喽 大家好 今天一起学习的是office2010的安装 有兴趣的小伙伴也可以来一起试试手 一 测试演示参数 演示操作系统 Windows 7 不建议win10及以上操作系统使用 系统类型 64位 演示版本 SW DVD5 Office P
  • Windows程序员必须掌握的计算机编码问题——海明码(通俗易懂)

    我是荔园微风 作为一名在IT界整整25年的老兵 今天总结一下计算机中的编码问题 来看第二部分 海明码 很多初学者一看到海明码就郁闷 因为课本上关于海明码的描述实在是太难懂了 那就跟随我一起来搞懂海明码 我用最简单最好懂的方式描述 我不会使用
  • Project file already exist. ImageManageSys.vcxproj already exists.Select ‘OK‘ to regenerate the file

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 二 错误原因 三 解决办法 前言 我已经安装了Qt visual studio tools插件 当我用visual studio 2019 导入Qt工程中的ImageManageSys p
  • VS2022创建动态运行库(DLL)和隐式调用

    创建动态运行库 一 打开VS2022 新建一个DLL工程 二 在项目中新建一个头文件 输入以下代码 pragma once ifdef BUILD DLL 当源文件中有 define BUILD DLL时执行dllexport BUILD
  • ul里面可以放div吗?

    在HTML中 ul 标签代表无序列表 可以用来展示项目列表 而 div 标签则是div容器用于分组内容 提供独立于文档的CSS样式和JavaScript事件处理 那么 ul里面可以放div吗 答案是肯定的 下面从多个方面进行详细阐述 一 语
  • 扬帆证券:急跌洗盘特征?

    首要 急跌一般是突发的 一旦开始 就可能构成恶性连锁反应 导致更严重的跌落 这一般是由一些外部要素引起的 比如政治和经济变化 自然灾害等等 其次 洗盘现象是指许多股票被大批量卖出 导致股价急剧跌落 这一般由一些内部要素引起的 比如公司内部动
  • 扬帆证券:什么是证券服务机构?

    股票市场上 除出资者之外有各式各样的生意主体 盘绕证券所打开的公司类型非常丰盛 在实践生意中 常与出资者有所联络的不止证券公司 还有证券服务组织 那什么是证券服务组织 它和证券公司之间有什么关系 关于这些 本文将借用相关常识作部分评论 来为
  • 机器人学英语

    我的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下一切皆 文件 所以用户管理的是相应的文件 二问 如何管理 文件呢 答 文件基本管理 比如
  • Microsoft Family Safety Microsoft 家庭安全将人员添加到你的家庭组

    在 创建家庭组 后 通过添加家庭成员来浏览 Microsoft 家庭安全 的功能和权益 如果某人已是家庭组成员 则在加入另一个组之前 他们必须 退出该组或从该组中删除 他们还可以 创建一个新的 Microsoft 帐户 以与新的家庭组相关联
  • 扬帆证券:A股高股息资产“画像”:连续数年跑赢大盘

    近期A股分红 大方 股息率较高的板块再次引起关注 走势显着强于同期大盘 并继续遭到商场追捧 有专家在接受证券时报记者采访时以为 近年A股商场高股息财物受捧背面 有多种要素在发挥作用 包含高股息财物本身具有的出资优势 微观经济布景 出资者心态
  • 对中国手机作恶的谷歌,印度CEO先后向三星和苹果低头求饶

    日前苹果与谷歌宣布合作 发布了 Find My Device Network 的草案 旨在规范蓝牙追踪器的使用 在以往苹果和谷歌的生态形成鲜明的壁垒 各走各路 如今双方竟然达成合作 发生了什么事 首先是谷歌安卓系统的市场份额显著下滑 数年来

随机推荐