语义分割学习系列(三)cityscapes数据集介绍

前言

  常见的语义分割数据集有VOC2012, MS COCO以及Cityscapes等。 今天我们先来介绍Cityscapes数据集

简介

   Cityscapes是关于城市街道场景的语义理解图片数据集。它主要包含来自50个不同城市的街道场景,拥有5000张在城市环境中驾驶场景的高质量像素级注释图像(其中 2975 for train,500 for val,1525 for test, 共有19个类别);此外,它还有20000张粗糙标注的图像(gt coarse)。

  从我目前了解来说, 一般都是拿这5000张精细标注(gt fine)的样本集来进行训练和评估的。当然,还有一个策略就是,先对粗糙标注的样本集进行一个简单的训练,然后再基于精细标注的数据集进行final training。 这里我们只谈gt fine样本集的训练。

精细样本集下载, 可直接从这个百度盘下载:https://pan.baidu.com/s/1w3W_dQBUiHcwkLOtbSJ1Tg 密码:1bln  

当然,也可以去其官网注册来获得完整数据集:https://www.cityscapes-dataset.com/ 

精细数据集介绍

   从百度盘下载后,根目录cityscapes的内容如下:

语义分割学习系列(三)cityscapes数据集介绍_第1张图片

样本数据都在红框里面的两个文件夹内。  preprocess.py主要是用来生成这些txt文件 (比如将相关样本图片的路径和文件名收集起来放到一个对应的txt文件里面),而read_depth.py主要是来确定图片的像素深度是16还是8bit。

红框里面的leftImg8bit文件夹有三个子目录:test, train以及val,分别为测试集,训练集以及验证集图片。这三个子目录的图片又以城市为单元来存放。这里解释下leftImg8bit的含义,因为cityscapes实际上来源于双摄像头拍摄的立体视频序列,所以这里的leftImg就是来自于左摄像头的图片,而8bit意味着该图片集都为每个分量为8bit的24位深度的图片。

train目录的所有子目录如下所示

语义分割学习系列(三)cityscapes数据集介绍_第2张图片

对样本图片对应的就是标注目录,即gtFine,显然这里的fine就是精细标注的意思。gtFine下面也是分为train, test以及val,然后它们的子目录也是以城市为单位来放置图片。这些都是和leftImg8bit的一一对应。 不同的是,在城市子目录下面,每张样本图片对应有6个标注文件,如下所示:

语义分割学习系列(三)cityscapes数据集介绍_第3张图片

 这里有两个注意点:

1)原始精细标注数据集里面其实每张图片只对应四张标注文件:xxx_gtFine_color.png, xxx_gtFine_instanceIds.png, xxx_gtFine_labelsIds.png以及xxx_gtFine_polygons.json。 xxx_color.png是标注的可视化图片,真正对训练有用的是后面三个文件。xxx_instanceIds.png是用来做实例分割训练用的,而xxx_labelsIds.png是语义分割训练需要的。它们的像素值就是class值。而最后一个文件xxx_polygons.json是用labelme工具标注后所生成的文件,里面主要记录了每个多边形标注框上的点集坐标。

