经典检测网络文献阅读笔记——YOLOv4

YOLOv4: Optimal Speed and Accuracy of Object Detection

介绍

贡献:
1.开发了一个简单高效的目标检测算法——YOLOv4,该算法可以使用普通的GPU(1080Ti和2080Ti)来训练
2.作者验证了在目标检测算法训练过程中不同的技巧tricks对实验性能的影响,这些trick主要包括Bag-of-Freebies和Bag-of-Specials
3.作者修改了一些SOTA的算法,使得这些算法适用于单GPU上训练,这些算法包括CBN,PAN,SAM


相关工作

1.目标检测模型:
A: Backbone:VGG Inception ResNet ResNext DenseNet EfficientNet CSPDarkNet
B: Additional blocks:SPP ASPP RFB SAM
C: Heads:
One stage:
(anchor based)RPN SSD YOLO RetinaNet
(anchor free )CornetNet CenterNet MatrixNet
2.BOF(Bag-of-Freebies):
一些tricks:使模型获得更好的准确率而不增加模型的复杂度,也不增加推理速度和计算量
光学形变(色彩增强):对比度增强,亮度增强,色度,饱和度,噪声
几何形变(几何增强):随机翻转(水平翻转较多,垂直翻转较少),随机裁剪,拉伸以及旋转
数据增强办法属于pixel-wise办法是 解决目标遮挡不足的问题

  • 在图像中随机裁剪矩形区域,并用0来填充(random erase 和cutout)
  • 随机裁剪多个矩形区域(hide-and-seek,grid mask)
    以上是在图像中裁剪矩形区域并填充0,那么在feature map裁剪并填充叫做(Dropout,DropConnect DropBlock)

CAM: Learning Deep Features for Discriminative Localizatio


Mix-up算法:两张图片相叠加融合
Cut-Mix算法:裁剪后添加相应的尺寸融合


class-label-smoothing:正则化方法,让分类之间的cluster更紧凑,增加类间距离,减少类内距离,避免过高置信度(over high confidence)和对抗样本(adversarial examples)


解决不均衡问题 的BOF
1.类别 不均衡:背景和物体之间的不均衡,物体和物体之间的不均衡
2.尺度 不均衡:object/box-level Imbalance; feature-level imbalance
3.空间 不均衡:回归损失不均衡,IoU distribution 不均衡,物体位置不均衡
4.损失 不均衡:

OHEM(Online Hard Example Mining)
用于SVM中先训练模型收敛于当前的工作集,然后固定模型,去除简单样本,添加困难样本
一阶段检测器缺点: 【属于密集预测】
1.极度不均衡的正负样本比例 :那种近似于滑窗的方式会使得正负样本的比例接近于1000:1,而且绝大部分的负样本都是easy example
2.梯度被easy example所主导 :即使easy example loss 的数值很小,但是数量多,对于loss占主导地位,从而导致收敛不够好

ATSS(Adaptive Training Sample Selection):
(anchor-based和anchor-free)
两者性能差异主要来源于正负样本的定义


Loss fuction

BBox预测的时候,检测框坐标(x1,x2,y1,y2)是将MSE loss->IoU loss
MSE loss将四个点当成孤立的点,没考虑四个点之间的联系
对于不同尺度的目标检测框所造成的损失是不一样的
尺度不变性 :对尺度不敏感(scale invariant),在回归任务中,判断预测框和GT的距离最直接的指标就是IoU(满足非负性,同一性,对称性,三角不等性)

缺点:
1.若两个框没有相交,IoU为0,不能反映两者距离大小(重合度)。同时因为loss=0,没有梯度回传,无法进行学习训练
2.IoU无法精确反应两者的重合度大小。
一个好的目标框回归损失应该考虑3个重要的几何因素:重叠面积、中心点距离、长宽比


Learning rate
等间隔(epoch)调整学习率
固定epoch调整学习率
指数衰减调整学习率
余弦退火调整学习率
自适应调整学习率


3.BOS(Bag-of-specials)
只一些:plugin modules(特征增强模型后处理),这部分增加的计算量很少,但是能有效的增加物体检测的准确率。

特征增强模型

  • 增强感受域
  • 引入注意力机制
  • 特征融合或特征集成
  • 激活函数

1.增强感受野:SPP,ASPP,RFB
SSP:起源于SPM(Spatial Pyramid Matching)空间金字塔匹配
ASSP:Atrous**
RFB:Reception Field Block

2.引入注意力机制
通道注意力机制
空间注意力机制
通道+空间注意力机制

3.特征融合和特征集成:
Skip-connection
hyper-column
multi-scale aggression

4.激活函数
ReLu LReLu PReLu SELU ReLu6 Swish hard-Swish Mish
Mish 正值可以达到任意高度,避免了由于封顶而导致的饱和,理论上对负值的轻微允许更好的梯度流,不像是Relu那样的硬零边届。
平滑的激活函数允许更好的信息深入神经网络,从而得到更好的准确性和泛化。


后处理方法

  • NMS,soft NMS,DIoU NMS
    soft NMS对密集物体检测效果有一定的提升作用

方法

1.选择结构
选择模型的时候,有些分类任务表现优异的模型并不适合检测模型:

  • 更大的输入尺寸——为了检测多个小目标

  • 更多的层——这样网络的感受野会增加

  • 更过的参数——这样网络模型的学习能力更强,可以检测图像中不同尺寸的多个物体
    2.感受野选择总结如下:

  • 达到物体大小——允许查看整个物体

  • 达到网络大小——允许查看物体周围信息

  • 超过网络大小——增加图像点和最终激活之间的连接数

YOLOv4最终架构 =CSPDarknet53(backbone)+SPP+PANet 路径聚合(neck)+YOLOv3(head)

3.选择BOF和BOS
一个CNN算法通常使用:
在这里插入图片描述
为更适合单cpu做了一定的改进
1.数据增强方法:自对抗训练,Mosaic
2.应用遗传算法时,采用最优超参数
3.修改一些参数:SAM PAN CmBN
Mosaic
1.一次整合4张图片,相较于只整合两张图片的CutMix,这样训练模型能检测到更多物体
2.同时计算BN时,一次相当于计算四张,就减少了对大batch-size的依赖
SAT
新的数据增广技术,包括两个forward backword stage
第一阶段:网络调整输入图像而不是权重,此时网络自身对抗攻击,调整原始图像去欺骗网络图中没有预期目标。
第二阶段:网络以正常的方式再调整的图片中检测目标


YOLOv4的BOF&BOS
在这里插入图片描述


结论

1.开发了一个速度更快并且性能更好的模型
2.该模型能够在8-16GB的显存上训练
3.该算法验证了大量的技巧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值