从图中可以看到,最新的YOLO V4 版本的速度比EfficientDet 快了 2倍在大致相同的AP 表现下。相比之前的YOLO V3 AP和FPS 分别提升了 10% 和 12%。
摘要:
据说有许多功能可以提高卷积神经网络(CNN)的准确性。需要在大型数据集上对这些特征的组合进行实际测试,并对结果进行理论证明。某些功能仅在某些模型上运行,并且仅在某些问题上运行,或者仅在小型数据集上运行;而某些功能(例如批归一化和残差连接)适用于大多数模型,任务和数据集。我们假设此类通用功能包括加权残差连接(WRC),跨阶段部分连接(CSP),跨小批量标准化(CmBN),自对抗训练(SAT)和Mish激活。我们使用新功能:WRC,CSP,CmBN,SAT,Mish激活,马赛克数据增强,CmBN,DropBlock正则化和CIoU丢失,并结合其中的一些来达到最先进的结果:在MS VCO数据集上,Tesla V100的实时速度为〜65 FPS时为43.5%AP(65.7%AP50)。
论文的源码链接:https://github.com/JianqiuChen/darknet
Related work
目标检测模型
现代的检测器通常由两部分组成,一个是在ImageNet上预训练的骨架,另一个是用来预测对象的类别和边界框的主要部分。对于在GPU平台上运行的那些检测器,其主干可能是VGG [68],ResNet [26],ResNeXt [86]或DenseNet [30]。对于在CPU平台上运行的那些检测器,其主干可以是SqueezeNet [31],MobileNet [28、66、27、74]或ShuffleNet [97、53]。至于头部,通常分为两类,即一级目标检测器和二级目标检测器。最具有代表性的两级对象检测器是R-CNN [19]系列,包括快速R-CNN [18],更快的R-CNN [64],R-FCN [9]和Libra R-CNN [ 58]。也可以使两阶段物体检测器成为无锚物体检测器,例如RepPoints [87]。对于一级目标检测器,最具代表性的模型是YOLO [61、62、63],SSD [50]和RetinaNet [45]。近年来,开发了无锚的一级物体检测器。这种检测器是CenterNet [13],CornerNet [37、38],FCOS [78]等。近年来开发的对象检测器通常在骨架和头部之间插入一些层,通常使用这些层。收集不同阶段的要素地图。我们可以称其为对象检测器的颈部。通常,颈部由几个自下而上的路径和几个自上而下的路径组成。配备此机制的网络包括功能金字塔网络(FPN)[44],路径聚集网络(PAN)[49],BiFPN [77]和NAS-FPN [17]。
除上述模型外,一些研究人员还着重于直接构建用于对象检测的新主干网(DetNet [43],DetNAS [7])或新的整个模型(SpineNet [12],HitDeector [20])。 。
综上所述,普通的物体检测器由以下几部分组成:
Bag of freebies
通常,传统的物体检测器是离线训练的。因此,研究人员总是喜欢利用这一优势,并开发出更好的训练方法,这些方法可以使目标检测器获得更好的精度而又不会增加推理成本。我们称这些方法为“免费赠品”,仅改变培训策略或仅增加培训成本。物体检测方法经常采用并且符合自由袋定义的是数据增强。数据增强的目的是增加输入图像的可变性,从而使设计的物体检测模型对从不同环境获得的图像具有更高的鲁棒性。例如,光度畸变和几何畸变是两种常用的数据增强方法,它们无疑有益于物体检测任务。在处理光度失真时,我们会调整图像的亮度,对比度,色相,饱和度和噪点。对于几何失真,我们添加了随机缩放,裁