PASCAL-VOC2012

  • PASCAL-VOC2012数据集介绍官网: 参考
  • 数据集下载地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar

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种颜色,比如摩托车用红色表示,人用绿色表示。而图像物体分割则仅仅在一副图中生成不同物体的轮廓颜色即可,颜色自己随便填充。

VOC2012数据集的代码结构如下:

  1. Annotation中包含了对应图片的xml信息:

我们以下面的2007_000032.jpg为例

其Annotation中对应的xml信息为:

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

  1. ImageSets中有用的部分为Segmentation文件:

因为VOC2012中的图片并不是都用于分割,所以需要txt文件信息来标记处哪些图片可以用于分割,写程序的时候就可以利用信息 train.txt 对图片进行挑选。train和val中的图片加一起一共2913张图。

  1. JPEGimages中存放正常样本图片:


JPEGimages则放了我们需要的图片,这些图片一共有17125张,我们并不是都使用,我们仅对train.txt和val.txt中列出的图像进行使用,而其他的图像则用于不同的任务中。

  1. SegmentationClass中的png图用于图像的语义分割


SegmentationClass中的png图用于图像语义分割,下图中有两类物体,人和飞机,其中飞机和人都对应着特定的颜色,注意该文件夹中的图片为三通道彩色图,与之前单通道的灰度图不同。png图中对物体的分类像素不是0-20,而是对应着不同的RGB分量

  1. 而SegmentationObject中的png图则不仅仅对图中不同的类别进行的分类,对其同一类别的不同物体也要分割——实例分割:


显然,上面的很多人都被标记了不同的颜色,当然仅仅是为了分离出来。

参考:https://blog.csdn.net/haoji007/article/details/80361587


Cityscapes

  • 数据集下载法1(百度云): https://pan.baidu.com/s/108_NgFheDIpnQRrwz5uhmw , 提取码:dhr8
  • 数据集下载法2(命令行,可以直接linux系统操作)
  1. 登录Cityscapes官网(网址),注册并登录
  2. 将下面命令中的myusername、mypassword替换自己的账号和密码
    wget --keep-session-cookies --save-cookies=cookies.txt --post-data 'username=myusername&password=mypassword&submit=Login' https://www.cityscapes-dataset.com/login/
  3. 使用提供的ID下载对应数据集(语义分割一般用1,3)
    wget --load-cookies cookies.txt --content-disposition https://www.cityscapes-dataset.com/file-handling/?packageID=1
    ID与数据集对照表:
    1 -> gtFine_trainvaltest.zip (241MB)
    2 -> gtCoarse.zip (1.3GB)
    3 -> leftImg8bit_trainvaltest.zip (11GB)
    4 -> leftImg8bit_trainextra.zip (44GB)
    8 -> camera_trainvaltest.zip (2MB)
    9 -> camera_trainextra.zip (8MB)
    10 -> vehicle_trainvaltest.zip (2MB)
    11 -> vehicle_trainextra.zip (7MB)
    12 -> leftImg8bit_demoVideo.zip (6.6GB)
    28 -> gtBbox_cityPersons_trainval.zip (2.2MB)
  • 解压leftImg8bit_trainvaltest,gtFine_trainvaltest后,目录结构如下:

  • 该数据集包含精标数据5000份,图片数据存放在“leftImg8bit”目录下,训练集和验证集的语义ground truth放在“gtFine”目录下

  1. 其中图片尺寸: 1024*2048;
  2. 训练集: 2975, 验证集: 500, 测试集: 1525;
  3. 总共类别数目为:包括未标注的0类,总共35类, 其中的labels说明如下图:

    注意到上图中“ignoreInEval”列含有16类在测试集上进行计算时需要忽略,所以总共有19类,关于语义分割任务。
  • 在leftImg8bit/train下有18个子文件夹对应德国的16个城市,法国一个城市和瑞士一个城市;在leftImg8bit/val下有3个子文件夹对应德国的3个城市;在leftImg8bit/test下有6个子文件夹对应德国的6个城市。
  • 在gtFine/train下也有18个子文件夹对应leftImg8bit/train里面的文件夹,但是不一样的leftImg8bit里面的一张原图,对应着gtFine里面有4个文件

    分别为

    1. gtFine_color.png是为了可视化,不同类别与色彩的对应关系也在labels.py文件中给出

2. gtFine_instaceIds.png是实例分割的结果,即对同一类中的不同个体进行区分;

3. gtFine_labelIds.png的值是0-33,不同的值代表不同的类,值和类的对应关系在代码中cityscapesscripts/helpers/labels.py中定义;

