第七章:YOLO v2网络详解

news2024/11/14 15:36:48

 (目标检测篇)系列文章目录


第一章:R-CNN网络详解

第二章:Fast R-CNN网络详解

第三章:Faster R-CNN网络详解

第四章:SSD网络详解

第五章:Mask R-CNN网络详解

第六章:YOLO v1网络详解

第七章:YOLO v2网络详解

第八章:YOLO v3网络详解

文章目录

  • 系列文章目录
  • 技术干货集锦
  • 前言
  • 一、摘要
  • 二、正文分析
    • 1.引入库
    • 2.读入数据
  • 总结


技术干货集锦

0.摘要

1.前言

人类一眼扫过一张图像,立即知道图像中有哪些物体,它们在哪里以及它们如何交互。人类视觉系统快速而准确,使我们能够在几乎没有意识思考的情况下执行复杂任务,如驾驶。快速而准确的目标检测算法将使计算机能够在没有专用传感器的情况下驾驶汽车,使辅助设备能够向人类用户传递实时场景信息,并释放出通用响应式机器人系统的潜力。目前的检测系统将分类器重新用于检测。为了检测一个物体,这些系统在测试图像的各个位置和尺度上评估该物体的分类器。像可变部件模型(DPM)这样的系统使用滑动窗口方法,在整个图像上均匀间隔地运行分类器。更近期的方法,如R-CNN,使用区域提议方法首先在图像中生成潜在的边界框,然后在这些提议的框上运行分类器。分类后,使用后处理来精细调整边界框,消除重复检测,并根据场景中的其他物体对框进行重新评分。这些复杂的流程管道速度较慢且难以优化,因为每个组件必须单独进行训练。我们将目标检测重新定义为一个单一的回归问题,直接从图像像素到边界框坐标和类别概率。使用我们的系统,您只需一次看图(YOLO)就可以预测出图像中存在哪些物体以及它们在哪里。

YOLO的简洁性令人耳目一新,如图1所示。一个单一的卷积网络同时预测多个边界框和这些框的类别概率。YOLO在完整的图像上进行训练,并直接优化检测性能。与传统的目标检测方法相比,这种统一的模型有几个优点。首先,YOLO非常快速。由于我们将检测视为一个回归问题,所以我们不需要复杂的流程。我们只需在测试时在新的图像上运行我们的神经网络以预测检测结果。我们的基础网络在Titan X GPU上以每秒45帧的速度运行,而快速版本则以超过150帧的速度运行。这意味着我们可以实时处理流媒体视频,并且延迟低于25毫秒。此外,YOLO的平均精度比其他实时系统高出两倍以上。如需查看我们的系统在网络摄像头上实时运行的演示,请访问我们的项目网页:http://pjreddie.com/yolo/。

其次,YOLO在进行预测时全局考虑图像。与滑动窗口和基于区域提议的技术不同,YOLO在训练和测试时都能看到整个图像,因此它隐含地编码了关于类别以及它们的外观的上下文信息。快速R-CNN是一种顶级的检测方法[14],但它在图像中将背景区域误认为物体,因为它无法看到更大的上下文信息。与快速R-CNN相比,YOLO的背景错误数量少了一半以上。第三,YOLO学习到了物体的可泛化表示。当在自然图像上进行训练并在艺术作品上进行测试时,YOLO大大优于DPM和R-CNN等顶级检测方法。由于YOLO具有高度的可泛化性,当应用于新的领域或意外的输入时,它不太容易崩溃。尽管YOLO能够快速识别图像中的物体,但在精确定位一些物体,特别是小物体时存在困难。我们在实验中进一步研究了这些权衡。我们的所有训练和测试代码都是开源的,还提供了各种预训练模型供下载使用。

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

2.正文分析

2.统一检测

