深度学习论文阅读目标检测篇(四)中文版:YOLOv1《 You Only Look Once: Unified, Real-Time Object Detection》

简介: 我们的统一架构非常快。我们的基础YOLO模型以45帧/秒的速度实时处理图像。FastYOLO是YOLO的一个较小版本,每秒能处理惊人的155帧图像,同时实现其它实时检测器两倍的mAP。与最先进的检测系统相比,YOLO虽然存在较多的定位错误,但很少将背景预测成假阳性(译者注:其它先进的目标检测算法将背景预测成目标的概率较大)。最后,YOLO能学习到目标非常通用的表示。当从自然图像到艺术品等其它领域泛化时,它都优于其它检测方法,包括DPM和R-CNN。

d9e6160447df4f19888f9b714ecd4e1a.png


摘要


 我们提出了YOLO,一种新的目标检测方法。以前的目标检测工作重复利用分类器来完成检测任务。相反,我们将目标检测框架看作回归问题,从空间上分割边界框和相关的类别概率。单个神经网络在一次评估中直接从整个图像上预测边界框和类别概率。由于整个检测流水线是单一网络,因此可以直接对检测性能进行端到端的优化。


 我们的统一架构非常快。我们的基础YOLO模型以45帧/秒的速度实时处理图像。FastYOLO是YOLO的一个较小版本,每秒能处理惊人的155帧图像,同时实现其它实时检测器两倍的mAP。与最先进的检测系统相比,YOLO虽然存在较多的定位错误,但很少将背景预测成假阳性(译者注:其它先进的目标检测算法将背景预测成目标的概率较大)。最后,YOLO能学习到目标非常通用的表示。当从自然图像到艺术品等其它领域泛化时,它都优于其它检测方法,包括DPM和R-CNN。


1.引言


 人们瞥一眼图像,立即知道图像中的物体是什么,它们在哪里以及它们如何相互作用。人类的视觉系统是快速和准确的,使我们能够执行复杂的任务,例如如驾驶车辆时不会刻意地进行思考或思想。快速、准确的目标检测算法可以让计算机在没有专用传感器的情况下驾驶汽车,使辅助设备能够向人类用户传达实时的场景信息,并具有解锁通用目的和响应机器人系统的潜力。


 目前的检测系统重复利用分类器来执行检测。为了检测目标,这些系统为该目标提供一个分类器,并在不同的位置对其进行评估,并在测试图像中进行缩放。像可变形部件模型(DPM)这样的系统使用滑动窗口方法,其分类器在整个图像的均匀间隔的位置上运行[10]。


 最近的许多方法,如R-CNN使用regionproposal方法首先在图像中生成潜在的边界框,然后在这些提出的框上运行分类器。在分类之后,通过后处理对边界框进行修正,消除重复的检测,并根据场景中的其它目标重新定位边界框[13]。这些复杂的流程很慢,很难优化,因为每个单独的组件都必须单独进行训练。


 我们将目标检测重构并看作为单一的回归问题,直接从图像像素到边界框坐标和类别概率。使用我们的系统,您只需要在图像上看一次(youonlylookonce,YOLO),以预测出现的目标和位置。


 YOLO新奇又很简单:如图1所示。单个卷积网络同时预测这些框的多个边界框和类别概率值。YOLO在全图像上训练并直接优化检测性能。这种统一的模型比传统的目标检测方法有一些好处。


