从零开始的世界(3):YOLOv4论文翻译-目标检测的最佳速度和精度


前言

  最近在学习v4相关的内容,先粗略翻译翻译v4的文章。其中如果有什么意见或者建议可以评论一下。
  YOLOv4论文下载:https://arxiv.org/pdf/2004.10934.pdf.
  YOLOv4代码下载:https://github.com/AlexeyAB/darknet


YOLOv4:目标检测的最佳速度和精度


摘要

  据说有大量的特征可以提高卷积神经网络(CNN)的精度。需要在大数据集上对这些特征组合进行实际测试,并对结果进行理论论证。某些特征只在某些模型上运行,对某些问题也只起作用,或者只对小规模数据集起作用;而一些特性,如批处理规范化和剩余连接,适用于大多数模型、任务和数据集。我们假设这些普遍特征包括加权剩余连接(WRC),跨阶段部分连接(CSP),交叉小批量标准化(CmBN),自我对抗训练(SAT)和混合激活。我们使用新特性:WRC,CSP,CmBN,SAT,Mish激活函数,马赛克数据增加,CmBN,DropBlock正规化,CIoU损失函数,并结合一些实现先进的结果:在MS COCO数据集上达到了43.5%的AP(65.7% AP50),在特斯拉V100上的实时速度约65 FPS。源代码在https://github.com/AlexeyAB/darknet


1.引言

  大多数基于CNN的物体检测器仅适用于推荐系统。例如,通过慢速精确模型执行通过城市摄像机搜索空闲停车位的过程,而汽车碰撞警告则与快速不精确模型有关。提高实时物体检测器的准确性,不仅可以将它们用于提示生成推荐系统,还可以用于独立的过程管理和减少人工输入。常规图形处理单元(GPU)上的实时对象检测器操作允许它们以可承受的价格进行大量使用。最精确的现代神经网络不能实时运行,并且需要大量的GPU来进行大型微型批次的训练。我们通过创建CNN来解决此类问题,该CNN在常规GPU上实时运行,并且训练仅需要一个常规GPU。

在这里插入图片描述
  YOLOv4与其他最新目标检测器的比较。 YOLOv4的运行速度比EfficientDet快两倍,并且性能相当。将YOLOv3的AP和FPS分别提高了10%和12%。
这项工作的主要目标是设计生产系统中目标检测器的快速运行速度并优化并行计算,而不是低计算量理论指标(BFLOP)。我们希望可以轻松地训练和使用设计的对象。例如,任何使用常规GPU进行训练和测试的人都可以获得实时,高质量和令人信服的对象检测结果,如图1所示的YOLOv4结果。我们的贡献总结如下:

  1.我们开发了有效而强大的对象检测模型。它使每个人都可以使用1080 Ti或2080 Ti GPU训练超快速和准确的物体检测器。

  2.我们验证了最先进的Bag-of-Freebies和Bag-of-Specials方法在目标检测训练期间的影响。

  3.我们修改了最先进的方法,使其变得更高效并且更适合单个GPU训练,包括CBN[89]、PAN[49]、SAM[85]等。
在这里插入图片描述


2.相关工作


2.1目标检测模型

  现代检测器通常由两部分组成,一个是在ImageNet上预训练的骨架,另一个是用来预测物体的类别和边界框的头部。对于在GPU平台上运行的检测器,其主干可以是VGG [68],ResNet [26],ResNeXt [86]或DenseNet [30]。对于在CPU平台上运行的检测器,其主干可以是SqueezeNet [31],MobileNet [28、66、27、74]或ShuffleNet [97、53]。至于头部,通常分为两类,即一步目标检测和二步目标检测。最有代表性的两步目标检测是R-CNN [19]系列,包括Fast R-CNN [18],Faster R-CNN [64],R-FCN [9]和Libra R-CNN [58]。在二步目标检测中也可以不用anchor的目标检测,例如RepPoints [87]。对于一步目标检测来说,最具代表性的模型是YOLO [61、62、63],SSD [50]和RetinaNet [45]。近年来,开发了不用anchor的一步目标检测。这种检测器有CenterNet [13],CornerNet [37、38],FCOS [78]等。近年来开发的目标检测通常在骨架网络和头部之间插入一些层,这些层通常用于收集特征图。从不同的阶段。我们可以称其为目标检测的颈部(neck)。通常,颈部由几个自下而上的路径和几个自上而下的路径组成。配备此机制的网络包括Feature Pyramid Network (FPN)[44],Path Aggregation(PAN)[49],BiFPN[77]和NAS-FPN[17]。

  除了上述模型外,一些研究人员还强调直接构建用于目标检测的新骨干(DetNet [43],DetNAS [7])或新的整个模型(SpineNet [12],HitDetector [20])。

  综上所述,普通的目标检测由以下几部分组成:

  • 输入:图像、图像块、图像金字塔
  • 骨干网络:VGG16[68]、ResNet-50[26]、SpineNet[12]、EfficientNet-B0/B7[75]、CSPResNeXt50[81]、CSPDarknet53[81]
  • 颈部(neck):
    • 附加块: SPP [25], ASPP [5], RFB[47], SAM [85]
    • 路径聚合块:FPN [44], PAN [49],NAS-FPN [17], Fully-connected FPN, BiFPN[77], ASFF [48], SFAM [98]
  • 头部:
    • 密集预测(一步):RPN [64],SSD [50],YOLO [61],RetinaNet [45](基于anchor)CornerNet [37],CenterNet [13],MatrixNet [60],FCOS [78](无anchor)
    • 稀疏预测(两步):Faster R-CNN [64], R-FCN [9], Mask R-CNN [23] (基于anchor) RepPoints [87] (无anchor)

2.2 Bag of freebies

  通常情况下,传统的目标检测的训练都是离线进行的。因此,研究人员总是喜欢利用这一优势,并开发出更好的训练方法,使得目标检测在不增加测试成本的情况下达到更好的精度。我们将这些只需改变训练策略或只增加训练成本的方法称为bag of freebies。数据增强是目标检测经常采用并符合这个定义的方法。数据增强的目的是增加输入图像的多样性,从而使设计的目标检测模型对来自不同环境的图片具有较高的鲁棒性。比如,光度失真和几何失真是两种常用的数据扩充方法,它们无疑有益于物体检测任务。处理光度失真时,我们调整图像的亮度、对比度、色调、饱和度和噪声。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值