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/1VHcDOXCanN1fKXwFdPdHMw 提取码:6pg6

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相同路径。

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第1张图片

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

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

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

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第2张图片

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第3张图片

  • 调整以下路径

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第4张图片

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

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

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第5张图片

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第6张图片

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第7张图片

 

测试效果

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

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第8张图片

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第9张图片

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第10张图片

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第11张图片

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

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第12张图片

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

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

原图1

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第13张图片

测试效果

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第14张图片

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第15张图片

原图2

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第16张图片

测试效果

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第17张图片

Pytorch移植Deeplabv3+训练CityScapes数据集详细步骤_第18张图片

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

修改后的代码已上传至https://download.csdn.net/download/qq_41964545/16214235,想对比看一下的可以下载看看

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

 

 

你可能感兴趣的:(Pytorch学习,python,深度学习,图像处理)