语义分割数据集详解(PASCAL-VOC2012,Vocbenchmark,Cityscapes)

在语义分割的一些论文中常常会对几个常用的数据集进行验证,以验证算法的优越性,无论是在分割性能还是分割速度上。在一些模型的复现中,由于不同作者的代码风格不同,所有我们有必要根据自己的数据格式进行稍作修改,所以对于数据集的结构了解是必不可少的,下面就几种常用的分割数据集进行解析。

PASCAL-VOC2012

数据集介绍官网:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html

VOC2012数据集分为20类,包括背景为21类,分别如下:

Person: person

Animal: bird, cat, cow, dog, horse, sheep

Vehicle: aeroplane, bicycle, boat, bus, car, motorbike, train

Indoor: bottle, chair, dining table, potted plant, sofa, tv/monitor

总览

这里只说与图像分割(segmentation)有关的信息,VOC2012中的图片并不是都用于分割,用于分割比赛的图片实例如下,包含原图以及图像分类分割和图像物体分割两种png图。图像分类分割是在20种物体中,ground-turth图片上每个物体的轮廓填充都有一个特定的颜色,一共20种颜色,比如摩托车用红色表示,人用绿色表示。而图像物体分割则仅仅在一副图中生成不同物体的轮廓颜色即可,颜色自己随便填充。

数据集基本结构如下:

其中Annotations文件夹中是图片的XML信息,xml信息包含了该图片的基本信息,xml语言很易读,我们从中可以轻易得出这幅图片的一些基本信息,其中segmented一栏为1,这里的意思是这幅图用于分割(因为VOC2012中一共有10000+图,但并不都用于分割任务,有的用以物体标识或者动作识别等),若这一栏为0说明这幅图不是用于图像分割的。

ImageSets文件夹中有有四个文件夹,其中Segmentation是我们分割所需的文件,其中包含训练,验证检索的.txt文件,train和val中的图片加一起一共2913张图。JPEGImages文件中是我们的原始图片,这些图片一共有17125张,我们并不是都使用,我们仅对train.txt和val.txt中列出的图像进行使用,而其他的图像则用于不同的任务中,用于分割的图片在.txt文件中有详细,。

上面我们介绍了Image,GT图像在SegentationClass文件夹中。

从这里也可以看出,Image文件夹中的图像部分是用于分割任务的。

图像分割的数据集一般都是采用上面说明的VOC2012挑战数据集,有人说benchmark_LELEASE为增强数据集,具体原因我不清楚,可能是因为benchmark_LELEASE的图片都是用于分割(一共11355张),而VOC2012仅仅部分图片适用于分割(2913张)吧。我们自己制作数据集的时候,只需要图像的json、xml分割信息就可以通过程序生成对应的png轮廓图。


Cityscapes

该数据集包含如下:images_base和annotations_base分别对应这文件夹leftImg8bit(5,030 items, totalling 11.6 GB,factually 5000 items)和gtFine(30,030 items, totalling 1.1 GB)。里面都包含三个文件夹:train、val、test。总共5000张精细释,2975张训练图,500张验证图和1525张测试图。
在leftImg8bit/train下有18个子文件夹对应德国的16个城市,法国一个城市和瑞士一个城市;在leftImg8bit/val下有3个子文件夹对应德国的3个城市;在leftImg8bit/test下有6个子文件夹对应德国的6个城市。

在gtFine/train下有18个子文件夹对应leftImg8bit/train里面的文件夹,但是不一样的leftImg8bit里面的一张原图,对应着gtFine里面有6个文件分别是color.png、instanceIds.png、instanceTrainIds.png、labelIds.png、labelTrainIds.png、polygons.json。