CoCo2017数据集简介
1. coco2017数据下载及解压
下载参考: 主:https://blog.csdn.net/u014734886/article/details/78830713 ###########
辅:https://blog.csdn.net/qq_41847324/article/details/86224628
实例:https://blog.csdn.net/m0_37644085/article/details/81948396 ############
coco2017包含以下几个文件就好:
coco数据集一共有五种标注类型,分别:目标检测, 关键点检测,素材分割, 全景分割, 图像说明等5种类型;标注信息使用 JSON 格式存储( annotations ), 预处理通过COCO API用于访问和操作所有“标注”
reference: https://blog.csdn.net/u013832707/article/details/93710810
a. 对stuff任务:118282(118K)训练,5k验证
b. 对instance任务:118k训练,instances_minival2014.json(5k)测试
c. 全景分割任务:40890(40k)训练,5k测试
note: 常用2017 Train images [118K / 18G],2017 Val image [5K / 1G]
这些图片对应的标注信息应用: 2017 Train/Val annotations [241MB]
instances: 目标检测
captions: 图像描述
person_keypoints: 人关键点检测
2017 Stuff Train/Val annotations [1.1GB] : 素材分割( Stuff Segmentation )
2017 Panoptic Train / Val annotations [821MB] : 全景分割( Panoptic Segmentation )
还有测试集2017 Test images [ 41K/6GB ],这部分数据不知道annotations,分为test-dev集和test集,相当于A,B榜,前者可以提交到evaluation server去查看结果并得到反馈,后者用于评判最终的比赛结果。
2. 标注信息( annotations )数据格式---所有“标注”都具有一下相同的基本数据结构:
coco有5种类型标注,分别是:物体检测,关键点检测,实例分割,全景分割,图片标注,每一个标注都对应一个json文件;json是一个大字典,都包括如下关键字:
{
“info” : info,
"images" : [image],
"annotations" : [annotation],
"licenses" : [license],
}
其中info对应的内容如下:
info{
"year" : int,
"version" : str,
"description" : str,
"contributor" : str,
"url" : str,
"date_created" : datetime,
}
其中images对应一个list,对应多张图片;list的每一元素是一个字典,对应一张图片,格式如下:
images[
{
"id" : int, # 图片id
"width" : int, # 图片宽
"height" : int, # 图片高
"file_name" : str, # 图片名
"license" : int,
"flickr_url" : str,
"coco_url" : str, # 图片链接
"date_captured" : datetime,# 图片标注时间
},
{
"id" : int,
"width" : int,
"height" : int,
"file_name" : str,
"license" : int,
"flickr_url" : str,
"coco_url" : str,
"date_captured" : datetime,
},
...
]
其中 license的内容如下:
license{
"id" : int,
"name" : str,
"url" : str,
}
虽然每个json文件都有"info", “images” , “annotations”, "licenses"关键字,但不同的任务对应的json文件中annotation的形式不同,分别如下:
对木目标检测而言:
每个对象实例的标注都包含一系列字段,包括对象的类别ID(category_id)和分段掩码(segmentation)。 分段格式取决于实例是表示单个对象(iscrowd = 0,在这种情况下使用多边形)还是对象集合(iscrowd = 1,在这种情况下使用RLE)。 请注意,单个对象(iscrowd = 0)可能需要多个多边形,例如,如果被遮挡。 人群注释(iscrowd = 1)用于标记大组对象(例如一群人)。 此外