目标检测——Yolov4

本文探讨了深度学习中的数据增强如Mosaic和RandomErase,以及网络正则化方法DropBlock。介绍了类别不平衡问题和LabelSmoothing解决策略,详细阐述了IOU及其改进型损失函数GIOU、DIOU和CIOU在目标检测中的应用。此外,提到了激活函数Mish以及PAN、CBAM等网络结构改进。这些技术能提高模型精度,但可能增加推断成本。
摘要由CSDN通过智能技术生成

Bag of freebies(BOF)

数据增强

  • 只增加训练成本,但是能显著提高精度,并不影响推理速度
  • 数据增强:调整亮度、对比度、色调、随机缩放、剪切、翻转、旋转
    Mosaic data augmentation
    在这里插入图片描述
    Random Erase:用随机值或训练集的平均像素值替换图像的区域
    Hide and Seek:根据概率设置随机隐藏一些补丁
    在这里插入图片描述
    Self-adversarial-training(SAT): 通过引入噪音点来增加游戏难度
    在这里插入图片描述

网络正则化的方法

  • 网络正则化的方法:Dropout、Dropblock等
    DropBlock 之前的dropout是随机选择点(b),现在去掉一个区域。
    在这里插入图片描述

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

Label Smoothing
神经网络最大的缺点:自觉不错(过拟合),让它别太自信。
例如原来标签为 ( 0 , 1 ) : [ 0 , 1 ] × ( 1 − 0.1 ) + 0.1 / 2 = [ 0.05 , 0.95 ] (0,1):[0,1] \times(1-0.1)+0.1 / 2=[0.05,0.95] (0,1):[0,1]×(10.1)+0.1/2=[0.05,0.95]
在这里插入图片描述
使用之后效果分析(右图):簇内更紧密,簇间更分离
在这里插入图片描述
IOU损失
IOU损失:1-IOU
在这里插入图片描述

有哪些问题呢?
没有相交则IOU=0无法梯度计算,相同的IOU却反映不出实际情况到底是什么样子。
在这里插入图片描述
GIOU损失
公式: L G I o U = 1 − I o U + ∣ C − B ∪ B g t ∣ ∣ C ∣ \mathcal{L}_{G I o U}=1-I o U+\frac{\left|C-B \cup B^{g t}\right|}{|C|} LGIoU=1IoU+CCBBgt

引入了最小封闭形状C(C可以把A,B包含在内)
在这里插入图片描述
在不重叠情况下能让预测框尽可能朝着真实框前进,但是如果两个框重叠,则失效。
在这里插入图片描述
DIOU损失
公式: L D I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 \mathcal{L}_{D I o U}=1-I o U+\frac{\rho^{2}\left(\mathbf{b}, \mathbf{b}^{g t}\right)}{c^{2}} LDIoU=1IoU+c2ρ2(b,bgt)
其中分子计算预测框与真实框的中心点欧式距离d
分母是能覆盖预测框与真实框的最小BOX的对角线长度c
直接优化距离,速度更快,并解决GIOU问题
在这里插入图片描述
CIOU损失
公式: L C I o U = 1 − I o U + ρ 2 ( b , b g t ) c 2 + α v \mathcal{L}_{C I o U}=1-I o U+\frac{\rho^{2}\left(\mathbf{b}, \mathbf{b}^{g t}\right)}{c^{2}}+\alpha v LCIoU=1IoU+c2ρ2(b,bgt)+αv v = 4 π 2 ( arctan ⁡ w g t h g t − arctan ⁡ w h ) 2 v=\frac{4}{\pi^{2}}\left(\arctan \frac{w^{g t}}{h^{g t}}-\arctan \frac{w}{h}\right)^{2} v=π24(arctanhgtwgtarctanhw)2
α = v ( 1 − I o U ) + v \alpha=\frac{v}{(1-I o U)+v} α=(1IoU)+vv
损失函数必须考虑三个几何因素:重叠面积,中心点距离,长宽比
其中 α \alpha α 可以当做权重参数

DIOU-NMS
之前使用NMS来决定是否删除一个框,现在改用DIOU-NMS
公式: s i = { s i , IoU ⁡ − R D I o U ( M , B i ) < ε , 0 , IoU ⁡ − R D I o U ( M , B i ) ≥ ε , R D I o U = ρ 2 ( b , b g t ) c 2 s_{i}=\left\{\begin{array}{l}s_{i}, \operatorname{IoU}-\mathcal{R}_{D I o U}\left(\mathcal{M}, B_{i}\right)<\varepsilon, \\ 0, \operatorname{IoU}-\mathcal{R}_{D I o U}\left(\mathcal{M}, B_{i}\right) \geq \varepsilon,\end{array} \quad \mathcal{R}_{D I o U}=\frac{\rho^{2}\left(\mathbf{b}, \mathbf{b}^{g t}\right)}{c^{2}}\right. si={si,IoURDIoU(M,Bi)<ε,0,IoURDIoU(M,Bi)ε,RDIoU=c2ρ2(b,bgt)
不仅考虑了loU的值,还考虑了两个Box中心点之间的距离
其中M表示高置信度候选框,Bi就是遍历各个框跟置信度高的重合情况。

SOFT-NMS
更改分数而且直接剔除

在这里插入图片描述

Bag of specials(BOS)

增加稍许推断代价,但可以提高模型精度的方法
网络细节部分加入了很多改进,引入了各种能让特征提取更好的方法
注意力机制,网络细节设计,特征金字塔等

SPPNet(Spatial Pyramid Pooling)

V3中为了更好满足不同输入大小,训练的时候要改变输入数据的大小
SPP其实就是用最大池化来满足最终输入特征一致即可
在这里插入图片描述

CSPNet(Cross Stage Partial Network)

每一个block按照特征图的channel维度拆分成两部分
一份正常走网络,另一份直接concat到这个block的输
在这里插入图片描述

CBAM(Convolutional Block Attention Module)

注意力机制:包括通道注意力机制(Channel Attention Module)和空间的注意力机制(Spatial Attention Module)。
在这里插入图片描述
优点是更简单了,速度相对能更快一点。
在这里插入图片描述

PAN(Path Aggregation Network)

得先从FPN说起,FPN自顶向下的模式,将高层特征传下来(不是双向的,我们希望增加一个自下向上的传递路径)
在这里插入图片描述
PAN 引入了自底向上的路径,使得底层信息更容易传到顶部,并且还是一个捷径
在这里插入图片描述
不同之处在于,YOLOV4中并不是加法,而是拼接
在这里插入图片描述

激活函数Mish

Mish 函数
Relu有点太绝对了,Mish更符合实际
公式: f ( x ) = x ⋅ tanh ⁡ ( ln ⁡ ( 1 + e x ) ) f(x)=x \cdot \tanh \left(\ln \left(1+e^{x}\right)\right) f(x)=xtanh(ln(1+ex))
但是计算量确实增加了,效果会提升一点
在这里插入图片描述

eliminate grid sensitivity

比较好理解,坐标回归预测值都在0-1之间,如果在grid边界怎么表示?
此时就需要非常大的数值才可以达到边界,为了缓解这种情况可以在激活函数前加上一个系数(大于1的): b y = σ ( t y ) + c y b_{y}=\sigma\left(t_{y}\right)+c_{y} by=σ(ty)+cy

在这里插入图片描述

整体网络架构

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zyw2002

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

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

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

打赏作者

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

抵扣说明:

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

余额充值