对MS coco数据集的ann file协议的探究
文章目录
- 1. 工作场景
- 2. 资料收集
- 3. 解决方案
- 3.1 探究coco数据集中ann file 协议
- 3.1.1 annotations字段:重要程度☆☆☆
- 3.1.2 images和categories字段:重要程度☆☆
- 3.1.2 info和licenses字段:重要程度☆
- 3.2 制作一个coco标签形式的小规模数据集
- 4. 结语
- 5. 注意
- 6.参考资料
1. 工作场景
Coco数据集是当前目标检测领域最为流行的一个公开学术集。许多目标检测领域相关的开源工作,在描述自己的ann file的时候,会使用如下的方式进行描述:
The annotation files follows the json format of the Object Detection task of MS COCO[引1].
看起来,coco的数据标签形式是一个默认大家都知道的常识。那么,coco数据的标签形式到底是什么样子的?鉴于coco数据标签形式使用的广泛性,有必要对其进行一定的了解。
另外一方面,coco常用的训练集train_2017和验证集val_2017全集在实际工作中具有如下的不便之处:
- 图片压缩包分别为18G和1G, 由于网络原因,下载速度慢且易中断。
- coco数据集的ann file是一个数据集对应一个整体json文件,仅val集的json文件大小可达到20M, 不方便直接打开查看。
- 大部分场景下,并不是想使用coco全集,仅仅是因为开源框架或者算法提供的是coco数据集接口,为了安装、跑通该框架(或算法)需要coco集的存在。
因此本篇博文的内容聚焦两点内容:
- 探究coco数据集中ann file 协议。
- 制作一个coco标签形式的小规模数据集。
2. 资料收集
coco数据集的官网提供了相关的介绍,见[引2]。该github提供了instances_val2017.json, 大小为20M可以有一个直观感受, 见[引3]。
3. 解决方案
3.1 探究coco数据集中ann file 协议
首先回答第一个问题,coco的anno file协议是什么样子?以instances_val2017.json为例,它是一个大的dict数据结构。其key值包含五项[注1]:
'info', 'licenses', 'images', 'annotations', 'categories'
3.1.1 annotations字段:重要程度☆☆☆
这里的’annotations’是我们最应该关注的字段。它本身是一个长度为36781的list。表示当前val集中有36781个目标。以list中一个item为例,如下截图所示:这里的bbox和category_id就是我们最为关心的目标坐标框gt和类别gt。各个目标并没有按照是否为一张图片进行划分,但可以通过image_id来进行collect。这里有一个iscrowd字段,也是一个需要注意的点,但这里不做展开,后续计划会另外写一篇关于coco评测的博文,会对该字段的作用进行阐述。
{'segmentation': [[510.66,423.01,...510.03,423.01,510.45,423.01]],'area': 702.1057499999998,'iscrowd': 0,'image_id': 289343,'bbox': [473.07, 395.93, 38.65, 28.67],'category_id': 18,'id': 1768}
3.1.2 images和categories字段:重要程度☆☆
这里的’images’和’categories’字段有一定的用处,可以稍微的留意一下。'images’是一个list, 其长度为5000,与coco2017 val集的5000张图片数量相对应。仍旧以list中一个item为例,如下截图所示,这里强调两点:
- 在代码逻辑层面,图片的id数字是一个比图片名更加常用的值,这里可以看到id事实上就是图片名称中的数字去除前缀无效的0。
- 在该字段中,保留了图片的宽和高。如果一些预处理操作需要这一信息,不需要再借助于PIL或者cv等图像处理库来获取。open一个图片会花费较多不必要的时间。
# images是一个len为5000的list, 这里展示的是其中的一个元素
{'license': 4,'file_name': '000000397133.jpg','coco_url': 'http://images.cocodataset.org/val2017/000000397133.jpg','height': 427,'width': 640,'date_captured': '2013-11-14 17:02:52','flickr_url': 'http://farm7.staticflickr.com/6116/6255196340_da26cf2c9e_z.jpg','id': 397133}
categories字段,展示了该数据集中的类别信息,对应的id以及物理名称。需要注意的是,这里的类别id并不是连续的。
# categories是一个len为80的list, 但要注意这里的id并不是连续的[{'supercategory': 'person', 'id': 1, 'name': 'person'},...{'supercategory': 'furniture', 'id': 65, 'name': 'bed'},{'supercategory': 'furniture', 'id': 67, 'name': 'dining table'},{'supercategory': 'furniture', 'id': 70, 'name': 'toilet'},{'supercategory': 'electronic', 'id': 72, 'name': 'tv'},...{'supercategory': 'appliance', 'id': 82, 'name': 'refrigerator'},{'supercategory': 'indoor', 'id': 84, 'name': 'book'},...{'supercategory': 'indoor', 'id': 90, 'name': 'toothbrush'}]
3.1.2 info和licenses字段:重要程度☆
这里的‘info’项和’licenses’项是一些无太多实际意义的声明,可以直接跳过。
# info字段的内容
{'description': 'COCO 2017 Dataset','url': 'http://cocodataset.org','version': '1.0','year': 2017,'contributor': 'COCO Consortium','date_created': '2017/09/01'}
# license字段的内容
[{'url': 'http://creativecommons.org/licenses/by-nc-sa/2.0/','id': 1,'name': 'Attribution-NonCommercial-ShareAlike License'},{'url': 'http://creativecommons.org/licenses/by-nc/2.0/','id': 2,'name': 'Attribution-NonCommercial License'},{'url': 'http://creativecommons.org/licenses/by-nc-nd/2.0/','id': 3,'name': 'Attribution-NonCommercial-NoDerivs License'},{'url': 'http://creativecommons.org/licenses/by/2.0/','id': 4,'name': 'Attribution License'},{'url': 'http://creativecommons.org/licenses/by-sa/2.0/','id': 5,'name': 'Attribution-ShareAlike License'},{'url': 'http://creativecommons.org/licenses/by-nd/2.0/','id': 6,'name': 'Attribution-NoDerivs License'},{'url': 'http://flickr.com/commons/usage/','id': 7,'name': 'No known copyright restrictions'},{'url': 'http://www.usa.gov/copyright.shtml','id': 8,'name': 'United States Government Work'}]
3.2 制作一个coco标签形式的小规模数据集
针对第二个问题,其实际意义在于,coco数据集在很多时候,它的作用仅仅是为了跑通一些开源框架。但该集较大,下载起来速度较慢,存储空间较大。因此这里抽取了一个子集,共64张图片,可用于日常的快速使用, github链接[引3]。
这里的json标签文件只有1M不到,可以方便的用json文件打开工具(例如,右键,使用FireFox浏览器打开),打开直接直观的查看,3.1节的内容会更加清晰。
4. 结语
本篇文章探究了当前目标检测领域最为流行的MS coco数据集的ann file协议,并提供了一个含有64张图片及其对应anno file的coco子数据集,方便日常工作中开源算法和框架的安装、调试等工作。
5. 注意
[注1]如果查看引用2链接中的官方说明,会缺少’categories’这一项,但实际如果解析json文件,会看到是有该项的。可能是由于历史版本的原因。
6.参考资料
[引1] 文档版面解析任务: publayNet
[引2]MS COCO annotation files 官方介绍
[引3]coco子数据集
对MS coco数据集的ann file协议的探究相关推荐
- MS COCO数据集
1. MS COCO数据集介绍 MS COCO的全称是Microsoft Common Objects in Context,起源于微软于2014年出资标注的Microsoft COCO数据集. 官网 ...
- MS COCO数据集人体关键点评估(Keypoint Evaluation)(来自官网)
COCO系列文章: MS COCO数据集目标检测评估(Detection Evaluation)(来自官网) MS COCO数据集人体关键点评估(Keypoint Evaluation)(来自官网) ...
- MS COCO数据集详解
这是我的推广信息,以激励自己更好的分享自己的知识和经验!也希望看到的你能够多多支持,谢谢! 1. 滴滴云AI大师: 目前滴滴云正在大力推广自己的云计算服务,需要购买的朋友们用我的AI大师码 「2049 ...
- MS coco数据集下载链接
coco数据集因为官网被墙了,所以无法看到下载链接,翻墙后拷贝过来,直接用链接下载就可以. 网页格式拷贝过来后就与官网的不一样, 凑合看. Images 2014 Train images [83K/ ...
- MS COCO数据集标注格式解析
COCO是微软提供的一个图像识别的数据集.其中包括3个tasks,分别是object instances, object keypoints, 和image captions,存储格式为JSON. 基 ...
- MS coco数据集下载
登录ms-co-co数据集官网,一直不能进入,翻墙之后开看到下载链接.有了下载链接下载还是很快的,在我这儿晚上下载,速度能达到7M/s,所以也不上传到网盘了,有需要的人等夜深人静的时候下载效果更佳哦. ...
- MS COCO数据集输出数据的结果格式(result format)和如何参加比赛(participate)(来自官网)
https://blog.csdn.net/u014734886/article/details/78831382 coco2019关节点挑战赛服务器 https://competitions.cod ...
- 目标检测实战篇1——数据集介绍(PASCAL VOC,MS COCO)
前言 前面我们讲过了目标检测的YOLO系列算法,SSD算法.从这个博文开始,我们要真实开启实战篇章.在正式介绍实战篇之前,我们需要先知道两个数据集:PASCAL VOC和COCO数据集. 一.PA ...
- 计算机视觉常用数据集总结:包括MS COCO、ImageNet、VOC、人脸识别、行人检测等...
1.PASCAL VOC(权威鼻祖) PASCAL VOC是一个图像集,由Mark Everingham (University ofLeeds).Luc van Gool (ETHZ, Zurich ...
最新文章
- 【JQUBAR1.1】jQuery 插件发布
- openSUSE中启用apache mod_rewrite
- xbox虚拟服务器,Xbox One平台真相:原生Win8/虚拟化运行
- tomcat远程调试_docker容器远程debug(Tomcat)
- Leetcode每日一题:4.寻找两个有序数组的中位数
- MATLAB 写入 txt
- js常用方法之Array对象方法扩展
- 期货反跟单软件介绍与反跟单交易中的骗局
- python规模大小的指标是_Python 做证券指数三种策略分析 - 最高收益,最大规模,最小风险...
- mem leak debug
- Chrome 插件下载、安装、加载正在开发的扩展程序和打包扩展程序
- 统信桌面操作系统V20专业版(1020)正式发布
- Java练习题:算法(冒泡排序)
- pycharm运行Project Interpreter是空的怎么办?
- 财路网每日原创推送: 科普:区块链在其他领域的一些应用
- python如何打开服务器文件大小,关于字符串:Python可以打开的文件的最大大小?...
- (三)独立集、支配集及匹配——图论笔记系列
- 国际护士节活动策划PPT模板
- 嚼得菜根做得大事·《菜根谭》·十一
- 【Unity开发小技巧】AudioManager声音管理器