You Only Look Once:Unified, Real-Time Object Detection手动翻译_you look only once unified翻译-程序员宅基地

技术标签: 论文阅读  深度学习  神经网络  

You Only Look Once:Unified, Real-Time Object Detection
你只看一次:统一、实时的对象检测
YOLO:
1)特点:
1.将对象检测定义为一个回归问题
2.通过一次评价来预测边界框和类别概率
3.直接从图像像素到边界框坐标和类概率,可以端到端优化检测性能
2)优点:
1.速度快,以45fps的速度实时处理图像,Fast YOLO的处理速度达到155fps
2.从全局范围内对图像进行推理,减少背景误判的假阳性
3.YOLO学习对象的可泛化表示,泛化能力强
3)缺点:
1.定位错误更多,很难精确定位某些对象,尤其是小对象
2.准确性方面仍然落后于最先进的检测系统
3.很难推广到具有新的或不寻常的纵横比或配置的对象
4.预测边界框的特征相对粗糙,有多个下采样层。
4)算法
1.将输入图像分割成一个S×S网格
2.如果一个物体的中心落在一个网格单元中,该网格单元负责检测该物体
3.每个网格单元格预测B个边界框和这些框的置信度
在这里插入图片描述
4.预测C个类别的条件概率,Pr(Classi | Object)
5.测试时,计算每个边框特定类的置信度
在这里插入图片描述
5)架构
初始卷积层从图像中提取特征,全连接层预测输出的概率和坐标
在这里插入图片描述
我们网络的最终输出是预测的7×7×30向量(20+2×5)
6)损失函数
对定位误差和分类误差的权重不相等,设λcoord = 5,λnoobj = 0.5。
在这里插入图片描述
7)实验
1.PASCAL:①Fast YOLO的准确率为52.7%,YOLO将mAP提升到63.4%,同时保持了实时性能;②Fast R-CNN模型当与YOLO结合时,其mAP增加了3.2%,达到75.0%。
2.Picasso数据集[12]和People-Art数据集[3]上泛化性能好:YOLO建模对象的大小和形状,以及对象之间的关系和对象通常出现的位置
3.当它连接到网络摄像头时,它就像一个跟踪系统,探测物体的移动和外观变化,实时性强。

Abstract

我们提出了一种新的目标检测方法YOLO。先前关于对象检测的工作通过重新定义分类器来执行检测。相反,我们将对象检测定义为一个回归问题,回归到空间分离的边界框和相关的类概率。单个神经网络将直接在整幅图像通过一次评价来预测边界框和类别概率。由于整个检测流程是一个单一的网络,可以直接端到端进行检测性能的优化。

我们的统一架构非常快。我们的基本YOLO模型以每秒45帧的速度实时处理图像。一个更小版本的网络,Fast YOLO,处理速度达到惊人的每秒155帧,同时仍然达到其他实时探测器mAP的两倍。与最先进的检测系统相比,YOLO会产生更多的定位错误,但不太可能预测背景上的误判(假阳性)。最后,YOLO学习对象的一般表征。当从自然图像推广到艺术作品等其他领域时,它的性能优于其他检测方法(包括DPM和R-CNN)。

1. Introduction

人们只要看一眼图像,就能立即知道图像中的对象是什么,它们在哪里,以及它们是如何相互作用的。人类的视觉系统快速而准确,让我们能够在几乎没有意识的情况下完成驾驶等复杂的任务。快速、准确的目标检测算法将允许计算机在没有专门传感器的情况下驾驶汽车,使辅助设备能够向人类用户传递实时的场景信息,并释放通用,响应式机器人系统的潜力。

当前的检测系统重新使用分类器来执行检测。为了检测一个对象,这些系统使用该对象的分类器,并在测试图像的不同位置和尺度上对其进行评估。像可变形部件模型(DPM)这样的系统使用滑动窗口方法,在整个图像上以均匀间隔的位置运行分类器[10]。
最近的一些方法,如R-CNN,使用区域建议方法,首先在图像中生成潜在的边界框,然后在这些建议的框上运行分类器。分类完成后,通过后处理对边界框进行细化,消除重复检测,并根据场景[13]中的其他物体对边界框进行重核。这些复杂的流程缓慢且难以优化,因为每个单独的组件必须单独训练。

