RANSIC:基于不变兼容性的快速且高度鲁棒的旋转搜索与点云配准估计

摘要

基于对应关系的旋转搜索和点云配准是机器人学和计算机视觉中的两个基本问题。然而,异常值的存在,有时甚至占据了假设对应关系的大多数,可能导致许多现有算法失败或计算成本极高。在本文中,我们提出了 RANSIC(带不变兼容性的随机采样),一种快速且高度鲁棒的方法,适用于这两类问题,基于将随机采样与不变性和兼容性相结合的新范式。RANSIC 先从对应关系集中随机选择小子集,然后通过基于每个问题建立的不变性进行兼容性测试,从随机子集获得图的顶点,寻找潜在内点,最终在存在 K 级顶点(其中 K 在算法过程中最初设定并更新)且残差误差同时满足某一终止条件时返回合格内点。在合成和真实实验中,我们表明 RANSIC 使用快速、对超过 95% 的异常值具有鲁棒性,并且能够回收约 100% 的内点,优于其他最先进的求解器在旋转搜索和点云配准问题上的表现。

作者

Lei Sun 机械与动力工程学院, 华东理工大学, 上海, 中国 ORCID: 0000-0003-4135-6858

出版信息

期刊: IEEE Robotics and Automation Letters 年份: 2022 卷: 7 期: 1 页码: 143-150 数字对象标识符: 10.1109/LRA.2021.3116313 文章编号: 9552513 ISSN: Electronic ISSN: 2377-3766, CD: 2377-3774

指标

论文引用: 18 总下载量: 1011


关键词

IEEE关键词: 搜索问题, 估计, 噪声测量, 三维显示, 计算机视觉, 图像拼接, 图论

索引词: 点云, 点云配准, 旋转点, 旋转搜索, 随机采样, 计算机视觉, 残差误差, 顶点, 顶点度, 合成实验, 机器人问题, 蒙特卡洛仿真, 高斯噪声, 最高精度, 单位向量, 随机噪声, 无向, 测量噪声, 样本子集, 图像对, 兼容条件, 图论, 3D配准, 随机变换, 物体定位, 向量对, 最大迭代, 2D关键点

作者关键词: 用于自动化的计算机视觉, RGB-D感知, 旋转搜索, 点云配准, 鲁棒估计

未定义

第一节. 引言

旋转搜索和点云配准在图像拼接 1, 姿态估计 2, 3D重建 3, 4, 目标定位和识别 5, 6以及SLAM 7,是机器人、计算机视觉和航空航天工程中的两个基本构件。

假设我们有两个向量集 \mathcal {A}=\lbrace \mathbf {a}_i\rbrace _{i=1}^{N}\mathcal {B}=\lbrace \mathbf {b}_i\rbrace _{i=1}^{N},其中 \mathbf {a}_i,\mathbf {b}_i\in \mathbb {R}^{3} 构成假设的向量对应关系。旋转搜索问题的目标是估计最佳旋转 \boldsymbol{R}\in SO(3),使得向量集 \mathcal {A}\mathcal {B} 对齐。在存在噪声(通常假设为各向同性零均值高斯噪声89)的情况下,旋转搜索等价于以下最小化问题:

\begin{equation*} \underset{\boldsymbol{R}\in SO(3)}{\min } \sum _{i=1}^{N} ||\boldsymbol{R}\mathbf {a}_i-\mathbf {b}_i||, \tag{1} \end{equation*}

其中 \boldsymbol{R}\mathbf {a}_i+\boldsymbol{\varepsilon }_i=\mathbf {b}_i (i=1,2,\ldots,N,以及 \boldsymbol{\varepsilon }_i 表示噪声测量)。问题(1)可以通过不同的闭式方法10–​11轻松求解。

对于点云配准,给定两个点集:\mathcal {P}=\lbrace \mathbf {p}_i\rbrace _{i=1}^{N}\mathcal {Q}=\lbrace \mathbf {q}_i\rbrace _{i=1}^{N},其中 \mathbf {p}_i,\mathbf {q}_i\in \mathbb {R}^{3} 组成一个点对应关系,我们的目标是求解比例 \mathit {s}>0、旋转 \boldsymbol{R}\in SO(3) 和平移 \boldsymbol{t}\in \mathbb {R}^{3},使得 \mathcal {P}\mathcal {Q} 对齐。同时,在高斯噪声扰动下,我们可以得到一个最小化问题,使得

\begin{equation*} \underset{\boldsymbol{R}\in SO(3)}{\min } \sum _{i=1}^{N} ||\mathit {s}\boldsymbol{R}\mathbf {p}_i+\boldsymbol{t}-\mathbf {q}_i||, \tag{2} \end{equation*}

其中 \mathit {s}\boldsymbol{R}\mathbf {p}_i+\boldsymbol{t}+\boldsymbol{\epsilon }_i=\mathbf {q}_i\boldsymbol{\epsilon }_i 为噪声测量)。然而,在许多实际应用中,潜在对应点的大多数可能被离群点(错误对应)腐蚀或替代,这些离群点通常由不匹配的 2D 或 3D 键点使用特征检测和匹配方法产生(e.g. SIFT 12 和 SURF 13 for 2D, and FPFH 14 for 3D)。

不幸的是,现有的鲁棒估计器存在局限性。 例如,两个流行的方法 RANSAC 15 和 BnB 16–​17 都具有指数级增长的运行时间,前者受离群点比例影响,后者受输入规模影响,可能过于缓慢,无法满足实际使用。 此外,尽管渐进式非凸性 (GNC) 方法 (e.g. 18–​19) 可以利用非最小解算器在没有初始猜测的情况下拒绝离群点,但当离群点比例极高 (e.g. \geq90%) 时,它们会变得脆弱,而这种情况在实践中很常见 20

我们的贡献是提出一种新颖的鲁棒估计方法,将不变性、兼容性和图论的理论融入随机采样,进而得到一种快速且高度鲁棒的求解器,命名为 RANSIC(带有不变兼容性的随机采样),用于旋转搜索和(已知尺度与未知尺度)点云配准。

