YOLOv4: 目标检测最优速度和精度

论文地址:https://arxiv.org/abs/2004.10934
参考文献和最后一大串表见原论文,机翻加手翻,错误请指正,讨论请留言。
摘要:
有大量的技巧可以提高卷积神经网络(CNN)的精度。需要在大数据集下对这种技巧的组合进行实际测试,并对结果进行理论论证要求。某些技巧仅在某些模型上使用和专门针对某些问题,或只针对小规模的数据集;而一些技巧,如批处理归一化、残差连接等,适用于大多数的模型、任务和数据集。我们假设这种通用的技巧包括Weighted-Residual-Connection(WRC)、Cross-Stage-Partial-connections (CSP)、跨小型批量连接(CSP)、Cross mini-Batch Normalization(CmBN),Self-adversarial-trainin(SAT)和Mish-activation。我们在本文中使用这些新的技巧:WRC、CSP、CmBN、SAT,Mish-activation,Mosaic data augmentation、CmBN、DropBlock正则化和CIoU损失,以及组合技巧,以达到最好的效果。在MS COCO数据集中的AP43.5%(65.7% AP50),在实际应用中,Tesla V100上速度可达到65FPS。

1 引言

大多数基于CNN的目标检测器基本上都仅适用于推荐系统。例如:通过城市摄像头寻找免费停车位,它由精确的慢速模型执行,而汽车碰撞警示由快速精度低模型执行。改善实时目标检测器的精度,使其能够不但用于提示生成推荐系统,也用于独立的流程管理和减少人力投入。GPU使得实施目标检测可以实惠的价格进行,最准确的现代神经网络不是实时运行的,需要大量的训练的GPU与大的bacth size。我们通过创建一个CNN来解决这样的问题。在传统的GPU上实时生成,而对于这些训练只需要一个传统的GPU。

图1 YOLOv4和其他SOTA模型比较。YOLOv4
以相当精度速度两倍于EfficientDet,提升
YOLOv3’s AP值10%,FPS提升12%

这项工作的主要目标是设计一个应用生产环境快速运行的目标检测器,并且进行并行计算优化,而不是低水平的计算放量理论指标(BFLOP)。我们希望所设计的对象易于训练和使用。例如,任何使用传统GPU训练和测试可以实现实时、高质量、有说服力的目标检测结果,YOLOv4的结果如图1所示。现将我们的贡献总结如下:

  1. 我们构建了一个快速强大的模型,这使得大家都可以使用1080 Ti或2080 Ti GPU来训练一个超快、准确的目标检测器。
  2. 我们验证了最先进的Bag-of-Freebies 和 Bag-of-Specials方法在训练期间的影响
  3. 我们修改了最先进的方法,使其更为高效,适合单GPU训练。包括CBN[89]、PAN[49]、SAM[85]等。

    图2 目标检测器

2. 相关工作

