论文学习—YOLO-v4

文章目录

      • 1、背景
      • 2.1目标检测的构成
      • 2.2、Bag of freebies
      • 2.3、Bag of specials
      • 3、YOLO架构
        • 3.1、 网络架构
        • 3.2、数据增强
        • 3.3 学习率余弦退火
      • 4、小结

1、背景

目前而言,大部分基于CNN的目标检测系统只适用于一些推荐领域的工作:运行慢精度高的检测系统应用于城市停车位搜素;运行快,精度一般的用于汽车碰撞警告,提高检测系统实时速度与精度,不仅可以让检测系统应用于以上场景,可以用于独立进程管理和减少人工输入。

所以YOLO-4的主要目的就是在生产系统中设计一个快速运行的对象检测器,可以优化并行计算,并且希望所设计的检测器能够易于训练和使用。比如在使用任何传统GPU进行训练和测试的人都可以获得实时、高质量、令人信服的目标检测结果。

YOLO-4论文整体都在以实验为主,介绍了很多应用在计算机视觉工程中的Tricks。

以下展示目前先进的目标检测算法在COCO数据集上的对比

论文学习—YOLO-v4_第1张图片

2.1目标检测的构成

一个常用的目标检测算法通常由输入、骨干网、特征网、预测网络组成,以下显示当前主流的对以上各方面的优化方向。
论文学习—YOLO-v4_第2张图片

2.2、Bag of freebies

定义:改变训练策略或只会增加训练成本而不增加推理成本的情况下获得更好的精度,称这种方法为”免费包“。以下为免费包的一些策略。

  • 数据增强:增加输入图像的可变性,使所设计的目标检测模型对不同环境下得到的图像具有较高的鲁棒性

    光照畸变:亮度、对比度、色相、饱和度和噪声

    几何畸变:随机缩放、剪切、翻转和旋转

    模拟物体遮挡:随机擦除、CutOut(随机选择图像中的矩形区域,并填充一个随机的或互补的值为零)、网格掩模(在一幅图像中随机或均匀地选择多 个矩形区域,将其全部替换为零)

    使用多张图片:MixUp (使用两个图像以不同的系数比相乘和重叠,然后使用这些重叠的比率调整标签)、CutMix( 将裁剪后的图像覆盖到其他图像 的矩形区域,并根据混合区域的大小调整标签)

  • 不同类别数据分布不均:hard negative example mining 、focal loss

  • 不同类别关联度:标签平滑、知识蒸馏

  • Bounding Box 回归:MSE 、IOU loss 、GIOU loss、DIOU loss 、CIOU loss

2.3、Bag of specials

定义:增加少量推理成本却能显著提高目标检测精度的插件模块和后处理方法,我们称之为“特殊包”。

  • 增大感受野:SPP 、ASPP、 RFB。
  • 注意力机制: channel-wise attention(Squeeze-and-Excitation ) 、 pointwise attention(Spatial Attention Module )。
  • 特征融合:跳级连接、hyper-column 、SFAM 、 ASFF 、 BiFPN
  • 激活函数:ReLU 、LReLU、PReLU、ReLU6、 Scaled Exponential Linear Unit (SELU)、Swish、hard-Swish、Mish
  • 后处理方式: NMS 、soft NMS 、DIoU NMS

3、YOLO架构

  • Backbone: CSPDarknet53
  • Neck: SPP 、PAN
  • Head: YOLOv3

使用的策略

  • Bag of Freebies (BoF) for backbone:CutMix和Mosaic 数据增强,DropBlock 正则化,类别标签平滑(class label smoothing)
  • Bag of Specials (BoS) for backbone:Mish 激活函数,Cross-stage partial conections(CSP),Multi-input weighted residual connections(MiWRC)
  • Bag of Freebies (BoF) for detector:CIoU-loss,CmBN,DropBlock 正则化,Mosaic 数据增强,SAT, Eliminate grid sensitivity, Using multiple anchors for a single ground truth,Cosine anneling shceduler,Optimal hyper-parameters,Random training shape。
  • Bag of Freebies (BoF) for detector:Mish 激活函数,SPP-block,SAM-block,PAN 特征集成,DIoU-NMS

在分类问题上,作者实验了不同特征的影响,以下为实验结果

论文学习—YOLO-v4_第3张图片

在检测问题上实验了以下特征的影响:

论文学习—YOLO-v4_第4张图片

  • M:马赛克增强
  • IT :IOU置信阈值
  • GA :遗传算法搜索最佳超参
  • LS :标签平滑
  • CBN :Cross mini-Batch Normalization
  • CA :学习率余弦退火
  • DM :mini-batch size
  • OA:优化的Anchor

3.1、 网络架构

网络结构如下:主干网络采用CSPDarknet 53,由很多的残差块组成,激活函数采用了Mish激活函数,在CSPdarknet53的最后一个特征层进行三次卷积,然后利用四个不同尺度进行最大池化,最大池化的池化核大小分别为13x13、9x9、5x5、1x1,这个构成了SPP Net结构,作用是能够极大地增加感受野,分离出最显著的上下文特征。特征网络采用PANet自顶向下和自下向上的结构,融合三个不同尺度的特征图。与YOLO-v3的DarkNet-53一样有三个尺度的输出,更加有利于检测不同尺度的物体。

论文学习—YOLO-v4_第5张图片

3.2、数据增强

Yolov4的mosaic数据增强参考了CutMix数据增强方式,CutMix数据增强方式利用两张图片进行拼接,而mosaic利用了四张图片,根按作者的说法这样做的好处是丰富检测物体的背景。且在BN计算的时候一下子会计算四张图片的数据。

论文学习—YOLO-v4_第6张图片

3.3 学习率余弦退火

余弦退火衰减法,学习率会先上升再下降,这是退火优化法的思想。上升的时候使用线性上升,下降的时候模拟cos函数下降,执行多次。

论文学习—YOLO-v4_第7张图片

4、小结

YOLO-4整篇文章创新的地方不多,更多的是工程技巧与实验,总结了很多应用在目标检测的trick,利用这些技巧,YOLO-v4无论精度还是速度上,都有很大的提升。而这些技巧很多也值得我们借鉴,可以应用到我们的工程实践之中。

你可能感兴趣的:(论文学习,人工智能,python,计算机视觉,机器学习)