Advertisement

【YOLOv1原文+翻译】You Only Look Once Unified, Real-Time Object Detection

阅读量:

目标检测技术中的Yolo方法
YOLO(You Only Look Once)是一种基于卷积神经网络的目标检测方法,它将目标检测问题视为回归问题,直接预测物体的边界框和类别概率,从而实现了端到端的训练和检测。以下是YOLO的核心内容和分析:

目标检测的背景与现状
目标检测是计算机视觉中的核心问题,旨在识别和定位图像中的物体。传统的方法通常分为两类:
基于分类器的方法:如R-CNN,需要先提取候选区域(如滑窗或区域建议),再进行分类和边界框回归。
基于卷积神经网络的方法:如YOLO,直接将检测问题视为回归问题,通过一次完整的图像输入,直接预测物体信息。
YOLO的创新在于其统一性和高效性,尤其在实时检测方面表现突出。

YOLO的核心思想与架构
YOLO的核心思想是将目标检测问题视为回归问题,通过一个卷积神经网络直接预测物体的边界框和类别概率。其主要特点包括:
统一检测流程:YOLO不需要先提取候选区域,而是直接从输入图像中预测所有物体的边界框和类别。
网格设计:将输入图像划分为S×S的网格,每个网格单元预测B个边界框和C个类别概率。
损失函数:使用分类损失(如交叉熵)和边界框损失(如IoU)优化模型,同时平衡分类和边界框预测的权重。
YOLO的网络结构简洁,仅需45个卷积层,且在轻量化设计上进行了优化,使其在小图像上也能高效运行。

YOLO的创新与优势
端到端训练:YOLO通过一次完整的图像输入,实现了检测任务的端到端训练,简化了流程。
实时性:YOLO在PASCAL VOC和COCO数据集上表现优异,检测速度远超其他实时方法,尤其在Fast YOLO版本中达到52.7%的mAP,且速度达到19.7FPS。
统一性:YOLO的网络结构简单,适合各种物体检测任务,无需复杂的数据增强或后处理。

实验与性能分析
PASCAL VOC 2007:YOLO在PASCAL VOC 2007上表现优异,mAP达到67.5%,且速度远超其他实时方法。
COCO 2014:YOLO在COCO数据集上表现接近Faster R-CNN,且速度更快。
迁移能力:YOLO在抽象艺术画作和人物艺术数据

YOLOv1原文+翻译

You Only Look Once Unified, Real-Time Object Detection属于CVPR2016的论文。首先,您可以通过以下链接获取原文:百度云盘。由于大多数博主提供的链接均为外链,考虑到没有梯子的用户,我直接上传了PDF文件。

正文开始

Abstract摘要

我们提出了一种名为YOLO9000的最新目标检测系统,其性能处于行业领先地位。该系统能够识别超过9000种不同的目标类别。首先,我们对YOLO检测方法进行了多项改进,包括引入了创新的多尺度训练策略,这些改进基于我们对现有研究的深入分析。改进后的YOLOv2模型在PASCAL VOC和COCO标准测试任务中表现卓越。通过采用一种高效的多尺度训练方法,YOLOv2不仅能够处理不同尺寸的图片,还能在速度和精度之间灵活调节性能。在67 FPS的测试下,YOLOv2在VOC 2007测试集上达到了76.8 mAP的性能。当运行速度降至40 FPS时,YOLOv2的mAP值升至78.6,这一表现超越了基于ResNet的faster R-CNN和SSD等先进方法,同时运行效率显著高于后者。最后,我们提出了一种联合训练目标检测与分类的方案。通过这种方法,YOLO9000能够在COCO检测数据集和ImageNet分类数据集上实现协同训练。该联合训练方法特别适用于在检测数据集上缺乏标记的场景下识别未标记的目标类别。我们在ImageNet检测验证集上进行了实验,结果显示YOLO9000在44类检测数据上实现了19.7 mAP的性能。值得注意的是,尽管YOLO9000在COCO的156类检测数据中表现略低(16.0 mAP),但其卓越的检测能力使其能够识别超过200种不同目标类别,并在超过9000个目标类别中实现精准识别。这种系统级的实时检测能力使其在实际应用中展现出强大的实用性。

我开发了一种新型物体检测方法,命名为YOLO。与这些方法不同,YOLO将物体检测任务建模为回归问题。YOLO通过单一神经网络直接从输入图像预测bounding box的坐标、box中物体的置信度以及物体的概率。由于YOLO的检测流程整合到神经网络中,因此实现了端到端的优化。

