yolov4-论文解析(1)

yolov4-论文解析(1)_第1张图片
有大量的功能据说可以提高卷积神经网络(CNN)的准确性。需要在大型数据集上对这些特性的组合进行实际测试,并对结果进行理论验证。某些功能仅针对某些模型,仅针对某些问题,或仅适用于小规模数据集;而某些功能(如批归一化和残差连接)适用于大多数模型、任务和数据集。我们使用新功能:WRC、CSP、CmBN、SAT、Mish 激活、马赛克数据扩增、CmBN、DropBlock 正化和 CIoU 损耗,并结合其中一些功能实现最先进的结果:43.5% AP (65.7% AP 50),实时速度为特斯拉 V100 上的 MS COCO 数据集 [65 FPS。源代码位于https://github.com/AlexeyAB/darknet。

yolov4-论文解析(1)_第2张图片
1.介绍
大多数基于cnn的对象检测器主要只适用于推荐系统。例如,通过城市摄像机寻找免费停车位是由缓慢准确的模型执行,而汽车碰撞预警与快速不准确的模型相关。提高实时目标探测器的准确性,不仅可以将其用于提示生成推荐系统,还可以用于独立流程管理和减少人工输入。传统图形处理单元(GPU)上的实时对象检测操作允许它们以可负担的价格大量使用。最精确的现代神经网络不能实时运行,需要大量的gpu来进行小批量的训练。我们通过创建一个在传统GPU上实时运行的CNN来解决这些问题,而训练只需要一个传统GPU。

yolov4-论文解析(1)_第3张图片
图1:对拟建的YOLOv4和其他最先进的目标检测器进行比较。在性能相当的情况下,YOLOv4的运行速度比EfficientDet快两倍。YOLOv3 的 AP 和 FPS 分别提高了 10% 和 12%。
yolov4-论文解析(1)_第4张图片
这项工作的主要目标是设计一个快速运行的目标探测器在生产系统和并行计算优化,而不是低计算量理论指标(BFLOP)。我们希望设计的对象可以很容易地训练和使用。例如,任何使用传统GPU进行训练和测试的人都可以实现实时、高质量、令人信服的对象检测结果,如图1所示的YOLOv4结果。我们的贡献总结如下:

1.我们开发一种高效、强大的物体检测模型。它使每个人都可以使用1080 Ti或2080 Ti GPU来训练超快速和准确的目标检测器。
2.在检测器训练期间,我们验证最先进的免费包和特殊包检测方法的影响。
3.我们修改最先进的方法,使其更高效,适合单次 GPU 训练,包括 CBN [89]、PAN [49]、SAM [85]等。
yolov4-论文解析(1)_第5张图片
yolov4-论文解析(1)_第6张图片
通常,传统的目标探测器是离线训练的。因此,研究人员总是希望利用这一优势,开发出更好的训练方法,使目标探测器在不增加推理成本的情况下获得更好的精度。我们把这些只会改变培训策略或只会增加培训成本的方法称为“免费包”。“对象检测方法经常采用的,符合免费赠品包定义的是数据扩充。数据扩充的目的是增加输入图像的可变性,使所设计的目标检测模型对不同环境下获得的图像具有更高的鲁棒性。例如,光度畸变和几何畸变是两种常用的数据增强方法,它们肯定有利于对象检测任务。在处理光度失真时,我们调整图像的亮度、对比度、色调、饱和度和噪声。对于几何畸变,我们添加了随机缩放、剪切、翻转和旋转。

yolov4-论文解析(1)_第7张图片
上述数据增强方法均为像素级调整,并保留调整区域内的所有原始像素信息。此外,一些从事数据扩充的研究人员将重点放在模拟物体遮挡问题上。在图像分类和目标检测方面取得了较好的效果。例如,随机擦除[100]和CutOut[11]可以随机选择图像中的矩形区域,并填充一个随机的或互补的零值。对于捉迷藏[69]和网格掩码[6],它们随机或均匀地选择图像中的多个矩形区域,并将其全部替换为零。如果将类似的概念应用于特征图,则有DropOut[71]、DropConnect[80]和DropBlock[16]方法。此外,一些研究者提出了将多幅图像结合在一起进行数据增强的方法。例如,MixUp[92]使用两张图像以不同的系数比率进行相乘和叠加,然后用这些叠加比率调整标签。CutMix[91]是将裁剪后的图像覆盖到其他图像的矩形区域,并根据混合区域的大小调整标签。除了上述方法外,还使用style transfer GAN[15]进行数据扩充,这样可以有效减少CNN学习到的纹理偏差。
yolov4-论文解析(1)_第8张图片yolov4-论文解析(1)_第9张图片
与上面提出的各种方法不同,其他一些免费包方法致力于解决数据集中的语义分布可能存在偏差的问题。在处理语义分布偏差问题时,一个非常重要的问题是不同类之间存在数据不平衡的问题,这个问题往往通过两阶段对象检测器中的硬反例挖掘[72]或在线硬例挖掘[67]来解决。但实例挖掘方法不适用于一级目标检测器,因为这种检测器属于稠密预测体系结构。因此,Lin等人提出了焦损来处理各个类之间存在的数据不平衡问题。另一个非常重要的问题是,很难用一个热硬表示法来表达不同类别之间关联程度的关系。这种表示法常用于执行标记。文献[73]提出的标签平滑是将硬标签转换为软标签进行训练,使模型更加稳健。为了获得更好的软标签,Islam等人引入了知识蒸馏的概念来设计标签细化网络。
yolov4-论文解析(1)_第10张图片
最后一袋赠品是边界盒(BBox)回归的目标函数。传统的目标检测器通常使用均方误差(MSE)直接对BBox的中心点坐标和高、宽进行回归,即{xcenter, ycenter, w, h},或左上点和右下点,即, {xtop lef t, ytop lef t, xbottom right, ybottom right}。基于锚的方法是估计相应的偏移量,例如{f集合的xcenter, f集合的ycenter, wof f集合,hof f集合}和{xtop f集合的lef t, ytop f集合的lef t, xbottom right off集合,ybottom right off集合}。但是,直接估计BBox中每个点的坐标值,就是把这些点当作自变量,而实际上并不考虑对象本身的完整性。为了更好地处理这一问题,一些研究者最近提出了IoU损失[90],将预测BBox区域的覆盖范围和地面真实BBox区域考虑在内。IoU损失计算过程通过执行IoU和ground truth,触发BBox四个坐标点的计算,然后将生成的结果连接成一个完整的代码。由于IoU是尺度不变的表示,它可以解决传统方法在计算{x, y, w, h}的l1或l2损耗时,损耗会随着尺度的增大而增大的问题。最近,一些研究人员继续改善欠条损失。例如,GIoU loss[65]除了覆盖区域外,还包括了物体的形状和方向。他们提出寻找能够同时覆盖预测BBox和地面真实BBox的最小面积BBox,并以此BBox作为分母来代替IoU损失中原来使用的分母。对于DIoU loss[99],它额外考虑了物体中心的距离,而CIoU loss[99]则同时考虑了重叠区域、中心点之间的距离和纵横比。对于BBox回归问题,CIoU具有更好的收敛速度和精度。

你可能感兴趣的:(yolo)