你只看一次:统一、实时的目标检测外文翻译资料

 2021-12-10 17:39:01

英语原文共 10 页

你只看一次:统一、实时的目标检测

Joseph Redmon , Santosh Divvala, Ross Girshick , Ali Farhadi

摘要:

我们提出了一种新的目标检测方法YOLO。先前关于目标检测的工作重新使用分类器来执行检测。相反,我们将目标检测作为空间分隔的边界框和相关类别的概率的回归问题。在一个评估中一个神经网络可以从完整的图像中直接预测

边界框和类概率。因为整个检测管道是一个单一的网络,它可以在检测性能上直接优化到端到端。

我们的统一架构非常快。我们的基地YOLO模型实时处理45帧图像每秒。网络的一个小版本,Fast YOLO,每秒处理惊人的155帧,却仍然实现了其他实时探测器地图的两倍。与最先进的探测系统相比,YOLO产生更多的定位错误,但不太可能预测背景误报。最后,YOLO学到了目标的很多一般表示。从自然图像到其他领域,如艺术品,它的性能优于其他检测方法,包括DPM和R-CNN。

1.引言

人类瞥一眼图像就能立即知道在图像中是什么物体,它们在哪里,它们如何相互作用。人类的视觉系统是快速和准确的,允许我们需要在无意识的情况下完成复杂的任务,比如开车的想法。快速、准确的目标检测算法允许计算机在没有专业传感器的情况下驾驶汽车,使辅助设备能传递实时场景信息给人类用户,并释放其潜力用于一般用途,反应灵敏的机器人系统。

当前检测系统重新使用分类器来执行测。要检测一个对象,这些系统取目标的分类器,并在不同位置对其求值并在测试图像中缩放。系统就像可变形的部分模型(DPM)使用滑动窗口方法,其中分类器是在整个图像均匀间隔的位置运行。

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

更多最近的方法,如R-CNN使用区域建议的方法,如R-CNN,,首先生成图像中潜在的边界框,然后在这些建议的框上运行一个分类器。分类后、后处理被用来细化边界的框,消除重复检测,并重扫描基于场景[13]中的其他对象的盒子。这些复杂的管道缓慢且难以优化,因为每个单独的组件必须单独训练。

我们将目标检测重构为一个单一的回归问题,直接从图像像素到边框坐标和类概率。使用我们的系统,你只需要看一眼图片就可以预测目标是什么及他们在哪里。

YOLO非常简单:参见图1。一个单一的卷积网络同时预测多个边界框和这些框的类概率。YOLO训练完整的图像,并直接优化检测性能。这个统一的模型有几个好处超过了传统的目标检测方法。

首先,YOLO非常快。由于我们将框架检测作为一个回归问题,我们不需要复杂的管道。我们只是在测试时对一张新的图像运行我们的神经网络来预测检测结果。我们的基本网络以45帧每秒的速度运行,在Titan X GPU上没有批处理,

而一个快速版本运行速度超过150帧/秒。这意味着我们可以实时处理流媒体视频且延迟小于25毫秒。此外,YOLO实现平均精度超过其他的实时系统的两倍以上。

其次,YOLO做预测时,会在全球范围内对图片进行分析。不像滑动窗和区域基于提议的技术,YOLO在培训和测试期间看到了整个图像,因此它隐式地编码关于类及其外观的上下文信息。快速R-CNN,一种顶级检测方法[14],图像中目标错误的背景补丁是因为它不能看到更大的背景。YOLO只产生了不到快速R-CNN一半的背景误差。

第三,YOLO学习对象的可归纳表示。当对自然图像进行训练和在艺术品上进行测试,YOLO在很大程度上优于DPM和R-CNN顶级检测方法。由于YOLO是高度概括的,当应用于新领域或意外输入时,它不太可能崩溃。

YOLO仍然在精度上落后于最先进的检测系统。它可以快速识别图像中的物体,却难以精确地定位某些物体,尤其是一些小的物体。我们在实验中进一步检验这些权衡。

我们所有的培训和测试代码都是开源的。各种预先训练的模型也可以下载。

2.统一检测

我们将目标检测的各个独立组件统一成一个单一的神经网络。我们从整个图像网络使用特性预测每个边框。它还同时预测一个图像在所有类中的所有边界框。这意味着我们的网络关于整张图和图中的所有对象进行全局推理。YOLO设计支持端到端培训和实时速度,同时保持高平均精度。

我们的系统将输入图像划分为Stimes;S网格。如果一个物体的中心落进一个网格单元,这个网格单元负责检测那个物体。

