论文《Local Geometric Consensus_ A General Purpose Point Pattern-Based Tracking Algorithm》学习

Abstract

(SCI一区)本文提出了一种基于二维和三维点模式的快速、鲁棒匹配方法,同时也能处理其他可能的线索。这种方法可以很容易地适应许多变换,如二维/三维的相似变换,二维的仿射和透视变换。该算法基于多个局部匹配之间的局部几何一致性和一种改进方案。我们提供了该通用方案的两种实现,一种用于二维单应情况(可用于标记或图像跟踪),另一种用于三维相似情况。我们证明了我们的方案在合成和真实图像上的鲁棒性和速度性能,并表明我们的方法可以用于增强任何(纹理/无纹理)平面对象,也可以增强3D对象。
关键词: 增强现实,跟踪,点模式匹配,姿态计算。

1. Introduction

目标跟踪是基于视觉的增强现实(AR)的基石,近年来“匹配关键点跟踪”技术已被证明是成功的。然而,大多数方法仅适用于基于纹理的局部特征描述,如SIFT [12], SURF [2], BRIEF [4] 等。然而,仅基于点空间布局而不使用任何纹理信息的跟踪提供了其他重要的好处。最重要的是,它允许跟踪无纹理或纹理可能不同的模型,例如增强地图[29]。此外,由于可以通过特征点检测从标准纹理图像中检索纯点,这种方法也可以用于“增强所有”[24]。

在本文中,我们将重点放在纯点模式跟踪问题上,更具体地说是“通过匹配跟踪”(而不是“通过跟踪来跟踪”[24]),因为前者更容易从跟踪失败中恢复,并确保跟踪过程中没有“漂移”。换句话说,匹配跟踪包括在20 - 30Hz进行匹配,并从这些匹配中计算相机姿态。

我们将匹配问题重新表述为:考虑 M M M个模型点集 ( P 1 , P 2 , ⋯   , P M ) \left(P_{1}, P_{2}, \cdots, P_{M}\right) (P1,P2,,PM),每个点集 P i P_i Pi d = ( 2 , 3 ) d=(2,3) d=(2,3)维上包含均匀随机分布的 m i m_i mi点。设 T : R d → R d T : \mathbf{R}^{d} \rightarrow \mathbf{R}^{d} T:RdRd d d d维上的一个几何变换,我们只知道它的类型(相似性、单应性等)。设 Q Q Q为一组观察到的场景点,其中一些属于 T ( P i ′ ) T\left(P_{i}^{\prime}\right) T(Pi),其中 P i ′ 是 P i P'_i是P_i PiPi的子集,其中每个点可能经历了小的平移(即抖动)。 Q Q Q的其他点是额外的点,即采集噪声。我们的目标是在 M M M个已知的模型点集中找到 P i P_i Pi,并确定 P i 和 Q P_i和Q PiQ之间的转换 T T T

相对于传统的基于纹理的关键点匹配,纯点模式匹配(PPM)的难点在于可用的匹配信息非常有限:只有点的几何分布。此外,由于抖动的存在,唯一可用的信息就会产生偏差。由于信息质量差,鲁棒匹配算法通常耗时较长。这就是为什么文献中的PPM算法要么对点抖动[15]快速但不够健壮[29],要么对复杂AR应用中的跟踪目的健壮但不够快的原因。

本文的主要贡献是提出了一种快速可靠的二维或三维任意变换下的纯点模式匹配通用算法。这项工作的主要目的不是与现有的基于纹理的跟踪算法竞争,而是解决当前方法可能会失败或需要大量预处理的问题,其中可能包括:

  • 基于模型的增强,纹理信息少(如CAD图纸)
  • 利用GIS[29]扩展不同的纸质地图
  • 在工业环境中放置纹理(或经典的黑白标记)可能是一个问题
  • 记录在不同照明条件下获取的三维模型
  • 基于边缘跟踪的鲁棒初始姿态估计