YOLO检测器的运行速度极快,其标准版本基于NVIDIA Titan X的GPU能够轻松达到45 FPS。相比之下,网络规模较小的Fast YOLO在保持平均精度是现有其他实时物体检测器两倍的同时,运行速度可以达到155 FPS。与现有的其他实时物体检测系统相比,YOLO在物体定位的准确性方面稍逊一筹,但在检测背景中误报不存在物体(false positives)的情况则更为出色。此外,YOLO相比DPM、R-CNN等物体检测系统能够更好地学习抽象物体的特征,这种优势使YOLO不仅在真实图像领域表现优异,还能实现跨领域的应用,例如艺术领域。

1.Introduction(介绍)

通过快速浏览图像,人类能够迅速识别出其中的物体及其相互作用关系。 人类的视觉系统具有高效精准的特点,这使得我们能够在不自觉的情况下完成复杂的任务,如驾驶过程中无需依赖专门的传感器系统就能保持专注。 快速且准确的目标检测算法不仅允许计算机在无需依赖专门的传感器系统的情况下完成驾驶任务,还能够使辅助设备实时向人类用户提供场景信息,从而进一步促进通用目标响应式机器人系统的应用潜力。

当前的物体检测系统依赖于分类器来执行物体检测任务。为了检测单个物体,这些系统需要在一张测试图像的不同位置和尺寸上应用该物体的分类器来判断是否存在该物体。例如DPM系统,该系统通过滑动窗口(sliding window)在整张图像上均匀滑动,利用分类器来检测是否存在目标物体。

在提出DPM方法后,其他检测方法如R-CNN基于图像提取潜在的候选框,这些候选框代表图像中可能存在的目标物体。随后,通过分类器对这些候选框进行评估。接着,通过post-processing处理,优化候选框,去除重复检测的目标,并根据场景中的其他物体重新评估每个候选框的分数。整个流程运行效率较低,且由于各个步骤均为独立训练,难以有效提升检测性能。

图1:YOLO检测系统。 用YOLO处理图像简单而直接。 我们的系统(1)将输入图像的大小调整为448×448,(2)在图像上运行单个卷积网络,以及(3)通过模型的置信度对结果检测进行阈值。

图1:YOLO检测系统。YOLO处理图像的过程简捷且直接。
我们的系统(1)首先将输入图像的尺寸调整至448×448像素,(2)在图像上部署一个卷积神经网络,(3)通过置信度阈值来筛选检测结果。

该文提出了一种名为YOLO(you only look once)的方法,将其物体检测任务视为回归问题(regression problem)。该方法通过分析整幅图像的所有像素数据,直接推断出bounding box的坐标、box内物体的置信度以及各类别概率。基于YOLO方法,每张图像只需输入至神经网络即可推断出图像中存在哪些物体及其位置信息。

YOLO系统极其简单:如图所示,单个卷积网络能够同时预测多个边界框及其对应的类概率。YOLO系统在全图像范围内进行统一训练,并直接优化检测性能。相较于传统物体检测方法,YOLO系统的优势主要体现在多个方面。

YOLO模型相较于传统物体检测方法具有显著的优势:
1、YOLO的检测速度极快。
由于其简洁的处理流程,只需将输入图像送入神经网络即可立即完成检测任务,YOLO系统能够在 Titan X 的 GPU 上实现 45 FPS 的速度。相比之下,Fast YOLO 系列模型的检测速度可达 155 FPS。此外,YOLO 在平均精度(mAP)方面远超其他实时检测系统,通常为两倍以上。
2、YOLO在背景误检率方面表现出色,能够有效减少 false positives 的产生。
与传统方法不同,其他物体检测系统通常依赖于滑窗或 region proposal 等技术,这限制了其对整体图像信息的捕捉能力。而 YOLO 在训练与测试过程中始终能够全局观察图像,从而更善于利用上下文信息进行物体检测。与 Fast-R-CNN 相比,YOLO 的背景误检率降低了一半以上。
3、YOLO在泛化能力方面表现尤为突出。
在经过自然图像的训练后,将其应用于艺术作品进行测试,YOLO 的检测性能显著优于 DPM、R-CNN 等传统方法。这种优势源于 YOLO 系统能够学习到高度泛化的特征,使其具备跨领域应用的潜力。