30892fc987d642dbbdb362cac73ce855.png


 首先,YOLO速度非常快。由于我们将检测视为回归问题,所以我们不需要复杂的流程。测试时我们在一张新图像上简单的运行我们的神经网络来预测检测。我们的基础网络以每秒45帧的速度运行,在TitanXGPU上没有批处理,快速版本运行速度超过150fps。这意味着我们可以在不到25毫秒的延迟内实时处理流媒体视频。此外,YOLO实现了其它实时系统两倍以上的mAP。关于我们的系统在网络摄像头上实时运行的演示,请参阅我们项目网页


 其次,YOLO在进行预测时,会对图像进行全局地推理。与基于滑动窗口和regionproposal的技术不同,YOLO在训练期间和测试时会看到整个图像,所以它隐式地编码了关于类的上下文信息以及它们的外形。FastR-CNN是一种顶级的检测方法[14],但因为它看不到更大的上下文,所以在图像中会将背景块误检为目标。与FastR-CNN相比,YOLO的背景误检数量少了一半。


 第三,YOLO学习目标的泛化表示。当在自然的图像上进行训练并对艺术作品进行测试时,YOLO大幅优于DPM和R-CNN等顶级检测方法。由于YOLO具有高度泛化能力,因此在应用于新领域或碰到非正常输入时很少出故障。


 YOLO在准确度上仍然落后于最先进的检测系统。虽然它可以快速识别图像中的目标,但它仍在努力精确定位一些目标,尤其是一些小目标。我们在实验中会进一步检查这些权衡。


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


2. 统一的检测


 我们将目标检测的单独组件集成到单个神经网络中。我们的网络使用整个图像的特征来预测每个边界框。它还可以同时预测一张图像中的所有类别的所有边界框。这意味着我们的网络全面地推理整张图像和图像中的所有目标。YOLO设计可实现端到端训练和实时的速度,同时保持较高的平均精度。


 我们的系统将输入图像分成S×S的网格。如果一个目标的中心落入一个网格单元中,该网格单元负责检测该目标。


 每个网格单元预测这些盒子的B个边界框和置信度分数。这些置信度分数反映了该模型对盒子是否包含目标的置信度,以及它预测盒子的准确程度。在形式上,我们将置信度定义为Pr(Object)∗IOUtruthpred。如果该单元格中不存在目标,则置信度分数应为零。否则,我们希望置信度分数等于预测框与真实值之间联合部分的交集(IOU)。


 每个边界框包含5个预测:x、y、w、h和置信度。(x,y)坐标表示边界框相对于网格单元边界框的中心。宽度和高度是相对于整张图像预测的。最后,置信度预测表示预测框与实际边界框之间的IOU。


 每个网格单元还预测C个条件类别概率Pr(Classi|Object)。这些概率以包含目标的网格单元为条件。每个网格单元我们只预测的一组类别概率,而不管边界框的的数量B是多少。


 在测试时,我们乘以条件类概率和单个盒子的置信度预测值:


b3b424c3cb7e4386881174cd3adfe473.png


 它为我们提供了每个框特定类别的置信度分数。这些分数编码了该类出现在框中的概率以及预测框拟合目标的程度。


 为了在PascalVOC上评估YOLO,我们使用S=7,B=2。PascalVOC有20个标注类,所以C=20。我们最终的预测是7×7×30的张量。


73dc3e473e974982a059a0c9fe51748e.png


2.1NetworkDesign网络设计


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


 我们的网络架构受到GoogLeNet图像分类模型的启发[34]。我们的网络有24个卷积层,后面是2个全连接层。我们只使用1×1降维层,后面是3×3卷积层,这与Lin等人[22]的模型结构类似,而不是GoogLeNet使用的Inception模块。完整的网络如图3所示。


3e86a4e86179422191c2b8433256e9de.png


 我们还训练了快速版本的YOLO,旨在挑战快速目标检测的界限。快速YOLO使用具有较少卷积层(9层而非24层)的神经网络,在这些层中使用较少的卷积核。除了网络规模之外,YOLO和快速YOLO的所有训练和测试参数都是相同的。

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


2.2Training训练


 我们在ImageNet1000类竞赛数据集[30]上预训练我们的卷积层。对于预训练,我们使用图3中的前20个卷积层,接着是平均池化层和全连接层。我们对这个网络进行了大约一周的训练,并且在ImageNet2012验证集上获得了单一裁剪图像88%的top-5准确率,与Caffe模型池中的GoogLeNet模型相当。我们使用Darknet框架进行所有的训练和推断[26]。


 然后我们转换模型来进行检测任务。Ren等人表明,预训练网络中增加卷积层和连接层可以提高性能[29]。按照他们的例子,我们添加了四个卷积层和两个全连接层,并且对权重进行随机初始化。检测通常需要细粒度的视觉信息,因此我们将网络的输入分辨率从224×224变为448×448。


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