为此,我们的第一步是为这两个视觉问题定制并构建一系列可以独立于来自对应关系小子集的变量的特殊函数,称为 invariants,从而能够在这些子集内外探索兼容性约束,以建立一系列分层的‘filters’,从而能够快速地逐层消除离群点,并同时保留随机样本流中的内点。基于此框架,可以有效地从假设对应关系中提取内点候选。随后,设计了两个额外的最终条件来帮助寻找真实内点:(i) 基于兼容性测试构建无向图,我们可以拥有度为 K 的顶点(K 预设为 1,并在算法中递增),以及 (ii) 残差误差分布满足某种规律性。得到的求解器 RANSIC 能容忍超过 95% 的离群点,时间效率比其他最先进的求解器更高,并且通过回调几乎 100% 的内点,具有最高的估计精度。我们在旋转搜索和点云配准的实验以及其实际应用中展示了 RANSIC 的卓越性能,如图 Fig. 1 所示。

虽然不难说 invariance 在鲁棒估计中使用的情况并不罕见,但大多数早期工作(例如 21–​22)仅使用了基于尺度的配对刚性 invariants,而 RANSIC 则充分探索了关于整个变换(\mathit {s},\boldsymbol{R},\boldsymbol{t})的所有 invariants。此外,尽管 ROBIN 23(TEASER(++) 的通用版本 2425)和 RANISC 都使用 invariants 来解决鲁棒估计,但它们在三方面存在显著差异:(i) ROBIN 使用 invariants 大致剔除离群点以提升现有鲁棒估计器(如 GNC)的鲁棒性,而 RANSIC 则将 invariants 用于主动从假设对应关系中寻找真实内点,作为一种新颖、独立的鲁棒求解器;(ii) ROBIN 需要标准最大团或 k-core 求解器,而 RANSIC 不需要外部辅助算法;(iii) ROBIN 不适用于旋转搜索和未知尺度点云配准,而 RANSIC 适用。

第 II 节. 相关工作

共识最大化: 模型拟合框架 RANSAC 26 及其变体(e.g. 27、[^25])最大化共识集,通过反复随机采样寻找最佳模型,以一致性质量为准,但其运行时间随离群值比例呈指数增长。BnB 28–​29 是另一种共识最大化求解器,它在参数空间中搜索以全局最优方式解决问题,但同样随输入问题规模扩展不佳。

M-估计: M-估计通过使用稳健代价函数降低离群点的影响(权重)来实现。然而,局部 M-估计方法(e.g. [^26]、[^27])高度依赖良好的初始猜测,在缺乏初始信息的场景中易失效。GNC 是一种特殊的 M-估计方法,避免了对初始猜测的需求,改为优化代理函数。它已被证明在多种机器人问题 30 中有效,例如 3D 注册、位姿图优化、形状对齐等,但其缺点是鲁棒性有限(\leq85% 在大多数情况下)。

基于图的方法: 图论已在多种机器人和计算机视觉问题中得到广泛应用,包括人体姿态估计 [^28]、特征匹配 [^29]、运动分割 [^30]、3D-2D/3D 注册 [^31] 等等。对于点云配准,图论也可以与不变量协同使用,利用最大团 [^32] 或 k 核 [^33](如 TEASER(++) 3132 和 ROBIN 33)来剔除离群点。

RANSIC的作用: RANSIC巧妙地将不变量与图兼容性(部分受到ROBIN和TEASER的启发)与随机采样(受到RANSAC的启发)相结合,基于一种新颖的内点搜索框架,展示出优于两者的性能。与RANSAC相比,它显著更快,因为: (i) 每个采样子集在使用前必须通过Boolean不变量约束,从而节省了大量模型估计时间;(ii) 只有当最终图兼容性达成时才计算残差误差,避免了与RANSAC每一次迭代都计算所有对应关系残差的情况。与TEASER相比,它在未知尺度配准方面更为鲁棒,因为尺度估计本质上是其内点寻求框架的固有部分。

第三节:我们的 RANSIC 方法

A. 定义与符号

我们先前通过采用符号和定义在 34中的符号与定义,预先定义了两个问题中的不变量函数。

定义 1(不变量函数):

假设在一个几何问题中,我们有 N 个假设对应关系,其索引位于集合 \mathcal {N}=\lbrace 1,2,\ldots,N\rbrace。设 \mathcal {S}\subset \mathcal {N}\mathcal {N} 的一个大小为 k 的子集,且 \boldsymbol{x} 为该问题中的变量向量。然后令 \boldsymbol{y}_{\mathcal {S}} 表示相对于集合 \mathcal {S} 的测量,\boldsymbol{\eta }_{\mathcal {S}} 表示相应的噪声测量(与 \boldsymbol{x} 无关),并且 \boldsymbol{h}_{\mathcal {S}}(\boldsymbol{x},\boldsymbol{\eta }_{\mathcal {S}}) 表示将 \boldsymbol{x} 与测量 \boldsymbol{y}_{\mathcal {S}} 关联的相应模型,使得 \boldsymbol{y}_{\mathcal {S}}=\boldsymbol{h}_{\mathcal {S}}(\boldsymbol{x},\boldsymbol{\eta }_{\mathcal {S}})

对于一个函数 \boldsymbol{f}(\boldsymbol{y}_{\mathcal {S}}),无论选择哪一个 \mathcal {S}\subset \mathcal {N}\boldsymbol{f}(\boldsymbol{y}_{\mathcal {S}})=\boldsymbol{f}(\boldsymbol{h}_{\mathcal {S}}(\boldsymbol{x},\boldsymbol{\eta }_{\mathcal {S}})) 始终成立且与变量 \boldsymbol{x} 无关,我们将函数 \boldsymbol{f} 视为对 \boldsymbol{x} 不变的函数,也称为 k-不变量函数。

B. RANSIC 的图论概述

我们在图 2中呈现了 RANSIC 的图论概览,以说明其机制,并在下方给出详细说明。

Figure 1

图 1. 使用我们的求解器 RANSIC 的实验结果。(a) 图像拼接。左:由 SURF [15] 匹配的原始对应关系。右:使用 RANSIC 估计的旋转拼接的图像。(b) 未知尺度点云配准。左:对应关系(内点为绿色线,外点为红色线)。右:配准结果。RANSIC 能在 1000 个对应关系中 990 个为外点时仍然鲁棒地估计变换。

Figure 2

图 2. RANSIC 的图论概览.

