问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

YOLO v4:物体检测的最佳速度和精度

创作时间:
作者:
@小白创作中心

YOLO v4:物体检测的最佳速度和精度

引用
51CTO
1.
https://www.51cto.com/aigc/54.html

YOLO v4是目前最先进的实时目标检测器之一,它在保持高精度的同时实现了快速的检测速度。本文将详细介绍YOLO v4的核心技术、架构设计以及与其他目标检测器的比较,帮助读者全面了解这一前沿技术。

1. 介绍

YOLO v4(You Only Look Once v4)是一种快速且准确的单阶段目标检测器。与许多需要大量GPU资源和大批次训练的精确模型不同,YOLO v4可以在单个GPU上使用较小的批次大小进行训练,这使得使用1080 Ti或2080 Ti等主流GPU训练高性能目标检测器成为可能。

在MS COCO数据集上,YOLO v4实现了实时检测的最优表现,能够在Tesla V100 GPU上以65帧/秒(FPS)的速度运行,同时达到43.5%的平均精度(AP)。这一性能的实现得益于多项关键技术的结合,包括加权残差连接(WRC)、跨阶段部分连接(CSP)、交叉小批量标准化(CmBN)、自对抗训练(SAT)和Mish激活函数等。

2. 目标检测器一般架构

目标检测器通常由三个主要组件构成:骨干网络、颈部网络和头部网络。

2.1 骨干网络

骨干网络负责特征提取,常见的选择包括ResNet、DenseNet和VGG等。这些网络通常在大规模图像分类数据集(如ImageNet)上预训练,然后在目标检测数据集上进行微调。随着网络深度的增加,能够提取出更高语义层次的特征,这对目标检测至关重要。

2.2 颈部网络

颈部网络位于骨干网络和头部网络之间,用于融合不同阶段的特征图。常见的颈部网络结构包括特征金字塔网络(FPN)、路径聚合网络(PANet)和双向特征金字塔网络(Bi-FPN)。YOLO v3使用FPN来提取不同比例的特征。

特征金字塔网络(FPN)通过自上而下的路径和横向连接来增强标准卷积网络,从而从单分辨率输入图像中构建出丰富的多尺度特征金字塔。这种结构能够有效解决目标检测中不同尺度目标的检测问题。


特征金字塔网络(FPN)用于目标检测

2.3 头部网络

头部网络负责执行边界框检测,包括分类和回归任务。输出通常包括边界框的位置信息(x,y,h,w)和类别概率。基于锚框的目标检测器(如YOLO)会将头部网络应用于每个预定义的锚框。

3. BoF & BoS

YOLO v4的作者将提高目标检测器精度的方法分为两类:Bag of Freebies(BOF)和Bag of Specials(BOS)。

3.1 Bag of Freebies(BOF)

BOF类方法主要通过改变训练策略或增加训练成本来提升检测器的准确性,而不会增加推理时的计算成本。具体包括:

  • 数据增强:通过调整亮度、饱和度、对比度等光度畸变,以及图像旋转、裁剪等几何变形来增强模型的泛化能力。CutOut和随机擦除等技术也是常用的增强方法。
  • 正则化技术:如DropOut、DropConnect和DropBlock等,用于防止模型过拟合。其中,DropBlock在CNN中表现出色,并被应用于YOLO v4的主干网络中。
  • 损失函数:传统的边界框回归使用均方误差(MSE),但YOLO v4采用了考虑边界框形状、方向和重叠区域的CIoU损失,这有助于更快的收敛和更好的性能。

3.2 Bag of Specials(BOS)

BOS类方法虽然会增加一定的推理成本,但能显著提升检测器的准确性。主要包括:

  • 注意力机制:如通道注意力(SE模块)和点注意力(SAM模块)。YOLO v4采用了修改后的空间注意力模块(SAM)。
  • 感受野优化:如SPP、ASPP和RFB等模块,以及特征金字塔网络(FPN、ASFF、Bi-FPN)。
  • 激活函数:YOLO v4在主干网络中使用了Mish激活函数,相比Swish和ReLU,Mish在CIFAR-100数据集上分别提升了0.494%和1.671%的测试精度。

4. YOLO v4设计

YOLO v4在多个方面进行了创新和优化:

  • 骨干网络:采用CSPDarknet53作为GPU版本的特征提取网络。对于VPU(视觉处理单元),考虑使用EfficientNet-lite、MixNet、GhostNet或MobileNetV3。CSPDarknet53在目标检测任务中表现出色,相比CSPResNext50更适合检测任务。
  • 颈部网络:使用空间金字塔池(SPP)和路径聚合网络(PAN)。PAN在YOLO v4中进行了改进,使用concatenate操作代替了原始的addition操作。SPP通过不同核大小的最大池化操作增加了感受野,同时保持了较低的推理成本。
  • 头部网络:与YOLO v3保持一致,应用在不同尺度的特征图上,用于检测不同大小的物体。

5. BoF & BoS使用总结

YOLO v4在骨干网络和检测器中集成了多种BoF和BoS方法,包括加权残差连接(WRC)、跨阶段部分连接(CSP)、交叉小批量标准化(CmBN)、自对抗训练(SAT)和Mish激活函数等。

6. 其他改进

YOLO v4还引入了两项重要的技术创新:

  • Mosaic数据增强:将训练数据集的4张图像合并为1张图像,通过从不同图像中计算激活统计信息来减少对大批次训练的需求。
  • 自对抗训练(SAT):通过两个阶段的训练过程,使网络能够生成对抗性图像并学习检测这些修改后的图像,从而提高模型的鲁棒性。

7. 结论

YOLO v4在实时目标检测领域达到了最新的技术水平,以43.5%的AP和65 FPS的运行速度在Tesla V100 GPU上实现了优异的性能。对于需要降低精度以换取更高FPS的应用场景,可以参考官方仓库中的YOLO v4 Tiny版本。

更多详细信息可参考论文:https://arxiv.org/abs/2004.10934。若想在自己的数据集上进行训练,可以访问官方仓库:https://github.com/AlexeyAB/darknet。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号