用于FCN的Pascal VOC 2012增强版语义分割数据集制作
Posted 明天去哪
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于FCN的Pascal VOC 2012增强版语义分割数据集制作相关的知识,希望对你有一定的参考价值。
数据集准备
- train/val/test的划分,这个采用Hariharan[1]的做法,这个也是deeplab采用的方法,下载地址https://ucla.app.box.com/s/rd9z2xvwsfpksi7mi08i2xqrj7ab4keb
目录如下:
test.txt
test_id.txt
train.txt
train_aug.txt
trainval_aug.txt
trainval.txt
val.txt
val_id.txt
- 主要使用其中的train_aug.txt文件,其中包含了10582行,代表训练和文件相对路径
- 在PASCAL VOC 2012官网上下载pascal voc 2012的数据集,文件名为VOCtrainval_11-May-2012.tar,解压后,取出文件夹中的VOC2012,放在新建的pascal文件夹下.
从http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/semantic_contours/benchmark.tgz下载SBD数据集
数据处理
目前的文件目录如下
其中tools中为下载的三个数据处理的脚本,分别是mat2png,convert_labels和utils三个python脚本
下载地址在这里:https://download.csdn.net/download/u014451076/10396698
1. 把sbd数据集的.mat转化为png格式图片
python mat2png.py cls cls_aug
在cls_aug文件夹中生成转化后的分割结果的灰度图
2. 将pascal voc原有的train和val的分割结果转化为灰度图,注意保留白边
python convert_labels.py pascal/VOC2012/SegmentationClass pascal/VOC2012/Main/train_val.txt pascal/VOC2012/SegmentationClass_1
在SegmentationClass_1保存转化后的pascal的分割图
3. 将两类结果进行融合,融合JPEGImages和Segmentation,将pascal voc的结果copy到sbd进行覆盖,分别是img_aug和cls_aug,最终的子文件数分别为17125和12031
4. 将img_aug和cls_aug重命名为JPEGImages和SegmentationClass,覆盖掉pascal voc中的这两个文件夹
5. 后续的实验使用list中的train_aug.txt即可
参考文献
[1] B. Hariharan, P. Arbeláez, L. Bourdev, S. Maji, and J. Malik,
“Semantic contours from inverse detectors,” in ICCV, 2011.
以上是关于用于FCN的Pascal VOC 2012增强版语义分割数据集制作的主要内容,如果未能解决你的问题,请参考以下文章
PASCAL-VOC2012数据集(vocdevkitVocbenchmark_release)详细介绍