我们将目标检测作为一个单一的回归问题,直接从图像像素到边界框坐标和类概率。使用我们的系统,你只需看一次图片(YOLO),就可以预测有什么和在哪里。
在这里插入图片描述
图1:YOLO检测系统。使用YOLO处理图像是简单而直接的。我们的系统(1)将输入图像的大小调整为448×448,(2)对图像运行单个卷积网络,(3)通过模型置信度检测结果进行阈值处理

YOLO非常简单:参见图1。一个单一的卷积网络同时预测多个边界框和这些框的类概率。YOLO训练完整的图像,并直接优化检测性能。与传统的对象检测方法相比,这种统一的模型有几个优点:

首先,YOLO非常快。因为我们将检测作为一个回归问题,所以我们不需要一个复杂的流程。我们只是在测试时对新图像运行我们的神经网络来预测检测结果。我们的基础网络以每秒45帧的速度运行,在Titan X GPU上,没有批处理,而一个快速版本的运行速度超过了每秒150帧。这意味着我们可以实时处理流视频,延迟时间不到25毫秒。此外,YOLO的平均精度是其他实时系统的两倍多。有关我们的系统在网络摄像头上实时运行的演示,请参阅我们的项目网页:http://pjreddie.com/yolo/。
其次,YOLO在进行预测时,会从全局范围内对图像进行推理。与滑动窗口和基于区域建议的技术不同,YOLO在训练和测试时看到整个图像,因此它隐式地编码关于类及其外观的上下文信息。Fast R-CNN,一种顶级的检测方法[14],错误的将图像中的背景patch看做对象,因为它不能看到更大的背景。与快速的R-CNN相比,YOLO产生的背景错误还不到一半。
第三,YOLO学习对象的可泛化表示。通过对自然图像的训练和对艺术作品的测试,YOLO的检测效果远远超过DPM和R-CNN等顶级检测方法。由于YOLO是高度可泛化的,所以在应用到新领域或意外输入时,它不太可能崩溃。

YOLO在准确性方面仍然落后于最先进的检测系统。虽然它可以快速识别图像中的对象,但它很难精确定位某些对象,尤其是小对象。我们在实验中进一步研究了这些权衡。

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

2. Unified Detection

我们将目标检测的各个部分统一到一个单独的神经网络中。我们的网络使用整个图像的特征来预测每个边界框。它还可以同时预测一个图像中所有类的所有边界框。这意味着我们的网络对整个图像和图像中的所有对象进行全局推理。YOLO设计支持端到端的训练和实时速度,同时保持较高的平均精度。

我们的系统将输入图像分割成一个S×S网格。如果一个物体的中心落在一个网格单元中,该网格单元负责检测该物体。
每个网格单元格预测B个边界框和这些框的置信度。这些置信度评分反映了模型对边框中包含对象的置信度,以及模型对边框的预测准确度。在形式上,我们把置信度定义为
在这里插入图片描述
如果该单元格中不存在对象,则置信度得分应该为零。否则,我们希望置信度得分等于预测框与金标准之间的交并比(IOU)。
每个边界框包含5个预测:x、y、w、h和置信度。(x,y)坐标表示框的中心(相对于网格单元格的边界)。宽度和高度是相对于整个图像预测的。最后,置信度预测表示预测框与任何金标准之间的IOU。
每个网格单元还预测C个类别的条件概率,Pr(Classi | Object)。这些概率适用于包含对象的网格单元。我们只预测每个网格单元的一组类概率,而不考虑框的数量B。
在测试时,我们将条件类概率和单个边框的置信度预测相乘。
在这里插入图片描述
这就表示了每个边框特定类的置信度。这些分数编码了类出现在方框中的概率,以及预测的方框与对象的匹配程度。
我们使用S = 7, B = 2在PASCAL VOC上评价YOLO。PASCAL VOC有20个标签类,所以C = 20。我们最后的预测是一个7×7×30的张量。
在这里插入图片描述
图2:模型。我们的系统将检测建模为一个回归问题。它将图像划分为S×S网格,每个网格单元预测B个边界框、这些框的置信度和C个类的概率。这些预测被编码成一个S×S ( B * 5 + C)的张量。

