当前位置:   article > 正文

YOLO V5 改进详解_yolov5改进

yolov5改进

YOLO V5

Backbone

SPPF

在这里插入图片描述

SPP 是使用了3个kernel size不一样大的pooling 并行运算。SPPF是将kernel size为5的 pooling 串行运算,这样的运算的效果和SPP相同,但是运算速度加快。因为SPPF减少了重复的运算,每一次的pooling 运算都是在上一次运算的基础上进行的。

CSP-PAN neck

在YOLO V4中,作者仅仅使用了PAN模块,在PAN中的卷积操作为一般卷积操作。而在YOLO V5中,PAN中的卷积操作换为了CSP。如图,上图为YOLO V4中的PAN模块,下图为YOLO V5的CSP-PAN模块。

在这里插入图片描述
YOLO V5 CSP-PAN模块

在这里插入图片描述

Loss Function

Loss function 的组成和YOLO V3一样,同样是由 Classes loss, Objectness loss, Location loss.
改进:

  1. Location Loss 采用的是 CIOU Loss.
  2. Objectness Loss 在YOLO V3中 将IOU最大的设为正样本,将IOU小于阈值的设为负样本,其他的都不考虑。而在YOLO V5 中是计算所有样本的obj损失,采用CIOU作为标准。
  3. 对于Objectness Loss 同时也平衡了不同尺度的损失,针对三个预测特征层上的obj损失赋予不同的权重。
    L o b j = 4.0 ⋅ L o b j s m a l l + 1.0 ⋅ L o b j m e d i u m + 0.4 ⋅ L o b j l a r g e L_{obj} = 4.0 \cdot L^{small}_{obj} +1.0 \cdot L^{medium}_{obj}+0.4 \cdot L^{large}_{obj} Lobj=4.0Lobjsmall+1.0Lobjmedium+0.4Lobjlarge

横纵比偏移优化

在YOLO V4对于x, y进行了优化使其对极限值0和1更加敏感一些。然而,对于横纵比同样存在问题,原始的公式中仅使用 e x e^x ex 来进行偏移,这样会导致偏移量没有限制,变得十分敏感。

b w = p w e t w b h = p h e t h

bw=pwetwbh=pheth
bw=pwetwbh=pheth

而在 YOLO V5中对横纵比的偏移进行了优化,将其变成如下:

b x = 2 σ ( t x ) − 0.5 + c x b y = 2 σ ( t y ) − 0.5 + c y b w = p w ( 2 σ ( t w ) ) 2 b h = p h ( 2 σ ( t h ) ) 2

bx=2σ(tx)0.5+cxby=2σ(ty)0.5+cybw=pw(2σ(tw))2bh=ph(2σ(th))2
bx=2σ(tx)0.5+cxby=2σ(ty)0.5+cybw=pw(2σ(tw))2bh=ph(2σ(th))2

这在一定程度上限制了横纵比的偏移,YOLO V5作者所做的实验曲线如下。
在这里插入图片描述

正负样本选取

在YOLO V4的拓展基础上,YOLO V5 对正样本的选取同时加入了横纵比的限制。

r w = w g t / w a t r h = h g t / h a t r w max ⁡ = max ⁡ ( r w , 1 / r w ) r h max ⁡ = max ⁡ ( r h , 1 / r h ) r max ⁡ = max ⁡ ( r w max ⁡ , r h max ⁡ )

rw=wgt/watrh=hgt/hatrwmax=max(rw,1/rw)rhmax=max(rh,1/rh)rmax=max(rwmax,rhmax)
rw=wgt/watrh=hgt/hatrwmax=max(rw,1/rw)rhmax=max(rh,1/rh)rmax=max(rwmax,rhmax)

在这里插入图片描述
首先算出anchor和GT的横纵比的最大差距,对于最大差距在4倍以上的例子都不作为正样本采用。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/402617
推荐阅读
相关标签
  

闽ICP备14008679号