YOLOv1到YOLOv5回顾

摘要翻译

摘要

目标检测技术是人工智能领域的基础。本研究论文简要回顾了You Only Look Once(YOLO)算法及其后续的先进版本。通过分析,我们得出了许多有意义的结论和见解。研究结果展示了不同YOLO版本之间的差异和相似之处,以及YOLO与卷积神经网络(CNN)之间的关系。核心观点是,YOLO算法的改进仍在持续进行。本文简要描述了YOLO算法的发展过程,总结了目标识别和特征选择的方法,并为金融等领域的图像新闻和特征提取提供了文献支持。此外,本文对YOLO和其他目标检测文献做出了重要贡献。

关键词:回顾;YOLO;目标检测;公共数据分析

YOLO目标检测算法的核心在于模型的小尺寸和快速计算速度。YOLO的结构非常简单,它能够通过神经网络直接输出边界框的位置和类别。YOLO的速度之所以快,是因为YOLO只需将图片输入网络即可获得最终的检测结果,因此YOLO也能够实现视频的实时检测。YOLO直接使用全局图像进行检测,能够编码全局信息,并减少将背景误检为目标的错误。YOLO具有很强的泛化能力,因为它能够学习到高度泛化的特征,并可以迁移到其他领域。它将目标检测问题转化为回归问题,但检测精度仍有待提高。YOLO在检测彼此非常接近或成组的物体时表现较差。这种较差的表现是因为每个网格只预测两个边界框,并且这些边界框只属于同一类别的物体,因此会出现异常的长宽比,以及其他问题,如泛化能力较弱。

由于损失函数的原因,定位误差是提高检测效率的主要原因。特别是对大小物体的处理需要加强。在实现过程中,最重要的是如何设计损失函数,以便在这三个方面取得良好的平衡。YOLO使用了多个下采样层,从网络中学到的目标特征并不全面,因此检测效果会有所提升。

原始的YOLO架构由24个卷积层组成,随后是两个全连接层。YOLO在每个网格单元中预测多个边界框,但选择与真实值(ground truth)具有最高交并比(IOU)的边界框,这被称为非极大值抑制(non-maxima suppression)[13]。

YOLO有两个缺陷:一是定位不准确,二是与基于区域建议的方法相比召回率较低。因此,YOLOv2主要在这两个方面进行了改进。此外,YOLOv2并没有加深或加宽网络,而是简化了网络。

YOLOv2的两大改进:更好(Better)和更快(Faster)。

2.2 更好(Better)

2.2.1 批归一化(Batch normalization)

它相当于对每一层的输入进行标准化,加快了收敛速度,减少了损失,并将mAP提高了2%。

2.2.2 高分辨率分类器(High-resolution classifier)

原始的YOLO网络在训练前使用224×224像素,然后在检测时使用448×448像素。当从分类模型切换到检测模型时,模型需要适应图像分类。YOLOv2将预训练分为两个步骤:首先使用224×224像素训练网络(160个epoch),然后将像素调整为448×448并训练10个epoch。

2.2.3 细粒度特征(Fine features)

最重要的是添加了一个层:通过该层将前一层的26×26特征图与本层的13×13特征图连接起来。13×13的特征图足以预测大物体,但预测小物体时效果不一定好且容易理解。较小的物体在经过多次卷积和合并后可能会消失。因此,前一层的较大特征图应该被合并。

2.2.4 多尺度训练(Multi-scale training)

这种网络训练方法使得同一网络能够检测不同分辨率的图像。虽然当输入尺寸较大时训练速度较慢,但当输入尺寸较小时训练速度较快,多尺度训练可以提高精度,因此在精度和速度之间取得了良好的平衡。

2.3 更快(Faster)

2.3.1 Darknet-19

在YOLO中,训练网络基于GooleNet。作者在这里对GooleNet和VGG16进行了简单比较。在计算复杂度方面(82.5亿次操作和306.9亿次操作),GooleNet优于VGG16。在ImageNet上,前者的准确率略低于后者(88% vs. 90%)。在YOLOv2中,作者使用了一个新的分类模型Darknet-19作为主要网络。
表6是最终的网络结构:Darknet-19只需要55.8亿次操作。该网络包含19个卷积层和5个最大池化层,而在YOLOv1中使用的GooleNet有24个卷积层和2个全连接层。因此,Darknet-19中的卷积操作比GooleNet少。总体而言,YOLO是减少计算量的关键。最后,使用平均池化层代替全连接层进行预测。