2.1. Network Design

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

我们的网络架构受到了GoogLeNet图像分类[34]模型的启发。我们的网络有24个卷积层,然后是两个全连接的层。不同于GoogLeNet使用的inception模块,我们简单地使用了11个降维层和3个卷积层,类似于Lin等人的[22]。整个网络如图3所示。
我们还训练了一个YOLO的快速版本,旨在推动快速对象检测的边界。Fast YOLO使用的神经网络具有更少的卷积层(9层而不是24层)和更少的过滤器。除了网络的大小,YOLO和Fast YOLO之间的所有训练和测试参数都是相同的。
在这里插入图片描述
图3:架构。我们的检测网络有24个卷积层,然后是2个全连接层。交替的11个卷积层减少了前一层的特征空间。我们在ImageNet分类任务中以一半的分辨率(224×224输入图像)对卷积层进行预训练,然后将检测的分辨率提高一倍

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

2.2. Training

我们在ImageNet 1000-class竞赛数据集[30]上对卷积层进行了预训练。预训练时,我们使用图3中的前20个卷积层,然后是一个平均池化层和一个全连接层。我们对这个网络进行了大约一周的训练,并在ImageNet 2012验证集上获得了88%的单一裁剪top-5准确率,可与Caffe s Model Zoo[24]中的GoogLeNet模型相媲美。我们使用Darknet框架进行所有的训练和推断。

然后将模型转换来执行检测。Ren等人的研究表明,将卷积层和连接层都加入到预先训练的网络中可以提高性能[29]。按照他们的例子,我们添加了四个卷积层和两个完全连接的层,它们的权值是随机初始化的。检测通常需要细粒度的可视信息,因此我们将网络的输入分辨率从224×224提高到448×448。
最后一层预测类概率和边界框坐标。我们通过图像的宽度和高度来归一化边界框的宽度和高度,使它们落在0和1之间。我们将边界框x和y坐标参数化为特定网格单元位置的偏移量,因此它们也在0和1之间。
最后一层我们使用线性激活函数,所有其他层使用以下leaky修正线性激活:
在这里插入图片描述
我们对模型输出的平方和误差进行了优化。我们使用平方和误差是因为它很容易优化,但是它并不完全符合我们最大化平均精度的目标。它对定位误差和分类误差的权重相等,这可能不是最理想的。同样,在每个图像中许多网格单元不包含任何对象。这将把这些网格的置信度推向零,通常会压倒包含对象的网格的梯度。这可能会导致模型不稳定,导致训练在早期出现分歧。
为了解决这个问题,我们增加了边框坐标预测的损失,减少了不包含对象的边框的置信度预测的损失。我们使用两个参数,λcoord和λnoobj。我们设置λcoord = 5和λnoobj = 0.5。

平方和误差对大边框和小边框的权重相等。我们的误差度量应该反映出大边框里的小偏差没有小边框里的小偏差重要。为了缓解这个问题,我们预测边界框的宽度和高度的平方根,而不是直接预测宽度和高度。

YOLO在每个网格单元格预测多个边界框。在训练时,对于每个对象,我们只希望一个边界框预测器对它负责。我们指定一个预测器负责预测一个对象,该预测器的预测预金标准的IOU是当前最高的。这导致了边界框预测器之间的专门化。每个预测器都能更好地预测特定的大小、长宽比或对象的类别,从而提高整体召回率。

在训练过程中,我们优化了以下多个部分的损失函数:
在这里插入图片描述
obji表示网格i中是否有对象
objij表示网格i中边的框预测器j是否对其负责

请注意,loss函数只在网格单元中出现对象时才惩罚分类错误(因此前面讨论了条件类概率)。只有在该预测器负责金标准框时(即在该网格单元中有最高的IOU的预测器),它才惩罚边界框坐标错误。