尽管YOLO具有诸多优势,但它也存在一些不足之处。YOLO的物体检测精度不如当前最先进的物体检测系统,这使得其在某些场景下表现略显逊色。此外,YOLO在物体定位方面存在一定的误差,尤其是在处理密集的小物体时,由于每个栅格只能预测两个物体,导致定位精度下降。

2.Unified Detection(单一检测)

我们将目标检测单独设置为一个神经网络模块。我们的网络基于图像的全局特征来预测每个边界框。该网络同时处理各类边界框。这表明我们的网络能够全面理解整个图像内容。YOLO设计基于端到端训练框架,同时具备良好的实时性能和较高的平均精度。

YOLO采用S×S栅格划分输入图像,每个栅格负责检测中心点落在该栅格中的物体。每个栅格将预测B个bounding boxes,并对这些bounding boxes给出相应的confidence scores。这些confidence scores不仅反映了模型对该栅格的预测结果,还具体说明了该栅格是否包含物体,以及所预测的该box的坐标准确性如何。公式如下:

在这里插入图片描述

当该栅格中没有object存在时,confidence score应设为0;反之,confidence score则基于predicted bounding box与 ground truth box的IOU进行计算。

YOLO对每个bounding box提供了5个预测值:x, y, w, h以及confidence。
x和y坐标表示预测bounding box的中心相对于栅格边界的相对位置。
w和h分别表示预测bounding box的宽度和高度相对于整个图像的缩放比例。
confidence值则反映了预测bounding box与ground truth box的交并比(IOU)数值。

每个栅格需要估计C个条件概率分布:P(Class_i | Object)。具体而言,这表示在一个栅格中包含一个Object时,其属于各个类别的可能性。值得注意的是,我们仅为每个栅格预测一组(C个)类别概率,而不考虑框B的数量。

在测试时,我们将条件类概率和单个框的置信预测相乘,

在这里插入图片描述

这为每个框(box)的特定类别提供了信心分数值。这些分数值反映了类在框中出现的概率以及预测框与对象的匹配程度。

整个yolo算法的流程如图2.

在这里插入图片描述

图2:我们的YOLO系统将检测模型转化为回归问题。它将图像划分为S×S网格,并且每个网格单元预测B个边界框,对每个边界框的置信度以及C类概率。这些预测值被编码为S×S×(B * 5 + C)张量。

在PASCAL VOC上进行YOLO的评估时,我们采用了S=7和B=2的参数设置。PASCAL VOC包含20个类别标签,由此可知C=20。我们的预测结果为7×7×30的张量。

2.1 Network Design(网络设计)

我们采用此模型作为卷积神经网络的实现方案,并在PASCAL VOC检测数据集上进行评估工作。卷积层能够从输入图像中提取关键特征,而全连接层则用于预测目标的概率信息及其坐标位置。

YOLO网络模仿了GoogLeNet的图像分类网络结构。网络包含24个卷积层和2个全连接层。值得注意的是,YOLO未采用GoogLeNet所使用的inception模块,而是以简单的方式替代,具体采用1×1卷积层(此处1×1卷积层的作用是实现跨通道信息整合)后跟3×3卷积层。这种设计类似于Lin等人所提出的方案。完整的网络架构如图3所示。

在这里插入图片描述

图3展示了网络架构。该检测网络由24个卷积层和2个全连接层构成。通过交替使用1×1卷积层,前几层的特征空间得到了缩减。在图像分类任务中,我们采用了半分辨率(基于224×224输入图像)的预处理方法,随后将检测分辨率提升了一倍。

最终的输出结果是一个7 7 30的张量。

2.2 Training(训练)

基于ImageNet 1000-class的分类任务数据集,采用卷积层进行预训练。将上述网络的前20个卷积层与一个平均池化层相结合,再附加一个全连接层,以构成Pretrain网络。经过大约一周的训练,该模型在ImageNet 2012验证集上的Top-5准确率达到88%,其性能与Caffe’s Model Zoo中的GoogleNet相当。

然后,我们将模型转换为执行检测任务。Ren等人提出的在预训练网络中同时引入卷积层和连接层的做法,能够提高网络性能。以这一策略为指导,我们增加了4个卷积层和2个具有随机初始权重的全连接层。由于检测任务通常需要对细节的视觉信息进行捕捉,因此我们提升了网络的输入分辨率,将其从224×224提升至448×448。

将Pretrain预训练模型的前20层卷积层整合到目标检测任务中,并补充剩余的4个卷积层以及2个全连接层。为了获得更细致的检测结果,将输入图像的分辨率从224×224提升至448×448。意译版本因其更流畅的表达和符合中文阅读习惯而表现更为出色。

