赞
踩
YOLO已经成为机器人、无人驾驶汽车和视频监控应用的中央实时目标检测系统。我们对YOLO的演化进行了全面的分析,考察了从原始YOLO到YOLOv8的每一次迭代中的创新和贡献。我们首先介绍了标准度量和后处理;然后,我们讨论了每个模型在网络架构和训练技巧方面的主要变化。最后,我们总结了YOLO发展中的重要教训并对其未来进行了展望,突出了增强实时目标检测系统的潜在研究方向
实时目标检测已经成为许多应用中的关键组成部分,涵盖了自动驾驶、机器人、视频监控和增强现实等各个领域。在各种目标检测算法中,YOLO(你只看一次)框架以其出色的速度和精度平衡脱颖而出,实现了图像中目标的快速可靠识别。自问世以来,YOLO家族经历了多次迭代,每个版本都建立在以前的版本上,以解决限制和提高性能。本文旨在全面回顾YOLO框架的发展,从最初的YOLOv1到最新的YOLOv8,阐明每个版本的关键创新、差异和改进。
论文首先探讨了原始YOLO模型的基本概念和体系结构,为后续YOLO家族的发展奠定了基础。接下来,我们深入探究每个版本中引入的改进和增强,从YOLOv2到YOLOv8。这些改进包括网络设计、损失函数修改、锚点框调整和输入分辨率调整等各个方面。通过考察这些发展,我们旨在对YOLO框架的演变及其对目标检测的影响提供一个整体的理解。
除了讨论每个YOLO版本的具体进步之外,本文还强调了在整个框架开发过程中出现的速度和准确性之间的权衡。这突出了在选择最合适的YOLO模型时考虑具体应用的上下文和需求的重要性。最后,我们对YOLO框架的未来发展方向进行了展望,探讨了进一步研究和开发的潜在途径,这将塑造实时目标检测系统的进展。
YOLO的实时目标检测能力在无人驾驶系统中发挥了不可估量的作用,能够快速识别和跟踪各种物体,如车辆、行人[ 1 , 2]、自行车和其他障碍物[ 3、4、5、6]。这些能力已经被应用多个领域,包括监控视频序列中的动作识别[ 7 ] [ 8 ]、运动分析[ 9 ]、人机交互[ 10 ]等。
YOLO模型已经在农业中用于检测和分类作物[ 11、12]、害虫和疾病[ 13 ],辅助精准农业技术和自动化耕作过程。它们也被用于生物识别、安全和人脸识别系统[ 14、15]中的人脸检测任务。
在医学领域,YOLO已被用于癌症检测[ 16、17]、皮肤分割[ 18 ]和药丸识别[ 19 ],提高了诊断精度和更有效的治疗过程。在遥感领域,[ 20、21、22、23]已被用于卫星和航空影像的目标检测和分类,辅助土地利用制图、城市规划和环境监测等。
安全系统已经集成了YOLO模型用于实时监控和分析视频馈送,允许快速检测可疑活动[ 24 ]、社交距离和口罩检测[ 25 ]。该模型还被应用于表面检测,以检测缺陷和异常,加强制造和生产过程中的质量控制。
在交通应用中,YOLO模型已被用于车牌检测[ 29 ]、交通标志识别[ 30 ]等任务,为智能交通系统和交通管理解决方案的发展做出了贡献。它们已被用于野生动物检测和监测,以识别濒危物种,用于生物多样性保护和生态系统管理[ 31 ]。最后,YOLO在机器人应用[ 32、33]和无人机目标检测[ 34、35]中得到了广泛的应用。
平均精度( Average Precision,AP ),传统上称为平均精度( Mean Average Precision,mAP ),是评价目标检测模型性能的常用指标。它衡量了所有类别的平均精度,提供了一个单一的值来比较不同的模型。COCO数据集没有区分AP和AP。在本文的其余部分,我们将这个度量称为AP。
在YOLOv1和YOLOv2中,用于训练和基准测试的数据集是PASCAL VOC 2007和VOC 2012 [ 36 ]。然而,从YOLOv3开始,使用的数据集是Microsoft COCO(语境中的常见对象) [ 37 ]。对于这些数据集,AP的计算方法不同。以下部分将讨论AP背后的原理并解释它是如何计算的。
AP度量基于精确召回度量,处理多个对象类别,并使用交并比( Intersection over Union,IoU )定义一个正预测。
精确率( Precision )和召回率( Recall ):精确率衡量模型阳性预测的准确性,而召回率衡量模型正确识别的实际阳性病例的比例。在准确率和召回率之间往往存在权衡;例如,增加检测对象的数量(更高的召回率)会导致更多的假阳性(更低的准确率)。为了考虑这种权衡,AP度量包含了不同置信度阈值下的精确率-召回率曲线。该度量通过考虑精确率-召回率曲线下的面积,提供了精确率和召回率的平衡评估。
处理多个目标类别:目标检测模型必须识别和定位图像中的多个目标类别。AP度量通过分别计算每个类别的平均精度( AP ),然后取这些AP在所有类别中的平均值(这就是为什么它也被称为平均精度)来解决这个问题。这种方法保证了模型的性能是针对每个类别单独进行评估的,提供了更全面的模型整体性能的评估。
交并比:目标检测旨在通过预测边界框来准确定位图像中的目标。AP度量结合了交并比( Intersection over Union,IoU )度量来评估预测边界框的质量。IoU为预测边界框与真实边界框(见图2)的交集面积与并集面积的比值。它度量了地面真值和预测边界框之间的重叠度。COCO基准考虑多个IoU阈值来评估模型在不同定位精度水平下的性能。
图2:交并比( Intersection over Union,IoU )。a )用两个盒子的交集除以盒子的并集计算IoU;B )不同箱体位置的3种不同IoU值示例。
AP在VOC和COCO数据集中的计算方式不同。在本节中,我们描述了如何在每个数据集上计算它。
VOC数据集
该数据集包括20个对象类别。为了计算VOC中的AP,我们遵循以下步骤:
Microsoft COCO 数据集
该数据集包括80个对象类别,使用了更为复杂的AP计算方法。它不使用11点插值,而是使用101点插值,即以0.01为增量计算从0到1的101个召回阈值的精确率。此外,AP是通过对多个IoU值进行平均得到的,而不仅仅是一个,除了一个常见的AP度量AP50,它是单个IoU阈值为0.5的AP。在COCO中计算AP的步骤如下:
由于AP计算的差异,很难直接比较两个数据集中目标检测模型的性能。目前的标准使用COCO AP,因为它更细粒度地评估了模型在不同IoU阈值下的表现
非极大值抑制( NMS )是目标检测算法中使用的后处理技术,用于减少重叠包围框的数量,提高整体检测质量。目标检测算法通常在同一目标周围生成多个具有不同置信度的边界框。NMS过滤掉冗余和不相关的边界框,只保留最准确的边界框。算法1描述了该过程。图3展示了包含多个重叠边界框的目标检测模型的典型输出和NMS后的输出。
我们准备开始描述不同的YOLO模型。
Joseph Redmon等人的YOLO发表于CVPR 2016 [ 38 ]。它首次提出了一种实时的端到端目标检测方法。YOLO的名字是" You Only Look Once ",指的是它可以通过一个网络完成检测任务完成检测任务,而不是像以前的方法那样,使用滑动窗口后面跟着一个每张图像需要运行数百或数千次的分类器,或者更先进的方法,将任务分为两步,第一步用对象或区域建议来检测可能的区域,第二步在建议上运行一个分类器。与Fast R- CNN [ 39 ]使用两个单独的输出,概率分类和盒子坐标回归相比,YOLO使用了更直接的仅基于回归的输出来预测检测输出。
YOLOv1通过同时检测所有的边界框来统一目标检测步骤。为此,YOLO将输入图像划分为一个S × S的网格,并预测同一个类的B个边界框,以及每个网格元素对C个不同类的置信度。每个包围盒预测由五个值组成:Pc,bx,by,bh,bw,其中Pc是对包围盒的置信度评分,反映了模型对包围盒包含度以及框的准确性。bx和by坐标为方框相对于格网单元的中心,bh和bw为方框相对于全图的高度和宽度。YOLO的输出为S × S × ( B × 5 + C )的张量,可选择性地使用非极大值抑制( NMS )去除重复检测。
在原始的YOLO论文中,作者使用了包含20类( C = 20 )的PASCAL VOC数据集[ 36 ];一个7 × 7的网格( S = 7 )和每个网格单元最多2个类( B = 2 ),给出一个7 × 7 × 30的输出预测。
图4显示了一个简化的输出向量,它考虑了一个3 × 3的网格,3个类,每个网格有8个值。在这种简化的情况下,YOLO的输出为3 × 3 × 8。
YOLOv1在PASCAL VOC2007数据集上取得了63.4的平均精度( AP )。
YOLOv1架构包括24个卷积层和两个预测边界框坐标和概率的全连接层。除了最后一层使用线性激活函数外,所有的层都使用了整流线性单元激活[ 40 ]。受谷歌公司[ 41 ]和Network in Network [ 42 ]的启发,YOLO使用1 × 1的卷积层来减少特征图的数量并保持较低的参数数量。作为激活层,表1描述了YOLOv1架构。作者还介绍了一种较轻的模型FastYOLO,由9个卷积层组成。
作者使用ImageNet数据集以224 × 224的分辨率预训练YOLO的前20层[ 43 ]。然后,他们使用PASCAL VOC 2007和VOC 2012数据集[ 36 ],以448 × 448的分辨率增加后4层随机初始化权重并微调模型,以增加细节,从而实现更精确的目标检测。
对于增强,作者使用了不超过输入图像大小20 %的随机缩放和平移,以及HSV颜色空间中上端因子为1.5的随机曝光和饱和。
YOLOv1使用了由多个误差平方和组成的损失函数,如图5所示。在损失函数中,λcoord = 5是一个比例因子,赋予包围盒预测更重要的属性,λnoobj = 0.5是一个比例因子,降低不包含对象的盒子的重要性。
损失的前两项表示定位损失;它计算预测的边界框位置( x , y)和大小( w , h)中的误差。注意,这些误差只在包含object(用1objij表示)的方框中计算,只惩罚该网格单元中是否存在对象。第三项和第四项损失项表示信心损失;第三项度量了当目标在框( 1objij )中被检测到时的置信误差,第四项度量了当目标在框( 1noobjij )中未被检测到时的置信误差。由于大多数盒子是空的,这个损失由λ noobj项加权。最终的损失分量是分类损失,它衡量的是仅当对象出现在单元格( 1obji )时,每个类的类条件概率的平方误差。
图4:YOLO输出预测。该图描述了一个简化的YOLO模型,每个网格元素有一个3 × 3的网格,3个类和一个单类预测,产生一个8值的向量。
YOLO的简单架构,加上其新颖的全图像单样本回归,使其比现有的目标检测器具有更高的实时性。
然而,虽然YOLO比任何目标检测器都要快,但与Fast R - CNN等先进方法相比,定位误差更大[ 39 ]。造成这种局限性的原因主要有三方面:
YOLOv2由Joseph Redmon和Ali法尔哈迪发表在CVPR 2017 [ 44 ]中。在原有YOLO的基础上做了几处改进,使其更加完善,保持相同的速度,检测9000个类别的能力更强! 。改进之处有以下几点:
通过这些改进,YOLOv2在PASCAL VOC2007数据集上取得了78.6 %的平均精度( AP ),而YOLOv1的平均精度为63.4 %。
图5:YOLO代价函数:包括包围盒坐标的定位损失、物体有无的置信度损失、类别预测精度的分类损失。
YOLOv2采用的主干架构称为 Darknet- 19,包含19个卷积层和5个最大池化层。与YOLOv1的架构类似,在Network in Network [ 42 ]中受到启发,使用3 × 3之间的1 × 1卷积来减少参数数量。此外,如前所述,他们使用批归一化来正则化和帮助收敛。
表2展示了带有目标检测头的整个Darknet-- 19主干。使用PASCAL VOC数据集时,YOLOv2预测5个边界框,每个边界框有5个值,20个类。
目标分类头将后四个卷积层替换为一个具有1000个滤波器的单个卷积层,之后是一个全局平均池化层和一个Softmax。
图6:锚箱. YOLOv2为每个网格单元定义了多个锚框。
图7:包围盒预测. 预测的tx,ty值通过sigmoid函数,并与网格单元cx,cy的位置相抵,得到盒子的中心坐标。最终箱体的宽度和高度分别采用etw和eth标定的先验宽度pw和高度ph,其中tw和th由YOLOv2预测。
表2:Yolov2架构。Darknet- 19主干(第1 ~ 23层)加上最后四个卷积层和直通层组成的检测头,将第17个输出26 × 26 × 512的特征重组为13 × 13 × 2048,并与第25层级联。最后的卷积生成一个13 × 13的网格,包含125个通道以容纳5个边界框的25个预测( 5个坐标+ 20个类)。
作者在同一篇论文中介绍了一种训练联合分类和检测的方法。它使用COCO [ 37 ]中的检测标记数据来学习边界框坐标和ImageNet中的分类数据,以增加其能够检测的类别数。在训练过程中,他们将两个数据集结合起来,当使用检测训练图像时,它反向传播检测网络,当使用分类训练图像时,它反向传播架构的分类部分。结果是一个YOLO模型能够检测出超过9000个类别,因此命名为YOLO9000。
YOLOv3 [ 46 ]由Joseph Redmon和Ali法尔哈迪于2018年发表在ArXiv上。它包括重大的变化和一个更大的架构,以达到与最先进的同时保持实时性能。接下来,我们描述了YOLOv3的变化。
YOLOv3中提出的架构主干称为Darknet- 53。它将所有的最大池化层替换成了纹状卷积,并增加了残差连接。总共包含53个卷积层。图8展示了架构细节。
Darknet- 53主干获得了与ResNet - 152相当的Top - 1和Top - 5精度,但速度快了近2倍。
图8:Yolov3 Darknet- 53骨架。YOLOv3的架构由53个卷积层组成,每个卷积层都有批量归一化和Leaky Relu激活函数激活。此外,残差连接将整个网络中1 × 1卷积的输入与3 × 3卷积的输出连接起来。这里展示的架构仅由主干构成;它不包括由多尺度预测组成的检测头.
除了更大的结构,YOLOv3的一个重要特征是多尺度预测,即在多个网格尺寸下进行预测。这有助于获得更精细的细节框,并显著提高对小对象的预测,这是YOLO早期版本的主要弱点之一。
图9所示的多尺度检测架构工作如下:第一个输出标记为y1等价于YOLOv2输出,其中13 × 13的网格定义输出。第二个输出y2由暗网- 53的( Res × 4 )后输出和( Res × 8 )后输出串联而成。特征图具有不同的尺寸,即13 × 13和26 × 26,因此在级联之前有一个上采样操作。最后,第三个输出y3使用上采样操作将26 × 26的特征图与52 × 52的特征图级联
对于包含80个类别的COCO数据集,每个尺度提供一个形状为N × N × [ 3 × ( 4 + 1 + 80 ) ]的输出张量,其中N × N为特征图(或网格单元)的大小,3表示每个单元格的盒子,4 + 1包括4个坐标和客观性得分。
YOLOv3发布后,目标检测的基准从PASCAL VOC变为Microsoft COCO [ 37 ]。因此,从这里开始,所有的YOLO都在MS COCO数据集中进行评估。在20 FPS时,YOLOv3 - spp的平均精度AP为36.2 %,AP50为60.6 %,达到了目前的最好水平,速度提高了2倍。
图9:YOLOv3多尺度检测架构。Darknet- 53的输出分支为三个不同的输出,分别标记为y1、y2和y3,每个输出都增加了分辨率。最后的预测框使用非极大值抑制进行过滤。CBL( Convolution-BatchNorm-Leaky Relu激活函数)块包含一个具有批归一化和泄漏ReLU的卷积层。Res模块由1个CBL和2个CBL结构组成,采用等距连接,如图8所示。
此时,物体探测器的架构开始由主干、颈部和头部三部分描述。图10所示为高层骨架、颈部和头部示意图。
主干负责从输入图像中提取有用的特征。它通常是在大规模图像分类任务上训练的卷积神经网络( CNN ),如ImageNet。主干捕获不同尺度下的层级特征,下层特征(例如,边缘和纹理)提取在较早的层,高层特征(例如,物体部分和语义信息)提取在较深的层。
颈部是连接骨干与头部的中间部件。它对主干提取的特征进行聚合和细化,往往侧重于增强跨不同尺度的空间和语义信息。颈部可以包括额外的卷积层,特征金字塔网络( FPN ) [ 49 ],或其他机制来改善特征的表示。
头部是目标探测器的最终组成部分;它负责根据骨架和颈部提供的特征进行预测。它通常由一个或多个任务特定的子网络组成,这些子网络执行分类、定位以及最近的实例分割和姿态估计。头部处理颈部提供的特征,为每个候选对象生成预测。最后,一个后处理步骤,如非极大值抑制( NMS ),过滤掉重叠的预测,只保留最有信心的检测。
在其余的YOLO模型中,我们将使用主干、颈部和头部来描述架构。
图10:现代物体探测器的架构可以描述为主干、颈部和头部。
两年过去了,YOLO没有新的版本。直到2020年4月,Alexey博奇科夫斯基、Chien -药王和Hong - Yuan Mark Liao在ArXiv上发布了针对YOLOv4的论文[ 50 ]。起初,不同的作者提出了一个新的"官方"版本的YOLO感到奇怪;然而,YOLOv4保持了YOLO的理念- -实时、开源、单镜头和Darknet框架- -改进的效果非常理想,以至于社区迅速接受了这个版本作为官方的YOLOv4。
YOLOv4尝试了许多变化,包括赠品袋和特种配件袋,试图找到最佳平衡。自由组合( Bag-of-freebies )是一种只改变训练策略、增加训练成本而不增加推理时间的方法,最常见的是数据增强。另一方面,bag - of -特种配件是一种略微增加推理代价但显著提高准确率的方法。这些方法的例子包括扩大感受野的[ 48、51、52],结合特征的[ 53、49、54、55],以及后处理的[ 56、40、57、58]等。
我们将YOLOv4的主要变化总结为以下几点:
表3列出了主链和探测器最终选择的BoFs和BoS。
表3:YOLOv4最终选择的自由袋( BoF )和特制袋( BoS )。BoF是一种在不增加推理代价的情况下提高性能但训练时间较长的方法。另一方面,BoS是一种略微增加推断成本但显著提高准确率的方法。
在MS COCO数据集test - dev 2017上评估,YOLOv4在NVIDIA V100上超过50FPS的AP为43.5 %,AP50为65.7 %。
图11:用于目标检测的YOLOv4架构。图中的模块分别CMB:卷积+批归一化+ Mish激活,CBL:卷积+批归一化+漏ReLU,UP:上采样,SPP:空间金字塔池化,PANet:路径聚合网络。图受[ 71 ]启发。
YOLOv5 [ 72 ]于2020年由Glenn Jocher在YOLOv4之后的几个月发布。在本文撰写之时,还没有关于YOLOv5的科学论文,但是从代码中我们知道它使用了YOLOv4部分描述的许多改进,主要区别在于它是在Pytorch中开发的,而不是Darknet。YOLOv5是开源的,由Ultralytics积极维护,有超过250个贡献者,并且经常有新的改进。YOLOv5易于使用、训练和部署。Ultralytics为iOS和Android提供了一个移动版本,并提供了许多用于标记、训练和部署的集成。
YOLOv5提供了5个缩放版本:YOLOv5n ( nano )、YOLOv5s ( small )、YOLOv5m ( medium )、YOLOv5l ( large )和YOLOv5x ( extra large )。
本文写作时发布的YOLOv5版本为v7.0,包括能够进行分类和实例分割的YOLOv5版本。
在MS COCO数据集test - dev 2017上评估,YOLOv5x获得了50.7 %的AP,图像大小为640像素。使用32的批量大小,在NVIDIA V100上可以实现200 FPS的速度。使用更大的输入尺寸1536pixels,YOLOv5实现了55.8 %的AP。
YOLOv4发表1年后,同一作者在CVPR 2021上发表了Scaled - YOLOv4 [ 73 ]。与YOLOv4不同,Scaled YOLOv4是在Pytorch而不是Darknet中开发的。主要的新颖之处在于引入了放大和缩小技术。放大意味着产生一个以较低的速度为代价来提高精度的模型;另一方面,缩小意味着产生一个以牺牲精度为代价来提高速度的模型。此外,缩放模型需要较少的计算能力,并且可以在嵌入式系统上运行。
缩小后的架构称为YOLOv4 - minor;它专为低端GPU设计,在a Jetson TX2上可运行46帧/ s,在RTX2080Ti上可运行440帧/ s,在MS COCO上可实现22 %的AP。
放大后的模型架构称为YOLOv4 - large,包括三种不同尺寸的P5、P6和P7。该架构专为云端GPU设计,并取得了最先进的性能,在MS COCO上以56 %的AP超越了之前的所有型号[ 74、75、76]。
YOLOR [ 77 ]由YOLOv4的同一研究团队于2021年5月发表在ArXiv上。它代表"只有一个代表"。在本文中,作者遵循了不同的方法;他们开发了一种多任务学习方法,旨在通过学习一个通用的表示,并使用子网络创建任务特定的表示,为各种任务创建一个单一的模型。鉴于传统的联合学习方法往往会导致次优的特征生成,YOLOR旨在通过编码神经网络的隐含知识来克服这一问题,以适用于多个任务,类似于人类如何利用过去的经验来处理新问题。结果表明,在神经网络中引入隐性知识对所有任务都有好处
在MS COCO数据集test - dev 2017上评估,YOLOR在NVIDIA V100上30 FPS的AP为55.4 %,AP50为73.3 %。
YOLOX [ 78 ]由Megvii Technology的研究团队于2021年7月发表在ArXiv上。它以Ultralytics公司的YOLOV3为起点,在Pytorch上开发,它有五个主要的变化:无锚架构、多重正例、解耦头、高级标签分配和强增强。在Tesla V100上,以50.1 %的AP和68.9 %的FPS在速度和精度之间取得了最佳平衡,在2021年取得了最先进的结果。下面描述YOLOX相对于YOLOv3的5个主要变化:
图12为YOLOv3头与YOLOX解耦头的差值。对于FPN的每个层次,他们使用一个1×1卷积层将特征通道减少到256,然后添加两个并行分支,每个分支具有两个3 × 3卷积层,分别用于类置信(分类)和定位(回归)任务。在回归头中加入IoU分支。
YOLOv6 [ 86 ]于2022年9月由美团视觉AI部门在ArXiv上发布。与YOLOv4和YOLOv5类似,它为工业应用提供了各种不同尺寸的模型。遵循基于锚点的方法[ 78,81]的趋势,YOLOv6采用了无锚点检测器。该模型的主要创新点总结如下:
在MS COCO数据集test - dev 2017上评估,YOLOv6 - L在NVIDIA Tesla T4上约50FPS的AP为52.5 %,AP50为70 %。
YOLOv7 [ 94 ]由YOLOv4和YOLOR的同一作者于2022年7月发表在ArXiv上。当时,它在5 ~ 160 FPS的速度和精度上超越了所有已知物体探测器。与YOLOv4一样,它只使用MS COCO数据集进行训练,不使用预训练的主干。YOLOv7提出了一对夫妇的架构变化和一系列免提包,在不影响推理速度的情况下提高了准确率,只增加了训练时间。
YOLOv7的架构变化:
YOLOv7中使用的免提袋包括:
在本节中,我们重点介绍了YOLOv7相对于同作者之前开发的YOLO模型的增强。
与YOLOv4相比,YOLOv7的参数减少了75 %,计算量减少了36 %,同时平均精度( AP )提高了1.5 %。
与YOLOv4 - minor相比,YOLOv7 - minor在保持相同AP的情况下,参数和计算量分别减少了39 %和49 %。
最后,与YOLOR相比,YOLOv7的参数量和计算量分别减少了43 %和15 %,AP略有增加0.4 %。
在MS COCO数据集test - dev 2017上评估,YOLOv7 - E6在NVIDIA V100上实现了输入大小为1280像素,速度为50 FPS的AP为55.9 %,AP50为73.5 %。
DAMO-YOLO [ 97 ]由阿里巴巴集团于2022年11月在ArXiv上发布。受当前技术的启发,DAMO - YOLO包括以下内容:
作者生成了缩比模型DAMO - YOLO - Tiny / Small / Medium,其中最好的模型在NVIDIA V100上的233 FPS达到了50.0 %的AP。
YOLOv8 [ 100 ]于2023年1月由开发YOLOv5的公司Ultralytics发布。由于在本文写作时,还没有关于YOLOv8的论文,我们需要深入了解与其他YOLO版本相比的架构决策。按照目前的趋势,YOLOv8是无锚的,减少了框预测的数量,加快了非最大值抑制( NMS )。此外,YOLOv8在训练时使用马赛克增强;然而,由于已经发现这种增强如果在整个训练过程中使用可能是有害的,所以在最后十个历元中禁用。
YOLOv8可以从命令行界面( CLI )运行,也可以作为PIP包安装。此外,它还具有用于标记、训练和部署的多个集成。
YOLOv8提供了5个缩放版本:YOLOv8n ( nano )、YOLOv8s ( small )、YOLOv8m ( medium )、YOLOv8l ( large )和YOLOv8x ( extra large )。
在MS COCO数据集test - dev 2017上评估,YOLOv8x在NVIDIA A100和TensorRT上获得了53.9 %的AP,图像大小为640pixel(在相同的输入量下, YOLOv5的识别率为50.7 %),速度为280FPS
PP - YOLO模型与我们描述的YOLO模型平行增长。然而,我们决定将themin单独分组,因为它们从YOLOv3开始,并在之前的PP - YOLO版本的基础上逐步完善。尽管如此,这些模型在YOLO的演化过程中一直具有影响力。PP-YOLO [ 76 ]以YOLOv3为基础,与YOLOv4和YOLOv5相似。由百度公司的研究人员于2020年7月在ArXiv上发布。作者使用了PaddlePaddle [ 101 ]深度学习平台,因此将其命名为PP。PP - YOLO沿袭了我们从YOLOv4开始的趋势,增加了10个现有的技巧来提高探测器的精度,保持速度不变。据作者所述,本文的目的不是介绍一种新的物体探测器,而是展示如何逐步构建一个更好的探测器。PP - YOLO使用的大部分技巧与YOLOv4中使用的不同,重叠的部分使用不同的实现。PP - YOLO关于YOLOv3的变化为:
PP - YOLO使用了以下增强和预处理:
在MS COCO数据集test - dev 2017上评估,PP - YOLO在NVIDIA V100上73 FPS的AP为45.9 %,AP50为65.2 %。
PP-YOLOv2 [ 105 ]于2021年4月发表在ArXiv上,并在NVIDIA V100上对PP - YOLO进行了四次改进,在69 FPS时性能从45.9 % AP提高到49.5 % AP。PP - YOLOv2关于PP - YOLO的变化如下:
PP-YOLOE [ 106 ]于2022年3月发表在ArXiv上。它在PP - YOLOv2的基础上进行了改进,在NVIDIA V100上达到了78.1 FPS的51.4 % AP性能。PP - YOLOv2中PP - YOLOE的主要变化为:
与之前的YOLO版本一样,作者通过改变骨架和颈部的宽度和深度来生成多个缩比模型。模型分别称为PP - YOLOE - s (小)、PP - YOLOE - m (中)、PP - YOLOE - l (大)、PP - YOLOE - x (特大)。
本文研究了15个YOLO版本,从最初的YOLO模型到最近的YOLOv8。表4提供了所讨论的YOLO版本的概况。从这个表中,我们可以识别出几个关键模式:
YOLO系列目标检测模型一直致力于平衡速度和精度,旨在在不牺牲检测结果质量的前提下提供实时性。随着YOLO框架在其各种迭代中的发展,这种权衡一直是一个反复出现的主题,每个版本都在寻求不同的优化目标。在原始的YOLO模型中,主要的关注点是实现高速的目标检测。该模型利用单个卷积神经网络( CNN )直接从输入图像中预测物体位置和类别,实现实时处理。然而,这种对速度的强调导致了妥协的不准确性,主要是在处理小物体或边界框重叠的物体时。
随后的YOLO版本引入了改进和增强,在保持框架实时能力的同时解决了这些限制。例如,YOLOv2 ( YOLO9000 )引入锚框和穿越层来提高物体的定位,从而获得更高的精度。此外,YOLOv3通过采用多尺度特征提取架构,提高了模型的性能,允许在不同尺度上进行更好的目标检测。
随着YOLO框架的发展,速度和精度之间的权衡变得更加微妙。YOLOv4和YOLOv5等模型引入了新的网络骨干、改进的数据增强技术和优化的训练策略等创新。这些发展在不显著影响模型实时性能的情况下显著提高了精度。
从Scaled YOLOv4开始,所有官方的YOLO模型都在速度和精度之间进行了微调,提供了不同的模型规模以适应特定的应用和硬件需求。例如,这些版本往往提供了针对边缘设备优化的轻量级模型、降低计算复杂度和加快处理时间的交易准确性。
随着YOLO框架的不断发展,我们预期以下趋势和可能性将塑造未来的发展:
我们要感谢国家科学技术委员会(全国科学技术委员会(阿根) )通过国家研究系统( SNI )提供的支持。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。