Print

发布时间: 2018-04-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.170038
2018 | Volume 23 | Number 4




    图像处理和编码    




  <<上一篇 




  下一篇>> 





使用霍夫变换的3维点云拼合算法
expand article info 吴霄, 陈聪梅, 王加俊
苏州大学电子信息学院, 苏州 215006

摘要

目的 直接基于点云数据本身的拼合算法对点云模型的位置和重叠度有着较高的要求。为了克服这种缺陷,提出一种针对散乱点云的分步拼合算法。方法 不同于大多数已有的基于曲率信息的拼合算法,本文算法包含了一个序贯式的匹配点对筛选过程和一个基于霍夫变换的坐标变换参数估计过程。在筛选过程中,首先利用曲率相似度确定点云数据之间的初始匹配关系,然后利用刚体不变量特征邻域标识相似度以及持续特征直方图相似度对初始匹配点对进行连续两次筛选以便得到更为精确的匹配点对集。在参数估计阶段,通过对匹配点对的旋转矩阵和平移矢量的参数化处理,利用霍夫变换消除错误匹配点对对坐标变换参数估计的影响,从而得到更加准确的坐标变换参数,实现点云的3维拼合。结果 利用本文算法对两片部分重叠的点云数据进行了拼接实验。实验结果表明,本文算法能很好地实现对部分重叠点云的拼合。由于霍夫变换的引入,本文算法相较于经典的Ransac算法具有更高的正确率、稳定性以及抗噪性,在运行速度上也具有一定的优越性。结论 本文算法不仅能适用于任何具有任意初始相对位置的部分重叠点云的拼接,而且可以取得很高的拼合精度和很好的噪声鲁棒性。

关键词

点云拼合; 不变量特征; 霍夫变换; 持续特征直方图(PFH); 匹配; 法向量调整; 曲率

Three-dimension registration method for point cloud data using the Hough transform
expand article info Wu Xiao, Chen Congmei, Wang Jiajun
School of Electronic and Information Engineering, Soochow University, Suzhou 215006, China
Supported by: Natural Science Foundation of Jiangsu Province, China(BK20171249)

Abstract

Objective Typical cloud data registration methods based on cloud data have high demands on the locations and overlapping degree of the two cloud datasets to be registered. For instance, the iterative closest point (ICP) algorithm establishes the corresponding relationship by searching the closest points, usually measured in Euclidean distance, between two point sets. Poor initial positions of two point cloud sets commonly lead to many erroneous correspondences, and eventually only local optimal solutions can be obtained rather than the global optimal solution. In addition, the ICP algorithm has high requirements on the overlapping degree between two clouds to be registered. To tackle this problem, we propose a ${\rm step}$-by-${\rm step}$ registration algorithm for the registration of scattered cloud data. Method Different from most existing curvature-based registration algorithms, our proposed method consists of one sequential filtering process for erroneously matched point pairs and one parameter estimation process based on the Hough transform. In the filtering process, the point cloud curvature and other geometric derivative information were calculated, and the candidate matched point pairs from different clouds were extracted subsequently on the basis of the curvature. For the further elimination of the erroneously matching point pairs, these candidates were sequentially filtered on the basis of two similarity measures for the invariant signature and the persistence feature histogram. In the parameter estimation stage, the Hough transform was used to remove the contributions of the erroneously matched point pairs and to determine the final transform for registration upon parameterizing the rotation matrices and the translation vectors of these point pairs. Result The proposed algorithm is used to register the bunny point cloud data downloaded from the official website of Stanford University for validation. To do so, the entire point cloud data are initially divided into two overlapping point cloud datasets. The overlapping degree of these two cloud datasets is approximately 22%. One of the point cloud datasets is subjected to arbitrary translation and rotation operations. Our proposed algorithm is then employed for the registration of the aforementioned two partially overlapped cloud datasets. The initial matching point set is extracted on the basis of curvature similarity, and then the similarity measures of the invariant features are used as the first filter to eliminate erroneously matched point pairs. Experimental results corroborate that approximately twice improvement in the accuracy of the matching points can be achieved upon employing the filter based on the invariant feature. Subsequently, the similarity measures of the continuous feature histogram are used as the second filter for the previously obtained matching point pairs. The results of this procedure affirm that approximately twice improvement in the average accuracy is achieved. Finally, clustering analysis is performed on the basis of the Hough transform to obtain the final coordinate transformation parameters from the aforementioned matching point pairs and to further eliminate the contribution of the outliers of the matching points to the transformation parameters. Our proposed algorithm, which used the Hough transform, is compared with the classical Ransac algorithm. The number of random sampling is set to k=1000, and the distance from the point to the space line threshold is set to 0.08 to match the parameters of the sphere space. At the 1% noise level, the matching points using the Hough algorithm accuracy is 92.67%, and the average accuracy of the Ransac algorithm is 88.2%. At the 5% noise level, 50% matching accuracy can be achieved with the Hough transform-based algorithm, whereas that of the Ransac algorithm is 18.4%. Additionally, at each noise level, the results from each run of the Ransac algorithm cannot be repeated, implying that the stability of the Ransac algorithm is poor. Thus, our method outperforms the classical Ransac algorithm in accuracy, stability, and robustness to noise. Moreover, our method runs faster than that based on the Ransac algorithm. Conclusion Our proposed algorithm can be used for the registration of any partially overlapped clouds with any relative deviation and achieve high accuracy and robustness to noise. The proposed algorithm is time-consuming because it requires ${\rm step}$-by-${\rm step}$ implementations. Our future work will concentrate on investigating the point cloud data reduction strategy and its corresponding combination method to improve the efficiency of the algorithm further.

Key words

point clouds registration; invariant signature; hough transform; persistence feature histogram; match; normal vector adjustment; curvature

0 引言

最近3维(${\rm 3D}$)模型越来越引起大家的关注。它可以广泛地应用在娱乐业的${\rm 3D}$游戏或者${\rm 3D}$电影[1]${\rm 3D}$测量[2]${\rm 3D}$上颌牙齿曲线扫描[3]、机器人视觉引导[4]等。点云数据的获取通常有以下几种方式:接触式[5]、非接触式[6-7]或者断层扫描[8]等。然而,无论采用哪种方式,均需要利用从多个角度采集的点云数据才能构建物体完整的3维模型。不同的采集角度意味着点云数据存在于不同的坐标系,因而需要对不同坐标系下的点云数据进行拼合处理,其实质就是将来自不同坐标系的点云数据放在同一个坐标系下。

对于大多数商用级的${\rm 3D}$激光扫描仪系统,拼合的过程大都采用非自动化的方式。比如可以通过将标记贴在被扫描的物体上,或通过预先校准两次扫描之间的浮动来实现。另外,也可以采用自动拼合的方式。然而,自动拼合算法由于稳定性差、准确度低、低速等缺点,其应用受到一定限制。典型的点云自动拼合方式可以分为两类:直接基于点云数据本身的[9]和基于几何特征的[10-11]的拼合方式。

直接的拼合方式,就是将不同视角的点云直接配准在一起。一种典型的配准方式就是最近点迭代(${\rm ICP}$)算法[12]${\rm ICP}$算法不需指定任何特征,但是如果两片点云数据没有较好的初始位置,根据距离最近原则确定的匹配点会包含很多错误的对应关系,导致最终往往只能得到局部最优解,而不是全局最优解。而且${\rm ICP}$算法要求待拼接的一片点云完全包含另外一片,对部分重叠或者不重叠的问题无法解决。${\rm Chen}$等人[13]提出使用两个法向量的距离来代替两个点的距离作为最近点搜索的评价函数。但此方式计算效率低,因为它需要求解非线性的最小二乘问题,并且它要求两片点云足够靠近。为了解决非线性最小二乘问题,${\rm Masuda}$等人[14]引入了最小中值平方估计(${\rm LMedS}$)策略,但是它的每次迭代都需要重采样。