每个网格单元格预测边界框和置信度得分。这些置信度评分反映了对框中包含对象模型的置信度及它认为框中预测的内容有多准确。在形式上,我们将置信度定义为Pr(Object)*。如果没有对象存在于该单元格中,置信值应为零。否则,我们希望置信度分数等于预测框和地面真相之间的的联合(IOU)的交集。。

每个边界框包含5个预测:x, y, w, h,和置信度。(x, y)坐标表示中心相对于网格单元格的边界。宽度和高度的预测是相对于整个图像。最后,置信度预测表示的是预测框和任何地面真值框之间的借据。

每个网格单元还预测C条件类的概率,Pr(Classi|Object)。这些概率取决于包含对象的网格单元格。我们只预测每个网格单元格的一组类概率,而不考虑框B的数目。

在测试时,我们将条件类的概率与单个框的置信度预测相乘,这给了每个框

Pr(Classi|Object)*Pr(Object)*=Pr(Classi)* (1)

特定类别的置信度分数。这些分数同时编码了类显示在框中的概率和预测框与对象的匹配程度。

类概率地图

图2:模型。我们的系统模型检测作为回归问题。它将图像分割成一个Stimes;S网格,每个网格预测B个边界框,这些框的置信度,和C类概率。这些预测被编码为Stimes;Stimes;(B*5 C)张量。

用S = 7,B=2来评价YOLO对PASCAL VOC的影响,。PASCAL VOC有20个标签类,所以C = 20。我们最后的预测是一个7times;7times;30张量。

2.1网络设计

我们将该模型实现为卷积神经网络并在PASCAL VOC检测数据集上进行了评价[9]。网络的初始卷积层从图像提取特征,而完全连接层预测输出概率和坐标。

我们的网络架构受到了GoogLeNet图像分类模型的启发[34]。我们的网络有24个卷积层之后是两个完全连接层。我们取代了GoogLeNet使用的inception模块,只需使用1times;1个约简层,然后是3times;3个卷积层,类似于Lin等人的[22]。整个网络如图3所示。

我们还训练了一个YOLO的快速版本,旨在推动快速目标检测的边界。快速YOLO使用一个具有较少卷积层的神经网络(24层改为9层)且在那些层中使用更少的过滤器。除了网络尺寸,YOLO和Fast YOLO所有训练和测试参数是一样的。

图3:体系结构。我们的检测网络由24个卷积层和2个全连接层组成。交替的1times;1卷积层减少了前一层的特征空间。我们在ImageNet分类任务中以一半分辨率(224times;224输入图像)对卷积层进行了预训练,然后变为双倍分辨率进行检测。

我们网络的最终输出是7times;7times;30张量的预测。

2.2训练

我们在ImageNet1000级比赛数据集上预先训练卷积层[30]。用于培训前图3中的前20个卷积层,后面是一个平均池化层和完全连接的层。我们训练这个网络大约用了一个星期就在2012年ImageNet验证集实现了88%的单一作物前5名的准确率,可与Caffee的模型动物园[24]中的GoodLeNet模型相比。我们使用Darknet框架进行所有的训练与推理[26]。

然后我们将模型转换为执行检测。任等人显示添加卷积层和连接层预先训练的网络可以提高性能[29]。按照他们的示例,我们添加了四个卷积层和两个完全连接层,它们的权重是随机初始化的。检测通常需要细粒度的视觉信息,所以我们把网络的输入分辨率从224times;22提高到4到448times;448。

我们最后一层是预测类概率和边界框的坐标。我们通过图像的宽度和高度对边界框的宽度和高度进行标准化,使它们落在0和1之间。我们将边界框x和y坐标参数化为特定网格单元格位置的偏移量,所以它们的边界也在0和1之间。

我们对最后一层使用线性激活函数,所有其他层使用以下漏整流线性激活:

(2)

我们对模型输出的平方和误差进行了优化。我们用平方和误差是因为它很容易优化,然而,它并不完全符合我们最大化平均精度的目标。它对定位误差分类误差权重相等,这可能不是理想的。而且,在每个图像中,许多网格单元格并不包含任何对象。这推动了这些单元格的“置信度”分数趋向于零,常常压倒包含对象的单元格的梯度。这会导致模型不稳定,导致早期培训出现分歧。

为了解决这个问题,我们增加了边界框坐标预测的损失,减少了不包含物体的框的置信度预测的损失。我们使用两个参数,lambda;coord和lambda;noobj来完成这一任务。我们设置lambda;coord = 5和lambda;noobj = 5。