现代目标检测器通常由两部分组成。ImageNet上预训练的backbone和用于预测类和BBOX的检测器head。对于那些在GPU平台上运行的探测器,其backbone可以是VGG[68],ResNet[26]、ResNeXt[86]、或 DenseNet [30]。对于那些运行在CPU平台上的检测器形式,它们的backbone可以是SqueezeNet[31]、MobileNet[28,66,27,74],或ShuffleNet[97,53]。至于head部分,它通常被分两类:即one-stage目标检测器和two-stage目标检测器。最有代表性的two-stage检测器是R-CNN[19]系列。包括快速的R-CNN[18],更快的R-CNN[64],R-FCN[9],和Libra R-CNN[58]。也可以做一个two-stage目标检测器一个anchor-free目标检测器,如RepPoints[87]。对于one-stage检测器来说,最代表性的有YOLO[61、62、63]、SSD[50]、和RetinaNet[45]。近几年来,anchor-free one-stage目标探测器被开发,如CenterNet[13],CornerNet[37,38],FCOS[78]等。近年来发展起来的检测器,往往会在backbone和head之间插入一些层,这些层用于收集不同阶段的特征图。我们可以称它为检测器的neck。通常情况下neck是由几个bottom-up paths and several top-down paths组成。Feature Pyramid Network (FPN)[44], Path Aggregation(PAN)[49]、BiFPN[77]和NAS-FPN[17]具有这个机制。除上述模型外,有的研究者重新构建backbone(DetNet[43], DetNAS[7])或重新构建整个模型(SpineNet[12],HitDetector[20])用于目标检测。总结,通常目标检测模型有如下架构:
• Input: Image, Patches, Image Pyramid
• Backbones: VGG16 [68], ResNet-50 [26], SpineNet[12], EfficientNet-B0/B7 [75], CSPResNeXt50 [81],CSPDarknet53 [81]
• Neck:
• Additional blocks: SPP [25], ASPP [5], RFB[47], SAM [85]
• Path-aggregation blocks: FPN [44], PAN [49],NAS-FPN [17], Fully-connected FPN, BiFPN[77], ASFF [48], SFAM [98]
• Heads::
• Dense Prediction (one-stage):RPN [64], SSD [50], YOLO [61], RetinaNet[45] (anchor based) CornerNet [37], CenterNet [13], MatrixNet[60], FCOS [78] (anchor free)
• Sparse Prediction (two-stage):Faster R-CNN [64], R-FCN [9], Mask R-CNN [23] (anchor based) RepPoints [87] (anchor free)

2.2. Bag of freebies

通常情况下,传统的目标检测器的训练都是在离线进行的,因此,研究者们总是喜欢研究更好的训练方法,使之目标检测器在不增加推理损耗的情况下达到更好的精度。我们将这些方法称为只需转变训练策略或只增加训练量成本为 " bag of freebies "。目标检测经常采用这种方法,并符合这个定义的就是数据增强。数据增强的目的是:增加输入图像的可变性,从而使设计的目标检测模型对不同环境的图片具有较高的鲁棒性。比如photometric distortions和geometric distortions是两种常用的数据增强方法,它们对检测任务肯定是有好处的。在处理photometric distortions,我们调整亮度,对比度。图像的色相、饱和度和噪声。对于geometric distortions,我们添加了随机缩放、裁剪、翻转和旋转。上面提到的数据增强方法都是像素的调整,以及所有原始像素信息在调整后的区域被保留下来。此外,一些从事数据扩容工作的研究者,把重点放在了模拟object occlusion问题。他们在图像分类和目标检测取得了好的结果。例如,random erase [100] and CutOut [11]可以随机的选取图像中的矩形区域,并随机填入或补充值为零。至于hide-and-seek [69]和grid mask [6],他们随机或均匀地选择多个图像中的矩形区域,并将其替换为全0。如果将类似的概念应用到特征图中,就是DropOut[71]、DropConnect[80]和DropBlock[16]方法。此外,有研究者提出了多张图像一起使用数据的方法扩增。例如,MixUp[92]使用了两个图像乘以不同系数的乘法叠加,并调整标签。至于CutMix[91],它是为了覆盖裁剪后的图像到其他图像的矩形区域,并根据混合区的大小调整标签。除了以上提到的方法,style transfer GAN[15]也是数据扩容方法,这种使用可以有效地实现数据扩容,减少CNN学习的纹理偏差。
与上面提出的各种方法不同。其他的一些Bag of freebies方法是专门解决数据集中的语义分布偏差。在处理语义困扰的问题上,有一个很重要的问题是不同类别之间的数据不平衡,而two-stage 检测器处理这个问题通常是通过hard negative example mining [72]或online hard example mining [67]。但example mining method不适用于one-stage 目标检测器,因为这种检测器属于密集预测架构。因此,Linet al.[45]提出了focal loss解决数据不平衡问题。另一个很重要的问题是,one-hot编码很难表达出类与类之间关联程度问题。在执行标签化通常使用这种表示方式。在[73]中提出的label smoothing方案是将硬标签转化为软标签进行训练,可以使模型更鲁棒。为了获得更好的软标签,Islam等[33]将知识蒸馏的概念引入标签细化网络设计中。
最后一个bag of freebies是objective function of Bounding Box (BBox) 回归。检测器通常使用MSE对BBOX的中心点和宽高进行回归,至于anchor-based方法,它是为了估算出对应的偏移量。但是,要直接估计BBOX的点坐标值,是要将这些点作为独立变量,但实际上未考虑对象本身的完整性。为了使这一问题得到更好的处理,一些研究人员最近提出的IoU损失[90],同时考虑预测的BBox面积和ground truth BBox面积覆盖。IoU损失会计算到BBox的四个坐标点,然后连接到生成一个完整的代码。因为IOU是一个尺度不变表示,它可以解决当传统方法计算{x,y,w,h}的l1或l2损失导致尺度增加。最近,一些研究人员不断改善IOU损失。例如GIoU损失[65]除覆盖面积也考虑物体的形状和方向。他们建议找到能同时覆盖预测BBOX和ground truth BBox的最小面积BBOX,并使用这个BBox作为分母,以取代IoU损失的分母。至于 DIoU 损失[99],它另外还包括考虑物体中心的距离,CIoU损失[99],另一方面,同时考虑到重叠区域,中心点之间的距离,以及长宽比。CIoU可以在BBox回归问题上实现更好的收敛速度和精度。