本文的其余部分组织如下:第2节介绍了相关的工作以及我们的方法与现有文献的区别。第3节描述了可以轻松适应许多不同转换的通用框架。然后,在第4节中给出了两种最常用的转换模型(即2D透视图和3D相似性)的详细实现。第5节给出了该方法对具有合成点集的二维单应性案例和具有三维相似模型配准的测试的评价结果。第6节介绍了使用我们的方法的两个应用,而第7节在结束之前激发了一些选择。

2. Related work

有许多方法可以解决PPM问题,其中许多是可以与各种转换一起使用的通用方法。在本节中,我们首先关注一些典型的通用方法,然后再讨论一些与我们的目标相关的特定方法:跟踪。

一般方法可分为直接法和迭代法两大类。几何哈希(GH)[28]是一种经典的直接法。它利用点的子集来构造坐标基,计算这些基下其他点的坐标,然后为每个基投票。得到最多票数的基给出最终结果。GH对额外的/缺失点和点抖动具有很强的鲁棒性,但它的主要缺点是 O ( n b ) O(n^b) O(nb)中巨大计算复杂性。,其中 b − 1 b-1 b1是构成基底[28]所需的点数。当尺度增大时,广义霍夫变换[1]或位姿簇[16]的计算量较大。分支和边界算法[14]递归地计算参数子空间,并计算每个子空间的上下界,以提高性能。RANSAC[7]是PPM的另一种直接方法。为了估计变换的第一个“假设”,在所有可能的点对应中随机选取对应的第一个子集。然后用其他相关证据来检验这个假设是否成立。最终输出选择产生最多内联数的“假设”。离群比(对应意义上)大于50%时,RANSAC是一种有效的方法。然而,当应用于纯PPM问题时,由于所有组合的数量 ( p ∈ P , q ∈ Q ) (p∈P,q∈Q) (pP,qQ)都非常大,RANSAC很难工作。如果点对应可靠性度量是可用的,PROSAC [5]可以是PPM的一种有效方法。

迭代法也已经发展起来。ICP[3]在场景点集中为每个模型点指定其最近邻,并在每次迭代中最小化对应距离之和,直到达到阈值。匹配[8]的鲁棒点采用一种软赋值方法迭代查找对应点,而不是只依赖于每一步中最近邻。在图像相关的启发下,Tsin.等人[23] 提出了核相关方法,该方法定义了一个代价函数来描述两个点集的配准,并通过最小化代价函数来找到配准。

在AR中,经常使用RANSAC相似的方法结合基于纹理的关键点算法,这通常可以极大地减少可能的对应的数目。其他一般的点配准方法最初并不是为跟踪目的而设计的,但由于计算量大,在AR中被证明是不可用的。

Herling等人提出了一种用于三维点集跟踪的通用特征跟踪方法。他们首先在不同的虚拟相机姿势中生成三维点集的二维点模式。在初始化过程中,选择最匹配场景点集的2D模式。然后,通过迭代找到所选2D模式与场景点集之间的精确转换,计算出真实的相机姿态。跟踪是用以前的帧信息完成的。理论上他们的方法可以处理真实的三维点数据,但实验中只使用平面物体。此外,该方法还具有与目标遮挡和相机目标距离相关的约束条件。

针对二维单应性的特殊情况,LLAH[15]采用局部几何代替整点集实现实时跟踪。它构造表面比率,通过使用每个点的最近邻居来为每个点创建索引表,以便有效地匹配这些点。利用该方法开发了随机点标记(RDM)[25]、扩展城市地图[26]和一般平面对象[24]等AR应用。但是,这种方法对点模式中额外的/缺失的点以及点抖动非常敏感,如[29]和本文后面的部分所示(参见5.1节)。