我们对最后一层使用线性激活函数,所有其它层使用下面的leakyReLU激活函数:


45cd0302379a49e3885b80f6fc4577bc.png


 我们优化了模型输出的平方和误差。我们使用平方和误差是因为它很容易进行优化,但是它并不完全符合我们最大化平均精度的目标。分类误差与定位误差的权重是一样的,这可能并不理想。另外,在每张图像中,许多网格单元不包含任何对象。这将导致这些单元格的“置信度”分数为零,通常压倒了包含目标的单元格的梯度。这可能导致模型不稳定,从而导致训练过早发散。


 为了改善这一点,我们增加了边界框坐标预测的损失,并减少了不包含目标边界框的置信度预测的损失。我们使用两个参数λcoord和λnoobj来完成这个调整工作。我们设置λcoord=5和λnoobj=0.5。


 平方和误差也可以在大盒子和小盒子中同样加权误差。我们的误差指标应该反映出,大盒子中小偏差的重要性不如小盒子中小偏差的重要性。为了部分解决这个问题,我们直接预测边界框宽度和高度的平方根,而不是宽度和高度。


 YOLO每个网格单元预测多个边界框。在训练时,每个目标我们只需要一个边界框预测器来负责。我们根据哪个预测器的预测值与真实值之间具有当前最高的IOU来指定哪个预测器“负责”预测该目标。这导致边界框预测器之间的专一化。每个预测器可以更好地预测特定大小、长宽比或目标的类别,从而改善整体召回率。


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


c828972ad92f4b3b895083d9b40696bd.png


 其中1obji表示目标是否出现在网格单元i中,1objij表示网格单元i中的第j个边界框预测器“负责”该预测。


 注意,如果目标存在于该网格单元中(前面讨论的条件类别概率),则损失函数仅惩罚分类误差。如果预测器“负责”真实边界框(即该网格单元中具有最高IOU的预测器),则它也仅惩罚边界框坐标误差。


 我们在PascalVOC2007和2012的训练和验证数据集上进行了大约135个迭代周期的网络训练。在PascalVOC2012上进行测试时,我们的训练包含了PascalVOC2007的测试数据。在整个训练过程中,我们使用了64的批大小,0.9的动量和0.0005的衰减率。


 我们的学习率方案如下:对于第一个迭代周期,我们慢慢地将学习率从10−3提高到10−2。如果我们从高学习率开始,我们的模型往往会由于梯度不稳定而发散。我们继续以10−2的学习率训练75个迭代周期,然后用10−3的学习率训练30个迭代周期,最后用10−4的学习率训练30个迭代周期。


 为了避免过度拟合,我们使用dropout和大量的数据增强。在第一个连接层之后,dropout层使用rate=0.5的比例,防止层之间的互相适应[18]。对于数据增强,我们引入高达原始图像20%大小的随机缩放和转换。我们还在HSV色彩空间中使用高达1.5的因子来随机调整图像的曝光和饱和度。


2.3Inference推断


 与训练时一样,预测测试图像的检测只需要一次网络评估。在PascalVOC上,每张图像上网络预测98个边界框(译者注:每张图像被划分成7*7的格子,每个格子预测两个边界框,总共98个边界框)和每个框的类别概率。YOLO在测试时非常快,因为它只需要运行一次网络评估,不像基于分类器的方法。


 网格设计强化了边界框预测中的空间多样性。通常很明显一个目标落在哪一个网格单元中,而网络只能为每个目标预测一个边界框。然而,一些大的目标或靠近多个网格单元边界的目标可以被多个网格单元很好地定位。非极大值抑制(译者注:NMS)可以用来修正这些多重检测。对于R-CNN或DPM而言,虽然非极大值抑制对性能影响不大,但会增加2−3%的mAP。


