在之前的博客已经讲过deeplabv2源码解析、基于VOC2012数据集的训练与基于pascal-context数据集的训练,本博客基于nyu数据集进行fine tuning
官方源码地址如下:https://bitbucket.org/aquariusjay/deeplab-public-ver2/overview
但是此源码只是为deeplab网络做相应变形的caffe,如果需要fine tuning微调网络,还需要准备以下文件:
txt文件:文件中有数据集的名字列表的txt文件,此处不同于源码,在pascal-context数据集上自己制作,训练测试集列表
训练好的init.caffemodel: 针对deeplab v2,作者有已经预训练好的两个模型参数:DeepLabv2_VGG16 和DeepLabv2_ResNet101
网络结构prototxt文件: train.prototxt和solver.prototxt,分别在:DeepLabv2_VGG16 和 DeepLabv2_ResNet101
- 官网脚本文件: 三个sh文件,建议使用脚本文件,初看虽不懂,但是比python版本的运行简单很多
**注:本博客只涉及脚本版本的训练,pascal-context的list文件要自己根据数据集制作,或者使用此博客的list
准备工作
1.必要工具
下载安装matio,下载地址
2.数据集准备
本博客采用的数据集为nyu v2,由其RGB图像及label组成,并没有使用深度图像,数据大致为下图:
原始数据集为voc2010,label即为上图中所说的the annotations for training/validation set为ma,需要把mat文件转为png文件
数据下载
# original PASCAL VOC 2010
cd ~/DL_dataset #save datasets 为$DATASETS
wget http://horatio.cs.nyu.edu/mit/silberman/nyu_depth_v2/nyu_depth_v2_labeled.mat #2.8 GB
数据转换
注:相关python脚本文件由以下模型训练第一步的github下载得到
修改其中的数据路径为你的trainval所在路径,并在此路径下创建labels文件
cp ~/deeplab_v2/nyu/mat_image.py ~/DL_dataset/nyu
cp ~/deeplab_v2/nyu/mat_label.py ~/DL_dataset/nyu
cd ~/DL_dataset/nyu
python mat_image.py
python mat_label.py
此时nyu数据文件夹产生两个文件夹,分别存放RGB图像和标签图片
RGB三通道nyu图像
一通道nyu的标签图像