首先,从对应关系集中随机选择最小子集,然后通过一系列基于问题不变量(命题 2 与 4)推导出的兼容性测试来检查它们。如果样本(子集)通过这些测试(绿色圆圈组),我们将其视为无向图的一个顶点(黄色圆圈)。从此以后,在采样过程中,每当我们得到一个通过测试的新子集(也视为新顶点)时,就通过另一系列兼容性测试(命题 3 与 6)检查该顶点与每个现有顶点之间的相互兼容性,生成新的无向图。如果一对顶点彼此兼容,我们可以在它们之间放置一条“边”(绿色线);若不兼容,则不放置边(红点线)。通过这种方式,如果某个新顶点的度数超过 K,则停止采样,此顶点及其兼容顶点很可能是内点(明确的框架见 Algorithm 1 and 2)。

但在 RANSIC 停止随机采样之前,我们仍需要检查估计解的可靠性(例如 \boldsymbol{x}^{\star })。

命题 1(终止条件):

\mathcal {r}=\lbrace r_{i}\rbrace _{i=1}^N 为由估计的 \boldsymbol{x}^{\star } 计算得到的残差误差集合。如果 \boldsymbol{x}^{\star } 是全局最优且候选内点集不包含外点,则应满足以下不等式:

\begin{equation*} \qquad \overline{\mathcal {r}}^{\star }\!\leq\! \upsilon \cdot \sigma, |\mathcal {r}^{\star }|\geq \tau, \text{ s.t. }\mathcal {r}^{\star }\!=\!\lbrace r_i|r_i\in \mathcal {r}, r_i< \!=\!5.2\sigma \rbrace, \tag{3} \end{equation*}

其中 \overline{\mathcal {r}}^{\star } 是残差误差的均方根,在 \mathcal {r}^{\star } 中,\tau \in [0.01,0.05]\cdot N 由于 RANSIC 容忍 95-99% 的异常值(通常,\tau =\max (\text{0.05}\,N,5)N\in (0,199]\tau =0.04\, NN\in [200,299]\tau =0.03\, NN\in [300,499]\tau =0.02\, NN\in [500,999],以及 \tau =0.01\, NN\geq 1000),\upsilon =\sqrt\frac{\bar{c}}{{\tau }}\bar{c}Proof 1 中给出),而 \sigma 表示高斯噪声的标准差。

证明 1:

根据 35\frac{r_i^2}{\sigma ^2} 满足自由度为三的卡方分布:\frac{r_i^2}{\sigma ^2}\sim \chi ^{2}(3),因此我们可以设定临界值 c=(5.2)^2 以满足概率:\mathbb {P}(\frac{r_i^2}{\sigma ^2}>c)< 1e-5。现在假设我们在集合 \mathcal {r}^{\star } 中有 N^{\circ } 个残差。根据卡方分布的性质,\frac{\sum _{i=1}^{N^{\circ }}{r_i}^2}{\sigma ^2}=N^{\circ } \frac{{\overline{\mathcal {r}}^{\star }}^2}{\sigma ^2}\sim \chi ^{2}(\text{3}\,N^{\circ }),因此 \upsilon 可以设定为 \upsilon =\sqrt{\frac{\bar{c}}{N^{\circ }}},其中 \bar{c} 是满足 \mathbb {P}(N^{\circ } \frac{{\overline{\mathcal {r}}^{\star }}^2}{\sigma ^2}>\bar{c})< 1e-5 的临界值。进一步注意到 \upsilon 随着 N^{\circ } 的减小而单调增加,所以我们设定 N^{\circ }=\tau 以获得最大的 \upsilon 作为 RANSIC 的终止准则。例如,当 N=100,即意味着 \tau =5,我们可以设定 \upsilon =\sqrt\frac{\bar{c}}{{5}}=3.2

命题 1 是 RANSIC 随机采样的停止条件,直观上表明:(i) 合格残差误差的二次均值必须小于 \upsilon,以及 (ii) 必须找到最小可能的内点数 \tau

C. 旋转搜索的不变函数

在问题(1)之后,我们现在为旋转搜索构造不变量。这里我们提出基于长度的不变量:

命题 2(基于长度的不变函数):

如果我们随机选择两对向量对应关系:(\mathbf {a}_1,\mathbf {b}_1,\mathbf {a}_2,\mathbf {b}_2) 来自集合 \mathcal {A}\mathcal {B},并将它们归一化为单位长度,使得

\begin{equation*} \mathbf {a}^{*}_1=\frac{\mathbf {a}_1}{||\mathbf {a}_1||}, \, \mathbf {b}^{*}_1=\frac{\mathbf {b}_1}{||\mathbf {b}_1||},\, \mathbf {a}^{*}_2=\frac{\mathbf {a}_2}{||\mathbf {a}_2||}, \, \mathbf {b}^{*}_2=\frac{\mathbf {b}_2}{||\mathbf {b}_2||}, \tag{4} \end{equation*}

我们可以定义一个基于长度的 2‑不变函数为:

\begin{equation*} \boldsymbol{f}(\mathbf {a}_1,\mathbf {b}_1,\mathbf {a}_2,\mathbf {b}_2)=\left| \,||\mathbf {b}^{*}_1-\mathbf {b}^{*}_2||-||\mathbf {a}^{*}_1-\mathbf {a}^{*}_2||\, \right|, \tag{5} \end{equation*}

该量对旋转 \boldsymbol{R} 不变。此外,我们可以推导出关于函数 \boldsymbol{f}(\mathbf {a}_1,\mathbf {b}_1,\mathbf {a}_2,\mathbf {b}_2) 的兼容性条件为:

\begin{equation*} \boldsymbol{f}(\mathbf {a}_1,\mathbf {b}_1,\mathbf {a}_2,\mathbf {b}_2)\leq X, \tag{6} \end{equation*}

X 是一个与 \boldsymbol{R} 无关的有限常数。

证明 2:

基于三角不等式以及 \boldsymbol{R} 的性质,并且将 \boldsymbol{\varepsilon } 表示为噪声测量,我们可以得到:

