原标题:图像语义分割 —利用Deeplab v3+训练VOC数据集
前言:
配置:windows10 + Tensorflow1.6.0 + Python3.6.4(笔记本无GPU)
源码:
/tensorflow/models/tree/master/research/deeplab
权重下载地址:
/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md
1. 运行model_test.py
测试安装环境,如果正常,提示:
Ran 5 tests in 10.758s
2. 运行build_voc_data.py 生成 .tfrecord数据
在VOC数据集中,文件夹JPEGImages存放着原始的[n*m*3] .jpg格式图片,文件夹SegmentationClass中存放Label数据,为[n*m*3]的 .png图片,首先应将这些label数据转换为[n*m*1]的单通道图片。
具体转换方法见:
运行成功后,会提示如下信息:
3. 运行train.py训练模型
运行成功信息如下:
如果在第2步,没有将label数据转换为单通道数据,loss可能会爆炸性增长,也可能报错,提示:Loss is inf or nan.
4. 运行eval.py,输出为MIOU值
运行成功信息如下:
如果在第2步,没有将label数据转换为单通道数据,这里会报错提示:['predictions' out of bound]。
5. 运行vis.py,查看结果
成功运行提示信息如下:
最后,在输出文件夹('./vis_output')中查看模型的预测结果,如下:
责任编辑: