浙江大学学报(工学版), 2025, 59(6): 1179-1190 doi: 10.3785/j.issn.1008-973X.2025.06.009

计算机技术

基于正态分布相似性的双视角点云配准方法

李朝龙,, 庞善民,, 王超玉, 王翌丰, 史鹏程

西安交通大学 软件学院,陕西 西安 710049

Pair-wise point cloud registration method based on normal distribution similarity

LI Zhaolong,, PANG Shanmin,, WANG Chaoyu, WANG Yifeng, SHI Pengcheng

School of Software Engineering, Xi’an Jiaotong University, Xi’an 710049, China

通讯作者: 庞善民,男,副教授. orcid.org/0000-0001-7217-864X. E-mail:pangsm@xjtu.edu.cn

收稿日期: 2024-07-9  

基金资助: 国家自然科学基金资助项目(61972312).

Received: 2024-07-9  

Fund supported: 国家自然科学基金资助项目(61972312).

作者简介 About authors

李朝龙(1999—),男,硕士生,从事计算机视觉研究.orcid.org/0009-0009-1890-6875.E-mail:li159515@stu.xjtu.edu.cn , E-mail:li159515@stu.xjtu.edu.cn

摘要

针对现有“点到点”双视角点云配准算法效率慢、精度低的问题,提出基于正态分布相似性的双视角点云配准方法. 将传统“点到点”配准问题转化为“分布到分布”配准问题,利用K-means聚类算法生成若干正态分布聚簇来拟合原始点云数据,再对这些正态分布聚簇进行配准,从而降低计算开销,提升配准效率;将Kullback-Leibler散度引入最近邻匹配正态分布的相似性评估,从而削弱非重叠数据区域对配准的负面影响,提升配准精度. 使用李代数求解器来获取最终的配准结果. 为了验证所提方法的有效性,选取其他8种双视角点云配准方法进行比对,其中包含多种“点到点”配准方法. 结果表明,本研究所提算法在保持较低计算开销的同时,有效提升了配准的稳定性和精确性. 在2个数据集上进行真实场景实验,证明了本研究所提算法在真实环境配准任务上拥有较好的应用潜力.

关键词: 双视角配准 ; 部分重叠配准 ; 正态分布变换 ; K-means聚类算法 ; Kullback-Leibler散度 ; 李代数求解器

Abstract

A pair-wise point cloud registration method based on normal distribution similarity was proposed to solve the problem of slow efficiency and low accuracy of existing “point-to-point” pair-wise point cloud registration algorithms. The traditional “point-to-point” registration problem was transformed to a “distribution-to-distribution” registration problem. The K-means clustering algorithm was used to generate several clusters as normal distributions to fit the original point cloud data, and then these normal distributions were used for registration, in order to reduce the calculation overhead and improve the registration efficiency. Kullback-Leibler divergence was introduced to evaluate the similarity of the nearest neighbor distributions to reduce the negative effect of non-overlapping data regions on registration in order to improve the registration accuracy. The final registration result can be obtained by using Lie algebra solver on the basis of the above steps. Eight other pair-wise point cloud registration methods were selected for comparison, including a lot of traditional “point-to-point” registration methods, in order to verify the effectiveness of the proposed method. The experimental results showed that the proposed algorithm could effectively improve the stability and accuracy of the registration tasks while keeping the computation cost low. In addition, experiments on two datasets in real scenarios further proved that the proposed algorithm had good application potential in real environment registration tasks.

Keywords: pair-wise registration ; partial overlapping registration ; normal distribution transformation ; K-means clustering algorithm ; Kullback-Leibler divergence ; Lie algebra solver

PDF (2571KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

李朝龙, 庞善民, 王超玉, 王翌丰, 史鹏程. 基于正态分布相似性的双视角点云配准方法. 浙江大学学报(工学版)[J], 2025, 59(6): 1179-1190 doi:10.3785/j.issn.1008-973X.2025.06.009

LI Zhaolong, PANG Shanmin, WANG Chaoyu, WANG Yifeng, SHI Pengcheng. Pair-wise point cloud registration method based on normal distribution similarity. Journal of Zhejiang University(Engineering Science)[J], 2025, 59(6): 1179-1190 doi:10.3785/j.issn.1008-973X.2025.06.009

点云配准是计算机视觉[1-2]方向的重要研究工作,其目标是将不同视角下的点云对齐到同一坐标系,使数据之间尽可能保持拟合. 依据待配准点云帧数的不同,可以具体分为双视角点云配准和多视角点云配准,前者往往是后者的基础. 点云配准的相关技术已被广泛应用在自动驾驶[3-4]、全息影像[5]、三维重建[6]等领域.

通常,点云配准技术的关键在于找到准确的点对匹配关系,以此为基础获取刚性变换的相应结果. Besl等[7]提出的迭代最近点算法(iterative closest point, ICP)是最经典的双视角点云配准算法,主要通过迭代进行最近邻匹配点对搜索和刚性变换优化2个步骤来完成配准任务,该算法虽然有效,但容易陷入局部最优解,且难以处理部分重叠的点云配准问题. 随着三维点云采集设备的持续发展,各种双视角点云配准方法逐渐被提出,大多数都是在传统ICP上进行改进与优化,因此依然隶属于“点到点”的配准模式. “点到点”配准模式存在2个弊端,一是通常须重复遍历所有的点云数据,这一过程可能会占用并消耗大量的计算资源,导致配准效率低下;二是一般情况下源点云和目标点云可能只有部分重叠,因此搜索到的最近邻匹配点对不一定重合,如不使用合适的过滤手段进行剔除,很可能会影响实际配准效果,甚至导致获得完全错误的刚性变换矩阵.

为了规避ICP变体算法或者说“点到点”配准算法的上述弊端,许多学者尝试对配准任务进行进一步定义与建模. 例如,Biber等[8]提出正态分布变换算法(normal distribution transform, NDT),利用正态分布拟合原始的二维点云数据,从而将最小化最近邻匹配点对距离问题转化为基于正态空间的源数据最大概率生成问题,因此隶属于“点到分布”的配准模式. 相较于传统ICP算法,该算法无须建立点对之间的显式连接、无须在每次迭代过程中重复搜索最近邻匹配点,因此即使在数据量较大的情况下也能有效降低计算的时间开销. 然而,这类“点到分布”的算法通常基于固定大小网格来实现空间划分,数据点的密度差异较悬殊,所得的正态分布不一定可靠,因此会影响最终的配准结果.

近年来,神经网络逐渐兴起,深度点云配准技术持续发展. Charles等[9]提出的PointNet将原始三维点云作为输入,利用神经网络获取点云的内部逻辑关系以提取嵌入特征,最终完成分类和分割的任务. 基于这一研究基础,许多学者尝试将深度网络应用在点云配准领域,提出各种各样的深度点云配准算法,有效解决了数据稀疏、不规则且无序的问题. 然而,这些算法一方面需要大量的数据集进行训练,其配准效果依赖数据集的数量和质量;另一方面,这些算法虽然在多数情况下能够求解合适的刚性变换结果,但在处理纹理精细的特定模型或者真实场景时,往往难以取得理想的性能表现.

针对上述问题,提出基于正态分布相似性的双视角点云配准方法. 该方法的优势包括:1)利用K-means算法为源点云和目标点云分别生成若干正态分布聚簇,将传统“点到点”配准问题转化为“分布到分布”配准问题,有效提升配准任务的效率;2)利用正态分布之间的Kullback-Leibler(KL)散度来计算数据属于重叠部分的权重概率,以此为基础弱化不可靠的数据区域,从而有效完成部分重叠的点云配准任务,保证配准结果精度;3)算法将刚性变换配准结果映射到李代数求解器进行求解,相较于传统NDT算法所使用的牛顿求解器,具有更强的原理性和实现性.

1. 相关研究工作

1.1. 基于“点到点”的配准算法

基于传统ICP的点云配准算法往往关注最近邻匹配点对之间的拟合,隶属于“点到点”的配准模式. 为了提升配准精度,Chetverikov等[10]引入重叠百分比参数来裁剪非重叠的数据区域,提出能在一定程度上解决部分重叠配准问题的裁剪迭代最近点算法(trimmed iterative closest point, TrICP);Bouaziz等[11]提出稀疏迭代最近点算法(sparse iterative closest point, SpICP),以稀疏表示理论为基础,利用稀疏lp范数来改进ICP的鲁棒性,但其引入增广拉格朗日函数,计算成本大大增加. 为了提升配准速度,Pavlov等[12]将安德鲁加速器与传统ICP框架进行结合,提出安德鲁加速算法(iterative closest point with Anderson acceleration, AAICP). Zhang等[13]在此基础上引入威尔斯函数鲁棒误差度量,进一步提升了配准效率,也在一定程度上降低了算法对异常值的敏感性. 这类算法耗时较少,但在面对部分重叠配准时,精度提升依然有限. 除此之外,许多同样基于传统ICP的“点到点”配准方法[14-17]也被提出,分别针对局部收敛问题、粗配准问题和异常值问题等进行尝试与探索,有一定改进,但是难以实现效率和精度的统一,且在处理部分重叠配准任务时稳定性较差.

1.2. 基于“点到面”的配准算法

依靠“点到点”配准模式搜索到的最近邻匹配点对较难实现真实重叠,因此部分学者在“点到面”的配准上进行探索. 例如,Chen等[18]最先通过最小化点到面之间的距离来完成点云配准任务,该方法的优势在于能够允许点云数据在平坦区域进行滑动,迭代次数更少且收敛更快,缺陷是依然需要良好的刚性变换初始值. 点到面的度量通常使用非线性最小二乘法进行求解,然而一些研究[19]发现,当初始位姿估计较好时,可以将点到面的度量转化为线性优化问题,从而进一步提升算法性能. Rusinkiewicz[20]提出对称迭代最近点算法(symmetrical iterative closest point, SmICP),利用对称目标函数来实现对于光滑模型或部分重叠模型的精确配准;Li等[21]引入自适应鲁棒损失来优化对称点到面的距离度量,进而提出鲁棒性对称迭代最近点算法(robust symmetrical iterative closest point, RSICP). 这些算法往往能扩宽收敛域,提升收敛速度,但须依赖法向量估计的质量,且每次迭代耗时较长.

1.3. 基于概率模型的配准算法

基于概率模型的配准算法通常隶属于“点到分布”或“分布到分布”的配准模式. 这类算法在配准过程中利用概率分布来拟合实际的点云数据,通常能够容忍噪声值或异常值的存在,效率较高. Magnusson等[22]提出三维NDT算法,将目标点云空间划分为若干规则单元体素网格,并利用网格当中的数据计算对应正态分布的均值和协方差矩阵,从而将点云配准问题转化为最大化源数据的概率生成问题. 耗时大幅降低,但规则化的体素划分致使每个网格中数据数量差异过大,最终的配准结果会受到影响. Stoyanov等[23]在此基础上,将“点到分布”转化为“分布到分布”的配准问题,尝试为源点云和目标点云分别生成三维NDT模型,进而求解能使2个模型尽可能拟合的最优刚性变换结果. 然而该算法依然平等看待每一个正态分布,没有考虑潜在的非重叠数据区域,因此精度表现不佳.

1.4. 基于深度网络的配准算法

深度配准的基本思想是学习点云内部的逻辑结构,从而将低维数据映射为高维嵌入特征,以便完成“特征到特征”的配准任务. Aoki等[24]将Lucas & Kanade算法引入PointNet网络,提出具有迭代递归能力的PointNetLK框架;Wang等[25]提出深度最近点算法(deep closest point, DCP),利用动态图卷积[26]和注意力机制求取最终的刚性变换配准结果;Yuan等[27]提出第1个基于学习且利用概率模型来完成配准任务的深度高斯混合模型网络(deep Gaussian mixture model, DeepGMR),该算法的优势在于无须依赖初始刚性变换矩阵,可以在任意姿态位置将点云数据进行对齐. 上述深度配准方法的性能相较传统配准方法而言有了一定程度上的改进,但它们依然难以处理部分重叠配准问题. 为此,一些面向部分重叠的配准网络[28-29]被提出,在重叠点检测和异常特征掩码等方面给出了解决思路. 然而,这些方法虽然有效,但需要大量的、高质量的数据集进行训练,且难以应对纹理精细的特定模型,在精配准方面的表现可能还不如传统算法.

综上所述,目前大部分的配准算法在本质上依然隶属于“点到点”的配准模式,耗时较长且不一定能有效解决部分重叠的配准问题;部分配准算法采用“点到面”、“点到分布”之类的技术手段,但它们往往难以实现效率和精度的统一. 为此,本研究设计基于正态分布相似性的双视角点云配准方法.

2. 基于正态分布相似性的配准方法

2.1. 模型建立

规定源点云和目标点云可以分别用$ {X}=\left\{\boldsymbol{x}_i\right\}_{i=1}^M$$ {Y}=\left\{\boldsymbol{y}_j\right\}_{j=1}^N $表示,其中MN分别表示源点云、目标点云包含的数据量. 传统三维NDT算法采用“点到分布”的配准模式,尝试求解最优旋转矩阵和平移矩阵,使刚性变换后的源点云数据在目标点云所处正态空间拥有最大的生成概率和,这一概率和具体可以表示为

$ \operatorname{score}(\boldsymbol{R}, \boldsymbol{t})=\sum_{i=1}^M \exp \left({-\frac{1}{2}\left(\boldsymbol{x}_i^{\prime}-\boldsymbol{\mu}_i\right)^{\mathrm{T}} \boldsymbol{\varSigma}_i^{-1}\left(\boldsymbol{x}_i^{\prime}-\boldsymbol{\mu}_i\right)}\right) . $
(1)

式中:$ {{\boldsymbol{x}}_i'} $为源数据经刚性变换之后形成的新数据,$ {{\boldsymbol{x}}_i'} = {\boldsymbol{R}}{{\boldsymbol{x}}_i}+{\boldsymbol{t}} $$ {\boldsymbol{R}} $$ {\boldsymbol{t}} $分别为待优化的旋转矩阵和平移矩阵;$ {{\boldsymbol{\mu}} _i} $$ \boldsymbol{\varSigma}_i $分别为$ {{\boldsymbol{x}}_i'} $所处正态单元网格对应的均值和协方差矩阵.

传统NDT算法的目标分数有一个缺陷,即目标点云空间正态分布的均值和协方差矩阵的计算依赖于规则划分的单元体素网格,而这些网格大小须提前固定,一旦数值选取不当容易造成网格对应的正态分布所含数据信息不均匀,最终影响配准结果. 考虑到这一点,本研究采用K-means算法[30]对数据进行聚簇并计算相应的正态分布参数. 2种方式的区别如图1所示. 图中,标注的数字表示正态网格所包含的数据信息量. 不难发现,利用K-means生成正态模型在实现上更加灵活便捷,各聚簇包含的数据量相对均匀,计算的正态参数可靠性更强. 后续讨论的正态参数均是在K-means的基础上求解得到的.

图 1

图 1   正态参数求解的方法

Fig.1   Methods for solving normal distribution parameters


$ {\varTheta _X} = \{ {{\boldsymbol{\mu}} _i},\boldsymbol{\varSigma}_i\} _{i = 1}^{{K_X}} $$ {\varTheta _Y} = \{ {{\boldsymbol{\mu }}_j},{{\boldsymbol{\varSigma}} _j}\} _{j = 1}^{{K_Y}} $分别表示源点云和目标点云各自空间所对应的正态分布参数集,其中$ {K_X} $$ {K_Y} $表示源点云和目标点云具体包含的正态分布个数. 规定$ {{\boldsymbol{R}}^0}、{{\boldsymbol{t}}^0}$表示当前迭代过程的旋转矩阵和平移矩阵. 以Stoyanov等[23]的研究内容为基础,对式(1)进行改进优化,以兼顾配准的精度和效率为目标,提出隶属于“分布到分布”配准模式的新的目标函数:

$ \left. \begin{split} \underset{\boldsymbol{R}, {\boldsymbol{t}}}{\arg \min } &\;{\sum}_{i=1}^{K_X} w_{i j} \left(\boldsymbol{\mu}_{i j}^{\mathrm{T}}\left(\boldsymbol{R}^0 {\boldsymbol{\varSigma}}_i\left(\boldsymbol{R}^0\right)^{\mathrm{T}}+{\boldsymbol{\varSigma}}_j\right)^{-1} \boldsymbol{\mu}_{i j}\right) ; \\&\text { s.t. } \boldsymbol{R}^{\mathrm{T}} \boldsymbol{R}={{\boldsymbol{I}}}_3, \operatorname{det}\;(\boldsymbol{R})=1 .\end{split}\right\} $
(2)

式中:$ ({\boldsymbol{R}},{\text{ }}{\boldsymbol{t}}) $表示待优化的变换矩阵,$ N({{\boldsymbol{\mu}} _j},{{\boldsymbol{\varSigma}} _j}) $表示源点云所处空间正态分布$ N({{\boldsymbol{\mu}} _i},{{\boldsymbol{\varSigma}} _i}) $经当前刚性变换$ ({{\boldsymbol{R}}^0},{{\boldsymbol{t}}^0}) $后的最近邻匹配结果,在此基础上可以定义$ {{\boldsymbol{\mu}} _{ij}} = {\boldsymbol{R}}{{\boldsymbol{\mu}} _i}+{\boldsymbol{t}} - {{\boldsymbol{\mu}} _j} $$ {w_{ij}} $表示权重系数,能够指明$ N({{\boldsymbol{\mu}} _i},{{\boldsymbol{\varSigma}} _i}) $$ N({{\boldsymbol{\mu}} _j},{{\boldsymbol{\varSigma}} _j}) $之间的相似度,使算法能够识别潜在的非重叠区域.

为了优化求解式(2),采用如图2所示的配准策略. 图中,初始点云当中的蓝色部分表示源点云,红色部分表示目标点云. 整个算法框架共分为3层,其中K-means聚类层并不参与算法整体的大循环,但会通过内部迭代来生成稳定的聚簇结果和对应的正态分布参数集;KL散度计算层和李代数求解器层则作为整体共同参与算法的整个迭代过程,直至达到大循环次数阈值上限或相邻2次配准结果没有明显区别,再输出最终的刚性变换矩阵.

图 2

图 2   基于正态分布相似性的双视角点云配准方法示意图

Fig.2   Diagram of pair-wise point cloud registration method based on normal distribution similarity


2.2. 任务求解

由式(2)可知,在利用李代数求解器优化配准结果前,需要2类关键信息:第1类信息是正态分布参数集合$ {\varTheta _X} $$ {\varTheta _Y} $,一经K-means聚类层获取后无须频繁求解;第2类信息是最近邻匹配正态分布的相似性权重$ {w_{ij}} $,须利用KL散度计算层进行计算,且在算法整体大循环的每一次迭代中须重新计算.

给定初始刚性变换以及2帧点云各自的初始聚簇中心,规定h表示K-means聚类层的内部迭代次数,H表示KL散度计算层和李代数求解器层的整体迭代次数. 基于正态分布相似性的双视角点云配准方法步骤如下.

2.2.1. K-means聚类层

利用K-means聚类算法为源点云和目标点云分别生成若干正态聚簇,并利用其中的数据计算对应的均值和协方差矩阵.

1)为每个源数据$ {{\boldsymbol{x}}_i} \in {{X}} $搜索其在源点云当中的最近邻正态分布聚簇:

$ {c_h}(i) = \mathop {\arg \min }\limits_{k \in \{ 1,2, \cdots ,{K_X}\} } \left\| {{{\boldsymbol{x}}_i} - {\boldsymbol{\mu}} _k^{h - 1}} \right\|_2^2. $
(3)

2)利用新一轮的聚簇结果,为每个正态分布更新其均值信息:

$ {\boldsymbol{\mu}} _k^h = \frac{{\sum\nolimits_{i = 1}^M {I\left[ {{c_h}(i) = k} \right]} {{\boldsymbol{x}}_i}}}{{\sum\nolimits_{i = 1}^M {I\left[ {{c_h}(i) = k} \right]} }}. $
(4)

式中:$ I\left[ \cdot \right] $表示判断内部条件是否成立的指示函数,若内部条件成立,值为1,否则为0.

3)重复上述环节直至h达到阈值上限或聚簇均值稳定,略去上下标h,利用最终的聚簇信息为每个正态分布求解其对应的协方差矩阵:

$ {{\boldsymbol{\varSigma}} _k} = \frac{{\sum\nolimits_{i = 1}^M {I\left[ {c(i) = k} \right]} {\text{ }}({{\boldsymbol{x}}_i} - {{\boldsymbol{\mu}} _k}){{({{\boldsymbol{x}}_i} - {{\boldsymbol{\mu}} _k})}^{\mathrm{T}}}}}{{\sum\nolimits_{i = 1}^M {I\left[ {c(i) = k} \right]} }}. $
(5)

注意,K-means聚类层的上述步骤须分别应用在源点云和目标点云,在此之后,即可得到它们各自的正态分布组件参数$ {\varTheta _X} $$ {\varTheta _Y} $.

2.2.2. KL散度计算层

利用聚簇均值之间的空间距离来搜索最近邻匹配正态分布,并计算它们的KL散度,以此作为识别非重叠区域的依据.

1)为每个源正态分布$ N({{\boldsymbol{\mu}} _i},{{\boldsymbol{\varSigma}} _i}) $搜索其在目标点云空间的最近邻匹配正态分布:

$ {d_H}(i) = \mathop {\arg \min }\limits_{k \in \{ 1,2, \cdots ,{K_Y}\} } {\left\| {{{\boldsymbol{R}}_{H - 1}}{{\boldsymbol{\mu}} _i}+{{\boldsymbol{t}}_{H - 1}} - {{\boldsymbol{\mu}} _k}} \right\|_2}. $
(6)

2)在获取最近邻匹配分布的基础上,求解两者的KL散度,以描述它们的数据相似性:

$ \begin{split} {\mathrm{k}}{{\mathrm{l}}_{i,{d_H}(i)}} =& {\mathrm{KL}}(N({{\boldsymbol{\mu}} _{{d_H}(i)}},{{\boldsymbol{\varSigma}} _{{d_H}(i)}})\left\| {N({{\boldsymbol{\mu}} _i'},{{\boldsymbol{\varSigma}} _i'})} \right.) = \\&\frac{1}{2}\Bigg[\log\; \frac{{\det \;({{\boldsymbol{\varSigma}} _i'})}}{{\det\; ({{\boldsymbol{\varSigma}} _{{d_H}(i)}})}} - D+{\mathrm{tr}}\;({({\varSigma _i'})^{ - 1}}{{\boldsymbol{\varSigma}} _{{d_H}(i)}}) + \\& {{\text{(}}{{\boldsymbol{\mu}} _{{d_H}(i)}} - {{\boldsymbol{\mu}} _i'}{\text{)}}^{\mathrm{T}}}{({{\boldsymbol{\varSigma}} _i'})^{ - 1}}{\text{(}}{{\boldsymbol{\mu}} _{{d_H}(i)}} - {{\boldsymbol{\mu}} _i'}{\text{)}}\Bigg]. \end{split}$
(7)

式中:D表示正态分布维度,等于点云的坐标维度3;$ \det\; ( \cdot ) $$ {\mathrm{tr}}\;( \cdot ) $分别表示求解矩阵的行列式和矩阵的迹的操作;正态分布$ N({{\boldsymbol{\mu}} _i'},{\boldsymbol{\varSigma} _i'}) $表示$ N({{\boldsymbol{\mu}} _i},{\boldsymbol{\varSigma} _i}) $经过当前刚性变换$ ({{\boldsymbol{R}} _{H - {\text{1}}}},{{\boldsymbol{t}} _{H - 1}}) $后形成的正态参数,有$ {{\boldsymbol{\mu}} _i'} = {{\boldsymbol{R}} _{H - {\text{1}}}}{{\boldsymbol{\mu}} _i}+{{\boldsymbol{t}} _{H - 1}}, $$ {\boldsymbol{\varSigma} _i'} = {{\boldsymbol{R}} _{H - {\text{1}}}}{\boldsymbol{\varSigma} _i}{\boldsymbol{R}} _{_{H - {\text{1}}}}^{\mathrm{T}} $.

3)计算最近邻正态分布匹配对的权重系数,以判断其属于真实重叠的可靠性:

$ {w_{i,{d_H}(i)}} = \frac{{\min\; ({\mathrm{k}}{{\mathrm{l}}_{m,{d_H}(m)}})}}{{{\mathrm{k}}{{\mathrm{l}}_{i,{d_H}(i)}}}};\;\;\; m = 1,2, \cdots ,{K_X}. $
(8)

式(2)所需的正态分布参数集信息以及相似性权重系数信息全部求解完毕.

2.2.3. 李代数求解器层

将最终的求解过程映射至李代数空间,获取新一轮刚性变换结果.

为了便于书写,后续求解过程略去下标$ {d_H}(i) $等变量信息,以目标正态分布$ N({{\boldsymbol{\mu}} _j},{\boldsymbol{\varSigma} _j}) $表示源正态分布$ N({{\boldsymbol{\mu}} _i},{\boldsymbol{\varSigma} _i}) $的最近邻匹配,以$ {w_i} $表示两者之间的相似性权重系数. 对式(2)进行优化,可以形成如下新的目标函数:

$ \min\; L({{\boldsymbol{R}} _H},{{\boldsymbol{t}} _H}) = \sum\nolimits_{i = 1}^{{K_X}} {{w_i} ({\boldsymbol{r}}_i^{\mathrm{T}}{{\boldsymbol{\varOmega}} _i}{{\boldsymbol{r}}_i})} . $
(9)

式中:$ \left(\boldsymbol{R}_H, \boldsymbol{t}_H\right) $表示新一轮待优化的刚性变换配准结果;$ {{\boldsymbol{r}}_i} $$ {{\boldsymbol{\varOmega}} _i} $分别表示残差和信息矩阵,分别满足$ {{\boldsymbol{r}}_i} = {{\boldsymbol{R}} _H}{{\boldsymbol{\mu}} _i}+{{\boldsymbol{t}} _H} - {{\boldsymbol{\mu}} _j} $$ {{\boldsymbol{\varOmega}} _i} = {({{\boldsymbol{\varSigma}} _i'}+{{\boldsymbol{\varSigma}} _j})^{ - 1}} $. 由Zhu等[31]的研究工作,可直接给出对应于李代数空间的新一轮的刚性变换配准结果:

$ {{\boldsymbol{\xi}} _H} = - {({\boldsymbol{G}})^\dagger }{\boldsymbol{b}}. $
(10)

式中:$ {( \cdot )^\dagger } $表示对矩阵求解其伪逆矩阵的操作. 除此之外,Gb的求解过程表示如下:

$ \left. \begin{gathered} {\boldsymbol{G}} = \sum\nolimits_{i = 1}^{{K_X}} {{w_i}} {\boldsymbol{G}}_i^{\mathrm{T}}{{\boldsymbol{\varOmega}} _i} {{\boldsymbol{G}}_i} , \\ {\boldsymbol{b}} = \sum\nolimits_{i = 1}^{{K_X}} {{w_i}{\boldsymbol{G}}_i^{\mathrm{T}}{{\boldsymbol{\varOmega}} _i} {\boldsymbol{r}}_i^0 }, \\ {{\boldsymbol{G}}_i} = \left[ {\begin{array}{*{20}{c}} { - {{({{\boldsymbol{\mu}} _i'})}^ \wedge }},&{{{\boldsymbol{I}}_3}} \end{array}} \right] , \\ {\boldsymbol{r}}_i^0 = {{\boldsymbol{\mu}} _i'} - {{\boldsymbol{\mu}} _j} . \\ \end{gathered} \right\} $
(11)

式中:${\boldsymbol{G}} \in {\bf{R}}^{6 \times 6} $${\boldsymbol{b}} \in {\bf{R}}^{6 } $${\boldsymbol{G}}_i \in {\bf{R}}^{3 \times 6} $${\boldsymbol{r}}_i^0 \in {\bf{R}}^{3} $$ {( \cdot )^ \wedge } $表示对三维向量求解其对应的反对称矩阵. 在式(11)的基础上,将式(10)的结果重新映射至李群空间,可以得到

$ \left. \begin{gathered} {{\boldsymbol{R}} _H} = \exp \;({({{\boldsymbol{\xi}} _{{H_R}}})^ \wedge }){{\boldsymbol{R}} _{H - 1}}, \\ {{\boldsymbol{t}} _H} = \exp \;({({{\boldsymbol{\xi}} _{{H_R}}})^ \wedge }){{\boldsymbol{t}} _{H - 1}}+{{\boldsymbol{\xi}} _{{H_t}}}. \\ \end{gathered} \right\} $
(12)

式中:$ {{\boldsymbol{\xi}} _{{H_R}}} $$ {{\boldsymbol{\xi}} _{{H_t}}} $分别表示处于李代数空间中的新一轮刚性变换配准结果$ {{\boldsymbol{\xi}} _H}\; ({\boldsymbol{\xi}}_H \in {\bf{R}}^6) $所对应的旋转矩阵分量和平移矩阵分量;$ \exp\; ( \cdot ) $表示由李代数空间到李群空间的指数映射操作,基于微小扰动假设可以定义为$ \exp \;({({{\boldsymbol{\xi}} _{{H_R}}})^ \wedge }) = {{\boldsymbol{I}}_3}+{({{\boldsymbol{\xi}} _{{H_R}}})^ \wedge } $. 至此,李代数求解器层处理完毕.

综上,在K-means聚类层获取正态分布参数集的基础上,重复迭代KL散度计算层和李代数求解器层,直至整体大循环次数H达到其阈值上限或相邻2次求解得到的刚性变换矩阵没有明显差异,即可输出最终结果.

2.3. 算法实现和复杂度分析

规定hH的阈值上限都为200. 在此基础上,本研究所提的基于正态分布相似性的双视角点云配准方法的具体实现如算法1所示.

算法1 基于正态分布相似性的双视角点云配准方法

输入:源点云X,目标点云Y,初始旋转矩阵和平移矩阵,

XY各自的初始聚簇中心

1) 初始化h=1,H=1;

Repeat

2) 令h=h+1;

3) 根据式(3)~(5),分别为源点云和目标点云生成正态分布参数集;

Untilh大于200或前后2次聚簇均值不再发生变化;

Repeat

4) 令H=H+1;

5) 根据式(6)搜索最近邻匹配正态分布;

6) 根据式(7)、(8)计算最近邻正态分布的相似性权重;

7) 根据式(11)计算李代数求解器相关参数;

8) 根据式(10)、(12)优化新一轮刚性变换配准结果;

UntilH大于200或前后2次配准结果没有明显变化;

输出:最优旋转矩阵R和平移矩阵t

在对所提方法进行复杂度分析之前,作出以下假设:1)待配准的2帧点云所包含的数据量不会相差太大,统一用N表示;2)待配准的2帧点云数据分布密度相对均匀,因此其对应的正态分布聚簇数量不会相差太大,统一用K表示.

2.3.1. 算法的时间复杂度分析

基于上述假设,所提方法的时间复杂度如表1所示,具体分析如下.

表 1   双视角点云配准方法的时间复杂度

Tab.1  Time complexity analysis of pair-wise point cloud registration

所属模块具体操作时间复杂度
K-means聚类建立k-d$ 2O(hK \times \lg\; K) $
K-means聚类更新聚簇并计算正态参数$ 2O(hN\times \lg \;K) $
KL散度计算搜索最近邻匹配正态分布$ O(HK\times \lg \;K) $
KL散度计算计算KL散度并生成权重$ O(HK) $
李代数求解器优化新一轮刚性变换$ O(HK) $

新窗口打开| 下载CSV


1) K-means聚类层. 为源点云当中的K个聚簇中心建立k-d树,复杂度为$ O(K\times \lg \;K) $;在此基础上,为每个数据搜索对应的最近邻簇中心,复杂度为$ O(N\times \lg K) $. 正态参数的计算可以一并包含在上述过程中,不占用额外时间. 对目标点云的处理思路完全一致,因此这一层的整体时间复杂度可以记作$ 2(O(hK\times \lg K)+O(hN\times \lg K)) $.

2) KL散度计算层. 为源点云的每一个正态分布搜索其在目标点云空间的最近邻匹配,复杂度为$ O(K\times \lg K) $;遍历每一对最近邻正态分布,计算其KL散度,复杂度记作$ O(K) $. 由于整体迭代次数为H,这一层的时间复杂度最终可以表示为$ O(HK\times \lg K)+O(HK) $.

3) 李代数求解器层. 求解过程相当于遍历所有正态组件参数,整体复杂度为$ O(HK) $.

2.3.2. 算法的空间复杂度分析

D表示输入数据的维度,结合上述假设,可知2帧点云各自占用的空间大小为$ O(DN) $,后续环节分析如下.

1) K-means聚类层. 该层的目标是更新簇中心和协方差矩阵,两者所占用的空间大小直接关系于正态聚簇个数K,因此复杂度可以分别表示为$ O(DK) $$ O({D^2}K) $. 另外,由于更新过程依赖于数据间的最近邻匹配搜索,须将簇中心存储到k-d树结构,因此这一过程会额外占用$ O(DK) $大小的空间. 注意,源点云和目标点云要分别进行K-means聚类操作,两者所耗用的空间资源是相似的,都适用于上述分析.

2) KL散度计算层. 该层的任务是求解最近邻匹配正态分布聚簇之间的相似性权重,对应的空间复杂度与正态分布数量呈线性相关,因此可以直接表示为$ O(K) $.

3) 李代数求解器层. 该层直接利用上述环节所获取的正态参数集信息和相似性权重信息来优化刚性变换配准结果,期间没有大量额外空间须被耗用,因此复杂度用$ O(1) $表示.

基于正态分布相似性的双视角点云配准方法空间复杂度如表2所示. 本研究输入点云的维度D=3,所提方法的空间复杂度与K可以看作线性关系,而K一般又远小于点云数据量N,因此所提方法空间复杂度整体较低.

表 2   双视角点云配准方法的空间复杂度

Tab.2  Spatial complexity analysis of pair-wise point cloud registration

所属模块具体操作空间复杂度
K-means聚类建立k-d$ 2O(DK) $
K-means聚类求解正态分布聚簇中心$ 2O(DK) $
K-means聚类求解正态分布协方差矩阵$ 2O({D^2}K) $
KL散度计算计算KL散度并生成权重$ O(K) $
李代数求解器优化新一轮刚性变换$ O(1) $

新窗口打开| 下载CSV


3. 实验结果

为了验证本研究所提出的基于正态分布相似性的双视角点云配准方法的性能,使用4个斯坦福数据集[32](Bunny、Armadillo、Buddha、Dragon)进行消融实验、精度实验、效率实验等. 4个数据集包含的点云帧数分别为10、12、15和15,每帧点云平均拥有的数据量分别为36227256357326731280. 须说明,同一数据集相邻2帧点云的数据量一般相差不大,但其数据重叠百分比为30%~100%,因此对于同一数据集相邻2帧两两配准的平均性能结果将在一定程度上反映算法能否有效处理部分重叠的点云配准任务.

将本研究所提方法与其他8种较流行的算法进行对比,具体包括TrICP[10]、NDT[22]、SpICP[11]、SmICP[20]、AAICP[13]、刚性变换一致(rigid transformation consensus, RTC)算法[16]、镜像迭代(mirrored iterative closest point, MICP)算法[17]、RSICP[21],所有测试均在Matlab R2021a上实现. 如无特殊说明,在实验过程中,将对同一数据集的相邻2帧点云两两配准,最终求解指标的平均值以说明不同算法的性能. 所用的精度指标包括平均均方根误差RMSE和总体配准成功率SR,定义如下:

$ \left. \begin{gathered} {\mathrm{RMSE}} = \frac{1}{F}\sum\nolimits_{f = 1}^F {\sqrt {\frac{1}{{{N_f}}}\sum\nolimits_{i = 1}^{{N_f}} {\left\| {T_f^{\mathrm{E}}{{\boldsymbol{x}}_i} - T_f^{\mathrm{G}}{{\boldsymbol{x}}_i}} \right\|} _2^2} } , \\ {\mathrm{SR}} = \frac{1}{F}\sum\nolimits_{f = 1}^F {I\left[ {{{\mathrm{RMSE}}_f} < \varepsilon \times {{\mathrm{RMSE}}_{{\mathrm{fini}}}}} \right]} {\text{ }}. \\ \end{gathered} \right\} $
(13)

式中:F表示数据集两两配准的总次数,具体为该数据集的点云帧数减去1;$ {N_f} $表示第$ f $次配准即数据集第$ f $和第$ {f+1} $帧点云配准时源点云所包含的数据量大小;$ {\boldsymbol{T}}_f^{\mathrm{E}} $$ {\boldsymbol{T}}_f^{\mathrm{G}} $分别表示第f次配准过程中刚性变换矩阵的估计结果和真值结果;$ \varepsilon $为阈值系数,设置为0.15;$ {{\mathrm{RMSE}}_f} $表示第f次配准后的均方根误差结果;$ {\mathrm{RMSE}}_{{\mathrm{fini}}} $表示第f次配准前的初始误差结果.

对于待配准的某特定数据集,指标RMSE能够反映方法对不同重叠百分比下的各相邻帧进行配准时的平均精确度,而指标SR能够反映方法在配准过程中保持良好性能的稳定性.

3.1. 参数选择