2.4YOLO的缺点


 YOLO对边界框预测强加空间约束,因为每个网格单元只预测两个框,只能有一个类别。这个空间约束限制了我们的模型可以预测的邻近目标的数量。我们的模型对成群出现的小物体(比如鸟群)预测效果较差。


 由于我们的模型学习从数据中预测边界框,因此它很难泛化到新的、不常见的长宽比或配置中的目标。我们的模型也使用相对较粗糙的特征来预测边界框,因为我们的架构具有来自输入图像的多个下采样层。


 最后,当我们训练一个近似检测性能的损失函数时,我们的损失函数会同样的对待小边界框与大边界框的误差。大边界框的小误差通常是良性的,但小边界框的小误差对IOU的影响要大得多。我们的主要误差来源是定位误差。


3.ComparisontoOtherDetectionSystems与其它检测系统的比较


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


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

R-CNN.


 R-CNN及其变种使用regionproposals而不是滑动窗口来查找图像中的目标。SelectiveSearch[35]产生潜在的边界框、卷积网络提取特征、SVM对边界框进行评分、线性模型调整边界框、非极大值抑制消除重复检测。这个复杂流程的每个阶段都必须独立地进行精确调整,所得到的系统非常慢,测试时每张图像需要超过40秒[14]。


 YOLO与R-CNN有一些相似之处。每个网格单元提出潜在的边界框并使用卷积特征对这些框进行评分。但是,我们的系统对网格单元提出进行了空间限制,这有助于缓解对同一目标的多次检测。我们的系统还提出了更少的边界框,每张图像只有98个,而SelectiveSearch则需要2000个左右。最后,我们的系统将这些单独的组件组合成一个单一的、共同优化的模型。


 其它快速检测器。Fast和FasterR-CNN通过共享计算和使用神经网络替代SelectiveSearch来提出区域加速R-CNN框架[14][28]。虽然它们提供了比R-CNN更快的速度和更高的准确度,但两者仍然不能达到实时性能。


 许多研究工作集中在加快DPM流程上[31][38][5]。它们加速HOG计算,使用级联,并将计算推动到GPU上。但是,实际上DPM[31]实时运行只达到30Hz。


 YOLO不是试图优化大型检测流程的单个组件,而是完全抛弃流程,为提升检测速度而重新设计。


 像人脸或行人等单类别的检测器可以被高度优化,因为他们只需处理更少的多样性[37]。YOLO是一种通用的检测器,可以学习同时检测不同的多个目标。


 与R-CNN不同,Szegedy等人训练了一个卷积神经网络来预测感兴趣区域(ROI)[8],而不是使用SelectiveSearch。MultiBox还可以通过用单类别预测替换置信度预测来执行单目标检测。然而,MultiBox无法执行通用的目标检测,并且仍然只是一个较大的检测流程中的一部分,需要进一步的对图像块进行分类。YOLO和MultiBox都使用卷积网络来预测图像中的边界框,但是YOLO是一个完整的检测系统。


 OverFeat。Sermanet等人训练了一个卷积神经网络来完成定位工作,并使该定位器进行检测[32]。OverFeat高效地执行滑动窗口检测,但它仍然是一个不相交的系统。OverFeat优化了定位,而不是检测性能。像DPM一样,定位器在进行预测时只能看到局部信息。OverFeat不能推断全局上下文,因此需要大量的后处理来完成连贯的检测。


 MultiGrasp。我们的工作在设计上类似于Redmon等[27]的grasp检测。我们对边界框预测的网格方法是基于MultiGrasp系统grasp的回归分析。然而,grasp检测比目标检测任务要简单得多。MultiGrasp只需要为包含一个目标的图像预测一个可以grasp的区域。不必估计目标的大小、位置或目标边界或预测目标的类别,只需找到适合grasp的区域。YOLO可以预测图像中多个类别的多个目标的边界框和类别概率。


