可变形部件模型的级联对象检测外文翻译资料

 2022-10-30 11:02:53

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


可变形部件模型的级联对象检测

Pedro F. Felzenszwalb University of Chicago pff@cs.uchicago.edu

Ross B. Girshick University of Chicago rbg@cs.uchicago.edu

David McAllester TTI at Chicago mcallester@ttic.edu

摘要:我们描述构建级联分类器的一般方法从部分的可变形模型,如图片结构。 我们主要关注星星结构的情况模型和显示如何基于局部的简单算法假设修剪可以加快物体检测超过一个数量级,而不牺牲检测准确性。 在我们的算法中,部分假设是用一系列阈值修剪。 类似的可能大概正确(PAC)的学习,我们介绍一下概念大概可接受(PAA)阈值。这样的阈值提供了理论上的保证级联方法的性能可以计算从一个小样本的积极的例子。 最后,我们概述一个级别的级联检测算法模型由语法形式主义定义。 这个课程包括不仅树木结构的图案结构,而且更丰富的模型可以递归地表示每个部分混合其他部分。

1.介绍

用于对象检测的流行方法涉及到减少二进制分类的问题。最简单的这种方法的最常见的例子是滑动窗口方法。在这种方法中,应用分类器位置,尺度,在某些情况下,图像的方向。但是,用a检测搜索空间中的所有点非平凡的分类器可能很慢。一种有效的方法解决这个问题涉及应用级联对每个假设对象位置进行简单测试以消除他们中的大多数都很快[16,12,4,15,2,13]。另一行研究,分离级联分类器,使用基于部件的可变形模型进行检测。在这种情况下,一个对象假设指定了一个配置部分,导致非常大的(指数)假设空间。算法有了很大的成功搜索这些大假设空间的方法,包括“渐近最优”的方法树结构模型[9]。然而,与定义的简单分类器相比,这些方法仍然相对较慢通过级联。在本文中,我们描述了一种构建方法用于基于部分的可变形模型(如图形)的级联结构。在最一般的设置中,这种方法导致一个级联版本的自顶向下动态编程一般类基于语法的模型。

我们主要关注星型模型的情况由于他们最近在困难的基准上表现强劲例如PASCAL数据集[11,8,5,6,7]。 对于明星模型,我们早期获得了一个相当简单的算法假设修剪。 该算法导致检测方法比标准检测算法快20多倍,这是基于动态规划和广义的距离转换,不牺牲检测准确性。 图1说明了完成的工作量我们的算法在不同区域的图像使用两种不同楷模。

如[11,8]中所述,可变形部分模型的检测可以通过考虑一个不同的“根”部分的所有可能的位置来完成,并且对于每个部分,可以找到剩余部分的最佳配置。 在这种情况下,我们需要为根的每个位置计算最佳配置。 这些问题不是独立的,因为其余部分的可能位置是共享的不同的根位置。 对于树结构模型,可以使用动态规划来解释这种共享[9]。

在实践中,只对根位置感兴趣导致高评分配置。我们的基本思想算法是使用由排序定义的模型的层次结构的原模型零件。对于n 1的模型部分,包括根,我们得到一个n 1的序列楷模。该序列中的第i个模型由...定义首先我从原来的模型部分。使用这个层次结构,看完之后,我们可以修剪低分的假设零件的一个子集的最佳配置。假设那个进一步使用弱模型下的得分高更丰富的模式。这个过程类似于古典的级联,类似于[2,15]的级联较弱的模型的分数在计算时被重用得分更丰富。然而,使用可变形部分时模型单个应用的级联并不独立,所以,类似于古典动态规划,完成评估一个假设的工作也可以重复使用评估他人。

我们对零件的顺序搜索与[1]相关,其中作者提出了半局部特征的顺序搜索符合全球安排。 [1]的工作也考虑了导致选择参数的问题快速搜索以低假阴性率,通过做一些对地方特征分布形式的假设并分析培训数据统计。 我们使用一个替代方案方法(见下文)做出较少的假设并更多地依赖培训数据。

评估基于零件的假设所需的时间模型高度依赖于个人的复杂性零件型号。 除了通过删除来简化模型一些部分,我们也考虑到出现的简化从原来的部分外观模型中更换更简单的计算速度要快得多。 在这种情况下,对于具有n 1个部分的模型,我们得到2(n 1)楷模。 第一个n 1模型依次获得添加零件与简化的外观模型通过顺序替换获得第二n 1模型每个简化的外观模型与其全部。

