【DeepLabv3+】训练自己的数据集(小白版)

发布时间:2023年12月18日

代码来源于代码
本地训练,设备3050

一、数据集准备

1.数据集创建
在原始的根目录VOCdevkit下创建数据集Crack500文件夹,下面再创建三个文件夹。

ImageSets下创建文件夹,命名为Segmentation。里面存放生成的txt文件
JPEGImages 放原始的图片
SegmentationClass 放原始图片对应的mask图片的png格式

在这里插入图片描述

2.数据集的处理
需要用到根目录下的voc_annotation.py,目的是获得训练用的train.txt以及val.txt。(自己的数据集需要进行这一步操作)
改为自己的数据集路径,一般为相对地址。
在这里插入图片描述

二、训练

1.改参数
train.py文件中

主要修改:
num_classes
backbone
model_path
txt文件路径

在这里插入图片描述
在这里插入图片描述
这里是在VOCdevkit下新建的一个数据集Crack500,需要修改txt文件地址
在这里插入图片描述
同理,根目录下的utils>dataloader.py下的读取图像的路径也需要修改
在这里插入图片描述
2.运行train.py
3.结果存放在根目录下的logs文件夹下
在这里插入图片描述
4.运行get_miou.py
运行之前需要去deeplab.py里修改model_path、num_classes和backbone,
刚才运行好的pth文件在log里存放。

三、预测

训练结果预测需要用到两个文件,分别是deeplab.pypredict.py
需要去deeplab.py里面修改model_path以及num_classes,这两个参数必须要修改。

model_path指向训练好的权值文件,在logs文件夹里。
num_classes指向检测类别的个数+1。

单张图片检测时,可以在predict.py里修改参数"mode=dir_predict"
在这里插入图片描述
原始图像放在img里,检测的图片放在img_out里,如下图所示。
在这里插入图片描述

可能遇到的报错
在这里插入图片描述
解决办法:
utils>callbacks.py下
在这里插入图片描述

参考文献:deeplabv3+

文章来源:https://blog.csdn.net/weixin_45768644/article/details/134996210
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。