4.实验


 首先,我们在PASCALVOC2007上比较了YOLO和其它的实时检测系统。为了理解YOLO和R-CNN变种之间的差异,我们探索了YOLO和R-CNN性能最高的版本之一FastR-CNN[14]在VOC2007上错误率。根据不同的误差曲线,我们的研究显示YOLO可以用来重新评估FastR-CNN检测,并减少背景假阳性带来的误差,从而显著提升性能。我们还展示了在VOC2012上的结果,并与目前最先进的方法比较了mAP。最后,在两个艺术品数据集上我们显示了YOLO可以比其它检测器更好地泛化到新领域。


4.1与其它实时系统的比较


 目标检测方面的许多研究工作都集中在对标准检测流程[5],[38],[31],[14],[17],[28]提升速度上。然而,只有Sadeghi等真正研究出了一个实时运行的检测系统(每秒30帧或更好)[31]。我们将YOLO与他们DPM的GPU实现进行了比较,其在30Hz或100Hz下运行。虽然其它的研究工作没有达到实时检测的标准,我们也比较了它们的相对mAP和速度来检查目标检测系统中精度—性能之间的权衡。


 快速YOLO是PASCAL上最快的目标检测方法;据我们所知,它是现有的最快的目标检测器。具有52.7%的mAP,其精度是前人实时检测精度的两倍以上。YOLO将mAP提升到63.4%的同时保持了实时检测的性能。


 我们还使用VGG-16训练了YOLO。(译者注:YOLO使用了作者自己开发的DarkNet模型为baseline)这个模型比YOLO更准确,但速度慢得多。这个模型可以用来与依赖于VGG-16的其它检测系统作比较,但由于它比实时的YOLO更慢,本文的剩余部分将重点放在我们更快的模型上。


 FastestDPM可以在不牺牲太多mAP的情况下有效地加速DPM,但仍然会将实时性能降低2倍[38]。与神经网络方法相比,DPM相对较低的检测精度也是其限制。


 减去R的R-CNN用静态边界框proposals取代SelectiveSearch[20]。虽然速度比R-CNN更快,但仍然达不到实时,并且由于没有好的边界框proposals,准确性受到了严重影响。


 FastR-CNN加快了R-CNN的分类阶段,但是仍然依赖selectivesearch,每张图像需要花费大约2秒来生成边界框proposals。因此,它具有很高的mAP,但是0.5fps的速度仍离实时性很远。


 最近FasterR-CNN用神经网络替代了selectivesearch来提出边界框,类似于Szegedy等[8]。在我们的测试中,他们最精确的模型达到了7fps,而较小的、不太精确的模型运行速度达到18fps。VGG-16版本的FasterR-CNN要高出10mAP,但速度比YOLO慢6倍。ZeilerFergus的FasterR-CNN只比YOLO慢了2.5倍,但也不太准确。


f02390488f1b41a19c707eb74ec4a463.png


dbb4988f6af04f24a6241760c4de2341.png


4.2VOC2007ErrorAnalysisVOC2007检测误差分析


 为了进一步检查YOLO和最先进的检测器之间的差异,我们详细分析了VOC2007的结果。我们将YOLO与FastR-CNN进行比较,因为FastR-CNN是PASCAL上性能最高的检测器之一并且它的检测代码是可公开得到的。


 我们使用Hoiem等人[19]的方法和工具。对于测试时的每个类别,我们只关注这个类别的前N个预测。每个预测要么归为正确,要么根据错误类型进行归类:


-Correct:分类正确且IOU>0.5。

-Localization:分类正确但0.1<IOU<0.5。

-Other:类别错误,IOU>0.1。

-Background:分类为其它任何目标。


 图4显示了在所有的20个类别上每种错误类型平均值的分解图。