本研究所提方法的参数K,表示源点云或目标点云的正态分布聚簇个数. 一般而言,这个数量难以直接估计,但可以通过确定每个分布平均包含的数据量进行反推. 令$ {N_{\mathrm{P}}} $表示每个正态分布聚簇平均包含的数据量,有$ K \approx N/{N_{\mathrm{P}}} $. 由该式不难推断出,当$ {N_{\mathrm{P}}} $过小时,K过大,算法依然相当于传统“点到点”配准,可能会耗用大量时间资源;当$ {N_{\mathrm{P}}} $过大时,K过小,原始点云当中的大量局部细节会丢失,无法保证配准精度的稳定性. 当$ {N_{\mathrm{P}}} $取不同值时各数据集第1、2帧的配准精度和用时情况如图3所示. 为了兼顾精度和效率,本研究所提方法在所有配准过程中设置$ {N_{\mathrm{P}}} = 36 $,即将每个正态分布聚簇当中平均包含的数据量视作固定常量.

图 3

图 3   正态分布聚簇内平均数据量不同时的配准结果

Fig.3   Registration results with different mean data volume within normal distribution clusters


3.2. 精度和效率实验

在刚性变换的真值结果中加入随机扰动,以生成初始配准参数. 在斯坦福的不同数据集上对各种算法进行测试,所用指标包括平均均方根误差RMSE、平均配准成功率SR、平均配准用时t. 配准结果如表3所示. 表中,粗体表示配准中的最优值,下划线表示次优值,Initial表示未使用任何配准方法. 为了便于观察差异,如图4所示给出了用不同方法配准Bunny第2、3帧和Dragon第12、13帧的结果示意图,这些点云数据之间的重叠率约为65%. 图中,RP表示经配准后2帧点云的拟合度,颜色越偏蓝色表示算法越能处理部分重叠的点云配准任务,越偏红色表示处理能力越差. 此外,为了进一步说明不同方法的运行效率,如图5所示给出了它们在不同数据集上配准的平均用时示意.

表 3   不同方法在4个数据集上的精度结果对比

Tab.3  Accuracy comparison of different methods on four datasets

配准方法BunnyArmadilloBuddhaDragon
RMSESRRMSESRRMSESRRMSESR
Initial13.448719.340516.912617.9725
TrICP2.759 40.780.17281.002.55400.640.94720.93
NDT12.78110.0017.49360.006.32080.5017.65230.00
SpICP5.78420.561.78180.915.11190.214.48010.57
SmICP24.87430.220.25541.000.31011.001.11780.86
AAICP16.21110.110.27741.000.27051.000.92050.93
RTC3.83470.562.58840.731.76570.861.64720.79
MICP5.40270.440.21201.000.249 61.000.95940.93
RSICP27.99100.560.15911.000.25101.000.335 21.00
本研究方法0.42491.000.161 91.000.24721.000.32891.00

新窗口打开| 下载CSV


图 4

图 4   不同方法配准结果的颜色渐变示意图

Fig.4   Color gradient illustration of registration results of different methods


图 5

图 5   不同双视角点云配准方法的运行时间对比

Fig.5   Comparison of relative runtime of different pair-wise point cloud registration methods


在配准精度上,如表3图4所示,本研究所提方法基本上可以获得最优的配准结果,且其稳定性较高,在4个数据集均取得了100%的配准成功率. 在用时效率上,如图5所示(仅截取50 s以内部分,耗时最长的SpICP在4个数据集上平均配准时间分别为266、147、645、152 s),本研究所提方法在整体上处于中上游水平,虽然略慢于NDT和MICP算法,但在精度上却远超它们.

TrICP、SpICP、AAICP和MICP都是对传统ICP的改进,隶属于“点到点”配准模式. TrICP主动引入重叠百分比参数来预测重叠部分,虽然有效,但依然仅仅利用点对之间的空间距离来完成配准任务,一旦非重叠区域面积增大或更加精细复杂,很可能因陷入大量迭代而致使效率和精度同时下降. SpICP基于稀疏表示理论来增强算法整体的鲁棒性,但由于引入了增广拉格朗日函数,算法效率处于对比当中的最差. AAICP将安德鲁加速算法引入传统ICP框架,效率得到有效提升;此外,该算法基于威尔斯函数设计了鲁棒性误差度量,来避免噪声值和异常值的不利影响,但其准确性同样依赖于真实重叠百分比. MICP在配准过程中须为数据建立可靠的邻域空间,算法本身非常高效,但最终的配准结果并不稳定,尤其是在真实重叠百分比较低时,其搜索的邻域空间往往并不可靠甚至完全错误,致使最终的配准精度大幅下降.

NDT和RTC都是基于概率的配准算法. NDT隶属于“点到分布”配准,非常高效,但须对点云空间进行单元体素划分,提前确定合适的网格大小,否则数据分布极不均匀,导致正态参数求解的偏差过大. RTC会为最近邻匹配点对分配一个后验概率,以指示其属于真实匹配的可能性大小,在本质上仍属于“点到点”配准,虽能在一定程度上解决部分重叠问题,但其本身须固定若干高斯参数,参数选取不当容易导致配准失败.

SmICP和RSICP虽然也是对ICP的改进,但将传统“点到点”转化为“点到面”配准,使用对称目标函数来尽可能优化点面距离,从而能够提升配准的精度. 此外,相较于SmICP,RSICP由于引入鲁棒性对称度量,既能拓宽收敛域又能提升收敛速度,因此整体性能会更强. 然而这类“点到面”的算法都须估计法向量,在迭代过程中可能会耗用更多时长,且在处理像Bunny数据集这样的低重叠配准任务时,其度量结果可能会出现较大的偏差,致使配准完全失败.

综上所述,相较于其他方法,本研究所提方法有性能上的优势,能兼顾效率和精度. 具体来说,算法采用“分布到分布”配准技巧,能够避免频繁对所有数据进行遍历迭代,耗时大幅降低;算法利用最近邻正态分布之间的相似性来识别潜在的非重叠区域,从而能有效完成部分重叠配准任务,提升配准精度.

3.3. 鲁棒性实验

为了验证本研究所提方法对于数据异常值的鲁棒性,为斯坦福各个数据集分别添加信噪比SNR为50、25 dB的高斯噪声. 此外,为了保证公平性,所有方法在实验过程中须对同一数据集的相邻2帧进行两两配准,最终求解平均均方根误差RMSE作为该数据集的一次实验数据,在此基础上对该数据集独立重复进行共计30次实验后求取实验数据均值. 最终的实验结果如表4所示,其中指标RMSE以“平均值±标准差”的形式进行表示,粗体部分表示对比中的最优值,下划线部分表示对比中的次优值. 由实验结果可知,在加入高斯噪声后,不同方法的配准精度都会出现一定程度的扰动,且噪声越剧烈,扰动的幅度可能越大. 在相同的噪声水平下,本研究所提方法能保持相对更稳定的配准效果. 一方面,该算法利用K-means进行正态聚类和参数求解,灵活性和可靠性较高,即使出现噪声值或异常值,其正态分布拟合也不会出现较大波动,配准所用的均值和协方差矩阵信息相对稳定;另一方面,该算法使用基于KL散度的权重系数来识别非重叠的数据区域,能够将配准的注意力集中在真实重叠部分,从而规避异常数据的影响,进一步提升配准过程的鲁棒性.

表 4   不同高斯噪声(50、25 dB)下的配准结果

Tab.4  Comparison of registration results under Gaussian noise of 50 dB and 25 dB