我们在PASCAL VOC 2007和2012年的训练和验证数据集上,对网络进行了大约135个epoch的训练。在2012年数据集上测试时,我们还将VOC 2007测试集作为训练集数据。在整个训练过程中,我们使用batch为64,动量为0.9,衰减为0.0005。

我们的学习率时间表如下:在第一个epoch,我们慢慢地把学习率从10(-3)提高到10(-2)。如果我们从一个高的学习率开始,我们的模型经常由于不稳定的梯度而发散。我们使用10(-2)继续训练75个周期,然后30个周期用10(-3),最后30个周期用10^(-4)。

为了避免过度拟合,我们使用了dropout和广泛的数据扩充。在第一个全连接层之后,速率为0.5的dropout层阻止了层之间的相互适应[18]。为了增加数据,我们引入了随机缩放和高达原始图像大小20%的平移。我们还在HSV颜色空间中随机调整图像的曝光和饱和度达1.5倍。

2.3 Inference

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

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

2.4 Limitations of YOLO

YOLO对边界框的预测施加了很强的空间约束,因为每个网格只能预测两个框,并且只能有一个类。这种空间约束限制了我们的模型可以预测的附近物体的数量。我们的模型不擅长检测成群出现的小物体,如鸟群。

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

最后,当我们训练一个接近检测性能的损失函数时,我们的损失函数在小边界框和大边界框中处理错误的方法是一样的。大盒子里的小错误通常是良性的,但小盒子里的小错误对IOU的影响要大得多。我们的主要错误来源是不正确的定位。

3. Comparison to Other Detection Systems

目标检测是计算机视觉的核心问题。检测流程通常从输入图像中提取一组鲁棒特征(Haar[25]、SIFT[23]、HOG[4]、convolutional features[6])开始。然后,使用分类器[36,21,13,10]或定位器[1,32]来识别特征空间中的对象。这些分类器或定位器以滑动窗口的方式在整个图像上运行,或者在图像中的某些区域的子集上运行[35,15,39]。我们将YOLO检测系统与几个顶级检测框架进行比较,突出关键的相似点和不同点。

Deformable parts models: 可变形部件模型(DPM)使用滑动窗口方法来检测对象[10]。DPM使用一个不相交的流程来提取静态特征,对区域进行分类,预测高得分区域的边界框,等等。我们的系统用一个单独的卷积神经网络替换了所有这些不同的部分。该网络同时进行特征提取、边界框预测、非最大抑制和上下文推理。与静态特性不同,网络在线训练特性并优化它们以完成检测任务。我们的统一架构带来了比DPM更快、更准确的模型。、

RCNN: R-CNN及其变体使用区域建议而不是滑动窗口来查找图像中的对象。选择性搜索[35]生成潜在的边界框,卷积网络提取特征,支持向量机对边界框进行评分,线性模型调整边界框,非最大抑制消除重复检测。这个复杂的流程的每个阶段都必须独立地精确地进行调优,并且系统非常慢,在测试[14]时每幅图像要花费超过40秒的时间。
YOLO和R-CNN有一些相似之处。每个网格单元提出潜在的边界框,并使用卷积特性对这些框进行评分。然而,我们的系统对网格单元的建议设置了空间限制,这有助于减轻对同一目标的多次探测。我们的系统也提出了更少的边界框,每幅图像只有98个,而选择性搜索大约2000个。最后,我们的系统将这些单独的组件组合成一个单独的、联合优化的模型。

Other Fast Detectors: Fast R-CNN和Faster R-CNN专注于通过共享计算和使用神经网络提出区域而不是选择性搜索[14][28]来加速R-CNN框架。虽然与R-CNN相比,它们在速度和精度上都有提高,但都无法达到实时性能。
许多研究工作致力于加速DPM流程[31][38][5]。它们加速了HOG计算,使用级联,并将计算推给gpu。然而,只有30Hz的DPM[31]是实时运行的。
YOLO并没有试图优化大型检测流程的各个组件,而是完全抛弃了流程,而且在设计上速度很快。
针对单个类(如人脸或人)的检测器可以进行高度优化,因为它们必须处理的变化[37]要少得多。YOLO是一个通用的探测器,它可以同时检测多种物体。