e96b9b42dbb1409498d7019e728a6eaa.png


 YOLO需要改善正确定位目标。定位误差占YOLO模型误差的大多数,比其它误差错误来源总合都多。FastR-CNN定位误差少很多,但背景误差更多。它的检测结果中13.6%是不包含任何目标的假阳性。FastR-CNN与YOLO相比,将背景预测成目标的可能性高出近3倍。(根据图4,13.6/4.75=2.86)


4.3结合FastR-CNN和YOLO


 YOLO比FastR-CNN的背景误检要少得多。通过使用YOLO消除FastR-CNN的背景检测,我们获得了显著的性能提升。对于RCNN预测的每个边界框,我们检查YOLO是否预测一个类似的框。如果是这样,我们根据YOLO预测的概率和两个盒子之间的重叠来对这个预测进行改进。


 最好的FastR-CNN模型在VOC2007测试集上达到了71.8%的mAP。当与YOLO结合时,其mAP增加了3.2%达到了75.0%。我们也尝试将最好的FastR-CNN模型与其它几个版本的FastR-CNN结合起来。这些模型组合产生了0.3-0.6%的小幅增加,详见表2。


488dd89ee99b40898b10e393f3f2955c.png


 来自YOLO的提升不仅仅是模型集成的副产品,因为组合不同版本的FastR-CNN几乎没有什么改进。相反,正是因为YOLO在测试时出现了各种各样的误差,所以在提高FastR-CNN的性能方面非常有效。


 遗憾的是,这个组合并没有从YOLO的速度中受益,因为我们分别运行每个模型,然后将结果组合起来。但是,由于YOLO速度如此之快,与FastR-CNN相比,不会增加任何显著的计算时间。


4.4VOC2012上的结果


 在VOC2012测试集上,YOLO获得了57.9%的mAP。这低于现有的最好技术,如表3所示其接近于使用VGG-16的原始R-CNN。我们的系统与其最接近的竞争对手相比,需要改善在小目标上的检测。在水瓶、绵羊和电视/显示器等类别上,YOLO的得分比R-CNN或FeatureEdit低8−10%。然而,在猫和火车等其它类别上YOLO实现了更高的性能。


3175d85d29c84baf878dc27303eb0bb5.png


 我们联合的FastR-CNN+YOLO模型是性能最高的检测方法之一。FastR-CNN从与YOLO的组合中获得了2.3%的提高,在公开排行榜上提升了5位。


4.5泛化能力:艺术品中的行人检测


 用于目标检测的学术数据集以相同分布获取训练和测试数据。在现实世界的应用中,很难预测所有可能的样本,而且测试数据可能与系统之前看到的不同[3]。(译者注:也就是说测试数据与模型训练的数据可能在风格、模式、目标表现形式等方面有很大的区别,例如模型训练时的数据是用相机拍摄的图像,而测试时用油画作品图像,此时由于油画作品比较抽象,模型就可能无法很好地识别其中的目标)我们在Picasso数据集上[12]和People-Art数据集[3]上将YOLO与其它的检测系统进行比较,这两个数据集常用于测试艺术品中的行人检测。


 图5所示为YOLO和其它检测方法之间性能比较的结果。作为参考,我们在person上提供VOC2007的检测AP,其中所有模型仅在VOC2007数据上训练。在Picasso数据集上测试的模型使用VOC2012进行了训练,而People-Art数据集测试的模型使用VOC2010进行了训练。


267326429a95419fb3f7c1173da43f6c.png


R-CNN在VOC2007上的AP较高。然而,当应用于艺术品时,R-CNN明  显性能下降。R-CNN使用SelectiveSearch来调整自然图像的边界框proposals。R-CNN中的分类器步骤只能看到小区域,并且需要很好的边界框proposals。


 DPM在应用于艺术品时保持了其AP。之前的工作认为DPM表现良好,因为它具有目标形状和布局的强大空间模型。虽然DPM不会像R-CNN那样AP下降很厉害,但它的AP一开始就较低(DPMAP本来就低,已经没有下降空间了,哈哈哈)。


 YOLO在VOC2007上有很好的性能,在应用于艺术品时其AP下降幅度低于其它方法。像DPM一样,YOLO建模了目标的大小和形状以及目标和目标通常出现的位置之间的关系。艺术品和自然图像在像素级别上有很大不同,但是它们在目标的大小和形状方面是相似的,因此YOLO仍然可以预测好的边界框和检测结果。