另一种拼合方式是基于特征点的,特征点可以是洞、边沿、拐角、法向量等。${\rm Jiang}$等人[15]提出根据$k$维角不变特征选择对应点,这种特征由点法向量及其邻域点法向量之间的夹角形成的$k$维角度组成,它对于缩放和旋转变换是不变的,并且适用于具有较小曲率的表面。辛伟等人[16]通过采用不规则曲面点与其一邻域点重心间的距离作为刚性特征对点云进行拼合,此方法对于点云的初始位置有一定的要求。${\rm Chen}$等人[17]提出了一种基于主曲率分布的局部表面描述因子来实现点云匹配的方法。${\rm Zhu}$等人[18]提出了基于曲率和法向量的${\rm hash}$拼合算法。为了使得拼合更加的准确,${\rm Akca}$等人[19]提出了归一化其他的一些信息比如:密度,颜色,质地等。然而,这些信息对采集设备有很高的要求。基于特征点的方式没有任何的初始位置限制可以很容易地实现拼合并且达到较高的拼合精度,并且适用不同密度的点云数据,然而却无法适用在没有明显特征的物体上。

最近,在这两类方法的研究上取得了重要进展。${\rm Chen}$等人[20]提出了${\rm HT-ICP}$算法。该算法改变传统${\rm ICP}$中的原始非线性优化问题,通过参数化具有扭曲指数的刚性运动将欧几里得变换导出为矩阵方程(其可以利用高斯消去策略方便地求解)。为了解决传统${\rm ICP}$算法部分重叠的问题,提出了一种基于估计的重叠率和可接受的间隔来去除在非重叠区的错误点对的策略。与传统的${\rm ICP}$及其变种相比,该算法同时提高了拼合的速度和精度。${\rm He}$等人[21]提出了一种基于特征点的算法,该算法适用于部分重叠的点云数据的拼合。在此算法中,对应点关系的建立基于两个步骤:1)通过计算具有最大局部曲率变化的特征点之间的${\rm Hausdorff}$曲率距离来获得初始匹配点;2)基于局部表面的圆周形状特征从初始匹配点获得精确匹配点。基于准确的匹配点,该算法使用四元素迭代方式获得欧几里得变换。${\rm Papazov}$等人[22]提出了一种拼合算法,基于反向距离将拼合问题转化为两个点云非线性代价函数的最小化问题,这可以显著减小噪声和边界的影响。在不需要任何初始对准的情况下,使用随机方法使成本函数全局最小化,该方法使用广义${\rm BSP}$树并且允许在复杂形状的搜索空间(例如旋转空间)上最小化非线性标量场。

在基于特征的拼合方法中,通常需要用到微分信息。但是这类方法对噪声非常敏感,容易产生错误的匹配点对,同时对重叠率有较高要求。为此,提出一种逐层筛选的匹配点对计算策略,并利用霍夫变换确定最优的坐标变换参数,最终实现点云拼合。首先利用点云的曲率相似度确定初始匹配点对的集合,然后利用刚体不变量特征相似度对初始匹配点对进行筛选。由于曲率和刚体不变特征都是基于局部求导的,对噪声很敏感,所以匹配点对数组中会存在很多错误点对。为了减小噪声对匹配点对的影响,利用持续特征直方图(${\rm PFH}$)对错误的匹配点对进行进一步的筛选。为了进一步提高匹配的正确率,消除错误匹配点对对坐标变换参数估计的影响,利用霍夫变换实现聚类分析,从而估算出最优的坐标变换参数并实现点云拼接。实验结果表明,本文算法不仅能适用于具有任意初始相对位置的部分重叠点云的拼接,而且可以取得很高的拼合精度和噪声鲁棒性。

1 点云拼接

基于刚体不变量特征值和持续特征直方图进行点云拼合,经过霍夫变换得到变换参数。在这个过程中,曲率特征和刚体不变量特征是基于球面映射的[23],通过此方法来提取初始匹配点对,然后使用直方图特征值[24]对匹配点对进行筛选,最后通过霍夫变换进一步筛选出正确的匹配点对,从而实现点云拼合。

1.1 几何信息的计算

对于规则排列的数据点可以进行二次参数曲面[25]拟合来估算法向量和曲率。由于很难对散乱无序的点云数据进行参数化,因此采用局部切平面参数化[26]来解决该问题,即用投影到局部切平面的点代替原始数据点来进行参数化。然而,该方法计算出来的法向量方向往往是不一致的,所以需要对法向量方向进行调整。为了解决这一问题,${\rm Hoppe}$等人[27]提出一种法向量方向“传播”策略:选取点云中的一点作为调整的初始点,按照一定的优先原则对该点的某个近邻点进行调整;然后将已完成法向量调整的点的法向量方向传播给邻近点的法向量,直到调整完所有数据点的法向量方向为止。本文在选择近邻点进行法向量方向调整时采用广度优先结合$cost$权值的优先原则。其中,$cost = 1-\left| {\mathit{\boldsymbol{N}}\left( {{p_i}} \right) \cdot \mathit{\boldsymbol{N}}\left( {{q_j}} \right)} \right|$,权值越小优先级越高。在此过程中,一个点$q_{j}∈Knn(p_{i})(Knn(p_{i})$表示点$p_{i}$$k$-近邻像素组成的集合)是否需要进行法向量的调整依赖于两个法向量$\mathit{\boldsymbol{N}}(p_{i})$$\mathit{\boldsymbol{N}}(q_{j})$之间的内积,如果$\mathit{\boldsymbol{N}}(p_{i})·\mathit{\boldsymbol{N}}(q_{j})<0$,则需要进行法向量的调整。

1.2 来自不同点云的数据匹配

1.2.1 刚体不变量的定义

对点云$\mathit{\boldsymbol{P}}$中任意点$p_{i}$,其$r$-闭球域的球面映射为

$ {\mathit{\boldsymbol{G}}_r}\left( {{p_i}} \right) = \left\{ {\mathit{\boldsymbol{N}}\left( q \right)\left| {q \in \mathit{\boldsymbol{R}}\left( {{p_i}} \right)} \right.} \right\} $ (1)

式中,$\mathit{\boldsymbol{R}}\left( {{p_i}} \right) = \left\{ {q|{{\left\| {q-{p_i}} \right\|}_2} < r, q \in \mathit{\boldsymbol{P}}} \right\}$是点$ p_i$$r$-闭球域,$\mathit{\boldsymbol{N}}(q)$$q$点处的法向量。以$\mathit{\boldsymbol{G}}_{r}(p_{i})$中所有点的偏差向量为列向量构成如下$3×K$的偏差矩阵

$ \mathit{\boldsymbol{D}}\left( {{p_i}} \right) = \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{N}}\left( {{q_1}} \right) - g\left( {{p_i}} \right)}\\ {\mathit{\boldsymbol{N}}\left( {{q_2}} \right) - g\left( {{p_i}} \right)}\\ \vdots \\ {\mathit{\boldsymbol{N}}\left( {{q_K}} \right) - g\left( {{p_i}} \right)} \end{array}} \right] $ (2)