2.3 Bag of specials

对于那些插入模块和后期处理方法只会增加少量的推理成本,但可显著提高目标检测的准确性,我们称其为 “Bag of specials”。一般来说,这些插入模块是用来增强某些属性的,如扩大感受野,引入注意力机制或增强特征整合能力等,而后处理是一种筛选模型预测结果方法。
可用于扩大感受野的模块有SPP[25]、ASPP[5]和RFB[47]。SPP模块起源于Spatial Pyramid Match(SPM)[39],而SPMs的原始方法是将特征图分割成几个d×d等量的块,其中d可以是{1,2,3,…},从而形成空间金字塔,然后提取bag-of-word特征。SPP将SPM集成到CNN并使用max-pooling操作而不是bag-of-word运算,由于He等人提出的SPP模块[25]将输出一维特征向量,而不可能应用于全卷积网络(FCN)中。因此,在YOLOv3的设计[63]中,Redmon和Farhadi改进了YOLOv3的设计将SPP模块改进为融合k×k核的max-pooling输出,其中k = {1,5,9,13},并且步长等于1。在这种设计下,一个相对较大的k×k有效地增加了backbone的感受野。增加了SPP模块的改进版后,YOLOv3-608在MS COCO上AP 50提升2.7%,但要付出0.5%的额外计算成本。ASPP[5]模块和改进后的SPP模块在操作上的区别是主要由原来的步长1、k×k核的max-pooling到几个3×3核的max-pooling、空洞率为k步长1的空洞卷积。RFB模块是使用几个k×k核的空洞卷积,空洞率为k,步长为1以获得比ASPP更全面的空间覆盖率。RFB[47]只需额外增加7%推理时间却在MS COCO上提升SSD的AP50 5.7%。
在目标检测中经常使用的注意力模块,通常分为channel-wise注意力和point-wise注意力。代表模型是Squeeze-and-Excitation (SE) [29] and Spatial Attention Module (SAM) [85]。虽然SE模块可以提高ResNet50在ImageNet图像分类任务1% top-1准确率而计算量增加2%,但是在GPU上,通常情况下,它将增加推理时间的10%左右,所以更适合用于移动端设备。但对于SAM,它只需要额外0.1%计算量提高ResNet50-SE 0.5% Top-1 精度,且它完全不影响GPU上的推理速度。
在特征融合方面,早期的做法是用skip connection [51]或hyper-column [22]来融合低级和高级特征。由于FPN等多尺度预测方法已成为流行,许多轻量级模块集成了不同的特征金字塔。包括SFAM[98]、ASFF[48]和BiFPN[77]。SFAM的主要思想是利用SE模块在多尺度叠加特征图上来执行channel-wise级别re-weighting。至于ASFF,它用softmax惊醒点对点re-weighting,然后添加不同尺度的特征图。在BiFPN中,提出multi-input weighted residual connections执行scale-wise level re-weighting然后再添加不同尺度的特征图。
在深度学习的研究中,有人注重于寻找好的激活函数。一个好的激活函数可以使梯度更有效地传播,也不会造成太多的额外计算成本。2010年,Nair and Hinton [56]提出了ReLU来实质性地解决梯度消失的问题,这也是tanh和sigmoid中经常遇到的问题。随后就是LReLU[54], PReLU[24], ReLU6[28], Scaled Exponential Linear Unit (SELU)[35]、Swish[59]、hard-Swish[27]、和Mish[55]等,也是用来解决梯度问题的。LReLU和PReLU其主要目的是:是为了解决梯当输出小于零时,ReLU的梯度为零。至于ReLU6和Hard-Swish,它们是专为量化网络设计。对于自归一化的神经网络,提出了SELU的激活函数满足子归一化目的。有一点需要注意的是,Swish和Mish都是连续可微激活函数。
后处理方法常用的是NMS,它可以用于过滤那些预测错误的BBoxes,并只保留较高的候选BBoxes。NMS努力改进的方式与以下目标函数的优化方法一致。NMS原始方法没有考虑背景信息,所以Girshick等人[19]增加了R-CNN中的置信度评分为参考,并根据信任分数的顺序,从高分到低分的顺序执行贪婪NMS。至于soft NMS [1],它考虑的问题是:object occlusion 可能会导致导致贪婪NMS的信任分降低。DIoU NMS[99]的开发者想法是在soft NMS基础上将中心点距离信息增加到BBox筛选过程中,值得一提的是,由于上述处理方法都没有直指提取的特征图,不再需要在后续的anchor-free方法开发中进行后处理。