最后一层的概率分布(probability distributions)以及边界框的位置(bounding box locations)。我们对所有预测结果进行了归一化处理,使其范围限定在0到1之间。

最后这一层被采用线性激活函数,其余各层被采用leaky ReLU激活函数,公式如下:

在这里插入图片描述

Leaky RELU可以解决RELU的梯度消失问题。

我们进行了误差平方和的系统性优化。尽管误差平方和具有易于优化的特性,但其局限性在于无法完全满足我们的优化目标:最大化平均精度。该方法通过平衡定位误差与分类误差的加权平均来提升整体性能,但分类误差的表现仍需进一步优化。值得注意的是,在每个图像中,大部分网格单元未包含任何目标物体。这会导致这些未包含目标的单元格信心值趋近于零,从而可能压制包含目标单元格的梯度更新。

为了解决这个问题,我们通过增加边界框坐标预测的损失来实现目标,并通过减少不包含对象的框的置信预测来减少损失。我们使用两个参数,λcoord和λnoobj,来实现这一目标。我们设置了λcoord=5和λnoobj=0.5,以实现最佳效果。

误差平方和在大框和小框之间权重相同。为了使误差度量更能反映大框的小偏差相较于小框的小偏差更为关键,我们采用了边界框宽度和高度的平方根进行预测,而非进行线性预测。

YOLO通过每个网格预测多个边界框单元格。在训练过程中,我们希望每个边界框预测器专注于预测特定的对象类别。我们通过指定一个负责预测器,使其专注于特定的对象类别。根据该对象的特征,选择具有最高IOU和与ground truth最匹配的预测器。这将导致边界框预测器在特定任务上进行深度优化,从而提升整体检测性能。

在YOLO算法中,每个栅格单元会预测多个bounding box,但在网络模型的训练过程中,我们希望每个物体最终由一个 bounding box predictor来负责预测。因此,当前哪一个 predictor预测的 bounding box与ground truth box的IOU(交并比)最大,这个 predictor就负责预测 object。这将使得每个 predictor可以专门负责特定的物体检测任务。随着训练的进行,每一个 predictor对特定物体尺寸、长宽比及类别的预测会愈发精准。

在训练期间,我们优化了以下多部分损失函数:

在这里插入图片描述

式中,

在这里插入图片描述

表示对象是否出现在单元格i中,

在这里插入图片描述

表示单元格i中的第j个边界框预测器“负责”该预测。

在这里插入图片描述

请注意,当网格单元包含对象时,loss函数仅惩罚分类错误的类别(因此,前面讨论的条件类概率)。它仅惩罚边界框坐标的误差,但仅在该预测器被判定为负责的地面真相框的情况下(即,该预测器在该网格单元的IOU值最高)。

我们对网络在PASCAL VOC 2007和2012年的训练与验证数据集上进行了约135个阶段的训练。在2012年的测试中,我们还使用了VOC 2007测试数据作为训练的一部分。在训练过程中,我们采用了64个批次,动量设置为0.9,同时采用了衰减因子0.0005。

我们采用的学习率安排如下:在第一个阶段,我们将学习速率从10-3逐步提升至10-2。若从较大学习率开始,模型可能会因剧烈的梯度变化而出现不稳定现象。持续训练过程中,我们会经历75个阶段的学习率维持在10-2水平,随后进入30个阶段的10-3阶段,最后再进行30个阶段的10^-4调整。

为了防止模型过拟合,我们采用了dropout技术以及数据量的增加策略。在第一层之后,我们应用了一个速率为0.5的dropout层,以防止层之间的协同适应。为了实现数据增强,我们引入了高达原始图像大小20%的随机缩放和平移操作。此外,在HSV颜色空间中,我们随机调整了图像的曝光和饱和度,调整系数高达1.5。

2.3 Inference(推论)

在训练过程中,图像检测仅依赖于一个网络评估。在PASCAL VOC数据集上,该网络预测每个图像的98个边界框及其对应的类概率。YOLO算法在测试阶段表现出色,因为它仅需一个网络进行预测,而无需像基于分类器的方法那样进行额外的推理。

在边界框预测任务中,网格设计显著提升了空间多样性。通常情况下,可以明确识别出对象所属的网格单元,且网络为每个对象仅输出一个边界框。然而,对于较大的对象或位于多个单元格边界附近的对象,多个单元格能够有效地对其进行定位。尽管在R-CNN或DPM等方法中,非最大抑制的作用并不显著,但其在mAP指标上的提升达到了2-3%。

