YOLO v4详解

1.主要贡献

     1.开发了一个高效而强大的目标检测模型。它使每个人都可以使用一个1080 Ti或2080 Ti GPU来训练一个超快和准确的目标探测器。

     2.验证了state-of-the-art Bag-of Freebies and Bag-of-Specials对目标检测的影响。

     3.修改了最先进的方法,使其更有效,更适合于单一的GPU训练,包括CBN[89],PAN[49],SAM[85]等。

2.Bag of freebies(BOF) 

只增加训练成本,但是能显著提高精度,并不影响推理速度

数据增强:调整亮度、对比度、色调、随机缩放、剪切、翻转、旋转

网络正则化的方法:Dropout、Dropblock等

类别不平衡,损失函数设计

在bof中,YOLO v4使用的是Mosaic data augmentation 、 Self-adversarial-training(SAT)、dropblock、labelsmooth、CIOU、DIOU-NMS

(1)数据增强 

Mosaic data augmentation 

首先将四张图片进行各自的数据增强,然后将四张图像拼接在一起

Random Erase:用随机值或训练集的平均像素值替换图像的区域

Hide and Seek:根据概率设置随机隐藏一些补丁

 Self-adversarial-training(SAT)

通过引入噪音点进行数据增强

DropBlock

之前的dropout是随机选择点(b),现在随机选择一个区域

Label Smoothing  

        例如原来标签为(0,1):

 

使用之后效果分析(右图):簇内更紧密,簇间更分离

CIOU 

IOU损失 (也经常1-IOU作为IOU loss) 

         

 问题:没有相交则IOU=0无法梯度计算,相同的IOU却反映不出实际情况

 GIOU损失

        公式:

         

         引入了最小封闭形状C(C可以把A,B包含在内),在不重叠情况下能让预测框尽可能朝着真实框前进

        但是在两个预测框完全重叠的情况下,不能反映出实际情况

DIOU损失 

公式:

 其中分子计算预测框与真实框的中心点欧式距离d

分母是能覆盖预测框与真实框的最小BOX的对角线长度c
直接优化距离,速度更快,并解决GIOU问题

CIOU损失

公式:

 损失函数必须考虑三个几何因素:重叠面积,中心点距离,长宽比

其中α可以当做权重参数

NMS

DIOU-NMS

        之前使用NMS来决定是否删除一个框,现在改用DIOU-NMS

        公式: 

 不仅考虑了IoU的值,还考虑了两个Box中心点之间的距离

其中M表示高置信度候选框,Bi就是遍历各个框跟置信度高的重合情况

SOFT-NMS

对于重合度较大的不是直接剔除,而是施加惩罚。 

3. Bag of specials(BOS)

         增加稍许推断代价,但可以提高模型精度的方法

        网络细节部分加入了很多改进,引入了各种能让特征提取更好的方法

        注意力机制,网络细节设计,特征金字塔等。

        YOLO V4使用SPPNet、 CSPNet、SAM、PAN、Mish、eliminate grid sensitivity  

SPPNet(Spatial Pyramid Pooling)

V3中为了更好满足不同输入大小,训练的时候要改变输入数据的大小

SPP其实就是用最大池化来满足最终输入特征一致即可

 CSPNet(Cross Stage Partial Network)

每一个block按照特征图的channel维度拆分成两部分

一份正常走网络,另一份直接concat到这个block的输出

CBAM

        不仅每个通道有注意力,而且特征图每个位置有注意力         V4中用的是SAM,也就是空间的注意力机制,只有位置Attention

        

 YOLOV4中的Spatial attention module

去除池化层和卷积层 

 PAN(Path Aggregation Network)

FPN:自顶向下的模式,将高层特征传下来

 PAN(Path Aggregation Network)

引入了自底向上的路径,使得底层信息更容易传到顶部

YOLOV4中并不是加法,而是拼接

 

 Mish:

        Relu在小于0时完全杀死了梯度,不太符合实际情况

公式:

但是计算量确实增加了,效果会提升一点

 

eliminate grid sensitivity  

 坐标回归预测值都在0-1之间,如果在grid边界怎么表示,此时就需要非常大的数值才可以达到边界,为了缓解这种情况可以在激活函数前加上 一个系数(大于1的):

 

 

4. 整体网络架构

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

樱花的浪漫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值