YOLOV5:不懂代码也能使用YOLOV5跑项目:2021-09-12
文章目录
一、文件夹结构介绍
文件结构:
master文件夹结构:
yolov5-master为yolo源码
yolov5-master\weights中放置的是各个权重
yolov5-master\models中.yaml文件为不同版本的yolo结构文件
runs文件夹里是每次的训练日志,
yolov5-master\runs\exp**\weights里,保存的是最好一次和最新一次
数据集文件结构:
数据集要求:
目录结构不能变,因为对应源码
images的名字和labels的名字要一一对应
labels文件必须是txt格式
(标签种类 x y w h)五个数值
data.yaml:配置文件
配置文件里要写:数据都去哪读,nc类别数目
train: ../MaskDataSet/train/images
val: ../MaskDataSet/valid/images
nc: 2
names: ['mask', 'no-mask']
二、实际训练、测试
1、得到标准数据集,和模型放到同一文件夹下
2、yolo-master模型文件中train.py做训练
train配置参数:
--data
C:/Users/zhaohaobing/PycharmProjects/python-yolov5-project/YOLO5/NEU-DET/data.yaml
--cfg
C:/Users/zhaohaobing/PycharmProjects/python-yolov5-project/YOLO5/yolov5-master/models/yolov5s.yaml
--batch-size
8
配置项目参数:
每次的结果保存在yolov5-master\runs文件夹下,exp**\weights中.pt文件即得到的该次训练模型
3、在上面配置文件中,可更改epoch循环次数,默认执行20次循环
例:
–epoch
100
4、detect做识别,加载.pt文件,在outout文件夹中得到输出结果
detect配置参数:
--source C:\Users\zhaohaobing\PycharmProjects\python-yolov5-project\YOLO5\NEU-DET\valid\images\crazing_1.jpg
--weights C:\Users\zhaohaobing\PycharmProjects\python-yolov5-project\YOLO5\yolov5-master\runs\exp50\weights\best.pt
--output C:\Users\zhaohaobing\PycharmProjects\python-yolov5-project\YOLO5\NEU-DET\output
--conf 0.4
–conf是置信度阈值,大于这个值的才检测,小于的就不要了
5、要想直接打开摄像头
三、模型转化
yolov5实际跑出来的是.pt模型,而要想在各个开发板上实现推理,必须进行模型转化:.py->.onnx
(onnx为中间模型,模型->onnx->模型)
yolov5的文件夹中是有转化函数的
…/YOLO5\yolov5-master\models\export.py
不过首先要安装onnx
pip install onnx
报错问题:
这里有可能出现:
Onnx export failure: No module named ‘onnx’
这是因为下载的onnx文件再在C:\ProgramData\Anaconda3\Lib\site-packages里,去该文件讲onnx文件夹复制到export.py程序文件同一目录即可