3. 方法论

基本目的是生产系统中的神经网络的快速运行速度和并行计算的优化
我们提出了两种实时神经网络。

  • 对于GPU,我们在卷积层使用少量组(1-8)。CSPResNeXt50 / CSPDarknet53
  • 对于VPU----我们使用分组卷积,但不使用Squeeze-and-excitement (SE) blocks
  • 具体来说,这包括以下模型:EfficientNet-lite / MixNet [76] / GhostNet[21] / MobileNetV3

3.1架构选择

我们的目的是寻求最佳平衡,把网络输入分辨率、卷积层数、卷积层数、参数(滤波器大小^2滤波器通道/组)和层输出(过滤器)的数量。例如我们的许多研究表明CSPResNext50相比于CSPDarknet53在以下几个方面都要好得多,如ILSVRC2012(ImageNet)上的物体分类。然而,CSPDarknet53与CSPResNext50相比在MS COCO数据集上检测效果更好。下一个目标是选择更多的block扩大感受野,为不同级别的backbone、不同的检测器级别:如FPN、PAN、ASFF、BiFPN找到参数聚合的最佳方法。一个最佳的分类参考模型是并不总是最佳的检测器。相比之下,检测器需要满足:

  • 更高的输入网络尺寸(分辨率)----用于检测多个小物件
  • 更多的层数:提高模型的感受野,能应对网络输入尺寸增加
  • 更多参数–更大的模型容量,在单个图像中检测多个大小不同的物体。

我们可以假设一个模型具有较大的感受野(很多3×3卷积层),应该选择很多参数的backbone,表1显示了CSPResNeXt50,CSPDarknet53和EfficientNet B3的信息。CSPResNext50仅包含16个3×3卷积层、425×425感受野大小和20.6M个参数,而CSPDarknet53包含29个3×3卷积、725×725感受野大小和27.6M个参数。 这种理论上的证明,连同我们的大量实验表明,CSPDarknet53神经网络是最佳的backbone。
不同大小的感受野的影响总结如下:
•最大对象尺寸-允许查看整个对象
•取决于网络大小-允许查看周围的环境物体
•超出网络规模-图片输入和最终激活值的连接数

