Deeplab_v2+VOC数据集

Deeplab系列,是图像语意分割的经典制作,用深度学习的方法实现图像分割,是绕不过系统学习Deeplab系列的,而学习的最快途径就是先把demo跑起来,之后再去细读文献和代码。也是参考了很多博客的精华,但是有些博客记录的不是很全,核心资料就是参看官网:deeplab_v2我把我的踩坑过程记录如下,让自己再熟悉一遍。记录按照demo运行顺序进行:收集和处理数据:文章中的数据集由两部分组成,...
摘要由CSDN通过智能技术生成

概述

Deeplab系列,是图像语意分割的经典之作,用深度学习的方法实现图像分割,绕不过系统学习Deeplab系列,而学习的最快途径就是先把demo跑起来,之后再去细读文献和代码。
本博客主要是基于v2版本的deeplab,使用VGG16模型,在VOC2012数据集上进行测试!
参考了很多博客的精华,但是有些博客记录的不是很全,核心资料就是参看官网:deeplab_v2

我把我的踩坑过程记录如下,让自己再熟悉一遍。记录按照demo运行顺序进行:

收集处理数据:

文章中的数据集由两部分组成,已经有人写好脚本,可以直接从网上拉下来,这样就不去网页上自己手动搜索了。
下载脚本如下:

# 这里建议自己建立一个data文件夹,存放相关数据

# augmented PASCAL VOC     #增强数据集
mkdir -p ~/DL_dataset
cd ~/DL_dataset                      #save datasets 为$DATASETS
wget http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/semantic_contours/benchmark.tgz # 1.3 GB
tar -zxvf benchmark.tgz
mv benchmark_RELEASE VOC_aug

# original PASCAL VOC 2012   #原始数据集
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar # 2 GB
tar -xvf VOCtrainval_11-May-2012.tar
mv VOCdevkit/VOC2012 VOC2012_orig && rm -r VOCdevkit

数据转换 :

  • 因为pascal voc2012增强数据集的label是mat格式的文件,所以我们需要把mat格式的label转为png格式的图片,脚本如下:
cd ./DL_dataset/VOC_aug/dataset
if [ ! -d cls_png  ];
then
    mkdir cls_png
else
    echo dir exist
fi
cd ../../../
python3 ./mat2png.py ./DL_dataset/VOC_aug/dataset/cls ./DL_dataset/VOC_aug/dataset/cls_png
  • pascal voc2012原始数据集的label为三通道RGB图像,但是caffe最后一层softmax loss 层只能识别一通道的label,所以此处我们需要对原始数据集的label进行降维,脚本如下:
cd ./DL_dataset/VOC2012_orig

if [ ! -d SegmentationClass_1D  ];
then
    mkdir SegmentationClass_1D
else
    echo dir exist
fi

cd ../../
python3 convert_labels.py ./DL_dataset/VOC2012_orig/SegmentationClass/ ./DL_dataset/VOC2012_orig/ImageSets/Segmentation/trainval.txt ./DL_dataset/VOC2012_orig/SegmentationClass_1D/

为了方便直接使用图片,我们将图片两个图片源合并,且将文件夹改成train.txt里要求的形式:
在这里插入图片描述
脚本如下:

cp ./DL_dataset/VOC2012_orig/SegmentationClass_1D/* ./DL_dataset/VOC_aug/dataset/cls_png
cp ./DL_dataset/VOC2012_orig/JPEGImages/* ./DL_dataset/VOC_aug/dataset/img/

echo "复制完毕"

cd ./DL_dataset/VOC_aug/dataset
mv ./img ./JPEGImages
mv ./cls_png ./SegmentationClassAug

echo "文件夹改名"
echo "查看JPEGImages文件数量:"
cd ./JPEGImages
ls -l | grep "^-" | wc -l

echo "查看SegmentationClassAug文件数量::"
cd ../SegmentationClassAug
ls -l | grep "^-" | wc -l

到此处,在 /DL_dataset/VOC_aug/dataset文件夹中

  • images数据集的文件名为:JPEGImages ,jpg图片数由5073变为17125
  • labels数据集文件名为:cls_png ,png图片数由11355变为12031
    数据收集工作也到此结束。

数据收集完之后第二步,就是建立一些文件夹,开始一些配置工作,之后就可以把数据扔进caffe里训练了。

配置环境

参看官方文档:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值