Deep MultiBox: 与R-CNN不同,Szegedy等人训练卷积神经网络来预测感兴趣的区域[8],而不是使用选择性搜索。MultiBox还可以用单类预测代替置信度预测来进行单目标检测。但是,MultiBox不能进行泛华的对象检测,它只是一个更大的检测流程中的一部分,需要进一步的图像patch分类。YOLO和MultiBox都使用卷积网络来预测图像中的边界框,但YOLO是一个完整的检测系统。

OverFeat: Sermanet等人训练卷积神经网络进行定位,并采用该定位器进行检测[32]。OverFeat能有效地实现滑动窗口检测,但仍然是一个不相交的系统。OverFeat优化定位,而不是检测性能。与DPM一样,定位器在进行预测时只查看局部信息。OverFeat不能推理出全局上下文,因此需要重要的后处理来产生连贯的探测。

MultiGrasp: 我们的工作在设计上类似于Redmon等人的grasp检测。我们的网格方法来预测边界框是基于MultiGrasp系统的回归到grasps。然而,grasp检测是一个比对象检测简单得多的任务。对于包含一个对象的图像,MultiGrasp只需要预测单个可抓取区域。它不需要估计物体的大小、位置或边界,也不需要预测物体的类别,只需要找到一个适合抓取的区域。YOLO可以预测一个图像中多个类的多个对象的边界框和类概率。

4. Experiments

首先,我们在PASCAL VOC 2007上将YOLO与其他实时检测系统进行比较。为了了解YOLO和R-CNN变体们之间的区别,我们研究了YOLO和Fast R-CNN在VOC 2007上的错误率,Fast是R-CNN[14]表现最好的版本之一。根据不同的错误概况,我们表明YOLO可以用来重新调整Fast R-CNN检测,减少背景假阳性的错误,从而显著提高性能。我们还展示了2012年VOC的结果,并将mAP与目前最先进的方法进行了比较。最后,我们证明了YOLO在两个artwork数据集上比其他检测器的泛化性能更好。

4.1 Comparison to Other Real-Time Systems

许多目标检测的研究工作都集中提高标准检测流程的速度上。[5][38][31][14][17][28]然而,只有Sadeghi等人实际研究出实时运行的检测系统(30帧/秒以上)[31]。我们将YOLO与他们的GPU实现的DPM进行比较,后者运行在30Hz或100Hz。虽然其他的尝试没有达到实时的里程碑,我们也比较了他们的相对mAP和速度,以检查在对象检测系统中可用的精度-性能权衡。

Fast YOLO是PASCAL上最快的对象检测方法;据我们所知,它是现存最快的目标探测器。它的准确率为52.7%,是之前实时检测工作的两倍多。YOLO将mAP提升到63.4%,同时保持了实时性能。
我们还使用VGG-16来训练YOLO。这个模型比YOLO更精确,但也比YOLO慢得多。它对于与其他依赖于VGG-16的检测系统的比较是有用的,但是由于它不够实时,因此本文的其余部分将重点放在我们更快的模型上。

最快的DPM在不牺牲很多mAP的情况下有效地提高了DPM的速度,但是它仍然比实时性能低2个因子[38]。与神经网络方法相比,DPM方法的检测精度相对较低。
R-CNN Minus R用静态边界框建议代替选择性搜索[20]。虽然它比R-CNN快得多,但它仍然缺乏实时性,而且由于没有好的建议,它的准确性受到了很大的影响。
Fast R-CNN加快了R-CNN的分类阶段,但它仍然依赖于选择性搜索,每幅图像大约需要2秒来生成边界框建议。因此,它有高的准确率,但速度位fps,仍然离实时很远。
最近Faster R-CNN用一个神经网络代替选择性搜索来提出边界框,类似于Szegedy et al.[8]在我们的测试中,他们最精确的模型达到了7帧/秒,而一个更小、更不精确的模型运行速度为18帧/秒。Faster R-CNN的VGG-16版本比YOLO高10mAP,但也比YOLO慢6倍。ZF Faster R-CNN仅比YOLO慢2.5倍,但准确性也较低。
在这里插入图片描述
表1:PASCAL VOC 2007上的实时系统。比较快速检测器的性能和速度。Fast YOLO是PASCAL VOC检测记录中速度最快的检测器,其准确度是其他实时检测仪的两倍。YOLO比快速版本更准确,mAP高十个点,且保持高于实时速度。