4.gtFine_polygons.json存储的标注的第一手数据,即类(“label”: “sky”,“building”,“sidewalk”,等)及其在图像中对应的区域(由多边形"polygon"顶点在图像中的像素坐标给出的封闭区域);

语义分割之VOC2012、Cityscapes数据集介绍相关推荐

  1. DL之SegNet:SegNet图像分割/语义分割算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

    DL之SegNet:SegNet图像分割/语义分割算法的简介(论文介绍).架构详解.案例应用等配图集合之详细攻略 导读 基于CNN的神经网络SegNet算法可进行高精度地识别行驶环境. 目录 SegN ...

  2. 最详细的语义分割---01如何读取数据集?

    数据集组成 网络训练的第一步就是读取数据,关于输入图片如何读取,如何进行预处理,将会在本篇文章中进行演示. 首先需要了解的是,语义分割中图片和标签是分别保存的.以voc数据集为例,它有20个类别,加上 ...

  3. 点云语义分割:PointNet训练S3DIS数据集

    文章目录 一.数据准备 1.1.数据下载 二.训练 三.测试 四.6折交叉验证 项目地址:pointnet 此次我们是用pointnet网络来做语义分割.代码在pointnet项目中的sem_seg文 ...

  4. 动作识别、检测、分割、解析相关数据集介绍

    文章目录 动作识别 UCF101(UCF101 Human Actions dataset) Kinetics (Kinetics Human Action Video Dataset) 动作检测 / ...

  5. pytorch 语义分割-医学图像-脑肿瘤数据集的载入模块

    由于最近目标是完成基于深度学习的脑肿瘤语义分割实验,所以需要用到自定义的数据载入,本文参考了一下博客:https://blog.csdn.net/tuiqdymy/article/details/84 ...

  6. 点云语义分割:pointnet++训练S3DIS数据集

    文章目录 一.数据预处理 二.训练 三.测试 四.6折交叉验证 tensorflow版本的pointnet++没有关于S3DIS数据集训练代码,我尝试参考ScanNet的训练代码改写成训练S3DIS数 ...

  7. 语义分割制作自己的数据集

    1.修改D:\Anaconda3\Lib\site-packages\labelme\cli下的json_to_dataset.py. import argparse import json impo ...

  8. CV语义分割,类别加权损失函数

    作者: 头孢就酒的快乐神仙 转载地址:https://bbs.huaweicloud.com/forum/thread-146576-1-1.html 在复现High-resolution NetWo ...

  9. 道路场景语义分割综述_王飞龙

    挖坑:暂时还没有理解的定义或者方法,但因为暂时不重要留到后面看 论文结构 一.引言 1.道路场景语义分割定义 针对道路场景进行语义分割是对采集到的道路场景图像中的每个像素都划分到对应的类别,实现道路场 ...

最新文章

  1. 潘石屹Python考试成绩99分,网友:还有一分怕你骄傲
  2. 开源Vue表格组件,表格插件源码
  3. PHP date 格式化一个本地时间/日期
  4. 学计算机趣图,我的世界:六张玩家自制趣图,最后一张,想起了“骗”父母买电脑...
  5. flex(入门)之timer的使用,键盘,鼠标的监听
  6. HTML4和HTML5的区别[转]
  7. Thread.yield()
  8. linux接收数据并保存到环形缓冲区,自定义print函数缓存打印数据到环形缓冲区...
  9. data access components 2.0未响应_Vue2.x 源码剖析之响应式原理
  10. Linux-shell编程_xargs命令详解
  11. 黑苹果 hackintosh 声卡驱动
  12. 行人重识别论文阅读9-ViTAA:自然语言搜索中文本属性的视觉对齐
  13. python---Web前端HTML(超文本标记语言)
  14. VS Code中打开工作区设置josn文件
  15. 基于DS18B20温度检测
  16. vue组件孙子调用爷爷的方法
  17. 高二会考计算机分数,会考成绩abcd各是多少分 会考成绩对高考有影响吗
  18. 微软构想务实的SOA 押注Oslo计划
  19. spring赌上未来的一击:WebFlux性能实测
  20. 多彩贵州基于Python的旅游分析

热门文章

  1. 设计模式—模板方法的C++实现
  2. SpringBoot项目报错Cannot determine embedded database driver class for database type NONE
  3. Tomcat的8080、8005、8009端口
  4. Android 软键盘弹出,界面整体上移的问题
  5. 插入排序,二分查找插入排序,使用二叉树的插入排序
  6. 【转】ASP.NET MVC实现权限控制
  7. django “如何”系列4:如何编写自定义模板标签和过滤器
  8. 30个Oracle语句优化规则详解(1)
  9. Debug Assertion Failed.Expression:_BLOCK_TYPE_IS_VALID(phead-nBlockUse)
  10. 【Python笔记】集合