2.4 Limitations of YOLO(YOLO的局限性)

YOLO应用边界框预测,施加了强烈的单元格空间约束,每个单元格仅能预测两个框且仅能识别一个类别。该空间约束限制了模型能够预测的相邻物体数量。我们的模型对抗群小物体,例如群鸟。

每个 grid cell 仅负责预测一个 类别对应的 边界框,且最终仅选取置信度最高的那个 Box。 这种设计方式导致如果不同物体(或同类物体的不同实体)的中心点落在同一网格单元中,就会出现漏检现象。

基于我们的模型从数据中学习边界框预测,因此其难以推广至具有不寻常宽高比或配置的对象。此外,我们的模型采用相对低分辨率的特征用于边界框预测,因为架构中包含多个从输入图像进行下采样的层。

预测的 Box 对于尺度的变化比较敏感,在尺度上的泛化能力比较差。

在优化一个接近检测性能的损失函数时,该损失函数对小边界框和大边界框中的错误处理是均等的。在大边界框中出现的小错误通常不会对检测结果产生显著影响,但小边界框中的小错误会对IOU值造成显著下降。这些错误的主要成因在于模型定位不够精确。

识别物体位置精准性差。
召回率(recall)低

3. Comparison to Other Detection Systems(和其他的目标检测算法的对比)

目标检测被视为计算机视觉的核心任务。通常,检测通道会首先从输入图像中提取一组具有鲁棒性的特征向量,这些特征向量可能包括Haar特征、SIFT特征、HOG特征以及卷积神经网络提取的特征。接着,通过分类器或定位器对特征空间进行分析,以识别特定对象。这些分类器或定位器的运行方式可以分为两种:一种是通过在整个图像上滑动窗口的方式进行检测,另一种是仅在图像的特定区域子集上进行检测。在本研究中,我们将YOLO检测系统与多个领先的检测框架进行了性能对比,深入分析了它们之间的共同特点与显著差异。

可变形部件模型(DPM)是一种用于目标检测的先进算法。该算法通过滑动窗口方法对图像进行扫描,以检测目标区域。DPM采用不相交管道结构,首先提取图像中的静态特征,随后识别分类区域,并预测高分区域的边界框位置。本系统采用卷积神经网络架构,能够同时执行多个任务,包括特征提取、边界框预测、非最大值抑制和上下文推理。该网络动态生成特征表示,通过在线训练过程不断优化模型参数,使其更适合目标检测任务。与传统DPM方法相比,本系统通过统一架构实现了更高的检测速度和更高的识别准确率。

R-CNN。该方法及其变体通过候选区域替代滑动窗口来定位图像中的目标。通过选择性搜索筛选出潜在的边界框,随后利用卷积网络提取图像特征,支持向量机对筛选出的边界框进行评分,线性模型用于优化边界框位置,非最大抑制技术则用于去除重复检测。在处理复杂通道时,每个阶段都需要独立进行精确调整,这导致整体系统运行效率低下,测试阶段每张图像的处理时间高达40秒以上。

在结构上,YOLO和R-CNN具有一定的相似性。每个网格单元生成潜在的边界框,并通过卷积特征对这些候选框进行评估。值得注意的是,我们的系统在网格单元建议上引入了空间约束机制,这有助于减少同一物体的多次检测。与基于选择性搜索的方法相比,我们的系统显著减少了边界框的数量,每张图像仅生成约98个边界框。最后,我们将这些独立组件整合为一个统一的联合优化模型。

其他快速检测器采用的方法是通过共享计算和使用神经网络来提高检测速度,而非依赖于选择性搜索。Fast和Faster R-CNN通过共享计算和使用神经网络来提高检测速度,而非依赖于选择性搜索。尽管它们在速度和准确性方面有所提升,但仍然无法达到实时检测的水平。

目前,多数研究致力于提升DPM管道的运行效率。通过多级计算级联和并行计算,研究者们成功将HOG计算的性能得到显著提升。值得注意的是,当前仅支持30Hz的DPM实现能够实现实时性。

YOLO没有对大型检测管道的单个组件进行优化,而是整体抛出管道,设计速度很快。

这类单个类别的检测器能够得到显著提升,因为它们需要处理的变化范围较小。YOLO是一种通用目标检测器,它能够同时识别多种物体。

