代码来源于代码
本地训练,设备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.py
和predict.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+