赞
踩
打标+训练+测试(以dandan为例) 新手小白学习详细过程:
(1)创建一个文件夹0_dandan,用来存放关于训练dandan的所有文件
(2)安装打标软件labelImg:pip3.7 install labelImg
(3)在0_dandan文件夹下创建两个文件夹:tupian、tupian_label
tupian:存放打标用到的所有图片
tupian_label:存放每张图片打标后的.txt文件
(4)运行labelImg:labelImg
(5)将数据集(tupian文件夹里的图片)分成训练集、验证集和测试集(这里生成ImageSets文件夹,里面为各个集数据的列表目录,只是列表目录,不是真正的数据内容)
在0_dandan文件夹下创建imagesets_regroup.py文件:gedit imagesets_regroup.py
代码中主要需要修改路径及训练集、验证集和测试集的比例
路径:
root_path:为根目录,及0_dandan,但是由于imagesets_regroup.py这个文件本身就创建在0_dandan文件夹下,所以root_path为空。如果imagesets_regroup.py这个文件创建在0_dandan这个文件夹的上一级文件夹如yolov5中,则root_path=’0_dandan’
xmlfilepath:对应打好标的.txt文件,及tupian_label文件夹
txtsavepath:对应保存训练集、验证集和测试集分配文件的目录,及ImageSets/Main,这里没有手动创建此文件夹,代码运行完成会自动创建ImageSets文件夹
比例:
(训练集+验证集)/(训练集+验证集+测试集):train_test_percent = 1.0
注:train_test_percent = 1.0代表没有测试集,测试集数据个数为0
训练集/(训练集+验证集):train_valid_percent = 0.8
运行imagesets_regroup.py文件,生成文件夹ImageSets,ImageSets/Main里面的内容:
img_test.txt:里面为测试集图片名称列表
img_train.txt:里面为训练集图片名称列表
img_valid.txt:里面为验证集图片名称列表
test.txt:里面为测试集图片打标文件目录(这里只是目录,不是内容)
train.txt:里面为训练集图片打标文件目录
valid.txt:里面为验证集图片打标文件目录
(6)将ImageSets文件夹下生成的数据的列表目录重构成符合训练代码需要的文件形式(生成data文件夹,里面为各个集的数据)
在0_dandan文件夹下创建data_regroup.py文件:gedit data_regroup.py
代码中需要修改路径:
root_path:为根目录,及0_dandan,但是由于imagesets_regroup.py这个文件本身就创建在0_dandan文件夹下,所以root_path为空。如果imagesets_regroup.py这个文件创建在0_dandan这个文件夹的上一级文件夹如yolov5中,则root_path=’0_dandan’
path:为上一步保存各个集所需数据列表目录的文件夹,及ImageSets/Main
fimg:为所有打标图片文件夹(tupian)路径
flable:为图片打标后.txt文件的文件夹(tupian_label)路径
运行data_regroup.py文件,生成文件夹data
test:里面为测试集图片以及对应的打标文件
train:里面为训练集图片以及对应的打标文件
valid:里面为验证集图片以及对应的打标文件
(7)复制.yaml文件至0_dandan文件夹下,并修改内容
path:存放各个集数据的文件夹(data)路径
train:训练集图片文件夹(train/images)路径
val:验证集图片文件夹(valid/images)路径
test:默认不用测试集,为空
names:每个标签的序号及名称,如有多个则依次往下列出
(8)修改train.py文件(在0_dandan的上一级目录yolov5中)
修改标注位置为自己的文件dandan.yaml,其他参数根据需要修改
(9)运行train.py程序,生成权重文件:python3.7 train.py
训练好的权重就放在了yolov5/runs/train/exp/weights文件夹下面,一个是精度最高的,一个是最后的。
选择best.pt,复制到0_dandan的上一级目录(yolov5)下,可以重命名为dandan.pt
(10)进行测试,运行detect.py
在0_dandan文件夹下创建images文件夹,用来存放需要测试的图片,也可创建其他文件夹(如videos)放视频
运行代码:python3.7 detect.py --source ./0_dandan/images/ --weights dandan.pt --conf 0.4
检测图片:python3.7 detect.py --weight dandan.pt --source 0_dandan/images/1.jpg
检测视频:python3.7 detect.py --weight dandan.pt --source videos/images/1.mp4
在运行时可以通过传参设置参数,也可直接修改detect.py代码
将yolov5s.pt改为dandan.pt
将source改为需要测试的图片或视频所在的文件夹路径
(11)测试结果在yolov5/runs/detect/exp里
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。