我们将SPP模块添加到CSPDarknet53上,因为它大大增加了感受野,分离出最重要的context特征,几乎不会导致降低网络运行速度。我们使用PANet作为来自不同backbone的参数聚合方法而不是YOLOv3中使用的FPN。最后,我们选择CSPDarknet53主干,SPP添加模块,PANet path-aggregation neck和YOLOv3(anchor based)头作为YOLOv4架构。
将来,我们计划大幅扩展(BoF)的内容,可以解决一些问题并增加检测器准确性,并顺序检查每个功能的影响。
我们不使用Cross-GPU Batch Normalization(CGBN或SyncBN)或昂贵的专用设备。这个使任何人都可用常规图形处理器再现我们最新的成果,例如GTX 1080Ti或RTX2080Ti。

3.2. BoF 和BoS选择

为了改善目标检测训练,CNN通常会使用:
• Activations: ReLU, leaky-ReLU, parametric-ReLU,ReLU6, SELU, Swish, or Mish
• Bounding box regression loss: MSE, IoU, GIoU, CIoU, DIoU
• Data augmentation: CutOut, MixUp, CutMix
• Regularization method: DropOut, DropPath [36], Spatial DropOut [79], or DropBlock
• Normalization of the network activations by their mean and variance: Batch Normalization (BN) [32],Cross-GPU Batch Normalization (CGBN or SyncBN)[93], Filter Response Normalization (FRN) [70], or Cross-Iteration Batch Normalization (CBN) [89]
• Skip-connections: Residual connections, Weighted residual connections, Multi-input weighted residual connections, or Cross stage partial connections (CSP)
至于训练激活函数,由于PRELU和SELU的训练难度较大,而ReLU6是专门的量化网络的设计,因此,我们不从候选列表中选择上述激活函数。对于正则化方法,发表了DropBlock的人将他们的方法与其他方法进行了比较,在细节上,他们的正则化方法赢得了很多。我们毫不犹豫地选择了DropBlock作为我们正则化方法。至于归一化方法的选择,因为我们关注的是只使用一个GPU,因此syncBN不考虑。

3.3 额外提升

为了使所设计的检测器更适合于在单GPU上的训练,我们做了额外的设计和仿真设计。如下:

  • 我们介绍一种新的数据增强方法Mosaic和Self-Adversarial Training (SAT)
  • 我们应用遗传算法选择最优的超参数
  • 我们修改一些现有的方法,使我们的设计适用于有效的训练和检测:修改后的SAM,修改后的PAN,和Cross mini-Batch Normalization (CmBN).Mosaic代表了一种新的数据增强方法,混合了4个训练图像。因此混合4个不同的contexts,而CutMix只混合了2个输入图像。这个使得可以探测到正常contexts之外的物体。在此外,batch normalization从每层上的4个不同的图像计算激活数据。这显著地减少了对大batch size的需要。
    Self-Adversarial Training(SAT)也代表了一种新的数据扩增技术,以2个前向操作阶段的方式进行操作。在第一个阶段,神经网络改变的是原始图像而不是的网络权重。这样神经网络对其自身进行对抗性攻击,改变原有的形象,创造出图像上没有物体的欺骗假象。在第2个阶段中,神经网络以通常方式训练检测物体。

    CmBN是CBN的修改版,在图4中,定义为Cross mini-Batch Normalization(CmBN),这只收集一个批次内mini-batches之间的数据。
    我们修改SAM,从spatial-wise attention修改为point-wise attention,并将PAN的shortcut connection改为connection。如图5和图6所示。


3.4. YOLOv4