4.2 VOC 2007 Error Analysis

为了进一步检验YOLO和最先进的检测器之间的区别,我们来看看VOC 2007的详细分析结果。我们比较YOLO和Fast RCNN,因为Fast R-CNN是帕斯卡上性能最好的探测器之一,它的检测是公开的。
我们使用Hoiem等人的方法和工具。在测试时,我们查看每个类别的前N个预测。每个预测要么是正确的,要么是根据错误类型进行分类的。

  • Correct:correct class and IOU > 0.5
  • Localization:correct class, 0.1 < IOU < 0.5
  • Similar:class is similar, IOU > 0.1
  • Other:class is wrong, IOU > 0.1
  • Background:IOU < 0.1 for any object
    图4显示了所有20个类中每种错误类型的平均分类
    在这里插入图片描述

YOLO很难正确地定位对象。定位错误占YOLO错误的比例比所有其他来源的总和还要多。快速R-CNN的定位误差要小得多,但背景误差要大得多。13.6%的顶级检测是不包含任何物体的假阳性。Fast R-CNN预测背景检测的可能性几乎是YOLO的三倍。

4.3 Combining Fast R-CNN and YOLO

YOLO的背景错误比Fast R-CNN少得多。通过使用YOLO来消除快速R-CNN的背景检测,我们获得了显著的性能提升。对于R-CNN预测的每个边界框,我们检查YOLO是否预测了一个类似的框。如果答案是肯定的,我们将根据YOLO预测的概率和两个框的重叠部分来提升预测。
最好的Fast R-CNN模型在VOC 2007测试集上获得了71.8%的mAP。当与YOLO结合时,其mAP增加了3.2%,达到75.0%。我们还尝试将顶级的Fast R-CNN模型与其他几个版本的Fast R-CNN相结合。这些集成体使得mAP增长了3%~6%,详见表2。
在这里插入图片描述

YOLO带来的提升不仅仅是模型集成的副产品,因为将不同版本的Fast R-CNN组合在一起并没有什么好处。相反,正是因为YOLO在测试时犯了不同种类的错误,它才如此有效地提高了快速R-CNN的表现。
不幸的是,这种组合并不能从YOLO的速度中受益,因为我们分别运行每个模型,然后将结果组合在一起。然而,由于YOLO非常快,与Fast R-CNN相比,它不会增加任何重要的计算时间。

4.4 VOC 2012 Results

在2012年VOC测试集中,YOLO达到57.9%mAP。这低于目前的技术水平,更接近于使用VGG-16的原始R-CNN,见表3。与最接近的竞争对手相比,我们的系统在处理小对象时比较困难。在瓶子、绵羊和电视/显示器等类别中,YOLO得分比R-CNN或Feature Edit低8-10%。然而,在cat和train等其他类别中,YOLO的表现更好。
我们的组合Fast R-CNN + YOLO模型是性能最高的检测方法之一。Fast R-CNN从YOLO的组合中得到了2.3%的改善,在公共排行榜上上升了5位。
在这里插入图片描述

4.5 Generalizability: Person Detection in Artwork

用于对象检测的学术数据集从相同的分布中提取训练和测试数据。在真实的应用程序中,很难预测所有可能的用例,并且测试数据可能与系统在[3]之前看到的情况不同。我们在Picasso数据集[12]和People-Art数据集[3]上将YOLO与其他检测系统进行比较,这两个数据集用于艺术品的人像检测。
图5显示了YOLO和其他检测方法的比较性能。作为参考,我们给VOC 2007检测上人的AP,其中所有的模型只用VOC 2007的数据进行训练。关于Picasso的模型,用2012 VOC进行训练,而关于人像,用2010 VOC进行训练。
在这里插入图片描述
R-CNN在VOC 2007的AP值较高。然而,R-CNN在应用于艺术作品时下降了很多。R-CNN使用选择性搜索的边框建议,这是为自然图像调整的。R-CNN的分类器步骤只看到小区域,需要好的建议。
DPM在应用于artwork时能很好地维护其AP。先前的研究认为,DPM之所以表现良好,是因为它对物体的形状和布局具有很强的空间模型。虽然DPM没有R-CNN那么差,但它的起始点是一个较低的AP。
YOLO在VOC 2007上有很好的表现,其AP在artwork上的减少比其他方法要小。与DPM一样,YOLO建模对象的大小和形状,以及对象之间的关系和对象通常出现的位置。艺术品和自然图像在像素水平上有很大的不同,但是它们在物体的大小和形状上是相似的,因此YOLO仍然可以预测出好的边界框和探测。
在这里插入图片描述

