[检测]YOLOv4

论文题目: YOLOv4: Optimal Speed and Accuracy of Object Detection
论文链接:https://arxiv.org/pdf/2004.10934.pdf
论文代码:https://github.com/AlexeyAB/darknet

yolov4 其实相对创新点很少,可以理解为基于各种trick进行的一个grid search,找出最好的组合。下面就简单介绍一下yolov4中用到的trick。如果需要深入了解,每个对应的trick在文中都有论文链接,供大家参考。


YOLOv4

Backbone:
      CSPDarkNet53
Neck:
      SPP
      PAN
Head:
      YOLOv3
Tricks(backbone):
      CutMix
      Mosaic
      DropBlock
      Label Smoothing
Modified(backbone):
      Mish
      CSP
      MiWRC
Tricks(detector):
      CIoU
      CMBN
      DropBlock
      Mosaic
      SAT
      Eliminate grid sensitivity
      Multiple Anchor
      Cosine Annealing scheduler
      Random training shape
Modified(detector):
      Mish
      SPP
      SAM
      PAN
      DIoU-NMS


Backbone


CSPDarkNet53

论文链接:CSPNET: A NEW BACKBONE THAT CAN ENHANCE LEARNING CAPABILITY OF CNN

作者研究表明:CSPResNeXt50在分类方面优于CSPDarkNet53,而在检测方面反而表现要差。对于分类而言最好的模型可能并不适合于检测,相反,检测模型需要具有以下特性:

  • 更高的输入分辨率,为了更好的检测小目标;
  • 更多的层,为了具有更大的感受野;
  • 更多的参数,更大的模型可以同时检测不同大小的目标。

选择具有更大感受野、更大参数的模型作为backbone。
CSPResNeXt50仅仅包含16个卷积层,其感受野为425x425,包含20.6M参数;而CSPDarkNet53包含29个卷积层,725x725的感受野,27.6M参数。从理论与实验角度表明:CSPDarkNet53更适合作为检测模型的Backbone。具体CSPNet见CSP部分
在这里插入图片描述


Neck


SPP

论文链接:Spatial pyramid pooling in deep convolutional networks for visual recognition

Spatial Pyramid Pooling

yolov3中有一个版本就是yolov3-spp。yolov4在CSPDarkNet53基础上,作者添加了SPP模块,因其可以提升模型的感受野、分离更重要的上下文信息、不会导致模型推理速度的下降;

原始SPP结构:
在这里插入图片描述
yolov3+ spp结构:见下图

PAN

论文链接:Path Aggregation Network for Instance Segmentation

作者还采用PANet中的不同backbone级的参数汇聚方法替代FPN。
在这里插入图片描述
FPN是自顶向下,将高层的强语义特征传递下来,对整个金字塔进行增强,不过只增强了语义信息,对定位信息没有传递。而PANet在FPN的后面添加一个自底向上的金字塔,这样的操作是对FPN的补充,将低层的强定位特征传递上去。

  • 自底向上的路径增强,为了缩短信息传播路径,同时利用低层特征的精准定位信息
  • 动态特征池化,每个proposal利用金字塔所有层的特征,为了避免proposal的随意分配,对分类及定位更加有利。
  • 全连接层融合,为了给掩码预测增加信息来源

将PAN的short-cut连接改为拼接:



Head


YOLOv3

论文链接:YOLOv3: An Incremental Improvement

在这里插入图片描述

yolov3+spp结构

在这里插入图片描述

spp模块结构

Tricks(backbone)


CutMix

论文链接:CutMix: Regularization Strategy to Train Strong Classifiers
with Localizable Features

数据增强:Mixup,Cutout,CutMix

  • Mixup:将随机的两张样本按比例混合,分类的结果按比例分配;
  • Cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类的结果不变;
  • CutMix:就是将一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值,分类结果按一定的比例分配

    M ∈ { 0 , 1 } W × H \mathbf{M}\in\{0,1\}^{W\times H} M
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值