我们的算法使用阈值修剪部分假设在他们的分数。 允许的阈值不会修剪导致完全检测的任何部分假设得分高于全球门槛。 我们定义错误一组阈值是完整假设得分的分数高于未正确修剪的全局阈值。要选择修剪阈值,我们介绍一下这个概念大概可接受(PAA)阈值。 PAA阈值具有高概率的低误差。

我们显示PAA阈值可以通过查看获得在部分假设得分的统计中,比较积极的例子。这导致一个简单的方法来挑选安全和有效阈值。 阈值是安全的,因为它们具有低概率的错误。 他们是有效的它们导致了快速级联,具有显着的修剪。

[9]指出,通过使用动态编程和距离转换三维结构中各部分之间的关系模型可以“免费”地考虑在内是检测整个对象需要很少的额外时间配置而不是单独检测部件他们自己的。我们的结果进一步推动了这一想法。 在实践中我们发现可以检测整个对象配置比检测每个单独零件快得多。

2. 星型模型对象检测

我们首先定义一个具有星型结构的可变形零件模型的对象检测的一般框架,其中包括[11,8]中的设置。

令M为具有根部分v0和n的模型零件v1; ......vn.。让Omega;作为每个位置的空间图像中的一部分。 例如, 可以指定一个位置和规模。 将mi(omega;)作为放置vi的分数位置omega;。 这个分数取决于图像数据,但我们假设图像被隐式定义为简化符号。

对于非根部分,让ai()指定理想的位置作为根位置的函数。 让成为一个空间的位移,让作为二进制操作对一个“流离失所者”进行位置和位移位置“。让di()指定位移的变形成本的vi从相对于根的理想位置。

对象配置指定根的位置以及从其理想的每个附加部分的位移相对于根的位置。 配置的得分是在其位置的部分的分数的总和减去与每个位移相关的变形成本。

我们可以定义基于位置的总体得分基于该位置的配置的最大分数。在一个明星模型中,每个部分只附加到根,所以得分可以考虑如下。

这里得分是最大值,超过位移部分从其理想的位置,部分得分减去变形与流离失所相关的费用。

对于[11,8]中的模型,是过滤器的响应在密集特征金字塔中,是(可分离的)的二次函数。 检测物体[11,8]寻找总体得分高于某个阈值的根位置,使用动态规划算法计算每个位置的分数且。 使用快速距离变换方法从[9]的检测算法

在时间,如果我们假设评估特定位置的部件的外观模型需要时间。 在实践中,评估外观模型是该方法的瓶颈。

3.星级级联检测

这里我们描述一个星型模型的级联算法,它使用一系列阈值来使用零件子集修剪检测。

请注意,我们只对的根位置感兴趣,通过按顺序对零件进行评估,我们可以避免对几乎所有地方的大部分零件进行外观模型的评估。 例如,当检测到人时,我们可以在每个可能的位置评估头部的分数,并且决定我们不需要评估图像中大多数位置的躯干部分的分数。 图2显示了该算法的运行示例。

我们使用表示的记忆版本。 在一个记忆函数中,每当计算一个值时,我们存储它以避免稍后重新计算。 Memoization可以通过维护一个已经计算过的值的-indexed数组,并且首先在调用时首先检查此数组,以避免在同一个位置多次计算外观模型。

具有n 1部分的星型结构模型的级联算法(算法1)采用全局阈值T和中间阈值的序列2n。 为了简化表示,我们假设首先评估根外观模型,即使这不是一个要求。

对于每个根位置,我们在n个阶段评估。 变量在阶段累积得分。 在第i阶段,我们使用变量p计算得分,第vi部分的贡献。 在评分时,有两个修剪的机会。

假设修剪:如果得分在omega;与第一个i部分之间并在ti以下,那么假设在omega;被修剪而没有评估通过的部分(第5行)。 直观地,放置剩余的部分不会使得超过T。

变形修剪:为了计算的贡献,我们需要搜索变形。该算法将会跳过一个特定的delta;如果第一个i部分的分数减去低于(第8行)。 直觉地将置于delta;成本太高,不能让超过T。

请注意,记住外观模型很重要,因为几个根位置可能需要在同一位置评估。