2)至于另外两个xxx_gtFine_instanceTrainIds.png和xxx_gtFine_labelTrainIds.png则是后面使用labels.py (from https://github.com/mcordts/cityscapesScripts/tree/master/cityscapesscripts/helpers)来生成的。因为实际上这5000张精细标注的图片有34类(0~33),但训练时可能只想关心其中19类(0~18)。所以需要做一个映射来将34类中感兴趣的类别映射到19类中,其它不感兴趣的类别就直接设成255,所以这也是为什么xxx_trainIds.png中有白色像素的原因,因为那些白色像素的类别不是我们感兴趣的,变成255白色了。   当然,这个预变换处理也不一定非要先做,因为有的模型,比如deeplabv3+,训练时,本身就会做这个转换。

这个类别映射classmap如下所示。

 

                     name |  id | trainId |       category | categoryId | hasInstances | ignoreInEval|        color

    --------------------------------------------------------------------------------------------------

                unlabeled |   0 |     255 |           void |          0 |            0 |            1 |         (0, 0, 0)

              ego vehicle |   1 |     255 |           void |          0 |            0 |            1 |         (0, 0, 0)

     rectification border |   2 |     255 |           void |          0 |            0 |            1 |         (0, 0, 0)

               out of roi |   3 |     255 |           void |          0 |            0 |            1 |         (0, 0, 0)

                   static |   4 |     255 |           void |          0 |            0 |            1 |         (0, 0, 0)

                  dynamic |   5 |     255 |           void |          0 |            0 |            1 |      (111, 74, 0)

                   ground |   6 |     255 |           void |          0 |            0 |            1 |       (81, 0, 81)

                     road |   7 |       0 |           flat |          1 |            0 |            0 |    (128, 64, 128)

                 sidewalk |   8 |       1 |           flat |          1 |            0 |            0 |    (244, 35, 232)

                  parking |   9 |     255 |           flat |          1 |            0 |            1 |   (250, 170, 160)

               rail track |  10 |     255 |           flat |          1 |            0 |            1 |   (230, 150, 140)

                 building |  11 |       2 |   construction |          2 |            0 |            0 |      (70, 70, 70)

                     wall |  12 |       3 |   construction |          2 |            0 |            0 |   (102, 102, 156)

                    fence |  13 |       4 |   construction |          2 |            0 |            0 |   (190, 153, 153)

               guard rail |  14 |     255 |   construction |          2 |            0 |            1 |   (180, 165, 180)

                   bridge |  15 |     255 |   construction |          2 |            0 |            1 |   (150, 100, 100)

                   tunnel |  16 |     255 |   construction |          2 |            0 |            1 |    (150, 120, 90)

                     pole |  17 |       5 |         object |          3 |            0 |            0 |   (153, 153, 153)

                polegroup |  18 |     255 |         object |          3 |            0 |            1 |   (153, 153, 153)

            traffic light |  19 |       6 |         object |          3 |            0 |            0 |    (250, 170, 30)

             traffic sign |  20 |       7 |         object |          3 |            0 |            0 |     (220, 220, 0)

               vegetation |  21 |       8 |         nature |          4 |            0 |            0 |    (107, 142, 35)

                  terrain |  22 |       9 |         nature |          4 |            0 |            0 |   (152, 251, 152)

                      sky |  23 |      10 |            sky |          5 |            0 |            0 |    (70, 130, 180)

                   person |  24 |      11 |          human |          6 |            1 |            0 |     (220, 20, 60)

                    rider |  25 |      12 |          human |          6 |            1 |            0 |       (255, 0, 0)

                      car |  26 |      13 |        vehicle |          7 |            1 |            0 |       (0, 0, 142)

                    truck |  27 |      14 |        vehicle |          7 |            1 |            0 |        (0, 0, 70)

                      bus |  28 |      15 |        vehicle |          7 |            1 |            0 |      (0, 60, 100)

                  caravan |  29 |     255 |        vehicle |          7 |            1 |            1 |        (0, 0, 90)

                  trailer |  30 |     255 |        vehicle |          7 |            1 |            1 |       (0, 0, 110)

                    train |  31 |      16 |        vehicle |          7 |            1 |            0 |      (0, 80, 100)

               motorcycle |  32 |      17 |        vehicle |          7 |            1 |            0 |       (0, 0, 230)

                  bicycle |  33 |      18 |        vehicle |          7 |            1 |            0 |     (119, 11, 32)

            license plate |  -1 |      -1 |        vehicle |          7 |            0 |            1 |       (0, 0, 142)

 

Example usages:

ID of label 'car': 26

Category of label with ID '26': vehicle

Name of label with trainID '0': road

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(深度学习,Cityscapes,gtFine,leftImg8bt,classmap)