深层多重框(Deep MultiBox) 是一种先进的目标检测算法。与R-CNN不同,该算法由Szegedy等人提出,采用卷积神经网络直接预测目标区域,而无需依赖选择性搜索技术。与传统的单类预测方法相比,MultiBox通过将置信度预测转化为单类检测,实现了高效的单目标检测。然而,该方法仅能处理单目标检测问题,无法应对复杂场景下的多目标识别需求。因此,尽管MultiBox在目标检测领域取得了显著进展,但它仍需结合其他技术,如图像补丁分类,才能形成完整的检测体系。与之相比,YOLO算法通过卷积网络直接预测边界框,最终构建了完整的检测系统。

OverFeat。Sermanet等人通过训练卷积神经网络来实现定位,并使该定位器能够适应执行检测任务。OverFeat能够有效地实现滑动窗口检测,但它仍然是一个非重叠的系统。OverFeat优化定位程序,而不是检测性能。例如,DPM定位程序在进行预测时仅关注本地信息。OverFeat无法解释全局上下文,因此需要大量后处理步骤来生成连贯的检测结果。

在设计层面,我们的研究与Redmon团队的抓取检测方法具有相似之处。我们采用的边界框预测方法基于多抓取系统的回归抓取策略。与目标检测相比,抓取检测的复杂度显著降低。在处理单物体图像时,多重抓取方法仅需预测一个可被有效抓取的区域。该方法无需估计物体的尺寸、位置或边界,也不必对物体类别进行预测,仅需识别一个适合抓取的区域即可。YOLO算法能够同时识别并定位图像中多个不同类别的物体及其边界框。

4. Experiments(实验)

在对PASCAL VOC 2007数据集的测试中,我们对比了YOLO与其他实时检测系统的性能表现。为了分析YOLO与R-CNN变体之间的性能差异,我们对YOLO和Fast R-CNN在VOC 2007数据集上的误检情况进行了详细研究,其中Fast R-CNN因其在R-CNN家族中的最佳性能而备受关注。通过分析不同误检分布情况,我们发现YOLO能够有效优化基于Fast R-CNN的检测流程,通过减少背景误报从而显著提升了检测性能。此外,我们对VOC 2012的数据集进行了实验验证,并将计算平均精度(mAP)指标与当前最先进检测方法进行了对比分析。最后,通过在两个不同的图形数据集上进行实验,我们验证了YOLO在新领域检测任务中的优越表现,其推广效果显著优于其他检测算法。

4.1. Comparison to Other Real-Time Systems(与其他实时系统的比较)

目标检测领域的研究工作主要致力于构建高效检测管道系统。然而,目前,Sadeghi团队是唯一实现真正实时检测系统的团队。在方法比较方面,我们对YOLO和DPM的GPU实现进行了系统性对比分析。值得注意的是,DPM的运行频率最高可达100Hz,远超实时检测标准。此外,我们还对两者在mAP值和运行速度上的表现进行了深入对比,以探讨物体检测系统在准确性和性能上的权衡关系。

Fast YOLO是PASCAL平台上的物体检测方法中的佼佼者,据可靠信息显示,其在物体检测领域同样占据领先地位。该方法实现了52.7%的mAP,较之前实时检测系统的准确率提升了约一倍。同时,YOLO在保持实时性能的基础上,将mAP提升至63.4%。

基于VGG-16的YOLO训练方案被采用。该模型在准确率上优于YOLO,但速度却明显下降。与基于VGG-16的其他检测系统相比,该模型表现更为出色。然而,由于其无法满足实时检测的速度需求,本文后续将着重介绍我们的更快模型。

在不牺牲太多mAP损失的前提下,DPM方法能够有效提升加速效果,但其实时性能的提升幅度有限,最多只能将性能提升一半。相较于基于神经网络的方法,DPM在检测精度方面存在明显局限性。

在这里插入图片描述

表1:PASCAL VOC 2007上的实时系统。Fast YOLO represents the fastest detection method on the PASCAL VOC 2007 dataset, achieving detection accuracies twice those of other systems. YOLO demonstrates a 10% improvement in mAP over Fast YOLO, while maintaining speeds well above the real-time system requirements.

R-CNN去掉R后,使用固定边界框建议取代了selective search算法。然而,尽管它的速度比原始的R-CNN快了许多,但它仍然未能达到实时处理的要求,而且由于缺乏有效的建议框,其精度受到了显著的影响。