5. Real-Time Detection In The Wild

YOLO是一种快速、准确的目标探测器,是计算机视觉应用的理想选择。我们将YOLO连接到一个网络摄像头,并验证其保持实时性能,包括从摄像头获取图像和显示检测结果的时间。
最终的系统是交互式的、令人惊叹的的。当YOLO单独处理图像时,当它连接到网络摄像头时,它就像一个跟踪系统,探测物体的移动和外观变化。这个系统的演示和源代码可以在我们的项目网站上找到:http://pjreddie.com/yolo/

6. Conclusion

我们介绍了一种统一的目标检测模型YOLO。我们的模型构造简单,可以直接在全图像上训练。与基于分类器的方法不同,YOLO针对一个直接对应于检测性能的损失函数进行训练,并对整个模型进行联合训练。
Fast YOLO是目前文献中最快的通用型目标探测器,YOLO推动了实时目标检测的发展。YOLO还可以很好地推广到新的领域,这使得它非常适合依赖于快速、健壮的对象检测的应用程序。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_35024702/article/details/105493046

智能推荐

RK3588平台开发系列讲解(I/O篇)Linux 磁盘 I/O 的性能指标_rk3588 io口速率-程序员宅基地

文章浏览阅读1.1k次,点赞31次,收藏18次。事实上,饱和度通常也没有其他简单的观测方法,不过,你可以把观测到的,平均请求队列长度或者读写请求完成的等待时间,跟基准测试的结果(比如通过 fio)进行对比,综合评估磁盘的饱和情况。剩下的部分,则是从各个角度来分别表示进程的 I/O 情况,包括线程 ID、I/O 优先级、每秒读磁盘的大小、每秒写磁盘的大小、换入和等待 I/O 的时钟百分比等。一般来说,我们在为应用程序的服务器选型时,要先对磁盘的 I/O 性能进行基准测试,以便可以准确评估,磁盘性能是否可以满足应用程序的需求。_rk3588 io口速率

CT重建概念和算法详细解析_ct图像重建算法-程序员宅基地

文章浏览阅读6.4k次,点赞9次,收藏88次。从左到右分别为:反投影法,滤波反投影法,傅里叶变换。_ct图像重建算法

Linux服务器无法通过ssh登录问题解决_-ohostkeyalgorithms=+ssh-dss-程序员宅基地

文章浏览阅读1.2k次。从openssh7.0开始,ssh-dss密钥被默认禁用可通过如下命令进行登录ssh -oHostKeyAlgorithms=+ssh-dss [email protected]_-ohostkeyalgorithms=+ssh-dss

深度学习与自然语言处理 | 斯坦福CS224n · 课程带学与全套笔记解读(NLP通关指南·完结)-程序员宅基地

文章浏览阅读1.3w次,点赞12次,收藏121次。本系列是ShowMeAI组织的斯坦福CS224n《自然语言处理与深度学习》的学习笔记,包含一整套【NLP深度教程】 和【20章课件注释】,是非常TOP的完整学习资料~_cs224n

数据结构与算法分析(十八)--- 如何使用动态规划高效寻找最优解?_动态规划能否找到最优解的组合-程序员宅基地

