训练数据集的教学视频链接
42. 第六章:基于YOLO-V3训练自己的数据集与任务_哔哩哔哩_bilibili
数据打标签
下载labelme标注工具
通过pip install labelme下载,打开anaconda prompt,切换到下载labelme的环境(我的是pytorch),输入labelme即可打开。
标注图片得到标注数据
写好模型所需的配置文件
进入config文件
运行文件create_custom_model.sh
sh文件运行方法:打开Git Bash Here,输入bash create_custom_model.sh 2(后面的数字代表任务类别的个数),就会自动生成 yolov3-custom.cfg 文件。
标签格式转换
labelme的格式为x1,y1,x2,y2。
YOLOV3的格式为Cx,Cy,W,H相对位置(取值范围0到1)。
格式转换的文件json2yolo.py。
写好数据和标签的路径
labelme生成标签的文件夹路径——json_floder_path
转换好的输出路径:data\custom\labels
完成其他的配置操作
数据放在相应位置,注意数据名和标签名需要一致。
classes.names(左) 按顺序改成 json2yolo文件里面的类别名字(右),如下:
然后在train.txt和val.txt中写好对应的图片路径。
最后在config中找到custom.data文件,更改里面的相应内容,文件内容如下,在config中起引导作用:
训练代码更改
1. train.py需要设置的参数
-model_def config/yolov3-custom.cfg
-data_config config/custom.data
-pretrained weights weights/darknet53.conv.74
预测操作
-image folder data/samples #把需要预测的数据放到这里
-checkpoint_model checkpoints/yolov3 ckpt 100.pth#训练好模型的路径
-class path data/custom/classes.names#画图时候要把框上显示出来
额外注意: create custom model.sh 不能重复执行,要先把 yolov3-custom.cfg 删除掉才可以