\begin{align*} &\boldsymbol{f}(\mathbf {a}_1,\mathbf {b}_1,\mathbf {a}_2,\mathbf {b}_2)= \left| \,||\mathbf {b}^{*}_1-\mathbf {b}^{*}_2||-||\mathbf {a}^{*}_1-\mathbf {a}^{*}_2||\, \right| \\ &\qquad =\left| \left\Vert \boldsymbol{R} \cdot \!\left(\frac{\mathbf {a}_1\!+\!\boldsymbol{R}^{\top }\boldsymbol{\varepsilon }_1}{||\mathbf {b}_1||}-\frac{\mathbf {a}_2\!+\!\boldsymbol{R}^{\top }\boldsymbol{\varepsilon }_2}{||\mathbf {b}_2||}\right)\! \right\Vert \! -\!\left\Vert \frac{\mathbf {a}_1}{\Vert \mathbf {a}_1\Vert }-\frac{\mathbf {a}_2}{\Vert \mathbf {a}_2\Vert }\right\Vert \right|,\\ &\qquad \leq \, X^{*} + \left\Vert \boldsymbol{R}^{\top } \cdot \left(\frac{\boldsymbol{\varepsilon }_1}{||\mathbf {b}_1||}- \frac{\boldsymbol{\varepsilon }_2}{||\mathbf {b}_2||} \right) \right\Vert \leq X^{*}+\zeta =X, \tag{7} \end{align*}

其中 X^{*} = \Vert \frac{\mathbf {a}_1}{||\mathbf {b}_1||}-\frac{\mathbf {a}_2}{||\mathbf {b}_2||}-\frac{\mathbf {a}_1}{||\mathbf {a}_1||}+\frac{\mathbf {a}_2}{||\mathbf {a}_2||}\Vert\zeta 满足 \Vert \frac{\boldsymbol{\varepsilon }_1}{||\mathbf {b}_1||}-\frac{\boldsymbol{\varepsilon }_2}{||\mathbf {b}_2||} \Vert \leq \Vert \boldsymbol{\varepsilon }\Vert (\frac{1}{||\mathbf {b}_1||}+\frac{1}{||\mathbf {b}_2||}) \leq \zeta。此处阈值 \zeta 通常设置为更具选择性,典型值为:\Vert \boldsymbol{\varepsilon }\Vert \leq 0.5\sigma。命题 2 直观上意味着在旋转前后两向量之间的距离保持不变,并且它用于过滤原始异常值并保留可能为内点的向量对,称为 potential vector pairs。然后我们通过采用 Horn 的快速 2-向量(3 点)求解器 36 计算每个潜在向量对的旋转矩阵。

对于相对于两组潜在向量对的两个估计旋转 \boldsymbol{R}^*_1\boldsymbol{R}^*_2,我们可以通过测试 \boldsymbol{R}^*_1\boldsymbol{R}^*_2 是否相互兼容来判断这些向量对是否可能是内点。

假设此时我们共有 H 个潜在向量对 \mathcal {H}=\lbrace \lbrace (\mathbf {a}_i, \mathbf {b}_i)_c\rbrace _{i=1}^2\rbrace _{c=1}^H。我们提出一个旋转不变量。

命题 3(基于旋转的不变函数):

如果我们针对任意两个潜在向量对选择两次旋转 \boldsymbol{R}^*_1\boldsymbol{R}^*_2,我们可以定义一个 4-不变函数 \boldsymbol{E}(\boldsymbol{R}^*_1, \boldsymbol{R}^*_2),并给出其兼容性条件,使得

\begin{align*} \boldsymbol{E}(\boldsymbol{R}^*_1, \boldsymbol{R}^*_2)=&\angle (\boldsymbol{R}^*_1, \boldsymbol{R}^*_2)\\ =&\angle \left({Exp}([\boldsymbol{\varepsilon }^{\boldsymbol{R}_1}]_{\times }), {Exp}([\boldsymbol{\varepsilon }^{\boldsymbol{R}_2}]_{\times })\right) \leq 2\theta, \tag{8} \end{align*}

其中 \boldsymbol{E}(\boldsymbol{R}^*_1, \boldsymbol{R}^*_2)\boldsymbol{R} 不变,\angle 表示两个旋转之间的测地距离(误差)[^34],\boldsymbol{\varepsilon }^{\boldsymbol{R}}\in \mathbb {R}^3 是映射到 \boldsymbol{R}\in SO(3) 的噪声向量,[\,\,]_{\times } 表示一个 3 维向量的反对称矩阵,{Exp} 是矩阵指数映射。(请参阅 Sec.7.1.3 在 [^35] 以获取将 3 维向量映射到旋转矩阵的详细过程。)

证明 3:

根据 [^34] 中的测地距离属性,以及类似于 37 的情况,我们可以推导出

\begin{align*} \angle &(\boldsymbol{R}^*_1, \boldsymbol{R}^*_2)=\angle \left(\boldsymbol{{R}}{Exp}([\boldsymbol{\varepsilon }_1^{\boldsymbol{R}}]_{\times }), \boldsymbol{{R}} {Exp}([\boldsymbol{\varepsilon }_2^{\boldsymbol{R}}]_{\times })\right)\\ & =\left| arccos\left(\frac{tr({Exp}([\boldsymbol{\varepsilon }_1^{\boldsymbol{R}}]_{\times })^{\top }\boldsymbol{R}^{\top }\boldsymbol{R}{Exp}(\boldsymbol{\varepsilon }_2^{\boldsymbol{R}}))-1}{2}\right)\right|\\ & =\angle \left({Exp}([\boldsymbol{\varepsilon }_1^{\boldsymbol{R}}]_{\times }), {Exp}([\boldsymbol{\varepsilon }_2^{\boldsymbol{R}}]_{\times }) \right) \\ & \leq \angle \left({Exp}([\boldsymbol{\varepsilon }_1^{\boldsymbol{R}}]_{\times }), \mathbf {I}_3 \right) + \angle \left({Exp}([\boldsymbol{\varepsilon }_2^{\boldsymbol{R}}]_{\times }), \mathbf {I}_3 \right) \leq 2\theta, \tag{9} \end{align*}

其中 \mathbf {I}_3 是单位矩阵,且 \theta =\angle ({Exp}([\boldsymbol{\varepsilon }^{\boldsymbol{R}}]_{\times }), \mathbf {I}_3)。 作为噪声,\boldsymbol{\varepsilon }_1^{\boldsymbol{R}}\boldsymbol{\varepsilon }_2^{\boldsymbol{R}} 有界,故不等式 (9) 成立。 对于选取 \theta,我们可以设 \boldsymbol{\varepsilon }^{\boldsymbol{R}}=\delta \boldsymbol{y},其中 \boldsymbol{y}\in \mathbb {R}^3 是一个随机单位向量,且通常 \delta =9\frac{\sigma }{D}(此处 D 为点云中最大表面尺寸的最大直径)。 例如,在我们的实验(Section IV-A)中,我们可以设定 D=2\sigma =0.01,从而 \theta =\angle (Exp([0.045\boldsymbol{y}]_{\times }), \mathbf {I}_3)

