MS COCO:Microsoft Common Objects in Context
官网:http://cocodataset.org/#download
用途:CV方向通用目标检测或者语义分割的benchmark
这篇博客写给和我一样的新手(被各种复杂的一逼的github代码看花了眼),能够快速构建属于自己的pipeline。
本文以 COCO2017 做 Object Detection 为例:
- 第一步:下载数据
COCO API # coco的API,根据github中的提示配置基于coco的python API
2017 Train images [118K/18GB]
2017 Val images [5K/1GB]
2017 Test images [41K/6GB] # 图像
2017 Train/Val annotations [241MB]
2017 Testing Image info [1MB] # 注释 --根据自己的目标(检测、分割等)去下载
- 第二步:整理数据
COCO数据集下载好后,将图像(train2017\val2017\test2017)和标注(annotations)放在一起。
注意:annotation中包含所有的标注信息,这里我把目标检测用到的标注: instances_train2017.json和instances_val2017.json
以及测试用的image_info_test-dev2017.json放在自己用的文件夹里,其他不要。
coco
`-- |-- annotations
| |-- instances_train2017.json
| |-- instances_val2017.json
| |-- image_info_test-dev2017.json
|--- train2017
|--- val2017
`--- test2017
- 第三步,理解数据
1. train2017\val2017\test2017中都是图片,图片名称就是其id,很好理解。
2. annotations部分:
(1)inatance_train2017.json、instance_val2017.json两个json文件内容如何理解:
http://cocodataset.org/#format-data
可以打开文件对照着看,这里安利Notepad++,可以打开各种不知道是什么乱七八糟的文件。
(2)如何进行test:
http://cocodataset.org/#guidelines(其实2017 Testing Image info [1MB]下载后有两个test_info文件,这两个的区别就在这个链接里说明,论文中的结果一般采用test-dev)
http://cocodataset.org/#format-results
注:这部分我直接放了官网的链接,因为COCO官网解释的最清楚。估计有很多朋友和我一样英语不好,就想着有中文比较清楚的教程,然而中文搜索各种解释其实都是对官网的照抄翻译,还有的会漏很多细节,与其把精力放在无用的查找上,还不如硬着头皮去看官网,坚持住就是豁然开朗。
第四步,构建pipeline调用数据