1dd6179f84cb4c0fb66ac99a646b4aae.png


5.现实环境下的实时检测


 YOLO是一种快速、精确的目标检测器,非常适合计算机视觉应用。我们将YOLO连接到网络摄像头,并验证它是否能保持实时性能,包括从摄像头获取图像并显示检测结果的时间。


 最终的系统是交互式的并且是参与式的。虽然YOLO单独地处理图像,但当连接到网络摄像头时,其功能类似于跟踪系统,可在目标移动和外观变化时检测目标。系统演示和源代码可以在我们的项目网站上找到:http://pjreddie.com/yolo/

6.结论


 我们介绍了YOLO,一种统一的目标检测模型。我们的模型构建简单,可以直接在整张图像上进行训练。与基于分类器的方法不同,YOLO直接在对应检测性能的损失函数上训练,并且整个模型统一训练。


 快速YOLO是文献中最快的通用目的的目标检测器,YOLO推动了实时目标检测的最新技术。YOLO还很好地泛化到新领域,使其成为要求快速、强大目标检测应用的理想选择。

目录
相关文章
|
6月前
|
机器学习/深度学习 监控 算法
YoloV(You Only Look Once)是一种基于深度学习的目标检测算法
YoloV(You Only Look Once)是一种基于深度学习的目标检测算法
|
8月前
|
机器学习/深度学习 传感器 人工智能
【仪酷LabVIEW目标检测插件】手把手教你在LabVIEW中使用深度学习实现产品检测(上)
【仪酷LabVIEW目标检测插件】手把手教你在LabVIEW中使用深度学习实现产品检测(上)
268 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-2
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
99 0
|
2月前
|
机器学习/深度学习 Ubuntu Linux
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)-1
计算机视觉+深度学习+机器学习+opencv+目标检测跟踪+一站式学习(代码+视频+PPT)
56 1
|
4月前
|
机器学习/深度学习 人工智能 PyTorch
《人工智能专栏》专栏介绍 & 专栏目录 & Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程
《人工智能专栏》专栏介绍 & 专栏目录 & Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程
109 1
|
5月前
|
机器学习/深度学习 算法 计算机视觉
旋转目标检测【1】如何设计深度学习模型
平常的目标检测是平行的矩形框,“方方正正”的;但对于一些特殊场景(遥感),需要倾斜的框,才能更好贴近物体,旋转目标检测来啦~
236 0
|
9月前
|
机器学习/深度学习 计算机视觉
【计算机视觉 | 目标检测】Open-Vocabulary Object Detection Using Captions
出发点是制定一种更加通用的目标检测问题,目的是借助于大量的image-caption数据来覆盖更多的object concept,使得object detection不再受限于带标注数据的少数类别,从而实现更加泛化的object detection,识别出更多novel的物体类别。
|
9月前
|
机器学习/深度学习 算法 计算机视觉
【计算机视觉 | 目标检测】Open-vocabulary Object Detection via Vision and Language Knowledge Distillation
在这项工作中,我们考虑借用预训练的开放词汇分类模型中的知识来实现open vocabulary检测。
|
9月前
|
算法 计算机视觉
|
10月前
|
机器学习/深度学习 人工智能 资源调度
深度学习应用篇-计算机视觉-目标检测[4]:综述、边界框bounding box、锚框(Anchor box)、交并比、非极大值抑制NMS、SoftNMS
深度学习应用篇-计算机视觉-目标检测[4]:综述、边界框bounding box、锚框(Anchor box)、交并比、非极大值抑制NMS、SoftNMS
深度学习应用篇-计算机视觉-目标检测[4]:综述、边界框bounding box、锚框(Anchor box)、交并比、非极大值抑制NMS、SoftNMS