Fast R-CNN显著提升了R-CNN在分类阶段的性能,尽管其依赖于选择性搜索机制,但每个图像的处理速度仍需2秒才能生成候选边界框。尽管其平均精度(mAP)表现优异,但其速度仅为每帧0.5帧,远低于实时处理需求。

目前,基于神经网络的Faster R-CNN已取代传统基于选择性搜索的方法来生成建议边界框。例如,在我们的测试实验中,Szegedy等人所采用的最精确模型的平均帧率达到了7 fps,而相对简单的模型则达到了18 fps。与YOLO相比,VGG-16版本的Faster R-CNN在平均精度上高出10个百分点,但其运行速度却较慢,仅是YOLO速度的三分之一。Zeiler-Fergus提出的Faster R-CNN虽然在速度上仅落后于YOLO的2.5倍,但其检测精度仍未能达到YOLO的水平。

4.2. VOC 2007 Error Analysis(误差分析)

为了深入探讨YOLO与其他先进检测器之间的差异,我们计划对VOC 2007的检测结果进行详细考察。我们计划将YOLO与Fast R-CNN进行对比分析,由于Fast R-CNN是PASCAL平台上的性能最强的检测器之一,其检测结果已公开。

我们借鉴了Hoiem等人的方法和工具。在测试过程中,针对每一个类别,我们对前N个预测结果进行了详细分析。这些预测结果可以分为以下几种情况:
第一种情况是准确识别,即预测结果属于正确类别且满足IOU>0.5的条件。
第二种情况是定位错误,即预测结果属于正确类别但满足0.1<IOU<0.5的条件。
第三种情况是类别相似性误判,即预测结果属于相似类别且满足IOU>0.1的条件。
第四种情况是类别错误但存在部分匹配,即预测结果属于错误类别且满足IOU>0.1的条件。
最后一种情况是完全误判,即预测结果在所有类别上的IOU均小于0.1。

在这里插入图片描述