2.3.2 分类训练(Training for Classification)

这里的分类训练都是在ImageNet上进行预训练,主要包括两个步骤。数据集为ImageNet,训练160个epoch,输入图像尺寸为224×224,初始学习率为0.1。在训练过程中使用了标准的数据增强方法,如随机裁剪、旋转、色度和亮度调整。
然后对网络进行微调:此时使用448×448的输入,除了epoch和学习率外,所有参数保持不变。这里将学习率改为0.001,并训练10次。
结果显示,微调后的top-1和top-5准确率分别为76.5%和93.3%。根据原始训练方法,Darknet-19的top-1和top-5准确率分别为72.9%和91.2%。

2.3.3 检测训练(Training for Detection)

首先删除最后一个卷积层,然后添加三个3×3卷积层。每个卷积层有1024个滤波器,每个卷积层连接到1×1卷积层。该单元对应的两个边界框的类别概率相同,但在YOLOv2中,类别概率属于该边界框,每个边界框对应一个类别概率,而不是网格。

与YOLOv2相比,YOLOv3有两个改进点:使用多尺度特征进行目标检测,并调整基础网络结构。
一方面,YOLOv3采用了三种尺度的特征图(当输入为416×416时,特征图分别为13×13、26×26和52×52)。YOLOv3为每个位置使用三个先验框,因此使用K-means得到九个先验框,并将它们分配到三个尺度的特征图中。较大尺度的特征图使用较小的先验框。
另一方面,YOLOv3的特征提取网络使用了残差模型。与YOLOv2使用的Darknet-19相比,它包含53个卷积层,因此被称为Darknet-53。

YOLOv4的风格有了显著变化,更加注重数据比较,并有了显著的改进。

主要贡献如下:

  • 提出了一种高效且强大的目标检测模型。它使得每个人都能训练出超快速且准确的目标检测器;
  • 验证了SOTA的“免费赠品”和“特殊技巧”方法在检测器训练中的影响;
  • 改进了SOTA方法,使其更高效且适合单GPU训练,包括CBN、PAN、SAM等。

它将当前主流的目标检测器框架分为:输入(Input)、骨干网络(Backbone)、颈部(Neck)和头部(Head)。在之前的YOLOv3中,一个锚点负责一个真实值(ground truth),而在YOLOv4中,多个锚点负责一个真实值。这意味着锚框的数量保持不变,但正样本的选择比例增加,从而缓解了正负样本不平衡的问题。由于sigmoid函数的范围,网格敏感性也被消除,边界的实际位置不可用。采用了CIOU(Complete Intersection over Union)损失函数,收敛速度快,并消除了边界框包含真实值的问题。YOLOv4提供了一个比所有现有替代方案更快、更准确的高级检测器。基于单阶段锚点的检测器的原始概念已被证明是可行的。我们验证了许多特征,并选择使用这些特征来提高分类器和检测器的准确性。YOLOv4可以作为未来研究和开发的最佳实践。

YOLOv5的多种网络架构更加灵活,模型尺寸非常轻量,并且在准确性上与YOLOv4基准相当。然而,人们对YOLOv5仍持保留态度,因为它的创新性不如YOLOv4,但它有一些性能改进,具有以下显著优势:

  • PyTorch框架用户友好,易于训练数据集,比YOLOv4使用的Darknet框架更容易投入生产;
  • 代码易于阅读,集成了大量计算机视觉技术,有利于学习和参考;
  • 环境配置简单,模型训练非常快,批量推理能够产生实时结果。

YOLOv5通过数据加载器提供每批训练数据,并同时对训练数据进行增强。数据加载器执行三种类型的数据增强:缩放、颜色空间调整和马赛克增强。

数据证明,马赛克增强确实可以有效解决模型训练中最麻烦的小物体问题。也就是说,检测到的小物体不如大物体准确。但必须承认,YOLOv5的命名存在争议,其实现并非一成不变,尚未完全完成。现在它为我们留下了更多的空间。

YOLO网络从V1到V5的主要改进措施:

  • YOLO:网格划分负责检测,置信度损失;
  • YOLOv2:添加了K-means锚点,两阶段训练,全卷积网络;
  • YOLOv3:通过使用FPN进行多尺度检测;
  • YOLOv4:SPP、MISH激活函数、数据增强Mosaic/Mixup、GIOU(Generalized Intersection over Union)损失函数;
  • YOLOv5:灵活控制模型大小,应用Hardswish激活函数和数据增强。

A Review of Yolo Algorithm Developments

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值