Pytorch移植Deeplabv3训练CityScapes数据集详细步骤

源代码链接: https://github.com/fregu856/deeplabv3#paperspace

这个源代码相对简单,可以用来仔细看下,学习思想。

环境配置

源代码使用的是pytorch0.4,我使用的是pytorch1.13,会报某个函数版本警告问题,但是不影响训练过程。对于pytorch安装,可以直接到官网采用相应的命令进行一键式安装。

训练过程

1、准备好数据集Cityscapes

相关数据集介绍可以查看这篇博客。https://niecongchong.github.io/2019/08/10/CityScapes%E6%95%B0%E6%8D%AE%E9%9B%86%E7%AE%80%E4%BB%8B%E4%B8%8E%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E5%92%8C%E7%B2%BE%E5%BA%A6%E6%8C%87%E6%A0%87/

CityScapes数据集官网下载并不容易,我准备好了相应的百度网盘链接供学习使用:

链接:https://pan.baidu.com/s/18OjT1SxxpBr_hR4gJbwLOg 
提取码:hhk0 

2、将源代码下载好后进行解压

  1. 解压后,首先编译deeplabv3 / utils / preprocess_data.py文件,编译之前需要修改一点代码:

修改preprocess_data.py中第97、98行的路径,cityscapes_data_path是你下载的cityscapes数据的路径。cityscapes_meta_path是你想要存放labelimg的图像位置,这里我直接将cityscapes_meta_path设置成和cityscapes_data_path相同路径。

20210326191158908.png

之后运行 preprocess_data.py。等待一段时间后可以发现项目路径下多了一个label_imgs文件夹,里面存放了许多的mask图片。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

2.  运行train.py ,运行之前也要做出一点修改。

  • 修改一点model文件夹下的deeplabv3.py的第9、10行

20210326194015744.png

  • 修改一点model文件夹下的resnet.py

20210326194548667.png

  • train.py的第8、11行加一个"model.","utils.",当然你也可以把第7、10行修改为你自己的model文件夹与utils的绝对路径

2021032619240487.png

  • 在import time后面 用一个main将下面代码包括进来,注意记得缩进

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

  • 调整以下路径

在第40行左右调整以下路径

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

在59行左右调整以下路径:

20210326193745400.png

之后便可以训练了,如果有修改问题的,可以联系我,我发我修改好的给你,对比一下即可。

训练能输出以下信息就代表成功了:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

 

测试效果

测试使用文件为visualization文件夹下的run_on_seq.py。使用前需要修改以下内容:

  • 第30行加入以下内容,同样要注意下面代码的缩进

20210328215628780.png

  • 修改第34、35,40行以下路径

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

2021032822050375.png

  • 在cityscapes\leftImg8bit里创建以下文件夹

20210328220626279.png

  • demoVideo文件下创建以下三个文件夹,可以看下我图片上的路径

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

  • 三个文件下里面放入你想测试的图片序列,如下

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

之后就可以运行run_on_seq.py测试了,运行结果保存在deeplabv3\training_logs\model_eval_seq文件夹下

由于电脑太垃圾了,训练了8个epoch都用了不少时间。这里展示下8个epoch的效果:

原图1

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

测试效果

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

原图2

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

测试效果

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxOTY0NTQ1,size_16,color_FFFFFF,t_70

要让结果更好,建议训练多一点epoch

修改后的代码已上传至deeplabv3.rar-互联网文档类资源-CSDN下载,想对比看一下的可以下载看看

如果你觉得这篇文章对你有帮助的话,不妨帮我点个赞吧!

 

 

 

评论 171
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开始学AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值