我们将目标检测的各个组件统一到一个单一的神经网络中。我们的网络利用整个图像的特征来预测每个边界框。它还同时预测图像中所有类别的所有边界框。这意味着我们的网络在全局范围内推理整个图像和图像中的所有对象。YOLO的设计能够实现端到端的训练和实时速度,同时保持高平均精度。我们的系统将输入图像分割成一个 S×S 的网格。如果一个物体的中心落在某个网格单元中,该网格单元就负责检测该物体。每个网格单元预测 B 个边界框和这些边界框的置信度分数。这些置信度分数反映了模型对该框包含物体的自信程度,以及对于所预测的框的准确性的评估。形式上,我们将置信度定义为 Pr(Object) * IOU_truth_pred。如果该单元格中不存在物体,则置信度分数应为零。否则,我们希望置信度分数等于预测框与真实框之间的交并比(IOU)。每个边界框由 5 个预测组成:x、y、w、h 和置信度。其中的 (x, y) 坐标表示边界框的中心相对于网格单元边界的位置。宽度和高度相对于整个图像进行预测。最后,置信度预测表示预测框与任何真实框之间的 IOU。

每个网格单元还预测了 C 个条件类别概率,Pr(Class_i|Object)。这些概率是基于网格单元包含一个物体的条件下进行预测的。我们只预测包含目标的网格单元的类别概率。在PASCAL VOC数据集上评估YOLO时,我们使用 S=7,B=2。PASCAL VOC数据集有20个标记类别,因此 C=20。我们最终的预测是一个 7×7×30 的张量。

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

2.1 网络设计

我们将这个模型实现为一个卷积神经网络,并在PASCAL VOC检测数据集[9]上进行评估。网络的初始卷积层从图像中提取特征,而全连接层预测输出的概率和坐标。我们的网络架构受到了GoogLeNet图像分类模型[34]的启发。我们的网络有24个卷积层,后面跟着2个全连接层。我们不使用GoogLeNet中的inception模块,而是使用1×1的降维层,然后是3×3的卷积层,与Lin等人[22]的方法类似。完整的网络结构如图3所示。我们还训练了一个快速版本的YOLO,旨在推动快速目标检测的界限。快速YOLO使用了一个卷积层数较少的神经网络(9个卷积层而不是24个),并且在这些层中使用较少的过滤器。除了网络的大小外,YOLO和快速YOLO之间的所有训练和测试参数都是相同的。我们网络的最终输出是一个7×7×30的预测张量。

图3:架构。我们的检测网络有24个卷积层,后面跟着2个全连接层。交替的1×1卷积层将特征空间从前面的层中减小。我们在ImageNet分类任务上对卷积层进行半分辨率(224×224输入图像)的预训练,然后将分辨率加倍用于检测。

2.2. 训练

我们在ImageNet 1000类比赛数据集上预训练卷积层[30]。在预训练中,我们使用图3中的前20个卷积层,接着是一个平均池化层和一个全连接层。我们训练这个网络大约一周,在ImageNet 2012验证集上实现了88%的单次裁剪Top-5准确率,与Caffe模型库中的GoogLeNet模型相当[24]。我们使用Darknet框架进行所有的训练和推理[26]。然后,我们将模型转换为执行目标检测。Ren等人表明,将卷积层和全连接层都加入预训练的网络中可以提高性能[29]。在他们的示例中,我们添加了四个卷积层和两个全连接层,并随机初始化权重。由于目标检测通常需要细粒度的视觉信息,所以我们将网络的输入分辨率从224×224增加到448×448。我们的最后一层同时预测类别概率和边界框坐标。我们通过图像的宽度和高度对边界框的宽度和高度进行归一化,使其在0和1之间。我们将边界框的x和y坐标参数化为相对于特定网格单元位置的偏移量,因此它们也被限制在0和1之间。

我们在最后一层使用线性激活函数,而其他层使用下面的带泄漏的修正线性激活函数:φ(x) = (x, 0.1x), 如果 x > 0;否则,φ(x) = x (2)。我们优化模型输出的平方和误差。我们使用平方和误差是因为它易于优化,但它并不完全符合我们最大化平均精度的目标。它将定位误差与分类误差等权重考虑,这可能并不理想。此外,每个图像中许多网格单元不包含任何物体。这会将这些单元格的“置信度”分数推向零,通常会压制那些包含物体的单元格的梯度。这可能导致模型不稳定,导致训练过早发散。为了解决这个问题,我们增加了边界框坐标预测的损失,并减少了不包含物体的置信度预测的损失。我们使用两个参数λ_coord和λ_noobj来实现这一点。我们设置λ_coord = 5和λ_noobj = 0.5。平方和误差还等权重地考虑了大框和小框的误差。我们的误差度量应该反映出大框中的小偏差比小框中的小偏差重要性较低。为了部分解决这个问题,我们预测边界框的宽度和高度的平方根,而不是直接预测宽度和高度。

