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标注格式如下:

深度学习数据集手动标注掩码 数据集的标注_字段_02


包含5个字段信息:info, licenses, images, annotations,categories。上面3种标注类型共享的字段信息有:info、image、license。不共享的是annotationcategory这两种字段,他们在不同类型的JSON文件中是不一样的

此外,在实际中,‘info’‘license’一般用不上,我们可以把它置空。如下:

深度学习数据集手动标注掩码 数据集的标注_字段_03


以目标检测为例,解释下coco标注格式。

  • images字段

是包含多个image实例的数组。格式如下:

深度学习数据集手动标注掩码 数据集的标注_数据集_04


每一个image的实例是一个dict。

其中最重要的是id字段,代表的是图片的id,每一张图片具有唯一的一个独特的idheight字段,代表的是图片的高;width字段,代表的是图片的宽;file_name字段,代表的是图片的名字。

其它几个字段一般用不上,例如一个实际的image例子如下:

深度学习数据集手动标注掩码 数据集的标注_深度学习数据集手动标注掩码_05

  • annotations字段

包含多个annotation实例的一个列表,annotation类型本身又包含了一系列的字段,如这个目标的category idsegmentation masksegmentation格式取决于这个实例是一个单个的对象(即iscrowd=0,将使用polygons格式)还是一组对象(即iscrowd=1,将使用RLE格式)。格式如下:

深度学习数据集手动标注掩码 数据集的标注_深度学习_06


         id字段:指的是这个annotation的一个id

         image_id:等同于前面image字段里面的id。

         category_id:类别id

         segmentation

         area:标注区域面积

         bbox:标注框,x,y为标注框的左上角坐标。

         iscrowd:决定是RLE格式还是polygon格式。

一个实际例子如下:

深度学习数据集手动标注掩码 数据集的标注_深度学习数据集手动标注掩码_07

  • categories字段

一个包含多个category实例的数组,而category结构体描述如下:

深度学习数据集手动标注掩码 数据集的标注_深度学习数据集手动标注掩码_08


         id:类别id

         name:类别名字

         supercatgory

categories字段的id数,就是类别数。coco一共有80类,即id会递增到80。一个实际例子如下:

深度学习数据集手动标注掩码 数据集的标注_数据集_09