目录
- 图像分割
- 普通分割
- 语义分割
- 实例分割
- COCO数据集(Common Objects in COntext)
- annotations中json文件数据类型
- 解析Object Instance Annotations
- categories字段
- 以instance_train2014.json文件为例
图像分割
普通分割
将不同分属不同物体的像素区域分开。
如前景与后景分割开,狗的区域与猫的区域与背景分割开。
语义分割
在普通分割的基础上,分类出每一块区域的语义(即这块区域是什么物体)。
如把画面中的所有物体都指出它们各自的类别。
实例分割
在语义分割的基础上,给每个物体编号。
如这个是该画面中的狗A,那个是画面中的狗B。
COCO数据集(Common Objects in COntext)
COCO数据集中图像都是一样的,标注信息annotations不一样(就是包含注释信息的json文件),有captions,instances,person_keypoints,stuff四大类,表示不同的任务,每一类都分别包含train和val。分为:
- instances——实例分割
- person_keypoints——关键点分割
- stuff——语义分割
- captions——图片的配文,是一句话
每个类别分别包含train,val。做实例分割任务时,使用instance_train201X.json文件作为标签信息。
annotations中json文件数据类型
{
"info" : info,
"images" : [image],
"annotations" : [annotation],
"licenses" : [license],
"categories": [category]
}
info{
"year" : int,
"version" : str,
"description" : str,
"contributor" : str,
"url" : str,
"date_created" : datetime,
}
image{
"id" : int,
"width" : int,
"height" : int,
"file_name" : str,
"license" : int,
"flickr_url" : str,
"coco_url" : str,
"date_captured" : datetime,
}
license{
"id" : int,
"name" : str,
"url" : str,
}
images数组元素的数量等同于划入训练集(或者测试集)的图片的数量;
annotations数组元素的数量等同于训练集(或者测试集)中bounding box的数量;
categories数组元素的数量为80(2017年);
解析Object Instance Annotations
每个instance annotation包含一系列字段,包括对象的category id和分割掩码(segmentation mask)。segmentation格式取决于实例是否代表单个对象(iscrowd = 0,在这种情况下使用多边形(polygons))或对象集合(iscrowd = 1,在这种情况下使用RLE(自定义运行长度编码,Run Length Encoding))。
annotation{
"id": int,
"image_id": int,
"category_id": int,
"segmentation": RLE or [polygon],
"area": float,
"bbox": [x,y,width,height],
"iscrowd": 0 or 1,
}
单个的对象(iscrowd=0)可能需要多个polygon来表示,比如这个对象在图像中被挡住了。而iscrowd=1时(将标注一组对象,比如一群人)的segmentation使用的就是RLE格式。
注意啊,只要是iscrowd=0那么segmentation就是polygon格式;只要iscrowd=1那么segmentation就是RLE格式。另外,每个对象(不管是iscrowd=0还是iscrowd=1)都会有一个矩形框bbox ,矩形框左上角的坐标和矩形框的长宽会以数组的形式提供,数组第一个元素就是左上角的横坐标值。
area是area of encoded masks,是标注区域的面积。如果是矩形框,那就是高乘宽;如果是polygon或者RLE,那就复杂点。
最后,annotation结构中的categories字段存储的是当前对象所属的category的id,以及所属的supercategory的name.
categories字段
categories是一个包含多个category实例的数组,而category结构体描述如下:
{
"supercategory": "vehicle",
"id": 2,
"name": "bicycle"
}
以instance_train2014.json文件为例
{
"info": #info信息
{ #数据集信息
"description": "COCO 2014 Dataset", # 描述
"url": "http://cocodataset.org", # 链接
"version": "1.0", # 版本
"year": 2014, # 年份
"contributor": "COCO Consortium", # 贡献者
"date_created": "2017/09/01" # 创建日期
},
"images": #图片信息,数组包含了多张图像
[ { #每张图像的具体信息
"license": 5,
"file_name": "COCO_train2014_000000057870.jpg",
"coco_url": "http://images.cocodataset.org/train2014/COCO_train2014_000000057870.jpg",
"height": 480,
"width": 640,
"date_captured": "2013-11-14 16:28:13",
"flickr_url": "http://farm4.staticflickr.com/3153/2970773875_164f0c0b83_z.jpg",
"id": 57870
},
......
...... #此处省略很多图片
{
"license": 4,
"file_name": "COCO_train2014_000000475546.jpg",
"http://images.cocodataset.org/train2014/COCO_train2014_000000475546.jpg",
"height": 375,
"width":500,;、
"date_captured": "2013-11-25 21:20:23",
"flickr_url": "http://farm1.staticflickr.com/167/423175046_6cd9d0205a_z.jpg",
"id": 475546
}], #图像描述结束,下面开始介绍licenses
"licenses":
[ {
"url": "http://creativecommons.org/licenses/by-nc-sa/2.0/",
"id": 1,
"name": "Attribution-NonCommercial-ShareAlike License"
},
.....#此处省略七个license
.....
{
"url": "http://creativecommons.org/licenses/by-nc-nd/2.0/",
"id": 8,
"name": "Attribution-NonCommercial-NoDerivs License"
}],
"annotations":
[ {
#如果你想了解这个annotations中segment里面是什么,首先它是通过压缩处理后的分割区域的一个表示,TFRecord
"segmentation":[[312.29,562.89,402.25,511.49,400.96,425.38,398.39,372.69,
388.11,332.85,318.71,325.14,295.58,305.86,269.88,314.86,
258.31,337.99,217.19,321.29,182.49,343.13,141.37,348.27,
132.37,358.55,159.36,377.83,116.95,421.53,167.07,499.92,
232.61,560.32,300.72,571.89]],
"area": 54652.9556,
"iscrowd": 0,
"image_id": 480023,
"bbox": [116.95,305.86,285.3,266.03],
"category_id": 58,"id": 86
},
.....#此处省略很多图像的分割标签
.....
"segmentation":[[312.29,562.89,402.25,511.49,400.96,425.38,398.39,372.69,
388.11,332.85,318.71,325.14,295.58,305.86,269.88,314.86,
258.31,337.99,217.19,321.29,182.49,343.13,141.37,348.27,
132.37,358.55,159.36,377.83,116.95,421.53,167.07,499.92,
232.61,560.32,300.72,571.89]],
"area": 54652.9556,
"iscrowd": 0,
"image_id": 480023,
"bbox": [116.95,305.86,285.3,266.03],
"category_id": 58,
"id": 86
},
"categories":#类别信息
[ {
"supercategory": "person",
"id": 1,
"name": "person"
},
.......#此处省略很多图像的类标签
.......
{
"supercategory": "vehicle",
"id": 2,
"name": "bicycle"
},
{
"supercategory": "kitchen",#大类
"id": 50,
"name": "spoon"
}