COCO 2017数据集下载链接:
http://images.cocodataset.org/zips/train2017.ziphttp://images.cocodataset.org/annotations/annotations_trainval2017.zip
http://images.cocodataset.org/zips/test2017.ziphttp://images.cocodataset.org/annotations/image_info_test2017.zip
http://images.cocodataset.org/zips/val2017.ziphttp://images.cocodataset.org/annotations/stuff_annotations_trainval2017.zip
COCO的 全称是Common Objects in COntext,是微软团队提供的一个可以用来进行图像识别的数据集。MS COCO数据集中的图像分为训练、验证和测试集。
总共有80
个类别。
COCO数据集现在有3种标注类型:object instances
(目标实例), object keypoints
(目标上的关键点), 和image captions
(看图说话),使用json
文件存储。
如下:
上面所述的一共有三种类型,每种类型又包含了训练和验证,所以共6个JSON文件。
coco标注格式如下:
包含5个字段信息:info, licenses, images, annotations,categories
。上面3种标注类型共享的字段信息有:info、image、license
。不共享的是annotation
和category
这两种字段,他们在不同类型的JSON
文件中是不一样的
此外,在实际中,‘info’
和‘license’
一般用不上,我们可以把它置空。如下:
以目标检测为例,解释下coco标注格式。
- images字段
是包含多个image实例的数组。格式如下:
每一个image的实例是一个dict。
其中最重要的是id
字段,代表的是图片的id
,每一张图片具有唯一的一个独特的id
;height
字段,代表的是图片的高;width
字段,代表的是图片的宽;file_name
字段,代表的是图片的名字。
其它几个字段一般用不上,例如一个实际的image例子如下:
- annotations字段
包含多个annotation
实例的一个列表,annotation
类型本身又包含了一系列的字段,如这个目标的category id
和segmentation mask
。segmentation
格式取决于这个实例是一个单个的对象(即iscrowd=0
,将使用polygons
格式)还是一组对象(即iscrowd=1
,将使用RLE
格式)。格式如下:
id字段:指的是这个annotation的一个id
image_id:等同于前面image字段里面的id。
category_id:类别id
segmentation:
area:标注区域面积
bbox:标注框,x,y为标注框的左上角坐标。
iscrowd:决定是RLE格式还是polygon格式。
一个实际例子如下:
- categories字段
一个包含多个category实例的数组,而category结构体描述如下:
id:类别id
name:类别名字
supercatgory:
categories字段的id数,就是类别数。coco一共有80类,即id会递增到80。一个实际例子如下: