yolov5

  • Post author:
  • Post category:其他


1.输入端:

(1)Mosica数据增强

采用了和Yolov4一样的Mosaic数据增强的方式

(2)自适应锚框计算

在Yolov3、Yolov4中,训练不同的数据集时,计算初始anchor的值是通过单独的程序运行的。

但Yolov5中将此功能嵌入到代码中,每次训练时,自适应的计算不同训练集中的最佳锚框值。

当然,如果觉得计算的锚框效果不是很好,也可以在代码中将自动计算锚框功能

关闭

控制的代码即

train.py

中上面一行代码,设置成

False

,每次训练时,不会自动计算。

(3)自适应图片缩放

注意:训练时使用传统的缩放方式,测试时才使用自适应图片缩放。

第一步:计算缩放比例,选取最小的比例

第二步:计算缩放后的尺寸

第三步:计算黑边填充数值,最后的高度要能被32整除

2.Backbone


(1)Focus结构

(2)

CSP结构

Yolov4和Yolov5都使用了CSP结构。而yolov4只在backbone中使用了CSP结构,yolov5有两种CSP结构,以

Yolov5s网络

为例,

CSP1_X结构

应用于

Backbone主干网络

,另一种

CSP2_X

结构则应用于

Neck

中。

yolov4

yolov5

3. Neck

和Yolov4中一样,都采用FPN+PAN的结构。但两者有差别:Yolov4的Neck结构中,采用的都是普通的卷积操作。而Yolov5的Neck结构中,采用借鉴CSPnet设计的CSP2结构,加强网络特征融合的能力。

4.输出端


(1)Bounding box损失函数

和yolov4一样,Yolov5中采用其中的CIOU_Loss做Bounding box的损失函数。

(2)

nms非极大值抑制

Yolov4在DIOU_Loss的基础上采用DIOU_nms的方式,而Yolov5中采用加权nms的方式。



版权声明:本文为baidu_38262850原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。