式中,$g\left( {{p_i}} \right) = \frac{1}{K}\sum\limits_{k = 1}^K {\mathit{\boldsymbol{N}}\left( {{q_k}} \right)} $$\mathit{\boldsymbol{G}}_{r}(p_{i})$的质心,$K$$r$-闭球域中点的个数。从偏差矩阵的转置矩阵$\mathit{\boldsymbol{D}}{\left( {{p_i}} \right)^{\rm{T}}}$可以获得其奇异值$σ_{1}≤σ_{2}≤σ_{3}$,及其对应的右奇异矢量$\mathit{\boldsymbol{v}}_{1}、\mathit{\boldsymbol{v}}_{2}、\mathit{\boldsymbol{v}}_{3}$。考虑到这3个奇异值对刚体变换来说是不变量,将不变特征标识定义为

$ f\left( {{p_i}} \right) = \left\{ \begin{array}{l} {\left[ {\frac{{{\sigma _1}}}{{{\sigma _3}}},\frac{{{\sigma _2}}}{{{\sigma _3}}}} \right]^{\rm{T}}}\;\;\;\;\;{\sigma _3} \ne 0\\ {\left[ {1,1} \right]^{\rm{T}}}\;\;\;\;\;\;\;\;\;\;\;\;{\sigma _3} = 0 \end{array} \right. $ (3)

这里,利用奇异值的比值来定义不变特征标识,不仅仅使得它与坐标系无关,而且也可以消除点数量的影响。它可以很好地体现出曲面的特性,而且减少噪声的影响,增强鲁棒性。

1.2.2 基于曲率相似度的数据配准

假设目标点云$\mathit{\boldsymbol{P}}=\{p_{i}, i=1, 2, …, n_{1}\}$和浮动点云$\mathit{\boldsymbol{Q}}=\{q_{j}, i=1, 2, …, n_{2}\}$是两个来自不同视角的点云数据。实现$\mathit{\boldsymbol{P}} $$ \mathit{\boldsymbol{Q}}$对齐配准的关键是在两片部分重叠的点云中找到正确的匹配点对。假设$p_{i}∈\mathit{\boldsymbol{P}}$$q_{j}∈\mathit{\boldsymbol{Q}}$是一对匹配点对,那么这两个点的邻域曲面也应该相似,即满足

$ \begin{array}{l} {\mathop{\rm sgn}} \left( {{C_g}\left( {{p_i}} \right)} \right) = {\mathop{\rm sgn}} \left( {{C_g}\left( {{q_j}} \right)} \right)\\ {\mathop{\rm sgn}} \left( {{C_a}\left( {{p_i}} \right)} \right) = {\mathop{\rm sgn}} \left( {{C_a}\left( {{q_j}} \right)} \right) \end{array} $ (4)

式中, $C_{a}$$C_{g}$分别是点$p_{i}$或者$q_{j}$处的平均曲率和高斯曲率。由于曲面平坦区域的特征不够明显,容易造成误匹配,因此在寻找对应点对时设置一个充分小的阈值$ε_{1}>0$用以排除掉平坦区域的点,即

$ \begin{array}{l} \left| {{C_a}\left( {{p_i}} \right) \cdot {C_g}\left( {{p_i}} \right)} \right| > {\varepsilon _1}\\ \left| {{C_a}\left( {{q_j}} \right) \cdot {C_g}\left( {{q_j}} \right)} \right| > {\varepsilon _1} \end{array} $ (5)

为了进一步剔除错误的匹配点对,本文引入点曲率相似度过滤对应点对,即

$ \begin{array}{l} \left| {\frac{{{K_1}\left( {{p_i}} \right) - {K_1}\left( {{q_j}} \right)}}{{{K_1}\left( {{p_i}} \right) + {K_1}\left( {{q_j}} \right)}}} \right| \le {\varepsilon _2}\\ \left| {\frac{{{K_2}\left( {{p_i}} \right) - {K_2}\left( {{q_j}} \right)}}{{{K_2}\left( {{p_i}} \right) + {K_2}\left( {{q_j}} \right)}}} \right| \le {\varepsilon _2} \end{array} $ (6)

式中,$ε_{2}>0$是另一个预设值,$K_{1}$$K_{2}$分别是点$p_{i}$或者$q_{j}$处的主曲率。以上公式通常被称为曲率相似性[28]

1.2.3 基于刚体不变量的邻域标识相似度过滤

从理论上来说,如果两个点是一对正确的匹配点对,那么它们不仅仅在曲率上有相似性,而且其各自邻域内对应点的不变量特征标识也应该相似。利用点云特征不变量标识间的归一化互相关系数(${\rm NCC}$)来度量邻域标识相似度,从而对匹配点对进一步过滤。设$Ncc(p_{i}, q_{j})$为衡量点对($p_{i}, q_{j}$)的邻域标识相似度的归一化互相关系数,具体公式为

$ \begin{array}{*{20}{c}} {Ncc\left( {{p_i},{q_j}} \right) = }\\ {\frac{{\sum\limits_{l = 1}^k {\left( {f\left( {{p_l}} \right) - {c_{f{p_i}}}} \right) \cdot \left( {f\left( {{q_l}} \right) - {c_{f{q_j}}}} \right)} }}{{\sqrt {\sum\limits_{l = 1}^k {{{\left\| {\left( {f\left( {{p_l}} \right) - {c_{f{p_i}}}} \right)} \right\|}^2}} } \sqrt {\sum\limits_{l = 1}^k {{{\left\| {\left( {f\left( {{q_l}} \right) - {c_{f{q_j}}}} \right)} \right\|}^2}} } }}} \end{array} $ (7)

式中,$f(p_{l})$$f(q_{l})$$点p_{l}∈Knn(p_{i})$$q_{l}∈Knn(q_{j})$的刚体不变特征,$c_{fp_{i}}$$c_{fq_{j}}$分别是$Knn(p_{i})$$Knn(q_{j})$刚体不变特征的质心。显然,$Ncc(p_{i}, q_{j})$值越大则点对$(p_{i}, q_{j})$的邻域标识相似度越高。本文设定一个阈值$ε_{3}>0$,当$Ncc(p_{i}, q_{j})>ε_{3}$时,认为点对$(p_{i}, q_{j})$为一组正确匹配点对。首先通过点的曲率相似度初步排除高斯曲率和平均曲率相差较大的点,然后引入邻域标识相似度进一步剔除错误匹配点对,提高匹配正确率。

1.2.4 基于持续特征直方图(${\rm PFH}$)的筛选

使用持续特征直方图(${\rm PFH}$)对匹配点对进行进一步的筛选。设点对$ (p_{i}, p_{j})(i≠j, i < j)$为点云数据中位于点$p$$k$-邻域中的点对,其对应的法向量为$({\mathit{\boldsymbol{n}}_\mathit{\boldsymbol{i}}}, {\mathit{\boldsymbol{n}}_\mathit{\boldsymbol{j}}})$。选择其中一个为源点$p_{s}$,另一个为目标点$p_{t}$。选择源点$p_{s}$的具体公式为

$ \left( {{p_s},{p_t}} \right) = \left\{ \begin{array}{l} \left( {{p_i},{p_j}} \right)\;\;\;\;\alpha \le \beta \\ \left( {{p_j},{p_i}} \right)\;\;\;\;\alpha > \beta \end{array} \right. $ (8)

式中,$α=〈n_{i}, p_{j}-p_{i}〉,β=〈n_{j}, p_{i}-p_{j}〉$

为了计算持续特征量,定义如图 1所示的达布架构[24]

图 1 $p_{s}$的达布架构(向量$\mathit{\boldsymbol{u}}, \mathit{\boldsymbol{v}}$$\mathit{\boldsymbol{w}}$)
Fig. 1 Darboux frame (vectors $\mathit{\boldsymbol{u}}, \mathit{\boldsymbol{v}}$ and $\mathit{\boldsymbol{w}}$) at $p_{s}$

图 1中,$p_{s}$为坐标原点,3个坐标轴定义为

$ \mathit{\boldsymbol{u}} = {\mathit{\boldsymbol{n}}_s},\mathit{\boldsymbol{v}} = \left( {{\mathit{\boldsymbol{p}}_t} - {\mathit{\boldsymbol{p}}_s}} \right) \times \mathit{\boldsymbol{u}},\mathit{\boldsymbol{w}} = \mathit{\boldsymbol{u}} \times \mathit{\boldsymbol{v}} $ (9)

利用上述达布架构,计算点对$(p_{i}, p_{j})$的持续特征量为

$ {p_f} = \sum\limits_{i = 1}^4 {step\left( {{s_i},{f_i}} \right) \cdot {2^{i - 1}}} $ (10)

式中

$ step\left( {{s_i},{f_i}} \right) = \left\{ \begin{array}{l} 0\;\;\;\;{f_i} < {s_i}\\ 1\;\;\;\;{f_i} > {s_i} \end{array} \right. $ (11)

$ \begin{array}{*{20}{c}} {{f_1} = \left\langle {\mathit{\boldsymbol{v}},{\mathit{\boldsymbol{n}}_t}} \right\rangle }\\ {{f_2} = \left\| {{p_t} - {p_s}} \right\|}\\ {{f_3} = \left\langle {\mathit{\boldsymbol{u}},{p_t} - {p_s}} \right\rangle /{f_2}}\\ {{f_4} = a\tan \left( {\left\langle {\mathit{\boldsymbol{w}},{\mathit{\boldsymbol{n}}_t}} \right\rangle ,\left\langle {\mathit{\boldsymbol{u}},{\mathit{\boldsymbol{n}}_t}} \right\rangle } \right)} \end{array} $ (12)

因为$f_{1},f_{3}$是归一化向量间的点积,所以它们实际上就是3维向量间夹角的余弦值,因而其范围是$±1$。类似地,$f_{4}$${\mathit{\boldsymbol{n}}_t}$在($\mathit{\boldsymbol{u}}, \mathit{\boldsymbol{w}}$)平面上的投影与$\mathit{\boldsymbol{u}}$轴之间的夹角,所以它的取值范围是$±{\rm \mathsf π}$

显然,通过式(10)可以将点对$(p_{i}, p_{j})$的4个特征二值化,而式(11)的作用则是将经过二值化处理的4个的特征编码成0到15之间的整数。通过这样的处理,可以很方便地构造一个16-${\rm bin}$的直方图${\rm PFH}$,用以对点云数据点的邻域中所有点对的特征出现的频数进行统计。

利用${\rm PFH}$进一步剔除一些错误的匹配点。设$(p, q)$为经过1.2.2节和1.2.3节中筛选过程得到的一对匹配点,首先分别计算这两点处的$PFH(p)$$PFH(q)$,然后计算这两个直方图间的欧氏距离$||PFH(p)-PFH(q)||_{2}$,设定一个阈值$ε$,若$||PFH(p)-PFH(q)||_{2}<ε$,则保留该匹配点,否则剔除该匹配点。

1.3 基于霍夫变换的聚类

经过基于曲率相似度、邻域标识相似度、持续直方图的筛选之后,可以得到一个初步的候选匹配点对集合

$ \begin{array}{*{20}{c}} {\mathit{\boldsymbol{Match}} = \left\{ {\left( {{{p'}_i},{{p'}_i}} \right)\left| {{{p'}_i} \in \mathit{\boldsymbol{P}},{{p'}_i} \in \mathit{\boldsymbol{Q}}} \right.,} \right.}\\ {\left. {i = 1,2, \cdots ,{N_m}} \right\}} \end{array} $ (13)

式中,$N_{m}$是点对数组$\mathit{\boldsymbol{Match}}$中点对的数量,$(p′_{i}, p′_{i})$是浮动点云$\mathit{\boldsymbol{Q}}$和目标点云$\mathit{\boldsymbol{P}}$中的对应点对。利用候选匹配点对集合可以找到坐标变换的参数从而实现点云拼接。

一个匹配点对对应的是一组坐标系的变换参数,$N_{m}$个点对对应的是$N_{m}$个坐标系的变换参数。虽然经过二次筛选,在匹配点对中仍然存在很多错误的匹配点对。这些错误的匹配点对来自于$\mathit{\boldsymbol{P}}$$\mathit{\boldsymbol{Q}}$(如图 2)的重叠区域或者非重叠区域。由于存在错误的匹配点对,由不同的点对计算得到的变换参数会离散地分布在一定范围内而不是集中到一点。因此,需要从目标点云和浮动点云中的$N_{m}$离散分布的变换参数中提取正确的变换参数。由于在匹配点集中绝大部分点对是正确匹配的,因此由这些点对得到的变换参数应该是一致或近似一致的。基于此,并受基于霍夫变换的线检测思想的启发,本文将这些坐标变换参数在一个合适的空间表达出来,从而使得由正确的匹配点对得到的变换参数在此空间中会聚集在一起。这样,目标点云和浮动点云间的坐标变换参数即为具有最大计数元胞所对应的参数。这个策略可以有效地解决错误的点对对最终的变换参数的影响。

图 2 部分重叠点云的错误匹配点对示例
Fig. 2 Schematic illustration of the erroneous correspondence between partially overlapped point clouds

1.3.1 局部坐标系统的建立

通过偏差矩阵$\mathit{\boldsymbol{D}}(p_{i})$来定义任意点$p_{i}∈\mathit{\boldsymbol{P}}$处的局部坐标系$\mathit{\boldsymbol{C}}(p_{i})=\{p_{i}, \mathit{\boldsymbol{x}}_{pi}, \mathit{\boldsymbol{y}}_{pi}, \mathit{\boldsymbol{z}}_{pi}\}$:用$\mathit{\boldsymbol{D}}(p_{i})$的3个右奇异矢量$\mathit{\boldsymbol{v}}_{1}, \mathit{\boldsymbol{v}}_{2}, \mathit{\boldsymbol{v}}_{3}$构造$\mathit{\boldsymbol{C}}(p_{i})$的3个轴,$\mathit{\boldsymbol{z}}$轴方向的单位向量$\mathit{\boldsymbol{z}}_{pi}$需要满足条件

$ \begin{array}{*{20}{c}} {\left| {{\mathit{\boldsymbol{z}}_{{p_i}}} \cdot \mathit{\boldsymbol{N}}\left( {{p_i}} \right)} \right| = \max \left\{ {\left| {{\mathit{\boldsymbol{v}}_1} \cdot \mathit{\boldsymbol{N}}\left( {{p_i}} \right)} \right|,} \right.}\\ {\left. {\left| {{\mathit{\boldsymbol{v}}_2} \cdot \mathit{\boldsymbol{N}}\left( {{p_i}} \right)} \right|,\left| {{\mathit{\boldsymbol{v}}_3} \cdot \mathit{\boldsymbol{N}}\left( {{p_i}} \right)} \right|} \right\}} \end{array} $ (14)

式中,$x$轴方向的单位向量$\mathit{\boldsymbol{x}}_{p_{i}}$对应剩下的奇异值较大的奇异矢量。由于$\mathit{\boldsymbol{z}}_{pi}$$\mathit{\boldsymbol{x}}_{p_{i}}$对应的奇异向量既可能同向也可能反向,所以通过公式进行约束, 即

$ \left\{ \begin{array}{l} \left( {g\left( {{p_i}} \right) - {p_i}} \right) \cdot {\mathit{\boldsymbol{x}}_{{p_i}}} \ge 0\\ \left( {g\left( {{p_i}} \right) - {p_i}} \right) \cdot {\mathit{\boldsymbol{z}}_{{p_i}}} \ge 0 \end{array} \right. $ (15)

式中,$g(p_{i})$是球面映射$G_{r}(p_{i})$的质心。确定$\mathit{\boldsymbol{z}}_{pi}$$\mathit{\boldsymbol{x}}_{p_{i}}$的方向后,可以根据$\mathit{\boldsymbol{y}}_{p_{i}}=\mathit{\boldsymbol{z}}_{p_{i}}×\mathit{\boldsymbol{x}}_{p_{i}}$计算得到$y$轴方向的单位矢量。使用该方法可以构造点$p_{i}$处的局部坐标系$\mathit{\boldsymbol{C}}(p_{i})$,同理也可以构造点$q_{j}∈\mathit{\boldsymbol{Q}}$处的局部坐标系。

1.3.2 坐标系间变换的参数化

假设$(p, q)$是一对匹配点,可以通过一个3×3的旋转矩阵$\mathit{\boldsymbol{R}}$和一个3维平移向量$\mathit{\boldsymbol{t}}$将点$q$变换到点$p$,即

$ \left\{ \begin{array}{l} \mathit{\boldsymbol{R}} = \left( {{\mathit{\boldsymbol{x}}_p},{\mathit{\boldsymbol{y}}_p},{\mathit{\boldsymbol{z}}_p}} \right){\left( {{\mathit{\boldsymbol{x}}_q},{\mathit{\boldsymbol{y}}_q},{\mathit{\boldsymbol{z}}_q}} \right)^{ - 1}}\\ \mathit{\boldsymbol{t}} = \mathit{\boldsymbol{p}} - \mathit{\boldsymbol{Rq}} \end{array} \right. $ (16)

式中,$(x_{p}, y_{p}, z_{p})$$(x_{q}, y_{q}, z_{q})$分别对应的是点$p$$q$的局部坐标系,$\mathit{\boldsymbol{R}} \in {\bf{R}^{3 \times 3}}, \mathit{\boldsymbol{t}} \in {\bf{R}^3}$。为了实现匹配点对间变换关系的参数化,需要将旋转矩阵表达成$(ω, θ)$的形式(式中,$θ∈[0, {\rm π}]$为旋转角度,$\mathit{\boldsymbol{\omega}}=[ω_{x}, ω_{y}, ω_{z}]^{\rm T}$为旋转轴)。这样,任何一个旋转矩阵可以表示为由$(ω, θ)$张开的空间中以原点为球心、以$π$为半径的球内或表面上的一点。为了由旋转矩阵$\mathit{\boldsymbol{R}}$求出$(ω, θ)$用于霍夫变换,用四元素来表示旋转变换,即

$ {\mathit{\boldsymbol{Q}}_r} = \left( {{q_0},v} \right) = {q_0} + {q_1}\mathit{\boldsymbol{i}} + {q_2}\mathit{\boldsymbol{j}} + {q_3}\mathit{\boldsymbol{k}} $ (17)

式中,$q_0^2 + q_1^2 + q_2^2 + q_3^2 = 1$。由此,旋转矩阵可以表达为

$ \mathit{\boldsymbol{R}} = \left[ {\begin{array}{*{20}{c}} \begin{array}{l} q_0^2 + q_1^2 - q_2^2 - q_3^2\\ 2\left( {{q_1}{q_2} + {q_0}{q_3}} \right)\\ 2\left( {{q_1}{q_3} - {q_0}{q_2}} \right) \end{array}&\begin{array}{l} 2\left( {{q_1}{q_2} - {q_0}{q_3}} \right)\\ q_0^2 - q_1^2 + q_2^2 - q_3^2\\ 2\left( {{q_2}{q_3} + {q_0}{q_1}} \right) \end{array}&\begin{array}{l} 2\left( {{q_1}{q_3} + {q_0}{q_2}} \right)\\ 2\left( {{q_2}{q_3} - {q_0}{q_1}} \right)\\ q_0^2 - q_1^2 - q_2^2 + q_3^2 \end{array} \end{array}} \right] $ (18)

结合式(16)(18)可以得到参数$q_{0}, q_{1}, q_{2}, q_{3}$。另一方面,也可以使用旋转参数来表示四元数[29],即

$ {\mathit{\boldsymbol{Q}}_r} = \cos \left( {\frac{\theta }{2}} \right) + \omega \sin \left( {\frac{\theta }{2}} \right) $ (19)

旋转参数$ω$以及$θ$的计算公式为

$ \theta = 2{\cos ^{ - 1}}{q_0},\;\;\;\;\omega = \left\{ \begin{array}{l} \frac{v}{{\sin \left( {\theta /2} \right)}}\;\;\;\;\;\;\theta \ne 0\\ 0\;\;\;\;\;\;\;\;\;\;\;\;\;\;其他 \end{array} \right. $ (20)

利用上述公式可以得到集合$\mathit{\boldsymbol{Match}}$中所有点对的旋转参数$(ω, θ)$以及平移向量参数$\mathit{\boldsymbol{t}}$。下一步的任务就是研究这些参数在由$(ω, θ)$$\mathit{\boldsymbol{t}}$张开的空间中的分布情况。为了精确地统计出参数空间中每一位置所聚集的点数,这两个空间都应该被分割为小的单元,通过统计每个单元内点的个数,将参数空间中包含点数最多的单元的坐标作为点云坐标变换的参数。

1.3.3 参数空间的划分

如前所述,通过对参数空间中不同单元内点的计数来确定点在参数空间中点的密度分布。因此,密度分布的精度取决于单元的大小以及空间划分的均匀性。实际上,需要划分两类参数空间:一类是球体表面的划分(即:相应于旋转轴$ω$),另一类就是欧几里得空间的划分(即相应于$θ$的1维空间的划分以及相应于$\mathit{\boldsymbol{t}}$的3维空间的划分)。

本文使用一种基于正多面体的方法对球体表面进行划分。这种方式的优点是可以对单元无限细分而不改变它们的形状。而且,在划分过程中该方法可以确保均匀性。与其他多面体相比,正二十面体具有以下优点:在所有已知的正多面体中,它拥有最多面的,它的面都是正三角形,4个细分以后的子三角形具有更相似的形状。基于以上考虑,本文采用与球体内接的正二十面体对球体表面进行划分,并通过细分正二十面体的表面实现对球面的进一步细分(如图 3所示)。图 3(a)给出了初始三角形以及对它们进行细分的示意图。由该图可以看出,在细分过程中,该方法利用三角形各边的中点将其划分成4个子三角形。图 3(b)给出了为子三角形分配索引的方式。

图 3 初始三角形的细分及其子三角形的索引示意图
Fig. 3 Illustration of initial triangles and the indices of their subdivisions
((a) initial triangles and subdivisions; (b) indices of subdivisions)

假设将被划分的球体中心与坐标原点$O$一致。可以通过下面3个不等式判断参数空间(此处指的是旋转矩阵)中的点$x$在球面上的投影是否落在$△ABC$内,即

$ \mathit{\boldsymbol{a}} \cdot \mathit{\boldsymbol{x}} > 0,\mathit{\boldsymbol{b}} \cdot \mathit{\boldsymbol{x}} > 0,\mathit{\boldsymbol{c}} \cdot \mathit{\boldsymbol{x}} > 0 $ (21)

式中,$\mathit{\boldsymbol{a}} = \mathit{\boldsymbol{OA}} \times \mathit{\boldsymbol{OB}}, \mathit{\boldsymbol{b}} = \mathit{\boldsymbol{OB}} \times \mathit{\boldsymbol{OC}}, \mathit{\boldsymbol{c}} = \mathit{\boldsymbol{OC}} \times \mathit{\boldsymbol{OA}}$分别是$△ABC3$个顶点与原点$O$连线的向量。只有当式(21)中的3个判别式同时满足的时候$x$的投影才会落在$△ABC$内。如果将向量$\mathit{\boldsymbol{a, b, c}}$结合在一起,形成判别矩阵$\mathit{\boldsymbol{J}}=(\mathit{\boldsymbol{a, b, c}})$$△ABC$的4个子三角形的判别矩阵$\mathit{\boldsymbol{J}}_{i}, (i=0, 1, 2, 3)$可以通过以下递归方式得到

$ {\mathit{\boldsymbol{J}}_i} = \mathit{\boldsymbol{J}}{\mathit{\boldsymbol{M}}_i}\;\;\;\left( {i = 0,1,2,3} \right) $ (22)

式中$\mathit{\boldsymbol{M}}_{i}, i=0, 1, 2, 3$是4个常量矩阵

$ {\mathit{\boldsymbol{M}}_0} = \left[ {\begin{array}{*{20}{c}} 1&{ - 1}&0\\ 0&1&0\\ 0&{ - 1}&1 \end{array}} \right]\;\;\;\;\;{\mathit{\boldsymbol{M}}_1} = \left[ {\begin{array}{*{20}{c}} 1&0&{ - 1}\\ 0&1&{ - 1}\\ 0&0&1 \end{array}} \right] $

$ {\mathit{\boldsymbol{M}}_2} = \left[ {\begin{array}{*{20}{c}} 1&0&0\\ { - 1}&1&0\\ { - 1}&0&1 \end{array}} \right]\;\;\;\;{\mathit{\boldsymbol{M}}_3} = \left[ {\begin{array}{*{20}{c}} { - 1}&1&1\\ 1&{ - 1}&1\\ 1&1&{ - 1} \end{array}} \right] $

如上所述,本文对球面的划分始于内接正二十面体,并以如图 3所示的递归的方式进行细分,直到满足收敛条件为止。如果细分次数是$m_{1}$次,那么将得到$20×4^{m_{1}}$个三角形。在细分的过程中落入同一个三角形的点会被记录到数组里。

可以将旋转角$θ$和平移向量$\mathit{\boldsymbol{t}}$认为是$k$维欧几里得空间中的点($θ$$k=1,\mathit{\boldsymbol{t}}$$k=3$)。要得到这两类点的密度分布需要对$k$维欧几里得空间进行划分。本文利用垂直于每个轴的超平面对单元的连续平分来实现对欧几里得空间的划分。细分前后的单元都是多面体,其$k$个表面均与坐标轴垂直。初始单元由参数点在各坐标轴的分布范围来确定。对初始单元的划分首先沿着第1个坐标轴进行,得到两个子单元,然后沿着第2个坐标轴将两个子单元划分成4个子单元,以此类推。若沿所有的坐标轴均划分$m_{2}$次,则最终得到单元数是$2^{km_{2}}$个。

1.3.4 变换参数的估算

通过对$θ, ω$$\mathit{\boldsymbol{t}}$对应的参数空间的划分,不同视角的点云数据间的变换参数估计为具有最多计数的单元的坐标。在整个估算的过程中,先估算旋转角度θ,如果$θ≈0$或者$θ≈π$,对浮动点云数据点施加旋转操作以规避在这两点的不确定性。估算旋转角$θ$后再估计旋转轴$ω$以及平移矩阵$\mathit{\boldsymbol{t}}$

2 实验结果和讨论

为了验证本文算法,利用本文算法对来自于斯坦福大学官网的点云数据进行了拼接实验。该点云数据共有35 947个点。将整份点云数据分割为部分重叠的两份点云数据,图 4给出了两份部分重叠的点云数据,左图是目标点云数据$\mathit{\boldsymbol{P}}$(25 141点),右图是经过任意的旋转和平移操作后得到的浮动点云数据$\mathit{\boldsymbol{Q}}$(18 475点),所以重叠率为22%。

图 4 两片部分重叠的点云数据
Fig. 4 Partially overlapped point clouds
((a) target point cloud $\mathit{\boldsymbol{P}}$; (b) floating point cloud $\mathit{\boldsymbol{Q}}$)

如前所述,在进行微分信息计算之前,法向量需要调整为一致向外。图 5给出了对图 4中目标点云$\mathit{\boldsymbol{P}}$和浮动点云$\mathit{\boldsymbol{Q}}$的法向量进行调整前后的对比图。图 5(a)(b)分别给出了点云数据$\mathit{\boldsymbol{P}}$的法向量在调整前、后的状态;图 5(c)(d)分别给出了点云数据$\mathit{\boldsymbol{Q}}$的法向量在调整前、后的状态。从图 5(a)(c)可以看到调整前两片点云的法向量的方向是不一致的,相反从图 5 (b)(d)可以看出,利用本文算法调整后点云的法向量基本一致朝外了。这个结果说明本文提出的广度优先结合${\rm cost}$权值的方法可以有效地实现法向量方向的调整。

图 5 法向量(红色箭头)调整示意图
Fig. 5 Illustration of the normal vector (red arrow) adjustment.
(a)normal vectors of target point cloud $\mathit{\boldsymbol{P}} 、\mathit{\boldsymbol{Q}}$ before adjustments; (b) normal vectors of floating point cloud $\mathit{\boldsymbol{P}} 、\mathit{\boldsymbol{Q}}$ after adjustments)

由曲率相似度确定的初始匹配点对的筛选是基于刚体不变特征的。因此,该算法的性能取决于不同点云的特征值的不变性。图 6给出的是两片点云数据的刚体不变特征和曲率特征的示意图,图 6(a)给出的是两片不同点云的刚体不变量特征值的分布情况,其中横轴和纵轴分别为$σ_{1}/σ_{3}$$σ_{2}/σ_{3}$,蓝色圆圈代表的是目标点云的刚体不变量特征,红色的点代表的是浮动点云的刚体不变量特征。图 6(b)给出了两片不同点云的曲率特征值的分布情况。其中,横轴和纵轴分别为高斯曲率和最大主曲率的绝对值,蓝色的圆圈代表目标点云的曲率特征,红色的点代表浮动点云的曲率特征。图 6(a)(b)两图中的左图均为右图的局部放大,从局部放大图可以明显看出,有部分点的不变特征量标识完全重合,基本上没有两点的曲率特征是完全一致的,所以本文使用刚体不变量标识为特征进行筛选将具有更强的鲁棒性,会获得更好的效果。

图 6 两片点云刚体不变特征值和曲率特征值的分布
Fig. 6 Distributions of the invariant signatures and the curvatures for cloud in different views
((a)distribution of invariant signatures; (b)distribution of curvatures)

由于基于刚体不变特征得到的匹配点对中还存在大量错误的匹配点对,为了进一步提高匹配点对的正确率,利用了PFH算法对匹配点对进行进一步的剔除。为了验证该方法的合理性,图 7给出了$\mathit{\boldsymbol{P}}$$\mathit{\boldsymbol{Q}}$经过PFH过滤后得到的3组正确的匹配点对及其相应的PFH示意图。图 7(a)给出的是匹配点对的对应关系示意图,图 7(b)(c)(d)给出的分别是匹配点对的PFH特征值,图中褐红色表示点云$\mathit{\boldsymbol{P}}$,浅蓝色表示点云$\mathit{\boldsymbol{Q}}$,横轴表示的是bin序数,纵轴表示的是每个bin中点数的比例。由该图可以看出正确匹配点对的PFH特征值是近似相同的。

图 7 匹配点对和PFH示意图
Fig. 7 Illustration of matching points and PFH
((a) illustration of matching points; (b) PFH of $P_{1}$ and $Q_{1}$; (c) PFH of $P_{2}$ and $Q_{2}$; (d) PFH of $P_{3}$ and $Q_{3}$)

为了验证本文算法对噪声的鲁棒性,对目标点云中点的3个坐标值分别添加3组相互独立,且均值为零,标准方差为点平均间距的1%5%高斯噪声。图 8给出了在曲率相似度匹配基础上经过刚体不变量筛选(蓝线)以及在此基础上进一步经过PFH筛选(红线)后的正确率随噪声大小的变化曲线。这里,匹配正确率定义为$A = \frac{{{N_1}}}{N}$,其中,$N$为匹配点对数量,$N_{1}$为正确的匹配点对数量。由该图可以看出使用PFH作为补充性剔除算法可以进一步增加算法鲁棒性,显著提升匹配点对的正确率,平均可以提升2倍左右。

图 8 不同过滤阶段匹配正确率随噪声变化曲线
Fig. 8 Curves of accuracies for different noise levels at different stages

经过上面的PFH过滤后得到了一组新的匹配点对,下面需要使用霍夫变换,求取两片点云数据间的旋转和平移参数。为了利用霍夫变换进行参数检测,需要对参数空间进行划分。本文将旋转角$θ$划分成256个子单元,对旋转轴$ω$的球面共进行了6次球面递归划分,得到81 920个子三角形。对平移向量$\mathit{\boldsymbol{t}}$的立方体沿着每个坐标轴均匀划分4次,得到4 096个子立方体。基于以上划分,图 9 (a)给出了旋转参数($ω, θ$)在以原点为中心点,半径为${\rm π}$的球体内和球面上的分布情况,而9(b)给出的则是平移参数$\mathit{\boldsymbol{t}}$在3维欧几里得空间中的分布情况。由该图可以看出, 两个空间内都存在明显的高密度区,这与本文前面的推断也是吻合的。参数空间中这些点的聚集不仅仅表明了本文所提出的基于曲率、刚体不变量特征值、PFH匹配点对提取方法的优越性,同时也验证了本文所提出的基于霍夫变换的参数检测策略的合理性。

图 9 旋转矩阵和平移矩阵在参数空间的分布
Fig. 9 Distributions of the rotation matrices and the translation vectors
((a) distribution of rotation matrices in parameter space spanned by ($ω, θ$); (b) distribution of the translation vectors in the 3-dimensional Euclidean space)

为了研究霍夫变换对提升算法抗噪性能的效果,将其与经典的Ransac[30]算法进行了比较。其中,对球面空间的匹配参数设定随机采样次数$k$=1 000,点到空间直线的距离阈值设为0.08。利用Ransac算法在不同的噪声条件下各运行了10次,其正确率如表 1所示。由表 1可以看出在不同噪声的情况下,使用霍夫变换得到的匹配点对正确率更高,还可以看出Ransac算法各次运行的结果各不相同的,重复性较差,这是因为Ransac算法具有一定的随机性。而从图 10可以看出, 霍夫变换除了具有更高的正确率外,抗噪能力也是强于Ransac算法,当噪声达到3%以后,Ransac的正确率急速下降,而霍夫变换在噪声5%的时候依然还保持着50%的正确率。表 2的第1行是Ransac算法10次运行时间的平均值,从表 2可以看出霍夫变换的运行时间也远远少于Ransac方法。综上所述,Hough在正确率、稳定性、抗噪性、运行速度上都要优于Ransac方法。

表 1 Ransac和Hough在不同噪声下的匹配点对正确率统计
Table 1 Statistics of Ransac and Hough matching point accuracies at different noise

下载CSV
算法 噪声
1% 2% 3% 4% 5%
Ransac/%
(10次运行结果)
87.47 74.63 60.87 40.01 18.39
88.28 75.05 64.08 37.86 17.89
88.33 74.58 62.55 32.31 20.73
88.72 75.69 59.84 41.86 22.67
87.91 76.55 60.89 34.93 18.89
88.31 75.16 59.14 39.55 17.17
88.52 74.68 65.98 41.54 17.39
88.28 74.79 58.73 40.31 15.38
88.63 75.32 62.21 43.44 17.28
88.14 77.07 60.41 36.69 18.84
Hough/% 92.67 87.5 71.88 58.82 50
图 10 霍夫变换与Ransac的匹配正确率随噪声变化曲线
Fig. 10 Matching accuracies of Hough transform (purple) and Ransac (blue) under different noise levels

表 2 Ransac和Hough运行时间统计
Table 2 Statistics of Ransac and Hough runtime

下载CSV
噪声
1% 2% 3% 4% 5%
Ransac/s 50.02 42.31 38.25 35.571 30.39
Hough/s 22.63 22.83 22.25 21.56 21.73

图 11给出了不同方法对含2%噪声的点云数据进行拼接的结果。显然使用霍夫变换的方法能得到更佳的拼合结果。从图 10图 11也可以看出, 参数聚类在点云拼接中的重要性和有效性。

图 11 不同拼接方法的拼接结果
Fig. 11 Registration results from different methods
((a)original data of $\mathit{\boldsymbol{P}}$ and $\mathit{\boldsymbol{Q}}$; (b)the result with averaged parameters of the matched point pairs; (c)the result with parameters from the Ransac; (d) the result with parameters from the Hough transform)

3 结论

提出了一种针对散乱点云数据的拼合算法。该算法首先利用曲率相似度建立初始匹配点对。然后,分别利用刚体不变特征以及持续特征直方图(PFH)对初始匹配点对进行连续两次筛选形成新的匹配点对。通过基于PFH的二次筛选,匹配点对的正确率提升2倍左右。为了避免误匹配对点云拼接的影响,本文提出对坐标变换进行参数化处理并利用霍夫变换对坐标变换参数进行最优估计,从而最终实现点云的拼合。实验结果表明, 该方法可以应用在对任何部分重叠或者全部重叠的具有任意相对位置的点云数据的拼接中,并且保持着较高的精度和较强的鲁棒性。由于本文算法需要分步实现,比较耗时,下一步将研究点云数据精简策略及其相应的拼合方法,以进一步提高算法的效率。

参考文献

  • [1] Chen J, Wu X J, Wang M Y, et al. Human body shape and motion tracking by hierarchical weighted ICP[C]//International Symposium on Visual Computing. Las Vegas, NV, USA: Springer-Verlag, 2011: 408-417. [DOI:10.1007/978-3-642-24031-7_41]
  • [2] Gutiérrez-Heredia L, D'Helft C, Reynaud E G. Simple methods for interactive 3D modeling, measurements, and digital databases of coral skeletons[J]. Limnology and Oceanography:Methods, 2015, 13(4): 178–193. [DOI:10.1002/lom3.10017]
  • [3] Vasiliauskas A, Šidlauskas A, Šaferis V, et al. Applications of 3D maxillary dental arch scanning for mathematical prediction of orthodontic treatment need for complete unilateral cleft lip and palate patients[J]. Electronics and Electrical Engineering, 2010, 100(4): 107–112.
  • [4] Haghighipanah M, Miyasaka M, Li Y M, et al. Unscented Kalman Filter and 3D vision to improve cable driven surgical robot joint angle estimation[C]//Proceedings of 2016 IEEE International Conference on Robotics and Automation. Stockholm, Sweden: IEEE, 2016: 4135-4142. [DOI:10.1109/ICRA.2016.7487606]
  • [5] Husstedt H, Ausserlechner U, Kaltenbacher M. Precise alignment of a magnetic sensor in a coordinate measuring machine[J]. IEEE Sensors Journal, 2010, 10(5): 984–990. [DOI:10.1109/JSEN.2009.2037235]
  • [6] Zhu S P, Gao Y. Noncontact 3-D coordinate measurement of cross-cutting feature points on the surface of a large-scale workpiece based on the machine vision method[J]. IEEE Transactions on Instrumentation and Measurement, 2010, 59(7): 1874–1887. [DOI:10.1109/TIM.2009.2030875]
  • [7] Chen W Y, Tung C K, Wang C M, et al. The non-contact human-height measurement scheme[C]//Proceedings of 2011 International Conference on Machine Learning and Cybernetics. Guilin, China: IEEE, 2011: 572-575. [DOI:10.1109/ICMLC.2011.6016821]
  • [8] Mao Y X, Guo J P, Liang Y M, et al. Analysis of noise characteristics in an optical coherence tomographic system[J]. Acta Optica Sinica, 2005, 25(3): 324–330. [毛幼馨, 郭建平, 梁艳梅, 等. 低相干光断层扫描系统的噪声分析与研究[J]. 光学学报, 2005, 25(3): 324–330. ] [DOI:10.3321/j.issn:0253-2239.2005.03.008]
  • [9] Mohammadzade H, Hatzinakos D. Iterative closest normal point for 3D face recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(2): 381–397. [DOI:10.1109/TPAMI.2012.107]
  • [10] Gómez-García-Bermejo J, Zalama E, Feliz R. Automated registration of 3D scans using geometric features and normalized color data[J]. Computer-Aided Civil and Infrastructure Engineering, 2013, 28(2): 98–111. [DOI:10.1111/j.1467-8667.2012.00785.x]
  • [11] Bucksch A, Khoshelham K. Localized registration of point clouds of botanic trees[J]. IEEE Geoscience and Remote Sensing Letters, 2013, 10(3): 631–635. [DOI:10.1109/LGRS.2012.2216251]
  • [12] Besl P J, Mckay N D. A method for registration of 3-D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992, 14(2): 239–256. [DOI:10.1109/34.121791]
  • [13] Chen Y, Medioni G. Object modelling by registration of multiple range images[J]. Image and Vision Computing, 1992, 10(3): 145–155. [DOI:10.1016/0262-8856(92)90066-C]
  • [14] Masuda T, Yokoya N. A robust method for registration and segmentation of multiple range images[C]//Proceedings of the 2nd Cad-Based Vision Workshop. Champion, PA, USA: IEEE, 1994: 106-113. [DOI:10.1109/CADVIS.1994.284510]
  • [15] Jiang J, Cheng J, Chen X L. Registration for 3-D point cloud using angular-invariant feature[J]. Neurocomputing, 2009, 72(16-18): 3839–3844. [DOI:10.1016/j.neucom.2009.05.013]
  • [16] Xin W, Pu J X. Point cloud integration base on distances between points and their neighborhood centroids[J]. Journal of Image and Graphics, 2011, 16(5): 886–891. [辛伟, 普杰信. 点到邻域重心距离特征的点云拼接[J]. 中国图象图形学报, 2011, 16(5): 886–891. ] [DOI:10.11834/jig.20110515]
  • [17] Chen H, Bhanu B. 3D free-form object recognition in range images using local surface patches[J]. Pattern Recognition Letters, 2007, 28(10): 1252–1262. [DOI:10.1016/j.patrec.2007.02.009]
  • [18] Zhu Y J, Zhou L S, Zhang L Y. Registration of scattered cloud data[J]. Journal of Computer-Aided Design & Computer Graphics, 2006, 18(4): 475–481. [朱延娟, 周来水, 张丽艳. 散乱点云数据配准算法[J]. 计算机辅助设计与图形学学报, 2006, 18(4): 475–481. ] [DOI:10.3321/j.issn:1003-9775.2006.04.001]
  • [19] Akca D. Matching of 3D surfaces and their intensities[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2007, 62(2): 112–121. [DOI:10.1016/j.isprsjprs.2006.06.001]
  • [20] Chen J, Wu X J, Wang M Y, et al. 3D shape modeling using a self-developed hand-held 3D laser scanner and an efficient HT-ICP point cloud registration algorithm[J]. Optics & Laser Technology, 2013, 45: 414–423. [DOI:10.1016/j.optlastec.2012.06.015]
  • [21] He B W, Lin Z M, Li Y F. An automatic registration algorithm for the scattered point clouds based on the curvature feature[J]. Optics & Laser Technology, 2013, 46: 53–60. [DOI:10.1016/j.optlastec.2012.04.027]
  • [22] Papazov C, Burschka D. Stochastic global optimization for robust point set registration[J]. Computer Vision and Image Understanding, 2011, 115(12): 1598–1609. [DOI:10.1016/j.cviu.2011.05.008]
  • [23] Harada T, Kuniyoshi Y. Graphical Gaussian vector for image categorization[C]//Proceedings of the 26th Annual Conference on Neural Information Processing Systems. Lake Tahoe: NIPS, 2012: 1547-1555. http://www.mendeley.com/catalog/graphical-gaussian-vector-image-categorization/
  • [24] Rusu R B, Blodow N, Marton Z C, et al. Aligning point cloud views using persistent feature histograms[C]//Proceedings of 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems. Nice, France: IEEE, 2008: 3384-3391. [DOI:10.1109/IROS.2008.4650967]
  • [25] Yan D M, Wang W P, Liu Y, et al. Variational mesh segmentation via quadric surface fitting[J]. Computer-Aided Design, 2012, 44(11): 1072–1082. [DOI:10.1016/j.cad.2012.04.005]
  • [26] He M F, Zhou L S, Shen H C. Curvature estimation of scattered-point cloud data and its application[J]. Journal of Nanjing University of Aeronautics & Astronautics, 2005, 37(4): 515–519. [贺美芳, 周来水, 神会存. 散乱点云数据的曲率估算及应用[J]. 南京航空航天大学学报, 2005, 37(4): 515–519. ] [DOI:10.3969/j.issn.1005-2615.2005.04.024]
  • [27] Hoppe H, Derose T, Duchamp T, et al. Surface reconstruction from unorganized points[J]. ACM SIGGRAPH Computer Graphics, 1992, 26(2): 71–78. [DOI:10.1145/142920.134011]
  • [28] Eigenstetter A, Ommer B. Visual recognition using embedded feature selection for curvature self-similarity[C]//Proceedings of the Conference on Advances in Neural Information Processing Systems. Cambridge: MIT Press, 2012: 377-385.
  • [29] Perumal L. Quaternion and its application in rotation using sets of regions[J]. International Journal of Engineering and Technology Innovation, 2011, 1(1): 35–52.
  • [30] Fischler M A, Bolles R C. Random sample consensus:a paradigm for model fitting with applications to image analysis and automated cartography[J]. Readings in Computer Vision, 1987: 726–740. [DOI:10.1016/B978-0-08-051581-6.50070-2]