平方和误差在很大程度上对大框误差和小框误差也具有同等的权重。误差度量应该反映这一点大框里的小偏差比小框里的小偏差更重要。为了部分解决这个问题,我们预测边界框的宽度和高度平方根而不是直接预测宽度和高度。

YOLO预测每个网格单元格有多个边界框。在训练时,我们只需要一个边界框预测器对每个对象负责。我们分配了一个预测器“负责”预测一个对象,该对象预测基于哪个对象预测具有与地面真实值一致的IOU流。这将导致边界框预测器之间的专门化。每个预测器在预测特定尺寸、长宽比或对象的类上做得更好,提高整体回忆能力。

在培训过程中,我们优化了以下多个部分损失函数:

(3)

式中示目标是否出现在单元格i中,示在单元格i中第j个边界框预测器对该预测“负责”。

注意,损失函数在网格单元中存在对象时只惩罚分类错误 (因此前面讨论的为条件类概率)。它也只是惩罚边界框坐标错误,如果该预测器是“负责”地面真相框(即在网格单元中任何预测器的最高IOU)。

我们用PASCAL VOC 2007和2012年的培训和验证数据集对网络上进行了135个时代的培训。在2012年的测试中,我们还包括VOC 2007年的测试数据用于培训。在整个培训过程中,我们使用批处理大小为64,动量为0.9,衰减为0.0005。

我们的学习进度安排如下:第一个阶段,我们慢慢地把学习速度从10-3提高10minus;2。如果我们从一个高学习率开始,我们的模型往往会由于不稳定梯度而发散。我们继续以10-2训练75个周期,然后以10-3训练30个周期,最后以10-4训练30个周期。

为了避免过度拟合,我们使用了dropout和广泛的数据增强。在第一个层之后,一个速率为0.5的dropout层防止层之间的相互适应[18]。为了增加数据,我们引入了随机缩放和高达原始图像大小20%的转化。我们还可以通过高达1.5倍的HSV色彩空间随机调整图像的曝光和饱和度。

2.3推理

就像在训练中,预测测试图像的检测只需要一个网络评估。在PASCAL VOC上,网络预测每个图像98个边界框和每个框的类概率。YOLO在测试中速度非常快,因为它只需要一个单一的网络评估,与基于分类器的方法不同。

网格设计加强了边界框预测的空间多样性。通常一个对象落在哪个网格单元格是很清楚的,而且网络只为每个对象预测一个框。但是,一些大的对象或多个单元格边界附近的对象可以被多个单元格很好地定位。非最大抑制可以用来解决这些多重检测。虽然不像R-CNN或DPM那样对性能至关重要,但非最大抑制在mAP中增加2-3%。

2.4YOLO的局限

YOLO对边界框预测施加了强大的空间约束,因为每个网格单元格只预测两个框而且只有一类。这种空间约束限制我们的模型可以预测的附近物体的数量。我们的模型与成群出现的小物体作斗争,比如鸟群。

由于我们的模型学会了从数据中预测边界框,它很难推广到新的或不寻常的纵横比或配置中的对象。我们的模型也使用相对粗糙的功能来预测边界框,因为我们的架构从输入图像中有多个下采样层。

最后,当我们训练一个近似于检测性能的损失函数时,我们的损失函数在小边界框和大边界框中处理错误的方法是一样的。一个大框里的小错误通常是良性的,而小框里的小错误对IOU的影响更大。我们的主要错误来源是不正确的本地化。

3.与其他检测系统比较

目标检测是计算机视觉中的一个核心问题。检测管道一般从从输入图像(Haar [25], SIFT [23]HOG[4],卷积特征[6])提取一组鲁棒特征开始。然后,分类器

[36, 21, 13, 10]或本地化器[1,32]被用来识别特征空间中的对象。这些分类器或本地化器要么以滑动窗口方式在整个图像上运行,要么是在图像中某些区域的子集上运行[35,15,39]。我们将YOLO检测系统与几种顶级框架进行了比较,突出关键的相似性和不同点。

可变形的零件模型。可变形的零件模型(DPM)使用滑动窗口方法来检测目标[10]。DPM使用一个不相交的管道来提取静态特征,分类区域,预测得分高区域的边界框等。我们的系统用一个卷积神经网络替换了所有这些不同的部分。该网络执行特征提取,边界框预测,非最大抑制和上下文推理同时进行。网络训练的不是静态特性,而是在线训练并针对检测任务优化它们。我们的统一的体系结构引发一个比DPM更快、更准确的模型。

R-CNN。R-CNN和它的变体使用区域

资料编号:[5900]

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。