D. RANSIC 旋转搜索

在算法 1 中,我们提供了 RANSIC 的伪代码,用于旋转搜索,并附有以下描述。

算法 1 的描述: 在初始化后 (line 1),我们采样随机样本并检查它们的不变性兼容性 (6); 如果样本 \mathcal {S} 通过,我们将其加入集合 \mathcal {X} (lines 3-5). 然后,我们将 \mathcal {X} 中的所有样本视为无向图的顶点,在新顶点 {V}_{\mathcal {S}} 与所有可与 {V}_{\mathcal {S}} 兼容 (8) 的顶点之间建立边,并将这些带边的顶点收集到集合 \mathcal {Y} 中,包括 {V}_{\mathcal {S}} 本身 (lines 5-6). 然后我们使用 K 来判断顶点 {V}_{\mathcal {S}} 是否拥有足够的兼容子集. 若顶点 {V}_{\mathcal {S}} 的度(边数)不小于 K,我们使用 \mathcal {Y} 解决旋转问题,并计算相对于集合 \mathcal {C} 中所有对应关系的残差误差 (lines 7-9). 如果残差误差满足条件 (3),我们停止采样并将 \mathcal {Y} 视为真实内点;若不满足,则将 K 增加 1,因为当前的 K 似乎不足以从兼容子集中挑选出真实内点 (lines 10-13). 最后,我们通过检查残差误差(仅保留残差误差不大于 5.2\sigma 的对应关系,且 5.2\sigma 的选择类似于命题 1)来找到所有内点,形成完整的内点集合 \mathcal {C}^{\star },随后使用 \mathcal {C}^{\star } 中的内点解决旋转问题 \boldsymbol{R}^{\star } (lines 17-18).

Figure 3

E. 点云配准的不变函数

关于问题 (2),我们在不同类型的变量上同时采用 3-不变和 6-不变函数。假设我们有 3 个随机非共线点对应关系 \lbrace (\mathbf {p}_i, \mathbf {q}_i)\rbrace _{i=1}^3 (i=1,2,3),这里定义为一个 3 点集合。相对于 \lbrace \mathbf {p}_i\rbrace _{i=1}^3\lbrace \mathbf {q}_i\rbrace _{i=1}^3 的质心可计算为

\begin{equation*} \bar{\mathbf {p}}=\frac{1}{3} \sum ^{3}_{i=1}\mathbf {p}_i, \,\,\,\bar{\mathbf {q}}=\frac{1}{3}\sum ^{3}_{i=1}\mathbf {q}_i. \tag{10} \end{equation*}

然后我们定义两组从质心指向 3D 点的向量,它们可以写成

\begin{equation*} \mathbf {\widetilde{p}}_i=\mathbf {p}_i-\bar{\mathbf {p}}, \,\,\,\mathbf {\widetilde{q}}_i=\mathbf {q}_i-\bar{\mathbf {q}}. \tag{11} \end{equation*}

这里,我们引入一种基于质心 (10) 的无平移技术(首次出现于 38),使得

\begin{equation*} \boldsymbol{t}=\bar{\mathbf {q}}-\mathit {s}\boldsymbol{R}\bar{\mathbf {p}}, \tag{12} \end{equation*}

由于噪声 \boldsymbol{\epsilon }_i 是各向同性的,我们可以在此形式中大致忽略噪声测量。

命题 4(基于尺度的不变函数):

我们可以定义一组 3-不变函数 \lbrace {s}_i(\mathbf {p}_i, \mathbf {q}_i)\rbrace ^{3}_{i=1},使得

\begin{equation*} {s}_i(\mathbf {p}_i, \mathbf {q}_i)=\frac{||\mathbf {\widetilde{q}}_i||}{||\mathbf {\widetilde{p}}_i||}=\mathit {s}+\epsilon _i^{\mathit {s}}, \tag{13} \end{equation*}

其中每个 {s}_i(\mathbf {p}_i, \mathbf {q}_i)\boldsymbol{R}\boldsymbol{t} 不变,且 \epsilon _i^{\mathit {s}} 是尺度 \mathit {s} 上的噪声误差。此外,函数 \lbrace {s}_i(\mathbf {p}_i, \mathbf {q}_i)\rbrace ^{3}_{i=1} 满足以下兼容条件:

\begin{equation*} |{s}_i(\mathbf {p}_i, \mathbf {q}_i)-{s}_j(\mathbf {p}_j, \mathbf {q}_j)|\leq \alpha \left(\frac{1}{||\mathbf {\widetilde{p}}_i||}+\frac{1}{||\mathbf {\widetilde{p}}_j||}\right), \tag{14} \end{equation*}

其中 (i,j)\in \lbrace (1,2),(1,3),(2,3)\rbrace\alpha 是问题(2)中的噪声阈值(||\boldsymbol{\epsilon }|| \leq \alpha)。对于已知尺度(\mathit {s}=1)情况,我们进一步加入条件:|\mathit {s}_i(\mathbf {p}_i, \mathbf {q}_i)-1|\leq \frac{\alpha }{||\mathbf {\widetilde{p}}_i||}

证明 4:

根据(2)和(12),我们可以得到:

\begin{equation*} \mathit {s}\boldsymbol{R}\mathbf {\widetilde{p}}_i+\boldsymbol{\epsilon }_i=\mathbf {\widetilde{q}}_i, \Rightarrow \, ||\mathit {s}\boldsymbol{R}\mathbf {\widetilde{p}}_i||=||\mathbf {\widetilde{q}}_i-\boldsymbol{\epsilon }_i||. \tag{15} \end{equation*}

基于三角不等式,我们可以推导出

\begin{equation*} {\begin{array}{c}||\mathbf {\widetilde{q}}_i||-||\boldsymbol{\epsilon }_i|| \leq ||\mathit {s}\boldsymbol{R}\mathbf {\widetilde{p}}_i||= \mathit {s}||\mathbf {\widetilde{p}}_i|| \leq ||\mathbf {\widetilde{q}}_i||+||\boldsymbol{\epsilon }_i||, \end{array}} \tag{16} \end{equation*}

并且使用阈值 \alpha(我们通常设置 \alpha =4.3\sigma 使得 \mathbb {P}(||\boldsymbol{\epsilon }_i||>\alpha)< 5e-4),我们得到