本节,展示YOLOv4细节。
YOLOv4由以下组成:
• Backbone: CSPDarknet53 [81]
• Neck: SPP [25], PAN [49]
• Head: YOLOv3 [63]
YOLO v4使用:
• Bag of Freebies (BoF) for backbone: CutMix and Mosaic data augmentation, DropBlock regularization, Class label smoothing
• Bag of Specials (BoS) for backbone: Mish activation, Cross-stage partial connections (CSP), Multi-input weighted residual connections (MiWRC)
• Bag of Freebies (BoF) for detector: CIoU-loss,CmBN, DropBlock regularization, Mosaic data augmentation, Self-Adversarial Training, Eliminate grid sensitivity, Using multiple anchors for a single ground truth, Cosine annealing scheduler [52], Optimal hyper-parameters, Random training shapes
• Bag of Specials (BoS) for detector: Mish activation, SPP-block, SAM-block, PAN path-aggregation block, DIoU-NMS

4. 实验

我们测试了不同的训练改进的影响。包括(ILSVRC 2012年val)ImageNet数据集分类准确性,然后是MS COCO(test-dev 2017)数据集的检测准确性。

4.1实验设置

在ImageNet的图像分类实验中,默认超参数如下:训练步数8000000000;batch size和mini-batch size为128和32;polynomial decay learning rate scheduling strategy初始学习率为0.1的调度策略。warm-up steps为1000;momentum and weight decay分别设定为0.9和0.005。我们所有的BoS实验中使用的超参数为默认设置,而在BoF实验中,我们增加了一个额外的50%的训练步数。在BoF实验中,我们验证MixUp, CutMix, Mosaic, Bluring数据增强、和label smoothing regularization方法。在BoS的经验中我们比较了LReLU、Swish和Mish的效果。所有的实验都是用1080Ti或2080 Ti GPU。
在MS COCO目标检测实验中,默认参数如下:训练步数为500500500;step decay learning rate scheduling strategy是采用初始学习率为0.01,并分别在40万步和45万步时乘以系数0.1。momentum and weight decay分别设置为0.9和0.0005。所有的架构执行多尺度训练的都使用单GPU,batch size 64,mini-batch size是8或4,取决于架构和GPU显存容量限制。除了超参数搜索使用遗传算法,所有其他实验使用默认设置。遗传算法实验使用YOLOv3-SPP以GIoU损失进行训练,对min-val 5k数据搜索 300轮。我们采用搜索过的学习率0.00261,动量0.949,IoU阈值对ground truth为 0.213,loss normalizer为0.07。我们已经验证了大量的BoF,包括grid sensitivity elimination, mosaic data augmentation, IoU threshold, genetic algorithm,class label smoothing, cross mini-batch normalization, self adversarial training, cosine annealing scheduler, dynamic mini-batch size, DropBlock, Optimized Anchors, different kind of IoU losses。我们还对各种BoS验证,包括Mish、SPP、SAM、RFB、BiFPN、BiFPN和Gaussian YOLO[8]。对于所有的实验,我们只使用一个GPU训练,因此,诸如syncBN这样的技术可以优化多GPU训练并未使用。

4.2. 不同技巧对分类器训练的影响

首先,我们研究了不同技巧对分类训练的影响;具体而言,Class label smoothing,不同的数据增强的影响,bilateral blurring, MixUp, CutMix and Mosaic,如图7所示,以及不同激活函数影响,如Leaky-ReLU(默认情况下)、Swish和Mish。


在我们的实验中,如表2所示,引入了以下技巧提高了精度,如CutMix和Mosaic数据增强,Class label smoothing,和Mish activation。因此,我们的分类器训练BoF-backbone (Bag of Freebies)是: CutMix和Mosaic data augmentation和Class label smoothing,此外我们还使用Mish activation作为补充方案,如表2和表3所示。

4.3 不同技巧检测训练影响

深入研究考虑不同Bag-of-Freebies (BoF-detector)在检测器训练中的影响,如表4所示,我们通过研究不影响FPS的同时提升精度的技巧显著扩展了BOF的内容。

