在之前的博客已经讲过deeplab v2源码解析与基于VOC2012数据集的训练,本博客基于pascal-context数据集进行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.数据集准备
本文采用的数据集为pascal-context,由voc2010数据集和pascal-context的注释组成,正如下图数据说明:
原始数据集为voc2010,label即为上图中所说的the annotations for training/validation set为ma,需要把mat文件转为png文件
数据下载
# original PASCAL VOC 2010
cd ~/DL_dataset #save datasets 为$DATASETS
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2010/VOCtrainval_03-May-2010.tar #1.3 GB
tar -xvf VOCtrainval_03-May-2010.tar
# the annotations for training/validation set
cd ~/DL_dataset/VOCdevkit
wget http://www.stat.ucla.edu/~ccvl/datasets/pascal-context/trainval.tar.gz #30.7MB only contains the annotations for training set
tar -zxvf trainval.tar.gz
数据转换
修改其中的数据路径为你的trainval所在路径,并在此路径下创建labels文件
cd ~/deeplab_v2/pascal-context
vim convert_rawmat_lab