文章浏览阅读1.8k次。对于多阶段决策问题,我们使用回溯剪枝算法虽然可以穷举所有可行解,但复杂度太高阶。现实问题通常只关注最优解,针对多阶段决策最优解问题,我们可以使用动态规划算法大幅降低求解复杂度。动态规划的核心是划分阶段和可供决策的状态,然后找到阶段递推的状态转移方程,以便从初始状态递推到目标最优解。由于动态规划后面阶段的最优解通常跟前一阶段多个状态相关,因此存在大量的重叠子问题,通常使用备忘录或状态转移表解决重叠子问题重复求解的问题。如果后面阶段的最优解跟前面阶段无关,只需要选择最快逼近目标值的状态分支,可用贪心算法更高效。_动态规划能否找到最优解的组合

基于MATLAB GUI的指纹识别门禁系统_基于gui的指纹识别系统的设计-程序员宅基地

文章浏览阅读135次。指纹识别技术被广泛应用于现代门禁系统中,它提供了高度安全性和方便性。在本文中,我们将使用MATLAB GUI(图形用户界面)来实现一个基于指纹识别的门禁系统。我们将详细介绍系统的设计思路和实现步骤,并提供相应的源代码供参考。以上是一个基于MATLAB GUI的简单指纹识别门禁系统的实现示例。您可以根据实际需求进行进一步的定制和改进。通过该系统,用户可以通过指纹验证获得门禁权限,提高门禁系统的安全性和便利性。基于MATLAB GUI的指纹识别门禁系统。_基于gui的指纹识别系统的设计

随便推点

Sobel算子边缘检测原理及实现-程序员宅基地

文章浏览阅读1.1w次,点赞11次,收藏63次。写在前面Prewitt算子同样是一种一阶微分算子,它的卷积算子和Prewitt算子非常类似,仅仅是系数不同,但Sobel算子对于像素位置的影响做了加权,与Prewitt算子、Roberts算子相比效果更好。优点对边缘定位较为准确,能较好地处理灰度渐变和噪声较多的图像,计算简单,可分别计算水平和垂直边缘,如EasyPR用其定位车牌。原理首先我们看Sobel算子: ..._sobel算子边缘检测原理

Matlab中实现均匀量化_matlab量化-程序员宅基地

文章浏览阅读6.1k次,点赞9次,收藏39次。这项任务的目的是设计一个Matlab程序来进行A/D和D/A转换,并对特定的信号进行采样、量化和去采样的过程。1. 生成初始信号利用自己的学号生成特定的输入信号.%SID = 21059653;A_1 = 2+1+0+5;A_2 = 9+6+5+3;% transfer last 4 digits to 16-bit binarylast4 = 9653;last4_bin = dec2bin(last4,16);f_1 = count(last4_bin,'1');f_2 = _matlab量化

【每天一个java设计模式(十三)】 - 模板模式_java设计模式模板的具体实现-程序员宅基地

文章浏览阅读3.6k次。在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。_java设计模式模板的具体实现

可能是全网最全,JAVA日志框架适配、冲突解决方案,可以早点下班了!-程序员宅基地

文章浏览阅读106次。点击上方“Java基基”,选择“设为星标”做积极的人,而不是积极废人!每天14:00更新文章,每天掉亿点点头发...源码精品专栏原创 | Java 2021超神之路,很肝~中文详细..._pro java logging

Junit单元测试报java.lang.IllegalStateException: Failed to load ApplicationContext_java 单元测试port占用-程序员宅基地

文章浏览阅读4.2w次。@ActiveProfiles("dev")@RunWith(SpringRunner.class)@SpringBootTest( classes = MsManageApplication.class, webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT)@AutoConfigureMo..._java 单元测试port占用

光电耦合器的实用技巧_光电耦合器的三极管连ntc-程序员宅基地

文章浏览阅读1.1k次。转自 http://blog.csdn.net/gdaswater/article/details/4486750 光电耦合器(简称光耦),是一种把发光元件和光敏元件封装在同一壳体内,中间通过电→光→电的转换来传输电信号的半导体光电子器件。光电耦合器可根据不同要求,由不同种类的发光元件和光敏元件组合成许多系列的光电耦合器。目前应用最广的是发光二极管和光敏三极管组合成的光电耦合器,其内部_光电耦合器的三极管连ntc

推荐文章

热门文章

相关标签