配准方法SNR/dBRMSE
BunnyArmadilloBuddhaDragon
TrICP502.7612±0.00170.1727±0.00032.5530±0.00090.9465±0.0004
252.7563±0.00810.1733±0.00142.4407±0.01990.9474±0.0028
NDT5012.7890±0.006222.2961±0.01816.6362±0.497424.0140±0.0787
2512.7977±0.023217.3343±0.32546.8398±0.501817.5718±0.0923
SpICP505.7519±0.00891.6955±0.00315.2335±0.00194.6071±0.0038
255.8516±0.01711.7163±0.00205.1914±0.00254.5882±0.0046
SmICP5020.3221±2.22950.2554±0.00020.3103±0.00031.1177±0.0005
2520.4048±1.62120.2548±0.00090.3108±0.00031.1218±0.0020
AAICP5016.2103±0.00130.2774±0.00020.2706±0.00030.9206±0.0003
2516.2135±0.00510.2778±0.00090.2709±0.00060.9204±0.0010
RTC503.8398±0.00472.5661±0.01341.7657±0.00041.6704±0.0372
253.8460±0.02462.6874±0.19111.7591±0.00271.4611±0.1315
MICP505.3758±0.07350.2111±0.00140.2535±0.00100.9608±0.0035
255.4674±0.06440.2111±0.00220.2553±0.00190.9907±0.0473
RSICP5027.9803±0.02000.1592±0.00020.2510±0.00030.3353±0.0005
2527.7358±0.55710.1583±0.00060.2499±0.00070.3354±0.0012
本研究方法500.4265±0.00780.1611±0.00170.2470±0.00090.3287±0.0012
250.4294±0.01850.1615±0.00150.2478±0.00120.3293±0.0028

新窗口打开| 下载CSV


NDT和RTC均以高斯概率模型为基础进行配准. NDT使用规则单元来划分正态分布,一旦噪声数据增加,固定网格的数据信息变化相对剧烈,因此正态参数求解误差增大,方法的鲁棒性下降. RTC为每一对最近邻匹配点计算其是否属于“真实匹配”的后验概率,而在噪声数据较多时,点对的概率评估可靠性势必会受到影响,致使最终的配准结果波动幅度较大.

TrICP、SpICP、SmICP、AAICP、MICP和RSICP均为基于ICP的改进算法. 其中,TrICP和MICP能够将注意力放在数据的重叠区,对于异常信息有一定的过滤和清除作用,因此具有一定的鲁棒性,但当高斯噪声加剧时,这种识别能力可能会受到一定影响. SpICP和AAICP都在传统“点到点”配准目标函数的基础上进行改进和优化,前者使用lp范数替换原先的l2范数,后者引入基于威尔斯函数的鲁棒性误差度量,都能在一定程度上增强配准结果的稳定性. SmICP和RSICP均采用“点到面”的方式对点云数据进行配准,能够有效规避“点到点”配准的信息度量误差,且两者都使用对称型目标函数来降低算法对于噪声数据的敏感程度. 然而,这些算法虽然在其他数据集上有较好的配准表现,但在处理像Bunny数据集这样重叠百分比极低的数据时依然容易出现剧烈的精度偏移.

3.4. 消融实验

本研究所提方法因隶属“分布到分布”配准而拥有较高的效率,因引入由KL散度推导的相似性权重系数而拥有较好的精度. 从这2个要素出发,可以设计以下实验:1)“点到分布”+“无相似性权重”(P2DNDT),即将K-means聚类层只应用在目标点云,将配准问题转化为源数据的概率生成和最大问题,中间不涉及KL散度计算,但利用李代数求解器对结果进行求解;2)“分布到分布”+“无相似性权重”(D2DNDT),即配准任务不包含KL散度计算层,除此之外的过程皆与本研究所提方法一致. 须注意,由于KL散度计算须面向“分布到分布”,不能设计“点到分布”+“有相似性权重”的实验. 最终的消融实验结果如表5所示,用于比较的实验指标包括平均均方根误差RMSE、平均配准用时t和整体配准成功率SR. 表中,粗体表示结果中的最优值. 由实验结果可知,D2DNDT的效率略高于所提方法的,这是因为其无须经过KL散度计算层处理,但其也因此无法对非重叠区域进行识别,配准精度大幅下降. 与之相比,P2DNDT须遍历所有源数据点,信息较为全面可靠,因此在精度方面会有一定保障,但依然低于本研究所提方法的,且该算法须重复遍历源点云当中的所有数据,会消耗大量的时间.

表 5   在不同数据集上消融实验的结果

Tab.5  Results of ablation experiments on different datasets

数据集InitialP2DNDTD2DNDT本研究方法
RMSERMSEt /sSRRMSEt /sSRRMSEt /sSR
Bunny13.44874.459219.750.3313.75523.990.330.42493.741.00
Armadillo19.34050.645214.580.910.76991.640.820.16192.331.00
Buddha16.91260.429542.881.000.41844.351.000.24729.471.00
Dragon17.97250.827315.991.003.66871.930.710.32893.561.00

新窗口打开| 下载CSV


3.5. 真实场景实验

为了进一步论证所提算法的性能,在真实数据集GazeboS和GazeboW[33]上测试,两者各包含约30帧的点云,每帧点云含3~5万个数据,这些数据由配备扫描仪的机器人采集得到. 如表6所示为不同方法对2个数据集相邻2帧两两配准后的实验结果. 表中,粗体表示结果中的最优值,下划线表示结果中的次优值. 可以看出,除了NDT之外,多数算法都能得到精度相对良好的配准结果,这是因为点云数据是由机器人沿二维闭合路径按照较小的视角变化采集得到的,相邻2帧的重叠百分比较高,因此它们的配准精度均较高. 整体来看,本研究所提方法在精度上相较于TrICP、SmICP、AAICP等算法具有明显的优势;在2个数据集上精度分别排名第2的RSICP算法和SpICP算法,其平均配准效率均落后于本研究所提方法,其中,RSICP的效率不足本研究所提方法的60%,而SpICP的效率甚至不足1%. 综上所述,本研究所提方法在真实环境场景配准方面也具有较好的应用潜力.

表 6   在真实场景数据集上的配准结果

Tab.6  Registration results of different real scene datasets

配准方法GazeboSGazeboW
RMSEt /sSRRMSEt /sSR
Initial0.26890.3685
TrICP0.027913.880.840.02042.831.00
NDT0.14892.850.260.07841.970.63
SpICP0.03021242.400.770.019 6402.321.00
SmICP0.070934.420.740.025517.370.97
AAICP0.02995.770.710.02282.291.00
RTC0.02615.660.740.02291.941.00
MICP0.02772.240.710.05751.540.93
RSICP0.021126.040.930.01977.880.97
本研究方法0.02089.480.900.01924.251.00

新窗口打开| 下载CSV


4. 结 论

(1)所提算法通过引入K-means聚类策略,将传统“点到点”配准模式转化为“分布到分布”的配准问题,不仅规避了传统正态分布变换规则划分体素单元致使数据不均的弊端,也有效保证了配准任务的整体效率.

(2)为了解决部分重叠配准任务,所提算法引入相似性权重对非重叠区域进行识别. 方法利用均值之间的距离来搜索最近邻匹配分布,并在此基础上计算KL散度,散度越小,意味2个分布越相似,为它们赋予权重则越高. 经过这一环节处理,可以有效提升配准结果的精度.

(3)在公开数据集上的结果表明,相较于目前主流的基于ICP或“点到点”配准的算法,所提方法能够在兼顾效率的同时提升配准结果的精度,且可以有效容忍噪声的存在,在真实数据集上也表现出了良好的适应能力和应用能力.

(4)尽管所提方法在性能上有一定优势,但也存在待改进的方面. 由于方法更适合用于庞杂精细模型的双视角配准任务,因此如何将其应用至深度网络进行嵌入特征分析,或如何将其应用至多视角点云配准,将成为后续工作的重点.

参考文献