对于固定的全局阈值T,任何在高于T时正确计算得分的算法1的任何输入称为T允许的阈值集合。 如果给定的T允许阈值,算法1返回与标准动态规划算法完全相同的检测集合。 在下一节中,我们调查了良好的不允许阈值的情况,产生具有低错误率的级联,但仍允许积极的修剪。

如果将取为,算法1的最差情况为,这比使用距离变换的标准动态规划算法慢。 但是,在实践中,对于典型的型号可以安全地做得比较小(c.f.第6节)。 而且,搜索通常不会比在单个位置评估更贵,因为部件的空间范围与其位移范围相似。 两种方法的最差时间是相同的,如果我们假设评估取时间。

数据:阈值(,...,)和T

结果:一组检测D

1

2 fordo

3

4 for i = 1 to n do

5 if then skip omega;

6

7 for do

8 if then skip delta;

9

10 end

11

12 end

13 if then

14 end

15 return D

算法1:星形级联

图2显示了在实践中,如何避免大多数位置评估除了一个或两个部分。

4.修剪阈值

假设我们有一个模型M和一个检测阈值让成为一个位置的一个例子图像,带入时,让D分配一下这样的例子。

对于一个阈值序列让)成为计算得分omega;通过级联算法使用t。 如果级联修剪omega;我们说。

我们将D的误差定义为级联算法在D的随机示例上错误地计算的概率,

我们想找到一个具有小错误的阈值序列。 请注意,在实践中我们只想对正面的例子有一个小错误。 尤其是我们不在乎,如果级联错误地修剪为负面例如,在T以上的分数。因此,我们可以把D做成一个分布在高分的积极榜样。

下面我们可以看出,我们可以学习一个很好的顺序通过查看少量示例的阈值D.类似于PAC学习[14],我们想选择具有高概率误差小的阈值。

我们说如果t的误差大于alpha;的概率,则t的序列可能是可能近似可接受(PAA) 是由界定的delta;,

让是实例的M的非根部分的最优位移。我们可以定义考虑到第一个零件和第一个零件减去第i个变形成本的部分分数,

星型级联算法将找到x的最佳配置和分数,且仅当和时。

让X是从D独立的样本。我们可以选择门槛选择,

这些是在X上没有错误的最严格的阈值。以下定理表明,如果m足够大,它们也具有高概率的低误差。

5.简化零件外观模型

到目前为止,我们已经考虑了一个级联的星型由n 1模型的层次结构定义。 给定预定义第i个模型是通过添加第i个形成的部分到-st模型。 级联的目标是在进行少量外观模型评估时检测对象尽可能。 星形级联算法实现这个目标是通过使用中间分数修剪假设。

一个补充的方法是考虑简化每个部分的外观模型,计算一个的便宜近似值。

可以使用2(n 1)模型的层次结构来定义第一个n 1模型构造如前,但使用简化外观模型,以及第二种n 1模型通过依次删除剩余的简化中的一个来定义外观模型并将其替换为一个.

通过简化的部件,星形级联如前所述对于阶段1到n 1,除了修剪决定基于简化外观的(记忆)评估模型。 在剩下的阶段,满了外观模型代替了简化的模型。 更换时一个外观模型,该算法必须重做搜索超过变形空间,因为最佳的放置可能会改变。 但是现在我们经常会修改一个假设评估任何昂贵的外观模型。

该版本的算法需要4n 1中间值阈值。 就像以前一样,可以选择这些阈值使用上一节中的方法。

对于[11,8]中的模型,简化外观模型可以通过投影HOG功能来定义零件中的加权矢量过滤到低维空间。我们从培训中获取了大量HOG功能的PCAPASCAL数据集中的图像。 简化外观模型可以通过投影到顶部指定k主要组成部分。 对于31维HOG功能在[8]中使用,k = 5的设置导致外观大约是评估速度的6倍比原来的。 这种方法很简单,只有引入了少量的开销 - 投影的成本每个特征向量在特征金字塔上top k主要组件。

6.一般语法模型

这里我们考虑一个相当一般的语法模型用于以部件表示对象。 这包括树形图案结构模型以及更多具有可变结构的一般模型。 例如,我们可以定义面部部分所在的人物模型由眼睛,鼻子,微笑或皱眉组成口。 我们遵循[10]中的框架和符号

剩余内容已隐藏,支付完成后下载完整资料


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

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

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