\begin{equation*} {\begin{array}{c}\frac{||\mathbf {\widetilde{q}}_i||-\alpha }{||\mathbf {\widetilde{p}}_i||} \leq \mathit {s} \leq \frac{||\mathbf {\widetilde{q}}_i||+\alpha }{||\mathbf {\widetilde{p}}_i||}, \end{array}} \tag{17} \end{equation*}

这导致了(14)中的兼容条件。命题 4 表明,只要 3 点集合仅由内点组成,3 条由 3 点形成的直线在缩放变换(\mathit {s},\boldsymbol{R},\boldsymbol{t})后应具有相同的尺度(至少近似相同),这与我们的第一个兼容条件相符。

然后我们用这组三点大致计算原始尺度和旋转。我们使用最小二乘求解器 39 来求尺度:

\begin{equation*} \mathit {s}^{*}=\frac{1}{\sum _{i=1}^3 w_i}\cdot \sum _{i=1}^3 w_i\boldsymbol{s}_i(\mathbf {p}_i, \mathbf {q}_i), \tag{18} \end{equation*}

其中 w_i=\frac{||\mathbf {\widetilde{p}}_i||^2}{\alpha ^2}。为计算 \boldsymbol{R}^{*},我们仍然像命题 3 那样使用 SVD。利用 \boldsymbol{R}^{*}\mathit {s}^{*},可以求解相对于 3 点的平移,并且它们还必须相互兼容:

命题 5(基于平移的不变函数):

随后我们定义一组满足以下条件的函数 \lbrace \boldsymbol{t}_i(\mathbf {p}_i, \mathbf {q}_i)\rbrace ^{3}_{i=1}

\begin{equation*} \boldsymbol{t}_i(\mathbf {p}_i, \mathbf {q}_i)=\mathbf {q}_i-\mathit {{s}}^{*}\boldsymbol{{R}}^{*}\mathbf {p}_i=\boldsymbol{t}+\boldsymbol{\epsilon }^{\boldsymbol{t}}_i, \tag{19} \end{equation*}

其中 \boldsymbol{t}_i(\mathbf {p}_i, \mathbf {q}_i)\mathit {s}\boldsymbol{R} 不变,并且 \boldsymbol{\epsilon }^{\boldsymbol{t}}_i 表示噪声测量。任意两个 \boldsymbol{t}_i(\mathbf {p}_i, \mathbf {q}_i) 应满足:

\begin{equation*} ||\boldsymbol{t}_i(\mathbf {P}_i, \mathbf {Q}_i)-\boldsymbol{t}_j(\mathbf {P}_j, \mathbf {Q}_j)||\leq 2\beta, \tag{20} \end{equation*}

其中 (i,j)\in \lbrace (1,2),(1,3),(2,3)\rbrace||\boldsymbol{\epsilon }^{\boldsymbol{t}}_i||\leq \beta。通常,我们设定 \beta =5.2\sigma,以便使 \mathbb {P}(||\boldsymbol{\epsilon }^{\boldsymbol{t}}_i||>\beta)< 1e-5。与 Section III-C 类似,如果存在 M 个 3 点集合 \mathcal {M}=\lbrace \lbrace (\mathbf {p}_i, \mathbf {q}_i)_d\rbrace _{i=1}^3\rbrace _{d=1}^M 满足前两个条件,称为 potential 3-point sets,我们现在定义最终的‘overall’不变式来判断是否存在来自集合 \mathcal {M} 的任意一对 potential 3-point sets 能够相互兼容。

命题 6(最终 6-不变函数):

我们定义一组 6-invariant 函数 \lbrace \boldsymbol{r}_d(\mathbf {p}_i, \mathbf {q}_i)\rbrace _{d=1}^2,满足

\begin{equation*} \boldsymbol{r}_d(\mathbf {p}_i, \mathbf {q}_i)=\boldsymbol{{R}}^{*}_d=\boldsymbol{{R}}\cdot {Exp}(\boldsymbol{\epsilon }^{\boldsymbol{R}}_d) \tag{21} \end{equation*}

其中 \boldsymbol{r}_d(\mathbf {p}_i, \mathbf {q}_i)\mathit {s}\boldsymbol{t} 是不变的,且 \boldsymbol{\epsilon }^{\boldsymbol{R}}_d 是映射到旋转的噪声。对于任意两个 potential 3-point sets \lbrace \lbrace (\mathbf {p}_i, \mathbf {q}_i)_d\rbrace _{i=1}^3\rbrace _{d=1}^2,我们有兼容性条件:

(i) 函数 \lbrace \boldsymbol{r}_d(\mathbf {p}_i, \mathbf {q}_i)\rbrace ^{2}_{d=1} 应满足

\begin{equation*} \angle \left(\boldsymbol{r}_1(\mathbf {p}_i, \mathbf {q}_i), \boldsymbol{r}_2(\mathbf {p}_j, \mathbf {q}_j)\right) \leq 2\gamma, \tag{22} \end{equation*}

其中证明类似于 Proposition 3,这里我们通常使用 \delta =9\frac{\sigma }{D} 来计算 \gamma =\angle (Exp([\delta \boldsymbol{y}]_{\times }), \mathbf {I}_3));

(ii) 将两个 3-point sets 合并为一个 6-point set:\lbrace (\mathbf {p}_i, \mathbf {q}_i)_l\rbrace _{l=1}^6,我们还可以得到

\begin{align*} ||{s}_a(\mathbf {p}_a, \mathbf {q}_a)-{s}_b(\mathbf {p}_b, \mathbf {q}_b)||&\leq \alpha \left(\frac{1}{||\mathbf {\widetilde{p}}_a||}+\frac{1}{||\mathbf {\widetilde{p}}_b||}\right), \tag{23} \\ ||\boldsymbol{t}_a(\mathbf {p}_a, \mathbf {q}_a)-\boldsymbol{t}_b(\mathbf {p}_b, \mathbf {q}_b)||&\leq 2\beta, \tag{24} \end{align*}

其中 a,b\in \lbrace 1,2,\ldots,6\rbrace \,\,(a\ne b)。Proposition 6 构成最后的兼容性条件,用于从 potential 3-point sets 提取合格的内点。请注意,上述所有兼容性条件均为 Boolean,因此在实践中实现相当快速。

F. RANSIC 用于点云配准