• M: Mosaic data augmentation - using the 4-image mosaic during training instead of single image
• IT: IoU threshold - using multiple anchors for a single ground truth IoU (truth, anchor) > IoU threshold
• GA: Genetic algorithms - using genetic algorithms for selecting the optimal hyperparameters during network training on the first 10% of time periods
• LS: Class label smoothing - using class label smoothing for sigmoid activation
• CBN: CmBN - using Cross mini-Batch Normalization for collecting statistics inside the entire batch, instead of collecting statistics inside a single mini-batch
• CA: Cosine annealing scheduler - altering the learning rate during sinusoid training
• DM: Dynamic mini-batch size - automatic increase of mini-batch size during small resolution training by using Random training shapes
• OA: Optimized Anchors - using the optimized anchors for training with the 512x512 network resolution
• GIoU, CIoU, DIoU, MSE - using different loss algorithms for bounded box regression
进一步的研究涉及到不同的Bag-of-Specials(BoS-detector)对探测器训练精度的影响,包括PAN、RFB、SAM、Gaussian YOLO(G)和ASFF,如表5所示。在我们的实验中,当使用SPP、PAN和SAM时,检测器获得最佳性能。


4.4 不同backbone和预训练权重的影响

我们进一步研究不同backbone对精度的影响,如表6所示。我们注意到具有最佳的分类特征精度模型并不总是最好的检测精度。
首先,虽然CSPResNeXt50的分类准确率高于 CSPDarknet53,CSPDarknet53模型在目标检测方面有更高的精度。
第二,使用BoF和Mish对CSPResNeXt50训练,提高了其分类精度,但进一步应用这些预先训练过的权重降低了检测器的精度。然而,使用BoF和Mish用于CSPDarknet53分类器的训练均提高了分类器和检测器的精度。结果是,backbone CSPDarknet53比CSPResNeXt50更适合用于检测器。
我们观察到,CSPDarknet53模型显示了更大的能力来提高检测器的精度,这是因为各种改进。

4.5 不同的mini-batch size对检测器的影响

最后,我们用模型来分析用不同的mini-batch size进行训练,其结果如表7所示。从表7所示的结果来看,我们发现,在加入BoF和BoS训练策略后,发现mini-batch size几乎对检测器的每一个batch的检测结果没有任何影响。这一结果表明,在引进了BoF和BoS,它不再需要使用昂贵的GPU进行训练。换句话说,任何人都可以只使用一个传统的GPU来训练一个优秀的探测器。

5. 结论

与其他SOTA检测器结果比较如图8所示,YOLOv4位于Pareto optimality curve曲线
上,并且是最快和最准确的检测器。由于不同的方法使用不同架构的GPU,为了进行推理时间验证,我们让YOLOv4运行在Maxwell,Pascal和Volta等常用的GPU,并将其与其他最新技术进行比较。表8列出了使用Maxwell GPU(可为GTX Titan X (Maxwell)或Tesla M40 GPU)帧率比较,表9列出了使用Pascal GPU的结果帧率比较,可以是Titan X(Pascal),Titan Xp,GTX 1080 Ti或Tesla P100 GPU。 至于表0,列出使用Volta GPU的帧率比较结果,可以是Titan Volta或Tesla V100 GPU。

6. Conclusions

We offer a state-of-the-art detector which is faster (FPS) and more accurate (MS COCO AP 50…95 and AP 50 ) than all available alternative detectors. The detector described can be trained and used on a conventional GPU with 8-16GB-VRAM this makes its broad use possible. The original concept of one-stage anchor-based detectors has proven its viability. We have verified a large number of features, and selected for use such of them for improving the accuracy of both the classifier and the detector. These features can be used as best-practice for future studies and developments.

