用自己的数据集训练Deeplab v2,包括跑通run_pascal.sh
和 run_densecrf.sh
两个脚本
1. 下载编译deeplab_v2
make 部分不做详细介绍了,网上参考的内容也比较多,出错耐心改一下即可。
代码用的是 git clone https://github.com/xmojiao/deeplab_v2.git
之后的目录结构也按照down下来的,无需调整。
2. 准备数据
按照voc2012分割数据集的格式准备,分为train,val,test,train和val集要准备好原图+label图,test集准备原图即可。放的目录无所谓,之后注意修改路径即可。
例如,我在/new/xxx/DeepLab/deeplab_v2/下新建了一个放自己数据集的目录: dataset
在/new/xxx/DeepLab/deeplab_v2/dataset/ 下img 用来放训练原图,cls用来放训练标签图。testpic里放了几张没有标签的测试图。/new/xxx/DeepLab/deeplab_v2/dataset/val/img 放验证原图,/new/xxx/DeepLab/deeplab_v2/dataset/val/cls 放验证label图。
同时,准备好train_aug.txt(训练时用的数据列表),val.txt(验证集的数据列表),test.txt(测试集的数据列表)这三个文件内容都是需要前缀路径的。(原图 label图)还有一个val_id.txt和test_id.txt,这两个只需要保存图片id,不需要前缀也不需要后缀。这些.txt放在/new/xxx/DeepLab/deeplab_v2/voc2012/list
目录下
例如,我的
- train_aug.txt内容为:
/img/segnet_train_ori/1511664041284.png /cls/segnet_train_label/1511664041284.png
/img/segnet_train_ori/1511664333882.png /cls/segnet_train_label/1511664333882.png
……
- val.txt内容为:
/val</