版权声明:新建了专注于语义分割的QQ群704803384,欢迎交流!!! https://blog.csdn.net/u014451076/article/details/79442695
ParseNet
- 官方源代码位置:
Caffe: https://github.com/weiliu89/caffe/tree/fcn
model: https://gist.github.com/weiliu89/45e9e8de2c13af6476ca#file-readme-md
编译Caffe
直接从github上clone下来代码
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout fcn
注意:记得切换到fcn分支,不然会出现eval_type未定义
的问题
存在的问题:cudnn6.0无法使用,于是在编译的时候关掉了cudnn.
训练
先制作数据集——训练集增强的VOC2012,得到完整的数据集后,不需要进行resize,因为parsenet的batch-size设置的是1, iter_size设置为8.
训练集数目为10582,验证集为1449,手动转化为lmdb,进行训练即可.
其中训练集的收集在我的deeplab中有介绍.
训练过程中显存占用为2.0g
结果
原论文给出的结果是在VOC val上为69.55 mIoU.
迭代20000次,结果如下:
I0305 01:53:47.707645 10625 solver.cpp:356] Iteration 10000, Testing net (#0)
I0305 01:55:48.532131 10625 solver.cpp:428] Test net output #0 evaluation: per_pixel_acc = 0.927039
I0305 01:55:48.532177 10625 solver.cpp:430] Test net output #0 evaluation: per_label_acc = 0.803155
I0305 01:55:48.532181 10625 solver.cpp:432] Test net output #0 evaluation: iou_acc = 0.694358
I0305 01:55:48.532186 10625 solver.cpp:434] Test net output #0 evaluation: weighted_iou_acc = 0.871142
源代码解读
源代码在caffe的基础上引入了filter_stride(atrous), L2-norm Layer, evaluation layer.
主要是Evaluation Layer,简单看了一下,后续有时间再详细分析