YOLOv4论文中文翻译相关推荐

  1. 论文中文翻译——Vulnerability Dataset Construction Methods Applied To Vulnerability Detection A Survey

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--Vulnerability Dataset Construction Methods Applied To Vulnera ...

  2. 论文中文翻译——Double-Fetch情况如何演变为Double-Fetch漏洞:Linux内核中的双重获取研究

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--How Double-Fetch Situations turn into Double-Fetch Vulnerabil ...

  3. 论文中文翻译——Automated Vulnerability Detection in Source Code Using Deep Representation Learning

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--Automated Vulnerability Detection in Source Code Using Deep R ...

  4. 论文中文翻译——A deep tree-based model for software defect prediction

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--A deep tree-based model for software defect prediction 论文阅读笔记 ...

  5. 论文中文翻译——VulDeePecker: A Deep Learning-Based System for Vulnerability Detection

    本论文相关内容 论文下载地址--Engineering Village 论文中文翻译--VulDeePecker: A Deep Learning-Based System for Vulnerabi ...

  6. 论文中文翻译——kAFL Hardware-Assisted Feedback Fuzzing for OS Kernels

    本论文相关内容 论文下载地址--26th USENIX Security Symposium 论文中文翻译--kAFL Hardware-Assisted Feedback Fuzzing for O ...

  7. 论文中文翻译——SketchyCOCO Image Generation from Freehand Scene Sketches

    本论文相关内容 论文下载地址--SketchyCOCO Image Generation from Freehand Scene Sketches 论文中文翻译--SketchyCOCO Image ...

  8. 论文中文翻译——SySeVR A Framework for Using Deep Learning to Detect Software Vulnerabilities

    本论文相关内容 论文下载地址--Web Of Science 论文中文翻译--SySeVR A Framework for Using Deep Learning to Detect Software ...

  9. FastSpeech2论文中文翻译

    FastSpeech2 论文的翻译,翻译的挺差的,大概是那意思 只翻译了摘要.模型部分和实验部分 摘要: 高级的TTS模型像fastspeech 能够显著更快地合成语音相较于之前的自回归模型,而且质量 ...

最新文章

  1. Spring+hibernate+struts
  2. 9076什么意思_9076西南大学人力资源开发与管理答案
  3. php 数组转对象_[基础编程学习] [PHP7数组详解]:第1章 (8)数组和对象
  4. AndroidManifest.xml文件详解(application)
  5. js当前时间不关闭浏览器会实时更新最新时间+js倒计时,
  6. python 武沛齐_武沛齐 - 主页
  7. 高职信息安全比赛攻防思路_高职信息安全技术应用技能竞赛.doc
  8. 企业软件介绍主页html模板
  9. combox 增加请选择_好消息!阜阳机动车互联网选号增加新号段!
  10. in use 大学英语4word_(word)大学英语考试样题四.doc
  11. CSS:CSS的内联样式
  12. ImageOptim 图片压缩工具
  13. 谈谈项目成本管理遇到的难题及解决措施
  14. 【C++11】之 emplace_back() 与 push_back() 的区别
  15. 老徐自述:《软件自动化测试实战解析_基于Python3编程语言》
  16. 终极搞定硬盘“A disk read error occured,Press Ctrl+Alt+Del to restart”报错的彻底解决方法...
  17. 广义相对论基础【2】广义相对论中的张量+张量代数
  18. 火力全开,重新定义蓝牙耳机!新一代南卡OE Pro不入耳式蓝牙耳机震撼来袭
  19. angularjs2学习教程
  20. NB-IoT低功耗技术与寻呼

热门文章

  1. python黑科技:Python大佬用20行代码带你打造一个微信聊天机器人,真神了~
  2. QT实现绘制箱须图(盒须图)
  3. 【C语言】通讯录实现
  4. Android libyuv应用系列(二)libyuv在Android中的使用
  5. Java微服务+分布式+全栈项目(一)---->项目介绍+MyBatis-Plus入门
  6. 【论文学习】《“Hello, It’s Me”: Deep Learning-based Speech Synthesis Attacks in the Real World》
  7. Revit二次开发从入门到精通学习之路, (含Revit二次开发教程下载)
  8. 人工智能与大数据行业的兴起,主要产生了哪些新的职位?
  9. python 通达信板块_python 适用通达信
  10. 来说说datatype