一、改进
与yolov3对比,主要进行了下面4方面改进
(1)输入端:Mosaic数据增强、自适应锚框计算
(2)Backbone:Focus+CSPDarknet53
(3)Neck:FPN+PAN
(4)Prediction:GIOU_Loss
二、模块
2.1 自适应锚框
可以选择预先设定的锚框值,也可以在训练过程中,对当前训练集中进行锚框值的计算。
2.2 Focus结构
根据这篇博客解释图像H*W*Channel经过focus结构图像变成H‘*W’*Channel‘,但是三者乘积不变
如:将32*32*3图像经过focus变化后得到16*16*12
2.3 CSPDarknet53
CSPDarknet53=CSPNet+Darknet53
CSPNet(Cross Stage Partial,跨阶段局部网络),参考。
基本结构形式:
Darknet53结构:
CSPDarknet53结构:
2.4 GIOU_Loss
GIOU(Generalized Intersection over Union)
Ac:两个框的最小闭包区域面积(同时包含了预测框和真实框的最小框的面积)
U:两个框并集区域面积
三、yaml文件分析
yolov5有四种结构:yolov5s、yolov5m、yolov5l、yolov5x,主要对Backbone、Neck中网络的深度及宽度进行修改。
详细参考:
https://www.cnblogs.com/E-Dreamer-Blogs/p/13297580.html
https://blog.csdn.net/mary_0830/article/details/107124459
四、yolov5实现安全帽佩戴检测
1、数据集收集并标注
2、搭建yolov5环境,设置参数,模型训练
3、利用pyqt库编写界面
参考: