用于对象检测的深层神经网络(译)外文翻译资料

 2022-04-12 08:04

英语原文共 9 页,剩余内容已隐藏,支付完成后下载完整资料


用于对象检测的深层神经网络(译)

深层神经网络(DNNs)最近在图像分类任务中表现的很出色[14]。在这篇文章中,我们更进一步使用DNNs进行对象检测的问题,不仅仅是分类,而且也精确地定位各种类的对象。我们提出了一种简单但又非常有说服力的对象检测方法作为对象边界盒掩码的回归问题。我们定义了一个可以证明的多尺度推理过程,通过一些网络应用程序来降低高分辨率的物体的探测。 这种方法的最先进的性能表现在Pascal VOC。

1 介绍

随着我们走向更完整的图像理解,拥有更精确和更详细的对象。识别变得至关重要。在这种情况下,人们不仅关心图像的分类,还关心关于精确估计在图像中包含的对象的类和位置,这个问题被称为对象检测。

目标检测的主要进展是由于对象表示以及机器学习模型的改进。最先进的检测系统的一个突出的例子是可变形组件模型(DPM)[9]。它建立在精心设计的表示和运动学激励部分分解对象上,表示为图形模型。使用图像模型的判别式学习允许为各种各样的对象类建立高精确度的基于部分的模型。

与浅层鉴别训练的模型相结合的人工设计的表示方法,在对象分类的相关问题上一直是表现最好的范例[17]。然而,在过去的几年里,深度神经网络(DNNs)[12]已经成为一种强大的机器学习模式。

DNNs与传统的分类方法有很大的不同。首先,它们是深层的体系结构,它们有能力学习比浅层模型更复杂的模型[2]。这种表达性和健壮的训练算法允许学习强大的对象表示,而不需要手动设计特性。这已经在成千上万个类的具有挑战性的网络图像分类任务[5]中得到了实证的证明[14,15]。

在本文中,我们利用DNNs的力量来解决对象检测问题,我们不仅对对象进行分类,还试图精确定位对象。我们在这里讨论的问题是具有挑战性的,因为我们想要用有限的计算资源来检测同一图像中具有不同大小的潜在的大量对象实例。

我们提出了一种能够预测给定图像中多个物体的边界框的公式。更准确地说,我们制定了一个基于DNN的回归,它输出了目标边界框(以及框的部分)的二进制掩码,如图1所示。此外,我们使用一个简单的边界框推断来从掩码中提取探测。为了提高定位精度,我们在全幅图像上采用多尺度方式应用DNN掩模生成。除了少量的大型图像作物,然后是细化步骤(见图2)。这样,只需通过几十个DNN回归,我们就能定位获取最优的边界框。

在本文中,我们证明了基于DNN的回归具有学习特征的能力,这些特征不仅有利于分类,而且具有很强的几何信息。我们使用引入的通用体系结构来进行分类[14],并用回归层替换最后一层。某种程度上令人惊讶但又强大的洞察力是,网络在一定程度上编码了翻译的不变性,也能捕获对象的位置。

其次,我们引入了一个多尺度框推断,然后是求精步骤,以产生精确的检测。通过这种方式,我们可以应用一个DNN,它预测一个低分辨率的掩码,受输出层大小的限制,到像素级精度的低成本--该网络对每一个输入图像只能应用几十次。

此外,提出的方法非常简单。没有必要设计一个模型来明确地捕捉组件和它们之间的关系。这种简单性的优点是可以很容易地应用于广泛的类,但是也可以在更广泛的对象上显示更好的检测性能——刚性的和可变形的。在第7部分中,我们将在Pascal VOC挑战[7]中给出最优的检测结果。

2 相关工作

对对象检测的最深入研究的范例之一是可变形的基于部分的模型,其中[9]是最突出的例子。这种方法结合了一套有区别的训练方法。星形模型中的部分称为图形结构的部分。它可以被看作是一个2层的模型——部分是第一层,而星型是第二层。与DNNs相反,它的层是通用的,[9]的工作利用了专业领域知识——部分是基于手工设计的直方图。梯度(HOG)描述符[4]和各部分的结构是动态性激发的。

对于对象检测和解析的深层架构是由基于部分的模型驱动的,传统上称为组合模型,对象被表示为图像原语的分层组合。一个值得注意的例子是And/Or图[20],其中一个对象通过树的And-节点表示不同的部分和Or节点表示同一部分的不同模式被建模。类似DNN, And/Or图由多个层组成,其中较低的层代表较小的通用图像原语,而更高的层表示对象部分。这种合成模型比DNNs更容易解释。另一方面,他们需要推理,而本文所考虑的DNN模型则是纯粹的前馈,没有隐含的变量可以推断。

用于检测的组合模型的进一步示例基于原始[1]的片段,关注形状[13], 使用Gabor 过滤器[10]或者更大的HOG过滤器[19]。传统上,这些方法受到了训练难度的挑战,并使用了专门设计的学习程序。此外,在推理时,它们结合自底向上和自顶向下的过程。

神经网络(NNs)可以被认为是一种组合模型,其中的节点比上面的模型更通用,也更难以解释。NNs在视觉问题上的应用已经有几十年的历史了,卷积神经网络是最突出的例子[16]。直到最近,这些模型才在大规模的图像分类任务中取得了巨大成功[14,15]。然而,他们对检测的应用是有限的。作为一种更详细的检测形式,场景解析,已经尝试使用多层卷积神经网络[8]。医学图像的分割使用DNNs[3]。但是,这两种方法都使用NNs作为本地或半本地分类器,无论是超像素还是在每个像素位置。然而,我们的方法使用完整的图像作为输入,并通过回归进行本地化。因此,它是一种更有效的NNs应用。

也许与我们最接近的方法是[18],它具有类似的高水平目标,但使用的网络更小,具有不同的特征、损失函数以及没有机器来区分同一类的多个实例。

3 基于DNN的检测

我们的方法的核心是基于DNN的回归到对象掩码,如图1所示。基于这个回归模型,我们可以为完整对象和对象的部分生成掩码。一个单一的DNN回归可以给我们一个图像中多个物体的边框。进一步提高定位的精度,我们将DNN定位器应用于一组大的子窗口。整个流程如图2所示,并在下面解释。

4 检测作为DNN回归

我们的网络是基于[14]定义的卷积DNN。它由7层组成,前5层是卷积的,最后2层是完全连通的。每一层都使用一个整流线性单元作为非线性变换。另外三个卷积层还包含了最大池。关于更多的细节,请参阅[14]。

我们将上述通用架构用于定位。我们使用的是生成一个对象二进制掩码DNN(x;theta)的回归层,而不是使用softmax分类器作为最后一层。theta是网络的参数,N是像素的总数。因为网络的输出一个固定的维度,我们预测的面具一个固定大小N=d*d。在调整到图像大小之后,生成的二进制掩码表示一个或多个对象: 结果应该为如果这个像素位于给定类的对象的边界框中则值为1,否则为0。

这个网络通过最小化L2误差来对图像x预测一个真实的掩码misin;{0,1}^N:

在一个训练集合D中,包含有边界框对象的集合,它们被表示为二进制掩码。

由于我们的基本网络是非凸性,最优性不能保证,因此有时需要通过对每个输出的不同权重来调整损失函数,这取决于3个真实掩码。直觉告诉我们,相对于图像大小,大多数对象都是小的,通过为每个输出分配一个零值的简单解决方案,可以很容易地捕捉到网络。为了避免这种不受欢迎的行为,可以通过一个参数lambda;isin;R^ 来增加在真实掩码中与非零值对应的输出的权重。如果lambda;选的小,然后以真值输出的错误0的处罚是否明显低于那些以假值输出正确1的处罚。因此,即使信号弱,也要鼓励网络预测非零值。在我们的实现中,我们使用了225*225大小接收域的网络和输出预测一个d*d大小,d=24,大小的掩码。

5 通过DNN生成的掩码进行精准定位

尽管这种方法能够产生高质量的掩码,但也有一些额外的挑战。首先,单个对象掩码可能不足以消除模糊对象,它们挨着彼此。其次,由于输出尺寸的限制,我们生成的掩码比原始图像的尺寸小得多。例如,对于一个图像大小为400times;400和d = 24,每个输出对应于一个细胞的大小16times;16也不足以准确定位对象,尤其是如果它是一个小的图像。最后,由于我们使用的是完整的图像,小的物体会影响很少的输入神经元,因此很难识别。接下来,我们将解释我们如何处理这些问题。

5.1 多个掩码进行鲁棒定位

为了处理多个触摸对象,我们生成的不是一个而是多个掩码,每个掩码分别代表完整的对象或部分。由于我们的最终目标是产生一个边界框,我们使用一个网络来预测对象盒掩码和四个额外的网络来预测四个半部分盒子:底部,顶部,左右两半,用m ^ h,hisin;{完全,底部,顶部,左部,左部}。这五种预测都过于完整,但有助于减少不确定性,并处理一些掩码上的错误。此外,如果同一类型的两个对象彼此相邻,那么至少产生的五个掩码中至少有两个将不会使对象合并,从而消除它们的歧义。

这将启用对多个对象的检测。

在训练的时候,我们需要把目标盒转换成这五个掩码。由于该掩码比原始图像小得多,我们需要将真掩码缩小到网络输出的大小。由网络的输出(i,j)预测对象的存在的用T(i,j)表示的矩形。这个矩形左上角在 ( d1 (iminus;1)/d, d2 (jminus;1)/d) ,大小为d1/d * d1/d. d是输出掩码的大小,d1,d2是图像的高度和宽度。在训练中,我们将其赋值为值吗m(i, j)。m(i,j)被预测为T (i,j)的一部分被box bb (h)所覆盖:

其中,bb(full)对应于对象盒子的真实值。对于h的剩余值,bb(h)对应于原盒子的四个半部分。

注意,我们使用完整的对象框以及顶部、底部、左右两部分来定义总共五种不同的覆盖类型。为了得到网络类型h, 真实盒bb的结果m ^ h(bb)在训练时间使用。

在这一点上,应该指出的是,一个人可以训练一个网络,用于所有的掩码,其中的输出层将产生所有的5个。这将提升可伸缩性。这样,五个定位器将共享大部分的层,从而共享特性,这看起来是很自然的因为它们处理相同的对象。一种更加激进的方法——对不同类使用相同的定位程序——似乎也是可行的。

5.2 从DNN输出定位对象

为了完成检测过程,我们需要估计每个图像的一组包围盒。虽然输出分辨率小于输入图像,但我们将二进制掩码重新缩放为输入图像。我们的目标是在输出掩码坐标中,用左上角(i, j)和右下角(k, l)来估计边界框bb = (i, j, k, l)。

为了做到这一点,我们使用一个评分函数S表示每个包围盒bb的约定,并推断出得分最高的盒子。一项自然的约定是测量被掩码覆盖的包围盒的部分:

我们对(i,j)索引的所有网络输出进行求和,并将m=DNN(x)表示为网络的输出。如果我们将以上所有5个掩码类型进行扩展,最终得分如下:

halves={full, bottom, top, left, left} 数组表示整个盒子以及它的四个部分。对于h表示一半h表示相对的一半h,例如顶部的掩码应该被顶部的掩码覆盖,而不是底部的。对于h=full,我们用h一个矩形区域来表示bb,如果完整的掩码延伸到bb外,其分数将会受到惩罚。在上述总和中,如果一个盒子与所有五个掩码一致,它的分数就会很大。

我们使用Eq.(3)的分数来彻底搜索可能的边界框。我们考虑具有平均维数的边界框,等于[0.1hellip;hellip;(9)在平均图像维度和10个不同的纵横比中,在训练数据中用k均值聚类方法估计了对象的方框。我们使用图像中5个像素的跨度来滑动上述90个方框中的每一个。注意,在计算了蒙版m的整幅图像后,Eq.(3)的分数可以通过4个运算得到有效的计算。确切的操作数是 5(2 times; # 像素 20 times; # 盒子 ) , 第一个术语度量了整体掩码计算的复杂性,而第二项 用于计算盒子的分数。

为了生成最终的检测集,我们执行两种类型的过滤。第一种方法是将Eq.(2)定义的具有强分数的框保存起来,例如大于0.5。我们通过对感兴趣的类别进行了[14]的训练,并为当前的探测器保留了正分类的w.r.t。最后,我们在[9]中应用了非最大抑制。

5.3 DNN定位的多尺度精化

网络输出分辨率不足的问题有两种解决方法:(i)应用。DNN在几个尺度上的定位器和几个大的子窗口;(二)对探测的细化。将DNN定位器应用于顶部的推断边界框(见图2)。

在不同的尺度上使用大窗户,我们制作了几个掩码,并将它们合并到更高的分辨率掩码中,每一尺度都有一个。合适的尺度的范围取决于图像的分辨率和定位器的接受域的大小——我们想要的图像由网络输出操作在更高的分辨率,同时我们希望每个对象属于至少一个窗口,这些窗口的数量很小。

为了实现上述目标,我们使用了三种尺度:完整的图像和另外两种尺度,即在给定的尺度下,窗口的大小是之前的窗口大小的一半。我们在每个尺度上都用windows来覆盖图像,这样这些窗口就会有一个小的重叠部分——它们的20%区域。这些窗口的数量相对较小,并在多个尺度上覆盖图像。最重要的是,最小规模的窗口允许在更高分辨率下进行定位。

在推理时,我们将DNN应用于所有的窗口。请注意,它与滑动窗口方法非常不同,因为我们需要评估每个图像的少量窗口,通常小于40。在每个尺度上生成的对象掩码被最大操作合并。这给我们三个大小的掩码,每个“看”大小不同的物体。对于每一个尺度,我们都应用了来自5.2部分的边界框推断。在我们的实现中,我们按每一比例进行了前5次探测,总共产生了15个探测。

为了进一步改进定位,我们经历了DNN回归的第二个阶段,称为细化。DNN定位器应用于初始检测阶段所定义的窗口-每个15个包围盒都被放大了1.2倍,并应用于网络。在高分辨率下应用定位器,大大提高了检测精度。

算法1给出了完整的算法。

----------------------------------------------------------------

算法1:总体算法:基于多尺度的基于DNN的定位和后续的细化。将上述算法

全文共5911字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[14125],资料为PDF文档或Word文档,PDF文档可免费转换为Word

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

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