图片4.错误分析对比研究 Fast R-CNN与YOLO的性能对比
这些图表展示了预测结果的前N个中定位错误和背景错误的分布情况。(在该类别中N =#个目标)

图4展示了20个类别中每种错误类型的具体细分情况。YOLO致力于实现物体的准确定位。YOLO的定位错误数量超过其他所有错误类型总数。Fast R-CNN的定位错误少于其他类型,但其背景误报错误数量显著增加。在Fast R-CNN的最佳检测结果中,约13.6%的检测结果为误报(即本来不含物体却误报为含有物体)。Fast R-CNN的背景误报错误数量是YOLO的三倍。

4.3Combining Fast R-CNN and YOLO( Fast R-CNN和YOLO相结合)

与Fast R-CNN相比,YOLO的背景误报错误要少得多。通过减小Fast R-CNN的背景误报错误,YOLO显著提升了性能。对于R-CNN预测的每个边界框,我们检查YOLO是否预测了与之类似的框。如果YOLO确实预测了与之类似的框,我们将根据YOLO预测的概率和两个框之间的重叠程度来提升该预测的置信度。

最佳Fast R-CNN模型在VOC 2007基准上实现了71.8%的平均精度(mAP)。将其与YOLO结合使用,平均精度提升至75.0%左右。进一步地,我们探索将最佳Fast R-CNN与其他Fast R-CNN版本进行融合。这些融合操作导致平均精度在0.3%至0.6%之间有所提升,具体结果可见表2。

在这里插入图片描述

表2:VOC 2007的模型组合实验。我们探讨了各种模型与最佳版本的Fast R-CNN的结合表现。其他模型与Fast R-CNN的结合仅带来了较小的性能提升,而与YOLO的结合则带来了显著的性能提升。

YOLO带来的性能提升并非由模型集成得出,因为集成不同版本的Fast R-CNN几乎没有什么提升。相反地,正是因为YOLO在测试中犯了多种错误,导致它能够有效地提升Fast R-CNN的表现。

遗憾的是,由于我们采用了分别训练各模型并结合结果的方法,系统未能从YOLO的高速度中获益,速度提升有限。然而,尽管YOLO运行速度极快,但将其与单独的Fast R-CNN结合后,计算时间的增加量非常有限。

在这里插入图片描述

表3列出了PASCAL VOC 2012排行榜。截至2015年11月6日,YOLO在公共排行榜中与完整comp4(允许外部数据)的比较中,针对各种检测方法,计算了平均精度以及每个类别平均精度。YOLO是唯一实现实时目标检测的算法。在排行榜中,Fast R-CNN结合YOLO的方法位列第四,较单独使用Fast R-CNN提升了2.3%。

4.4 VOC 2012 Results(VOC 2012结果)

在VOC 2012测试集上,YOLO模型的平均精度(mAP)值为57.9%。这一结果低于当前技术水平的主流方法,但与基于VGG-16的原始R-CNN算法的性能接近,具体数据可参见表3。与当前最接近的竞争对手相比,YOLO算法在小型物体检测任务中表现出物体间竞争特征。具体而言,在汽车、瓶子、羊、电视/监视器等类别中,YOLO的检测精度低于R-CNN或Feature Edit方法约8-10%。然而,在猫和火车等其他类别中,YOLO算法实现了显著的性能提升。

本研究中,我们将Fast R-CNN与YOLO组合,形成了性能卓越的检测系统。该系统得益于YOLO与Fast R-CNN的结合,较YOLO单独模型提升了2.3%,在排行榜中跃居前五名。

4.5. Generalizability: Person Recognition in Art Works(抽象性:艺术作品中的人物识别)

基于对象检测领域的学术研究,学者们通常从同一分布中获取训练和测试数据集。然而,在实际应用环境中,往往难以准确预测所有可能的测试用例,因为测试数据可能与系统 previously experienced的情况存在显著差异。在本研究中,我们采用YOLO与其他主流检测算法进行对比分析,实验采用毕加索艺术作品数据集P和人物艺术数据集Q,这两个数据集均用于评估艺术作品中的人体检测性能。

在这里插入图片描述

图5:Picasso和People-Art数据集上的结果。

图5对YOLO与其他系统进行了性能对比分析。作为参考基准,我们计算并列出了仅基于VOC2007进行训练的人员检测AP值。其中,Picasso模型基于VOC 2012数据集进行训练,而People-Art模型则基于VOC 2010数据集构建。

R-CNN在VOC 2007上的平均精度(AP)表现优异,但在艺术品领域则显著下降。R-CNN通过选择性搜索算法来优化自然图像中的建议边界框。R-CNN的分类器阶段仅能聚焦于局部区域,因此需要依赖高质量的建议边界框来提升整体检测精度。

DPM在应用于艺术品时能够有效维持其AP值。早期研究认为DPM表现出色的原因在于其基于物体形状和布局的空间模型。然而,尽管DPM不会像R-CNN那样退化,但其初始AP相对较低。

YOLO在VOC 2007测试中表现出色,其平均精度(AP)在应用于艺术品时的降解率低于其他方法。与DPM类似,YOLO通过建模物体的大小、形状,以及物体之间的关系和它们通常出现的位置来实现目标检测。尽管艺术品与自然图像在像素级别上有显著差异,但它们在物体的形态特征上具有相似性,因此YOLO仍能有效预测边界框并进行检测。

5. Real-Time Detection In The Wild(实地场景的实时检测)

YOLO是一款高效且精确的检测器,广泛应用于计算机视觉相关领域。我们将YOLO与网络摄像头进行连接,并评估其在实时环境下的性能表现,计算时间主要包含从摄像头获取图像并显示检测结果的时间。

该系统具有交互性和吸引力。YOLO独立处理图像,但一旦与网络摄像头连接,就类似于一个追踪器,实时检测物体的运动或变化。在我们的项目网站上,你可以找到该系统的演示视频和源代码:http://pjreddie.com/yolo/。

在这里插入图片描述

图片6:定性评估结果。YOLO在检测线上的艺术品图片和自然图片中表现突出。尽管该模型将一个人误识别为飞机,但其准确率依然较高。

6.Conclusion(结论)

本研究概述了一款端到端的物体检测系统YOLO。本系统采用简洁的架构,能够在单幅图像上进行训练。与分类器驱动的方法不同,YOLO专注于与检测性能直接相关的损失函数进行训练,并采用统一的训练策略。

Fast YOLO algorithm in its current form has demonstrated exceptional performance among existing object detection frameworks. It stands out as the leading real-time object detection technology in contemporary research. Furthermore, it exhibits remarkable adaptability by successfully transferring to new domains, making it an optimal solution for applications requiring rapid and efficient object detection.

YOLOv1的开创性突破在于将物体检测任务转化为回归问题进行求解,其输入图像数据经过高效的推理过程,即可输出结果。相比之下,rcnn系列模型将物体检测任务分解为两个子任务:物体类别识别(分类问题)和物体定位(回归问题)。因此,YOLOv1在推理速度上显著快于rcnn系列模型。

全部评论 (0)

还没有任何评论哟~