我们之前的工作,RRDM[29],也使用了点的邻域中的曲面比率。由于它构造了一个更健壮的描述符,为了克服LLAH遇到的问题,用GIS数据扩充未经准备的地图成为可能。不幸的是,这种方法的时间复杂度是二次的。当点集变大时,实时跟踪是不可能的,如[29]的地图实验所述。我们的建议是受到[28,15,29,7]工作的启发。我们依靠几何哈希(GH)来抵抗噪声,对局部点集进行处理来加快处理速度,而相邻点集之间的几何一致性保证了减少计算量的终止。尽管局部几何一致性(LGC)的细化器(第3.4节)与[29]的恢复阶段相似,但与现有技术相比,LGC具有以下优点:

  • 它比GH、RDM和RRDM快得多
  • 它比RDM和RRDM具有更强的鲁棒性
  • 它处理多个模型,不像RRDM(不清楚UFT)
  • 它处理任何已知的转换,不像RRDM和UFT
  • 它处理大的遮挡,不限制物体之间的距离,也不需要像UFT那样的帧信息
  • 它可以处理比RANSAC低得多的inlier ration。
  • 它比基于纹理的跟踪技术有更多的用例。

3.General Algorithm

该算法以模型点集 P 1 , P 2 , ⋯   , P M P_{1}, P_{2}, \cdots, P_{M} P1,P2,,PM、查询场景点集 Q Q Q和变换类型为输入。输出为匹配的型号 i i i P i 与 Q P_i与Q PiQ之间的变换 T T T, T T T属于给定的变换类型(参见图1)。
在这里插入图片描述
该方法的核心思想是基于局部几何的一致性,即以 P i 和 Q P_i和Q PiQ的两个小子集之间的相关信息作为寻找相邻子集对应关系的指示,从而找到两个子集之间的所有其他对应关系。利用几何哈希法寻找两个子集之间的第一个对应信息,构造局部坐标系进行匹配,该坐标系不受局部变换的影响。

3.1节给出了一些重要的定义和描述,接下来的部分将给出详细的解释。

3.1 Definitions and brief description of the algorithm

该算法具有局部几何特征。通过假设点是随机分布的,局部点集中点之间的相对位置非常有特点(在[15]中得到了证明)。对于每个模型点p或场景点,将 p ( 或 q ) p(或q) p(q)及其近邻( k k k为算法参数)作为局部几何特征,我们称之为 p − p a t c h p-patch ppatch (resp. q − p a t c h q-patch qpatch)。已知点对应的两个 p a t c h ( p − p a t c h , q − p a t c h ) patch (p-patch, q- patch) patch(ppatch,qpatch)称为配对 p a t c h ( p , q ) patch (p, q) patch(p,q),如图(cf. Fig . 2)。利用点的对应关系,还可以求出 p a i r e d − p a t c h paired-patch pairedpatch的变换。由于一些变换(如单应性)不是线性的,根据泰勒展开(参看第7.2节),它们可以在一个小的局部区域内被其他线性变换(如相似性)近似。局部变换 T L T_L TL在局部patches中作为 T T T的线性逼近。
在这里插入图片描述
m i m_i mi P i P_i Pi模型中的点数, V i V_i Vi P i P_i Pi的凸壳所包围的空间。则 ρ i = m i / V i d \rho_{i}=\sqrt[d]{m_{i} / V_{i}} ρi=dmi/Vi P i P_i Pi的点密度,其中 d d d是点集的维数。因此, l i = ρ i − 1 l_{i}=\rho_{i}^{-1} li=ρi1是点间距离的度量。在不丧失一般性的前提下,我们假设所有的点集都是事先规范化的,因此每个点集的质心都在原点,并且对于所有模型, l i = l l_i=l li=l现在都是相同的。我们还假设,对于所有模型,抖动遵循均值为0且方差 σ = l η σ=lη σ=lη的不相关多元正态分布,其中 η η η是我们算法中称为抖动因子的参数。从现在起,除非另有说明,否则所有点集都是标准化的。

