目录
1 主要参考博客
https://blog.csdn.net/malvas/article/details/88896283#commentBox
https://blog.csdn.net/lucifer_24/article/details/88720098
https://blog.csdn.net/weixin_43832437/article/details/84931184
https://blog.csdn.net/jairana/article/details/83900226
2 环境配置
Ubuntu:16.04.5
python:3.6.4
tensorflow-gpu:1.12.0
deeplab版本:r1.13.0
2.1 源码准备
deeplab源码下载:在官网https://github.com/tensorflow/models下载r1.13.0分支,我之前直接下载的model-master,但是后面遇到了很多困难放弃了,所以改用早起的版本。
2.2 测试model_test.py
测试一下环境配置是否成功。
添加依赖库到PYTHONPATH,在目录~/deeplab/models-r1.13.0/research下:
在终端添加slim环境变量:
# From ~/deeplab/models-r1.13.0/research
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim
调用model_test.py测试:
# From ~/deeplab/models-r1.13.0/research
python deeplab/model_test.py
注意,这里有可能会出现以下错误:
这时将model_test.py代码的140行改为:
出现以下结果,说明你的环境配置成功:
3 制作自己的数据集
3.1 python下labelme并制作json文件
这步接触到labelme的基本没问题
3.2 把json文件生成.png文件
这步主要参考:
https://blog.csdn.net/lucifer_24/article/details/88720098
这博客有一个很好的链接:
https://note.youdao.com/ynoteshare1/index.html?id=032620eac64634508cd4f9e65be4617c&type=note#/
3.3 数据集目录
# from:'/home/lab/lc/deeplab/data'
+ image #存放所有的原始图片,包括训练集,验证集
+ mask #存放所有的标签文件,即3.2步生成的png文件
+ index
- train.txt #所有训练集图片名
- trainval.txt #所有交叉验证集图片名,其实这个集合基本没用到,可以省略
- val.txt #所有验证集图片名
+ tfrecord #存放3.4生成的tfrecord文件
+train #存放后面训练的模型。可以不建立这个文件夹,后面自动生成
+val #存放后面验证生成的lab文件。可以不建立这个文件夹,后面自动生成
+vis #存放后面可视化生成的图片文件。可以不建立这个文件夹,后面自动生成
PS:这里需要注意一个点,image和mask的文件名应该一致,且全部小写,上一步产生的iamge后缀大写,用 rename ‘y/A-Z/a-z/’ * 修改,,mask文件名是000000_gt.png,用 rename ‘s/_gt.png/.png/’ ./* 修改,这样image和mska的文件名就能对应。对应代码如下:
rename 's/\_gt.png/.png/' ./* #修改后缀
rename 'y/A-Z/a-z/' * #全部小写
先将image文件夹中的图片名称写进一个all.txt文件中代码如下:
# 文件名写入txt
import random
import glob
img_path = glob.glob('../image/*.jpg')
for each in img_path:
with open('../all.txt','a')as f:
f.write(each[15:-4]+'\n')