RANSIC 对未知尺度配准的伪代码见 Algorithm 2,其主要框架类似于 Algorithm 1。差异在于不变式和兼容性条件。对于已知尺度配准,我们只需在 (14) 中加入 |\mathit {s}_i(\mathbf {p}_i, \mathbf {q}_i)-1|\leq \frac{\alpha }{||\mathbf {\widetilde{p}}_i||},如 Proposition 4 所述。

SECTION IV. 实验

我们在合成数据和真实实验中评估 RANSIC 与现有最先进求解器的性能。实验在装有 i7-7700HQ CPU 和 16 GB RAM 的笔记本电脑上使用 Matlab 进行。未使用并行编程。

Figure 4

A. 合成实验(旋转搜索)

我们在合成数据上测试 RANSIC(Algorithm 1)用于旋转搜索。我们创建 N=\lbrace 100,500,1000\rbrace 随机单位范数 3D 向量 \mathcal {A}=\lbrace \mathbf {a}_i\rbrace _{i=1}^{N},并用随机旋转 \boldsymbol{R}\in SO(3) 旋转集合 \mathcal {A},以获得相应的向量集合 \mathcal {B}=\lbrace \mathbf {b}_i\rbrace _{i=1}^{N}。我们在 \mathcal {B} 中的向量上加入随机高斯噪声 \sigma =0.01。为产生离群值,\mathcal {B} 中的 (0-99%) 份向量被替换为随机单位范数向量。所有结果基于上述 50 次蒙特卡洛运行。

我们将 RANSIC 与 FGR 40, GORE [^37], GNC-TLS 41, RANSAC with minimal solver 42 仅(命名为 ‘RANSAC-M’),RANSAC with both minimal and non-minimal 43 解决方案(命名为 ‘RANSAC-MN’),LO-RANSAC 44,以及 BnB 45 进行基准测试。所有 RANSAC 解算器都设置为 0.99 的置信度和 10^3 次最大迭代。我们排除 N=1000 的 BnB 和 QUASAR 46,以便所有测试由于其较长运行时间。旋转误差以 \angle (\boldsymbol{R}^{\star },\boldsymbol{R})\cdot {\frac{180}{\pi }}(以度为单位)表示。结果如 Fig. 3(a-c) 所示。

Figure 5

*Fig. 3. 实验结果。 (a-c) 在不同对应点数 N 的合成数据上进行旋转搜索。 (d) 对我们在实验中使用的 8 个不同点云的点云配准问题的示例,左到右,第一个四个示例使用已知尺度,最后四个示例使用未知尺度,内点(5%)为绿色,外点(95%)为红色。 (e-f) 在这 8 个点云上的已知尺度和未知尺度配准。 (g) 图像拼接结果的定性示例。左到右,我们展示由 SURF 匹配的二维原始对应点,以及 GNC-TLS、RANSAC、LO-RANSAC 和 RANSIC 的定性结果,包括找到的内点(绿色线条,其他红线为外点)和由相应求解器拼接的图像对。第一行显示 TUM SLAM 数据集 [43] 上连续两次拼接的示例,接下来的两行展示在 Lunch Room [1] 和 Castle [44] 上高外点比率的拼接示例。 (h) 高外点(>90%)目标定位结果的定性示例。左到右,我们展示由 FPFH 匹配的 3D 对应点(绿色为内点,红色为外点),以及 GNC-TLS、RANSAC、LO-RANSAC 和 RANSIC 的定性配准结果(将目标重新投影回场景,使用估计的变换),左半部分展示已知尺度配准,右半部分展示未知尺度配准。

我们可以观察到 (i) FGR、GNC-TLS 和 RANSAC 求解器在超过 95% 的外点时全部失效,而 RANSIC 展示了最高的鲁棒性:它对 95% 的外点具有鲁棒性 N=100,对 98% 的外点 N=500,对 99% 的外点 N=1000, (ii) RANSIC 的精度高:它通常具有最低的误差, (iii) RANSIC 的效率好:在外点比例在 0-96% 并使用 N=\lbrace 500,1000\rbrace 时,它是最快的求解器,且在外点比例低于 80% 并使用 N=100 时几乎与 GORE 同速。

B. 点云配准的标准基准测试

我们在 8 组著名扫描点云上测试 RANSIC(Algorithm 2)用于点云配准:BunnyArmadillo 和 Dragon 来自 Stanford 仓库 [^38],以及 DuckFrogMarioScene2 和 Scene3 来自 SHOT 数据集 [^39]。设置如下:(i) 我们将点云下采样至 1000 点,并将其调整为适合一个 [-0.5,0.5]^3 框,作为初始点集 \mathcal {P}=\lbrace \mathbf {p}_i\rbrace _{i=1}^{1000},(ii) 我们用随机变换对 \mathcal {P} 进行变换:\mathit {s}\in (1,5)\boldsymbol{R}\in SO(3)\boldsymbol{t}||\boldsymbol{t}||\leq 3),(iii) 我们为变换后的点集 \mathcal {Q}=\lbrace \mathbf {q}_i\rbrace _{i=1}^{1000} 添加随机噪声 \sigma =0.01,并且 (iv) 为生成杂乱的离群点,\mathcal {Q} 中 0-99% 的点被替换为位于直径为 \sqrt{3}\mathit {s} 的 3D 球内的随机点,如图 3(d) 所示。我们对每个点云进行 10 次蒙特卡洛实验(总共 80 次实验,针对 8 个点云)。

对于已知尺度的配准,我们采用 FGR、GORE 47、RANSAC-M 和 RANSAC-MN、LO-RANSAC、GNC-TLS,以及 TEASER 4849(等同于 ROBIN)。TEASER 使用 GNC-TLS(如同 50)在 Matlab 中求解,配合快速最大团求解器 [^32],并未使用并行编程以确保公平。RANSAC 求解器的置信度设为 0.99,最大迭代次数为 10^5。对于未知尺度的测试,FGR、GORE 和 TEASER 被排除,原因如下: (i) FGR 和 GORE 并非为尺度估计而设计; (ii) TEASER 中的尺度估计器“Adaptive Voting”在使用 N=1000 时需要数小时运行,并在 90% 异常值时中断,如图 5(a)所示。\mathit {s}\boldsymbol{t} 的误差计算方式为:|\mathit {s}^{\star }-\mathit {s}|,以及 ||\boldsymbol{t}^{\star }-\boldsymbol{t}||