GOJCIC Z, ZHOU C, WEGNER J D, et al. Learning multiview 3D point cloud registration [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 1759–1769.

[本文引用: 1]

LI P, WANG R, WANG Y, et al

Evaluation of the ICP algorithm in 3D point cloud registration

[J]. IEEE Access, 2020, 8: 68030- 68048

DOI:10.1109/ACCESS.2020.2986470      [本文引用: 1]

CHEN X, MA H, WAN J, et al. Multi-view 3D object detection network for autonomous driving [C]// IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 6526–6534.

[本文引用: 1]

ZHENG Y, LI Y, YANG S, et al

Global-PBNet: a novel point cloud registration for autonomous driving

[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23 (11): 22312- 22319

DOI:10.1109/TITS.2022.3153133      [本文引用: 1]

范光宇, 宫宇宸, 饶蕾, 等

基于灰度相似性的激光点云与全景影像配准

[J]. 浙江大学学报: 工学版, 2022, 56 (8): 1633- 1639

[本文引用: 1]

FAN Guangyu, GONG Yuchen, RAO Lei, et al

Registration of laser point cloud and panoramic image based on gray similarity

[J]. Journal of Zhejiang University: Engineering Science, 2022, 56 (8): 1633- 1639

[本文引用: 1]

龚靖渝, 楼雨京, 柳奉奇, 等

三维场景点云理解与重建技术

[J]. 中国图象图形学报, 2023, 28 (6): 1741- 1766

DOI:10.11834/jig.230004      [本文引用: 1]

GONG Jingyu, LOU Yujing, LIU Fengqi, et al

Scene point cloud understanding and reconstruction technologies in 3D space

[J]. Journal of Image and Graphics, 2023, 28 (6): 1741- 1766

DOI:10.11834/jig.230004      [本文引用: 1]

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      [本文引用: 1]

BIBER P, STRASSER W. The normal distributions transform: a new approach to laser scan matching [C]// IEEE International Conference on Intelligent Robots and Systems. Las Vegas: IEEE, 2003: 2743–2748.

[本文引用: 1]

CHARLES R Q, HAO S, MO K, et al. PointNet: deep learning on point sets for 3D classification and segmentation [C]// IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 77–85.

[本文引用: 1]

CHETVERIKOV D, SVIRKO D, STEPANOV D, et al. The trimmed iterative closest point algorithm [C]// International Conference on Pattern Recognition. Quebec City: IEEE, 2002: 545–548.

[本文引用: 2]

BOUAZIZ S, TAGLIASACCHI A, PAULY M

Sparse iterative closest point

[J]. Computer Graphics Forum, 2013, 32 (5): 113- 123

DOI:10.1111/cgf.12178      [本文引用: 2]

PAVLOV A L, OVCHINNIKOV G W, DERBYSHEV D Y, et al. AA-ICP: iterative closest point with Anderson acceleration [C]// IEEE International Conference on Robotics and Automation. Brisbane: IEEE, 2018: 3407–3412.

[本文引用: 1]

ZHANG J, YAO Y, DENG B

Fast and robust iterative closest point

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022, 44 (7): 3450- 3466

[本文引用: 2]

YANG J, LI H, CAMPBELL D, et al

Go-ICP: a globally optimal solution to 3D ICP point-set registration

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38 (11): 2241- 2254

DOI:10.1109/TPAMI.2015.2513405      [本文引用: 1]

SHI X, LIU T, HAN X

Improved iterative closest point (ICP) 3D point cloud registration algorithm based on point cloud filtering and adaptive fireworks for coarse registration

[J]. International Journal of Remote Sensing, 2020, 41 (8): 3197- 3220

DOI:10.1080/01431161.2019.1701211     

LI Z, WANG C, MA J, et al

Point set registration via rigid transformation consensus

[J]. Computers and Electrical Engineering, 2022, 101: 108098

DOI:10.1016/j.compeleceng.2022.108098      [本文引用: 1]

徐文菲, 金莉, 韩旭, 等

面向缺失点云配准的镜像迭代最近点算法

[J]. 西安交通大学学报, 2023, 57 (7): 201- 212,220

DOI:10.7652/xjtuxb202307019      [本文引用: 2]

XU Wenfei, JIN Li, HAN Xu, et al

Mirrored iterative closest point algorithm for missing point cloud registration

[J]. Journal of Xi’an Jiaotong University, 2023, 57 (7): 201- 212,220

DOI:10.7652/xjtuxb202307019      [本文引用: 2]

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      [本文引用: 1]

RUSINKIEWICZ S, LEVOY M. Efficient variants of the ICP algorithm [C]// 3rd International Conference on 3-D Digital Imaging and Modeling. Quebec City: IEEE, 2001: 145–152.

[本文引用: 1]

RUSINKIEWICZ S

A symmetric objective function for ICP

[J]. ACM Transactions on Graphics, 2019, 38 (4): 1- 7

[本文引用: 2]

LI J, HU Q, ZHANG Y, et al

Robust symmetric iterative closest point

[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2022, 185: 219- 231

DOI:10.1016/j.isprsjprs.2022.01.019      [本文引用: 2]

MAGNUSSON M, LILIENTHAL A, DUCKETT T

Scan registration for autonomous mining vehicles using 3D-NDT

[J]. Journal of Field Robotics, 2007, 24 (10): 803- 827

DOI:10.1002/rob.20204      [本文引用: 2]

STOYANOV T, MAGNUSSON M, LILIENTHAL A J. Point set registration through minimization of the L2 distance between 3D-NDT models [C]// IEEE International Conference on Robotics and Automation. Saint Paul: IEEE, 2012: 5196–5201.

[本文引用: 2]

AOKI Y, GOFORTH H, SRIVATSAN R A, et al. PointNetLK: robust and efficient point cloud registration using PointNet [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 7156–7165.

[本文引用: 1]

WANG Y, SOLOMON J. Deep closest point: learning representations for point cloud registration [C]// IEEE/CVF International Conference on Computer Vision. Seoul: IEEE, 2019: 3522–3531.

[本文引用: 1]

WANG Y, SUN Y, LIU Z, et al

Dynamic graph CNN for learning on point clouds

[J]. ACM Transactions on Graphics, 2019, 38 (5): 1- 12

[本文引用: 1]

YUAN W, ECKART B, KIM K, et al. DeepGMR: learning latent Gaussian mixture models for registration [C]// European Conference on Computer Vision. Glasgow: Springer, 2020: 733–750.

[本文引用: 1]

XU H, LIU S, WANG G, et al. OMNet: learning overlapping mask for partial-to-partial point cloud registration [C]// IEEE/CVF International Conference on Computer Vision. Montreal: IEEE, 2021: 3112–3121.

[本文引用: 1]

MEI G, TANG H, HUANG X, et al. Unsupervised deep probabilistic approach for partial point cloud registration [C]// IEEE/CVF Conference on Computer Vision and Pattern Recognition. Vancouver: IEEE, 2023: 13611–13620.

[本文引用: 1]

ZHU J, JIANG Z, EVANGELIDIS G D, et al

Efficient registration of multi-view point sets by K-means clustering

[J]. Information Sciences, 2019, 488: 205- 218

DOI:10.1016/j.ins.2019.03.024      [本文引用: 1]

ZHU J, MU J, YAN C B, et al

3DMNDT: 3D multi-view registration method based on the normal distributions transform

[J]. IEEE Transactions on Automation Science and Engineering, 2024, 21 (1): 488- 501

DOI:10.1109/TASE.2022.3225679      [本文引用: 1]

Stanford University. The Stanford 3D scanning repository [EB/OL]. (2014-08-19) [2021-10-01]. https://graphics.stanford.edu/data/3Dscanrep/.

[本文引用: 1]

POMERLEAU F, LIU M, COLAS F, et al

Challenging data sets for point cloud registration algorithms

[J]. The International Journal of Robotics Research, 2012, 31 (14): 1705- 1711

DOI:10.1177/0278364912458814      [本文引用: 1]

/