deeplab_v3 训练自己的数据集

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')
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值