Figure 6

Fig. 4. 定量物体定位结果。(a-b) 已知尺度与未知尺度配准结果,针对数据集 [45] 进行 1000 次测试的 7 个物体。

Figure 7

图 5. 附加结果. (a) RANSIC 的尺度估计与自适应投票和 1-点 RANSAC 的比较 (N=100). (b) RANSIC 在旋转搜索和点云配准中的内点召回率 (N=1000).

从图 3(d-f)可知,(i) 在已知尺度配准中,RANSIC、GORE 和 TEASER 对 99% 的离群值具有鲁棒性,而其他所有求解器在超过 95% 时会失败,(ii) 在未知尺度配准中,RANSIC 仍能容忍 99% 的离群值,(iii) 当离群率在 0-98% 范围内时,RANSIC 是最快的,并且通常具有最高的准确率。

C. 附加实验

再进行两项实验。在图 5(a)中,我们单独测试 RANSIC 作为尺度估计器,并将其与 TEASER 中的 Adaptive Voting 和 1-point RANSAC [^40] 与 N=100 进行比较。它们都在 90% 时失效,且速度慢于 RANSIC,而 RANSIC 在图 3(f)中最多能容忍 99%。此外,我们评估了 RANSIC 在图 5(b)中的三种问题的内点召回率。RANSIC 能召回近 100% 的内点。

D. 实际应用 1: 图像拼接

我们在图像拼接中测试 RANSIC,图像拼接是旋转搜索的典型实际应用。我们从 TUM RGB-D SLAM [^41]、Castle [^42] 和 PASSTA Lunch Room 51 数据集选择连续图像对。我们使用 SURF 52 来检测并匹配每个图像对之间的二维关键点,并使用 \mathbf {K}^{-1}\mathbf {K} 为已知内参矩阵)来构建向量对应关系 \lbrace \mathbf {a}_i\rbrace _{i=1}^N\lbrace \mathbf {b}_i\rbrace _{i=1}^N。我们在 [^41] 中测试 2000 对图像(500 对来自 room,800 对来自 360-hemisphere,700 对来自 long-office-household,索引间隔为 25-30 [^43]),在 53 中测试 65 对图像,索引间隔为 7,以及在 [^42] 中测试 28 对图像,索引间隔为 1,总计 2093 次测试。RANSAC(-MN)、LO-RANSAC、GNC-TLS 和 RANSIC 被用于求解每对图像之间的旋转,然后计算单应矩阵:\mathbf {H}=\mathbf {K}\boldsymbol{R}^{\star }\mathbf {K}^{-1},随后用于拼接图像。由于外点比例不高,范围从 0% 到 62%(平均 16%),四个求解器在所有测试中均成功,我们在 Fig. 6(a) 中报告了它们的运行时间。为进行高外点比例评估,我们进一步测试了来自 54 的 5 对图像以及来自 [^42] 的另外 5 对图像,所有图像对都具有低重叠,示例见 Fig. 3(g),外点比例范围从 45% 到 77%(平均 63%)。我们在 Fig. 6(b) 中展示了结果。RANSIC 在时效性和成功率方面的优越性显而易见。

Figure 8

Fig. 6. 定量图像拼接结果。 (a) 在数据集 [1]、[43]、[44] 上总共 2093 对图像的拼接。 (b) 在 [1] 和 [44] 中拼接 10 对外点比例较高的图像对。左侧图像中,每个图像对对应一条线;右侧图像显示成功拼接的比例。

E. 真实应用 2:目标定位

我们在 RGB‑D 场景数据集 [^44] 上测试 RANSIC 的目标定位性能,并与 RANSAC(-MN)、LO‑RANSAC 和 GNC‑TLS 进行比较。我们在 14 个场景中测试了 7 种不同的物体(bowl 在 9 场景,cap 在 7 场景,cereal box 在 7 场景,coffee mug 在 8 场景,coffee table 在 8 场景,office chair 在 5 场景,soda can 在 6 场景)。对于每一组物体‑场景对,我们对已知尺度情况进行 10 次测试,再对未知尺度情况进行 10 次测试,总计 1000 次测试。具体而言,我们从场景中提取给定标签的目标物体的 3D 点云,并用随机变换对其进行变换。我们使用 FPFH [^45] 构建物体与场景之间的对应关系,并使用 4 个求解器求解变换。在 1000 次测试中,外点比例从 31% 到 97%(平均 72%)。我们展示了 6 个高外点(>90%)的定性示例以及 Fig. 3(h) 和 Fig. 4 中的所有定量结果。我们可以看到,RANSIC 作为最快且最鲁棒的求解器,在所有目标定位测试中都取得成功。

结论

本文提出了一种用于基于对应关系的旋转搜索和点云配准的鲁棒求解器 RANSIC。通过应用不变量、图论以及它们与传统随机采样的兼容性,RANSIC 在以下方面展示了最先进(或至少是最先进之一)的性能:(i)鲁棒性(对超过 95% 的离群点具有鲁棒性),(ii)时间效率,以及(iii)精度。我们基于来自多个真实世界数据集的 3000 多次真实测试验证了 RANSIC。我们的源代码:https://github.com/LeiJamesSun/RANSIC.

脚注

  1. 索引间隔在……之间

a_{th}b_{th} 图像是 |b-a| .

参考文献

其他参考文献

  1. B. K. Horn、H. M. Hilden 与 S. Negahdaripour,‘利用正交矩阵求绝对定向的闭式解’,JOSA A,卷 5,号 7,页 1127–1135,1988 年。

  2. C. Olsson, F. Kahl, and M. Oskarsson, “用于欧几里得配准问题的分支限界方法,” IEEE Trans. Pattern Anal. Mach. Intell., vol.  31, no.  5, pp.  783–794, May 2009.

  3. P. Antonante, V. Tzoumas, H. Yang, and L. Carlone, “稳健外点估计:难度、最小调参算法与应用,” 2020, arXiv:2007.15109.

  4. C. Zach, A. Penate-Sanchez, and M.-T. Pham, “一种快速稳健的基于范围图像的对象姿态识别动态规划方法,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2015, pp.  196–203.

  5. S. Quan and J. Yang, “兼容性引导的采样一致性用于3-D点云配准,” IEEE Trans. Geosci. Remote Sens., vol.  58, no.  10, pp.  7380–7392, Oct. 2020.