我们的算法由假设生成器、假设验证器和结果细化器三个模块组成(参见图4),分别使用M个容器存储来自每个模型的对应关系。
在这里插入图片描述
假设生成器是一个两阶段的过程:离线注册(参见图3)和在线生成。在离线阶段,每个模型 p a t c h patch patch都在生成器中注册。在在线阶段,随机选取场景点 q q q,将 q − p a t c h q-patch qpatch输入到假设生成器中,构建多个配对的 p a t c h patch patch。这些产生的 p a i r e d − p a t c h e s paired-patches pairedpatches在下文中称为“假设”。验证器将每个假设作为输入并验证它们。如果假设是有效的,验证器将生成一个对应列表,并将它们添加到其中一个容器中。“生成验证”过程循环进行,直到满足以下两个条件之一:(1)一个容器有超过 N l a r g e N_{large} Nlarge个对应点或(2) N m a x N_{max} Nmax个场景点已发送到生成器。我们将在3.5节中解释这些条件及其值。最后,结果细化器找到并证明了M个容器之间存在最大对应集的最终结果(参见图4)。注意,假设生成器只需要对所有模型工作,而假设验证器和结果细化器只使用场景点集 Q Q Q和输入假设的模型点所在的模型 P i P_i Pi
在这里插入图片描述
该方法的时间复杂度约为 O ( m + n ) O(m+n) O(m+n),其中 m = ∑ i = 1 M m i m=\sum_{i=1}^{M} m_{i} m=i=1Mmi为模型总点数, n n n为场景点数。以下各节将对其进行说明。

3.2 Hypotheses generator

设发生器基本上是一个几何哈希模块。在离线注册时,每个 p − p a t c h p-patch ppatch(即一组k+1个点)都被记录到一个哈希表中,并带有它的型号。在在线生成过程中,将输入 q − p a t c h q-patch qpatch作为查询集,检索可能属于不同模型的相应 p − p a t c h p-patch ppatch

我们选择使用几何哈希,因为它可以极大地减少搜索空间,它可以很好地工作在中等的点抖动和存在额外的/丢失的点,并且它可以处理许多不同类型的变换。通过将其限制在局部 p a t c h patch patch中,使得每个 p − p a t c h p-patch ppatch中的点数非常小,因此可以非常快速地处理匹配。

几何哈希使用局部基。设 f ( T L ) f(T_L) f(TL)为线性变换 T L T_L TL的自由度。通过使用 b = floor  ( f ( T L ) / d ) + 1 b=\text {floor }\left(f\left(T_{L}\right) / d\right)+1 b=floor (f(TL)/d)+1个非退化点,可以构造局部仿射右手基 B B B如下:设第一个点为局部基的原点,每个后续点为局部基定义一个轴的方向。最后一点的位置可以用一个几何描述符 X \mathbf{X} X来唯一地表示,它是一个 D = b d − f ( T L ) D=b d-f\left(T_{L}\right) D=bdf(TL)维向量,表示 B B B中的最后一个点坐标。构造局部基,使得 X \mathbf{X} X不受变换 T L T_L TL的影响。如果 X B i \mathbf{X}_{B_i} XBi b b b点构成的 B i B_i Bi基中表示 X \mathbf{X} X,则有:
X B 1 = X B 2 ⇔ ∃ ! T L  s.t.  B 2 = T L ( B 1 ) . . . . . . . . . . . . . . . . . ( 1 ) \mathbf{X}_{B_{1}}=\mathbf{X}_{B_{2}} \Leftrightarrow \exists ! T_{L} \text { s.t. } B_{2}=T_{L}\left(B_{1}\right).................(1) XB1=XB2!TL s.t. B2=TL(B1).................(1)

其中 ∃ ! \exists ! !表示唯一的存在量化运算符,意思是“只有一个”。

抖动也会影响 X \mathbf{X} X的值。如果基底 B B B的几何描述符是 X \mathbf{X} X,如果 B ′ B' B产生的几何描述符 X ′ \mathbf{X'} X是B的一个抖动版本,那么 X ′ \mathbf{X'} X就是一个随机变量。由于 T L T_L TL是一个线性变换,我们可以解析地找到 Σ = ( Σ 1 , Σ 2 , … , Σ D ) \Sigma=\left(\Sigma_{1}, \Sigma_{2}, \ldots, \Sigma_{D}\right) Σ=(Σ1,Σ2,,ΣD),使得当抖动 σ \sigma σ的方差与点间距离 l l l比较小时 X i ′ ∼ N ( X i , Σ i 2 ) X_{i}^{\prime} \sim N\left(X_{i}, \Sigma_{i}^{2}\right) XiN(Xi,Σi2)。请注意,为了简单起见,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值