YOLO在每个网格单元预测多个边界框。在训练时,我们希望每个物体只有一个边界框预测器负责。我们根据当前与真实值的IOU最高的预测来指定一个预测器负责预测一个物体。这导致了边界框预测器之间的专业化。每个预测器在预测特定大小、纵横比或类别的物体方面变得更好,从而提高整体召回率。在训练过程中,我们优化以下多部分损失函数: λcoord * S^2 * Σi=0 * Σj=0 * 1obj_ij * (1obj_ij * (h(x_i - x^_i)^2 + (y_i - y^_i)^2) + λcoord * S^2 * Σi=0 * Σj=0 * 1obj_ij * 1obj_ij * ((pw_i - pw^_i)^2 + (ph_i - ph^_i)^2) + S^2 * Σi=0 * Σj=0 * 1obj_ij * 1obj_ij * (C_i - C^_i)^2 + λnoobj * S^2 * Σi=0 * Σj=0 * 1noobj_ij * 1noobj_ij * (C_i - C^_i)^2 + S^2 * Σi=0 * Σj=0 * 1obj_i * 1obj_i * Σc^2 * (p_i(c) - p^_i(c))^2 (3) 其中,1obj_i表示网格单元i中是否存在物体,1obj_ij表示网格单元i中的第j个边界框预测器是否“负责”该预测。请注意,损失函数仅在该网格单元中存在物体时惩罚分类错误(因此前面讨论的条件类概率)。如果该预测器负责地面真实框(即在该网格单元中具有最高的IOU),则它也只会惩罚边界框坐标误差。我们在PASCAL VOC 2007和2012的训练和验证数据集上训练网络约135个周期。在2012年的测试中,我们还包括VOC 2007的测试数据进行训练。在整个训练过程中,我们使用批大小为64,动量为0.9,衰减为0.0005。我们的学习率调度如下:在前几个周期中,我们缓慢地将学习率从10^-3提高到10^-2。如果我们从一个较高的学习率开始,由于不稳定的梯度,我们的模型经常发散。我们继续以10^-2进行75个周期的训练,然后以10^-3进行30个周期的训练,最后以10^-4进行30个周期的训练。为了避免过拟合,我们使用了dropout和广泛的数据增强。在第一个连接层之后,使用dropout层(rate = 0.5)防止层之间的共适应。对于数据增强,我们随机缩放和平移原始图像大小的最多20%。我们还在HSV颜色空间中随机调整图像的曝光和饱和度,最多增加1.5倍。

2.3.推理 与训练时一样,对于测试图像的检测预测只需要进行一次网络评估。在PASCAL VOC上,网络对每个图像预测98个边界框和每个框的类别概率。由于YOLO只需要进行一次网络评估,因此在测试时非常快速,而不像基于分类器的方法那样。网格设计在边界框预测中强制实施空间多样性。通常,我们清楚地知道物体位于哪个网格单元,并且网络只为每个物体预测一个边界框。然而,一些大型物体或接近多个单元格边界的物体可以被多个单元格很好地定位。可以使用非极大抑制来修复这些多个检测结果。虽然非极大抑制对于性能来说并不是关键,但可以提高2-3%的mAP。 2.4.YOLO的局限性 YOLO对边界框预测施加了强烈的空间约束,因为每个网格单元只预测两个边界框,并且只能有一个类别。这种空间约束限制了模型可以预测的附近物体的数量。我们的模型在出现成群的小物体(例如一群鸟)时表现不佳。由于我们的模型从数据中学习预测边界框,因此在新的或不寻常的长宽比或配置的物体上很难进行泛化。由于我们的架构从输入图像中具有多个下采样层,因此我们的模型使用相对粗糙的特征来预测边界框。最后,虽然我们在一个近似检测性能的损失函数上进行训练,但我们的损失函数在小边界框和大边界框中对错误的处理是相同的。大边界框中的小错误通常是无害的,但小边界框中的小错误对IOU有更大的影响。我们主要的错误来源是错误的定位。

3.与其他检测系统的比较

目标检测是计算机视觉中的一个核心问题。检测管道通常从输入图像中提取一组稳健的特征(如Haar [25]、SIFT [23]、HOG [4]、卷积特征 [6])。然后,使用分类器 [36,21,13,10]或定位器 [1,32]在特征空间中识别对象。这些分类器或定位器可以在整个图像上以滑动窗口的方式运行,也可以在图像的某些区域子集上运行 [35,15,39]。我们将YOLO检测系统与几个顶级检测框架进行比较,突出显示关键的相似性和差异。 可变形部件模型(Deformable parts models, DPM)。可变形部件模型使用滑动窗口方法进行目标检测 [10]。DPM使用一个不连续的管道来提取静态特征、对区域进行分类、预测高分区域的边界框等。我们的系统用一个卷积神经网络取代了所有这些不连续的部分。该网络同时进行特征提取、边界框预测、非极大抑制和上下文推理。网络训练特征并为检测任务进行优化,而不是使用静态特征。我们的统一架构比DPM更快、更准确。 R-CNN。R-CNN及其变种使用区域建议而不是滑动窗口在图像中找到对象。Selective Search [35]生成潜在的边界框,卷积网络提取特征,SVM评分边界框,线性模型调整边界框,非极大抑制消除重复检测。该复杂管道的每个阶段都必须独立精确地调整,结果系统非常慢,在测试时每张图像需要超过40秒 [14]。

YOLO与R-CNN有一些相似之处。每个网格单元都提出了潜在的边界框,并使用卷积特征对这些边界框进行评分。然而,我们的系统对网格单元的提案进行了空间约束,有助于减少对同一对象的多次检测。相比之下,我们的系统提出的边界框要少得多,每张图像只有98个,而Selective Search大约有2000个。最后,我们的系统将这些个别组件合并成一个单一的、联合优化的模型。 其他快速检测器 Fast和Faster R-CNN专注于通过共享计算和使用神经网络来提供区域建议,以加速R-CNN框架,而不是使用Selective Search [14] [28]。虽然它们在速度和准确性方面比R-CNN有所改进,但仍然无法实现实时性能。许多研究工作集中于加速DPM管道 [31] [38] [5]。它们加速了HOG计算,使用级联,并将计算推向GPU。然而,只有30Hz的DPM [31]实际上是实时运行的。与试图优化大型检测管道的各个组件不同,YOLO完全放弃了管道的设计,通过设计快速。对于单个类别(如人脸或人物)的检测器可以高度优化,因为它们需要处理的变化要少得多 [37]。YOLO是一个通用的检测器,可以同时学习检测多种对象。Deep MultiBox.与R-CNN不同,Szegedy等人使用卷积神经网络来预测感兴趣区域,而不使用Selective Search。MultiBox还可以通过用单个类别预测替换置信度预测来执行单个对象检测。然而,MultiBox无法执行一般的对象检测,仍然只是一个更大检测管道中的一部分,需要进一步的图像补丁分类。YOLO和MultiBox都使用卷积网络来预测图像中的边界框,但YOLO是一个完整的检测系统。OverFeat.Sermanet等人训练了一个卷积神经网络来进行定位,并对该定位器进行适应以执行检测。OverFeat有效地执行滑动窗口检测,但它仍然是一个不连续的系统。OverFeat优化的是定位而不是检测性能。与DPM类似,定位器在进行预测时只看到局部信息。OverFeat无法推理全局上下文,因此需要进行大量的后处理才能产生连贯的检测结果。MultiGrasp.我们的工作在设计上与Redmon等人关于抓握检测的工作类似。我们基于MultiGrasp系统进行边界框预测的网格方法是基于对抓握进行回归的。然而,抓握检测比目标检测要简单得多。MultiGrasp只需要为包含一个对象的图像预测一个可抓握区域。它不需要估计对象的大小、位置或边界,也不需要预测其类别,只需要找到一个适合抓握的区域。而YOLO会为图像中的多个类别预测边界框和类别概率。

4.实验

首先,我们将YOLO与其他实时检测系统在PASCAL VOC 2007数据集上进行比较。为了了解YOLO和R-CNN变体之间的差异,我们研究了YOLO和Fast R-CNN在VOC 2007上的错误。Fast R-CNN是R-CNN的最高性能版本之一[14]。根据不同的错误模式,我们展示了YOLO可以用于重新评分Fast R-CNN的检测结果,从而减少背景误报的错误,显著提高性能。我们还展示了在VOC 2012数据集上的结果,并将mAP与当前最先进的方法进行了比较。最后,我们展示了在两个艺术品数据集上,YOLO在新领域的泛化能力优于其他检测器。

4.1 与其他实时系统的比较

许多目标检测的研究工作都专注于使标准的检测流程更快速。然而,只有Sadeghi等人实际上制作了一个实时运行的检测系统(每秒30帧或更快)[31]。我们将YOLO与他们基于GPU的DPM实现进行了比较,DPM可以以30Hz或100Hz的速度运行。虽然其他研究努力没有达到实时的里程碑,但我们还是比较了它们的相对mAP和速度,以检查目标检测系统中可用的准确性和性能之间的折衷。Fast YOLO是在PASCAL数据集上最快的目标检测方法;据我们所知,它是目前最快的现有目标检测器。它的mAP为52.7%,比之前的实时检测方法准确性提高了一倍以上。YOLO将mAP提升到了63.4%,同时仍保持实时性能。我们还使用VGG-16训练了YOLO。这个模型更准确,但速度比YOLO明显慢。它对于与依赖VGG-16的其他检测系统进行比较是有用的,但由于速度比实时慢,本文的其余部分关注我们更快的模型。Fastest DPM有效地加速了DPM,而几乎不损失mAP,但它仍然比实时性能差了一倍。与神经网络方法相比,它也受限于DPM在检测上的相对低准确性。R-CNN减去R将选择性搜索替换为静态边界框提议。虽然它比R-CNN快得多,但仍然无法达到实时,并且由于没有良好的提议,准确性受到了重大影响。Fast R-CNN加速了R-CNN的分类阶段,但仍然依赖于选择性搜索,每个图像生成边界框提议可能需要约2秒的时间。因此,它具有较高的mAP,但以0.5 fps的速度仍然远离实时。最近的Faster R-CNN用神经网络替换了选择性搜索来提出边界框,类似于Szegedy等人的方法。在我们的测试中,他们最准确的模型以7 fps运行,而一个更小、不太准确的模型则以18 fps运行。Faster R-CNN的VGG-16版本比YOLO高出10个mAP,但也比YOLO慢6倍。Zeiler Fergus Faster R-CNN比YOLO慢2.5倍,但准确性也较低。

 (表1:PASCAL VOC 2007上的实时系统。比较快速检测器的性能和速度。Fast YOLO是PASCAL VOC检测中速度最快的检测器,而且比任何其他实时检测器的准确度提高了一倍。相比快速版本,YOLO的准确度提高了10个mAP,同时速度仍然远超实时)

 图4:错误分析:Fast R-CNN vs. YOLO 这些图表显示了各个类别中前N个检测结果中定位错误和背景错误的百分比(N =该类别中的目标数量)。

4.2 VOC 2007错误分析

为了进一步研究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展示了每种错误类型在所有20个类别上的平均分布。YOLO在正确定位对象方面存在困难。定位错误占据了YOLO错误的大部分比例,超过了其他所有来源的错误之和。Fast R-CNN的定位错误要少得多,但背景错误要多得多。它的前N个检测结果中有13.6%是虚警,不包含任何物体。Fast R-CNN预测背景检测的可能性几乎是YOLO的3倍。

4.3 Fast R-CNN和YOLO的结合

YOLO比Fast R-CNN少犯背景错误。通过使用YOLO来排除掉Fast R-CNN的背景检测,我们在性能上得到了显著提升。对于R-CNN预测的每个边界框,我们检查是否有类似的边界框被YOLO预测出来。如果有,我们根据YOLO预测的概率和两个边界框之间的重叠,增强该预测结果。最好的Fast R-CNN模型在VOC 2007测试集上的mAP为71.8%。与YOLO结合后,其mAP增加了3.2%,达到了75.0%。我们还尝试将顶级Fast R-CNN模型与其他几个版本的Fast R-CNN结合。这些集合在mAP上只有0.3%到0.6%的小幅增加,详见表2。来自YOLO的增益不仅仅是模型集成的副产品,因为组合不同版本的Fast R-CNN几乎没有好处。相反,正是因为YOLO在测试时犯了不同类型的错误,所以它对于提升Fast R-CNN的性能非常有效。不幸的是,这种组合并没有从YOLO的速度中受益,因为我们分别运行每个模型,然后将结果合并。然而,由于YOLO速度非常快,与Fast R-CNN相比,它不会增加任何显著的计算时间。

 表2:VOC 2007上的模型组合实验。我们研究了将各种模型与最佳版本的Fast R-CNN结合的效果。其他版本的Fast R-CNN只提供了很小的好处,而YOLO则显著提升了性能

 表3:PASCAL VOC 2012排行榜。截至2015年11月6日,将YOLO与完整的comp4(允许使用外部数据)的公共排行榜进行比较。对于各种检测方法,显示了平均精度和每个类别的平均精度。YOLO是唯一的实时检测器。Fast R-CNN + YOLO是第四高得分的方法,比Fast R-CNN提高了2.3%。

4.4.VOC 2012结果

在VOC 2012测试集上,YOLO的平均精度为57.9%。这低于当前的最先进方法,更接近使用VGG-16的原始R-CNN,详见表3。与竞争对手相比,我们的系统在处理小物体时存在困难。在瓶子、羊和电视/监视器等类别中,YOLO的得分比R-CNN或Feature Edit低8-10%。然而,在猫和火车等其他类别中,YOLO取得了更高的性能。我们结合的Fast R-CNN + YOLO模型是最高性能的检测方法之一。Fast R-CNN通过与YOLO的组合获得了2.3%的改进,在公共排行榜上提升了5个名次。 4.5.泛化性:艺术品中的人物检测 学术界针对目标检测的数据集通常从相同的分布中提取训练和测试数据。在实际应用中,很难预测所有可能的使用情况,测试数据可能与系统之前见过的数据有所不同。我们将YOLO与其他检测系统在Picasso数据集和People-Art数据集上进行比较,这两个数据集用于测试艺术品中的人物检测。图5显示了YOLO和其他检测方法之间的比较性能。为了参考,我们给出了在只使用VOC 2007数据进行训练的情况下,人物在VOC 2007上的检测平均精度。在Picasso数据集上,模型是在VOC 2012上训练的,而在People-Art数据集上,模型是在VOC 2010上训练的。R-CNN在VOC 2007上的平均精度很高。然而,当应用于艺术品时,R-CNN的性能明显下降。R-CNN使用选择性搜索来生成边界框提议,这对于自然图像进行了调优。R-CNN中的分类器仅看到小区域,并需要良好的提议。DPM在应用于艺术品时能够保持较高的平均精度。先前的研究推测DPM表现良好是因为它具有强大的空间模型来描述对象的形状和布局。尽管DPM的性能没有像R-CNN那样明显下降,但它的平均精度起点较低。YOLO在VOC 2007上表现良好,并且当应用于艺术品时,其平均精度下降的幅度较小。与DPM类似,YOLO建模了对象的大小和形状,以及对象之间的关系和常见出现位置。虽然艺术品和自然图像在像素级别上非常不同,但在对象的大小和形状方面它们相似,因此YOLO仍然能够预测出良好的边界框和检测结果。

5.野外实时检测

YOLO是一个快速、准确的目标检测器,非常适合计算机视觉应用。我们将YOLO连接到网络摄像头上,并验证其保持实时性能,包括从摄像头获取图像和显示检测结果所需的时间。结果系统具有交互性和吸引力。虽然YOLO对图像进行单独处理,但连接到网络摄像头时,它就像一个跟踪系统,可以检测物体的运动和外观变化。我们的项目网站上提供了该系统的演示和源代码:http://pjreddie.com/yolo/。

 图5:对Picasso和People-Art数据集的泛化结果。

 图6:定性结果。YOLO在样本艺术品和来自互联网的自然图像上运行。虽然它将一个人误认为是飞机,但大部分结果是准确的。

总结

6.结论

我们介绍了YOLO,一种用于目标检测的统一模型。我们的模型构建简单,可以直接在完整图像上进行训练。与基于分类器的方法不同,YOLO是在与检测性能直接对应的损失函数上进行训练,并且整个模型是联合训练的。在文献中,快速YOLO是最快的通用目标检测器,而YOLO推动了实时目标检测的最新技术。YOLO也能很好地泛化到新的领域,使其成为依赖于快速、稳健目标检测的应用的理想选择。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/729324.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PYQT QWidget的方法介绍

https://img-blog.csdnimg.cn/bae4318f1a9342ff85c9e7d27652cf91.png

uniapp打包app,对接华为厂商,实现unipush离线消息推送

今天终于可以抽出点时间&#xff0c;来记录一下这几天心塞的心情。上周公司派过来一个活&#xff0c;说是使用uniapp制作一个app&#xff0c;同时要实现在线消息推送和离线消息推送&#xff0c;啥话没说就揽了下来。不过说实在的&#xff0c;从来没有开发过app&#xff0c;好歹…

【网络安全带你练爬虫-100练】第9练:post提交/提取json数据包

目录 一、目标1&#xff1a;post提交json数据包 二、目标2&#xff1a;接收json数据包 三、目标3&#xff1a;提取指定的键值 四、网络安全小圈子 一、目标1&#xff1a;post提交json数据包 &#xff08;大家可以自己随便找一个&#xff0c;像一些登录过的网站刷新一下&am…

jenkins构建历史设置保留数量

jenkins默认保留构建历史所有&#xff0c;这样磁盘空间越来越小&#xff0c;设置保留个数。 进入job项目中-配置 勾选Discard old builds&#xff0c;设置保留天数和个数&#xff0c;可以只填保留个数。 应用保存job配置&#xff0c;并重新构建项目&#xff0c;重新构建完成后…

基于pyqt5+opencv实现16位tif影像转jpg

现在大部分图像软件都支持tiff影像的浏览&#xff0c;但都是仅限于8位的影像&#xff0c;对应CV16U类型的tiff影像并不支持&#xff08;这需要专业的gis软件才可进行操作&#xff09;。为了便捷操作&#xff0c;故此基于pyqt5opencv实现16位tif影像转jpg的软件。 本博文涉及基于…

OpenCV4通道的分离split(),通道的合并merge(),通道的混合mixChannels()

文章目录 1、通道的分离函数 split()函数原型&#xff1a;&#xff08;1&#xff09;函数原型一&#xff1a;用 Mat型数组 Mat mvbegin[3]存储分离后的图像&#xff1b;输入参数&#xff1a; &#xff08;2&#xff09;函数原型二&#xff1a;用 vector容器 vector <Mat>…

科技中心PMO的建设与实践︱德邦证券PMO专家张鉴庭

德邦证券科技中心PMO专家张鉴庭先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;科技中心PMO的建设与实践。大会将于8月12-13日在北京举办&#xff0c;敬请关注&#xff01; 议题简要&#xff1a; 在数字化转型的背景下&#xff0c…

jvm对象创建和内存分配优化

一、创建对象过程 1、类加载检测 虚拟机遇到一条new指令时&#xff0c;首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用&#xff0c;并且检查这个符号引用代表的类是否是否已被加载、解析和初始化过。如果没有&#xff0c;那必须先执行相应的类加载过程。 …

ModaHub魔搭社区:向量数据库Milvus Lite的优势和适配场景

目录 Milvus Lite 的优势 Milvus Lite 的适配场景 如何安装、部署和使用 Milvus Lite? 总结 想要体验世界上最快的向量数据库&#xff1f;缺少专业的工程师团队作为支撑&#xff1f;Milvus 安装环境受限&#xff1f; 别担心&#xff0c;轻量版 Milvus 来啦&#xff01; …

火爆全网,python自动化测试 parametrize参数化+allure测试报告(详细)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 pytest的参数化&a…

1763_gcc编译c语言makefile自动生成工具的Perl实现_Linux

全部学习汇总&#xff1a; GreyZhang/g_makefile: Learn makefile from all kinds of tutorials on the web. Happy hacking and lets find an common way so we may dont need to touch makefile code any more! (github.com) 其实&#xff0c;调试完这个之后觉得之前Windows上…

开源:老朋友,新棋局

在软件开发领域&#xff0c;开源已经成为一股强大的力量&#xff0c;为企业带来了巨大的好处。我深知开源的价值和影响力。其中之一就是降低开发成本。传统的软件开发往往需要庞大的开发团队和昂贵的授权费用&#xff0c;但开源软件将这一切变得通俗易懂。 避免了重复造轮子&a…

ROS-Moveit!配置

文章目录 1. SW2URDF2.Moveit下载及初始化3.自碰撞矩阵 Self-Collisions4.虚拟关节 Virtual Joints&#xff08;不配置&#xff09;5.规划组 Planning Groups添加机械臂规划组添加夹爪规划组 6.机器人姿态 Robot Pose7.末端执行器 End Effectors8.作者信息 Author Information9…

(秋招)面激光slam必备知识--scan context

scan context是一个描述场景的描述符&#xff0c;它之前不是用在slam上面的&#xff0c;但是有人将它用到激光slam上面&#xff0c;发现还可以&#xff0c;于是这个scan context就用来进行激光slam的位置识别(做闭环用的)。 ​ 编辑切换为居中 添加图片注释&#xff0c;不超过…

Python基础综合案例-数据可视化(地图)

今天给大家带来的是Python综合实战开发的数据可视化操作 通过python实现对数据的分析、可视化 数据来源:线上公布数据&#xff0c;需要可私信 前期准备工作&#xff1a;Python可视化准备工作 前期模块安装等前期基础的准备工作大家可以看我之前的文章讲解&#xff0c;有问题可…

< 每日算法 - JavaScript解析:一文解决 “ 买卖股票 ” 系列算法题 >

每日算法 - JavaScript解析&#xff1a;一文解决 “ 买卖股票 ” 系列算法题 一、基础题目> 题目> 解题思路定义操作定义状态动态规划值所需变量完整代码 二、添加条件&#xff1a;当交易次数为 ∞ 时> 题目> 解决思路 三、添加条件&#xff1a;当交易次数为 K nu…

小机器人在现实世界中学会快速驾驶

小机器人在现实世界中学会快速驾驶 —强化学习加上预训练让机器人赛车手加速前进— Without a lifetime of experience to build on like humans have (and totally take for granted), robots that want to learn a new skill often have to start from scratch. Reinforceme…

【案例教程】GIS在地质灾害危险性评估与灾后重建中的实践技术应用及python机器学习灾害易发性评价模型建立与优化

地质灾害是指全球地壳自然地质演化过程中&#xff0c;由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下&#xff0c;地质灾害在世界范围内频繁发生。我国除滑坡灾害外&#xff0c;还包括崩塌、泥石流、地面沉…

AI对话宝-智能AI在线问答写作

AI对话宝的工作原理是基于自然语言处理技术。当用户与其进行交互时&#xff0c;AI对话宝会根据用户的输入&#xff0c;通过算法和模型来理解用户的意图&#xff0c;并给出相应的回答&#xff0c;并且系统还可以不断学习并优化其回答&#xff0c;从而提高其交互的效率和准确性。…

批量提取目录下的所有文件名称放至Excel表格中,方便快捷,快来试试吧

批量提取目录下的所有文件名称放至Excel表格中&#xff0c;方便快捷&#xff0c;快来试试吧 Sina Visitor Systemhttps://weibo.com/tv/show/1034:4920955869265935?fromold_pc_videoshow