摘要
迭代最近点法(ICP)及其变体是三维点云刚性配准的典型方法,但此类通过迭代计算逐点距离矩阵实现点云配准的方式,严重制约了点云的配准效率。本文提出一种快速ICP算法,利用Frobenius范数表示待配准的两幅点云之间的误差函数,获得误差值最小点位置,并对此位置进行奇异值分解,从而得到旋转矩阵和平移向量,极大压缩了迭代次数和配准时间。在Standford数据集和3DMatch数据集上进行试验,与传统ICP算法及其变体、3种基于学习的点云配准算法进行对比,本文方法配准效率最优;在达到相近的配准精确度时,提出的快速ICP方法的迭代次数仅为传统ICP算法的0.2倍,在Standford数据集上配准所需时间为传统ICP算法的1/4,在3D Match数据集上配准所需时间为传统ICP算法的1/8倍。本文提出的快速ICP算法在数据量大的点云场景下,具有更高的效率。
随着三维数据获取方法和计算机算力不断提升,智慧城市建设逐渐深化,三维点云数据处理技术逐渐成为计算机感知外部世界,实现智能化处理的重要手段。三维模型重建、三维目标跟踪和位姿估计等应用都促进了点云配准技术的发
为解决以上问题,对ICP算法的改进一直都是点云配准算法中的研究热点:a) 利用局部点云曲率、法向量夹
基于上述问题和思路,本文提出一种快速ICP算法,在经典ICP算法的基础上,利用Frobenius范数性质,提出了可以直接旋转矩阵和平移向量闭合解的方法。相对于传统ICP方法,缩短了单次迭代的时间;在Frobenius范数表示的点云矩阵上进行奇异值分解(SVD),在实现理想的点云配准精确度的情况下,提高了点云配准效率。本文在Standford数据
ICP算法本质上是基于最小二乘法的最优配准方法,该算法用迭代的方式选择最近点对,计算最优变换矩阵,直到满足正确配准的收敛精确度要求。ICP算法的目的是通过迭代的方式获取待配准点云数据与参考点云数据之间的变换矩阵,使两幅点云数据之间满足最佳的度量准则,实现配准,如

图1 ICP算法原理示意图
Fig.1 Schematic diagram of ICP
该方法需要待配准的2个点云有较好的初始位置,两者的重叠区域大致对齐。从目标点云中查询原始点云中所有数据点在另一片点云中的最近的位置作为对应点,利用所有点对求解出旋转和平移矩阵,再根据旋转平移矩阵调整待配准点云的位置,不断迭代前述过程,使点云之间的误差越来越小,直至满足阈值要求。
给定原始点云和目标点云,点云配准的关键问题是如何确定三维空间刚体变换中旋转矩阵R和平移向量t,使得Q经过变换后与P的距离最小,如
(1) |
式中:为的对应点;为目标点云的点数。
按照以下步骤进行迭代:
1) 在Q中查询每一个点pi所对应的距离最近的点;
2) 估计点对之间关系的变换矩阵Rk和tk,并记录此时的误差函数;
3) 将求解得到的旋转矩阵Rk和平移向量tk用于点云Pk,得到变换后的点云Pk+1;
4) 用Pk+1代替原始点云Pk重复上述步骤,直至达到预先设定的迭代次数或小于预先设定的阈值。
K Aru
本文提出的基于Frobenius范数的快速ICP算法,将矩阵范数引入刚体变换矩阵的求解过程中,通过计算原始点云矩阵和目标点云矩阵的代数运算特性,直接估计两点云之间的旋转矩阵和平移矩阵。
Frobenius范数是一种矩阵范数,简称F-范数,通常记为,该范数定义为矩阵中每项数的平方和开方值。
设为一个矩阵,则
(2) |
式中为矩阵的迹。Frobenius范数具有以下性质:
(3) |
(4) |
经典ICP算法通过迭代误差函数的最小化估计点云之间的旋转矩阵和平移矩阵,因此需要大量的运算存储资源,耗时长,不利于对目标的实时处理。本文利用Frobenius范数和奇异值分解直接估计出旋转和平移矩阵,在提升点云配准效率的同时,增强对噪声的鲁棒性。
点云配准实质上是最小化原始点云和目标点云之间的误差函数的过程。在经典ICP算法流程中,迭代步骤2)~步骤3)可以表示为
(5) |
上述过程可拓展成Procrustes变换问题,误差函数可改写为:
(6) |
Q在迭代过程中始终不变,为原始点云P经过k轮旋转平移后得到的点云矩阵,根据
(7) |
继而根据
(8) |
当
(9) |
误差函数的一阶导数可以写成:
(10) |
因此当时,取得最小值,将其代入误差函数
(11) |
式中和分别为原始点云P和目标点云Q的均值,。如果令和,则
(12) |
由于旋转矩阵R不会影响范数的长度,根据Frobenius范数内积的性质,则
(13) |
将进行奇异值分解成,则有:
(14) |
其中和与旋转矩阵无关,若使误差函数为最小值,则需为最大值。由于为正交矩阵,,因此若要取得最大值,则要求,即T为单位对角阵。由此可得出结论,若使误差函数最小,必须满足以下2个条件:
(15) |
为验证本文提出的快速ICP方法的效率和配准精确度,本文分别在Standford数据集和3DMatch数据集上进行对比实验,试验平台为:CPU为2.2 GHz的Core i7-8750H,RAM为32 GB,计算机系统为64 bit Microsoft Windows 10,软件为Matlab。
实验一:利用The Standford 3D Scanning Repository数据集中的Standford bunny、Happy Buddha、Dragon、Armadillo、Lucy进行配准实验,除Lucy以外的4个模型均使用Cyberware 3030 MS扫描仪采集数据,Lucky则采用斯坦福米开朗基罗项

图2 Happy Buddha 配准迭代次数对比图
Fig.2 Diagram of the number of iteration on Happy Buddha
methods | iterations | run time/s | MSE |
---|---|---|---|
traditional ICP | 111 | 3.862 | 0.032 9 |
fast ICP | 28 | 1.111 | 0.031 3 |

图3 快速ICP和传统ICP方法在Happy Buddha数据集上的配准对比
Fig.3 Comparison between traditional ICP and fast ICP on Happy Buddha
为更深入探讨本算法与传统ICP算法在配准精确度和迭代次数的差异,实验二利用Standford数据集中的Happy Buddha点云数据作为实验材料,将本文提出的快速ICP算法与传统IC
methods | Standford Bunny | Happy Buddha | Dragon | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
run time/ms | iterations | MSE | run time/ms | iterations | MSE | run time/ms | iterations | MSE | |||
ICP | 9 738.26 | 136 | 0.032 9 | 3 862.13 | 111 | 0.092 4 | 3 438.42 | 127 | 0.056 7 | ||
NDT | 3 765.43 | 29 | 0.245 3 | 2 307.42 | 21 | 0.765 2 | 3 673.42 | 17 | 0.324 5 | ||
Interactive ICP | 5 456.79 | 47 | 0.772 3 | 3 002.41 | 27 | 1.712 3 | 2 263.30 | 26 | 0.337 9 | ||
RPE | 3 266.24 | ‒ | 0.354 2 | 2 265.83 | ‒ | 0.865 2 | 1 682.63 | ‒ | 0.396 5 | ||
Robust ICP | 21 343.34 | ‒ | 0.042 3 | 7 534.52 | ‒ | 0.201 3 | 6 876.52 | ‒ | 0.065 4 | ||
Deep Global Registration | 27 266.34 | 62 | 0.014 3 | 10 765.45 | 53 | 0.092 1 | 9 626.63 | 58 | 0.143 7 | ||
fast ICP | 2 854.67 | 41 | 0.026 7 | 1 111.06 | 27 | 0.076 3 | 867.53 | 27 | 0.145 7 | ||
methods | Armadillo | Lucky | |||||||||
run time/ms | iterations | MSE | run time/ms | iterations | MSE | ||||||
ICP | 4 936.53 | 138 | 0.065 3 | 94 524.76 | 179 | 0.057 9 | |||||
NDT | 5 767.31 | 18 | 0.487 9 | 56 723.13 | 34 | 0.367 2 | |||||
Interactive ICP | 4 678.12 | 29 | 1.237 7 | 34 764.65 | 72 | 1.176 2 | |||||
RPE | 2 107.30 | ‒ | 0.734 5 | 10 534.42 | ‒ | 0.578 2 | |||||
Robust ICP | 10 323.76 | ‒ | 0.167 8 | 184 563.32 | ‒ | 0.075 2 | |||||
Deep Global Registration | 13 820.28 | 51 | 0.641 2 | 263 667.21 | 65 | 0.218 7 | |||||
fast ICP | 1 003.47 | 29 | 0.048 7 | 9 753.65 | 42 | 0.035 4 |
从配准时间可以看出,本文提出的算法相对于几种经典配准算法和深度配准算法,速度最快;同时,也可以看出NDT算法在迭代次数上少于本文提出的方法;由于NDT法对法向量的计算和以法向量的分布作为特征,需要占用大量存储和计算资源,因此配准时间更长;以Deep Global Registration为代表的基于学习的配准方法思路仍是对点云进行迭代匹配,因而在时间上并不具有优势。由
实际运用中,对于三维场景的处理也都是海量的数据点。因此在数据点数激增的情况下,通过实验验证配准算法的有效性是非常必要的。实验三首先利用3DMatch(

图4 Living Room 1配准迭代次数对比
Fig.4 Diagram of the number of iteration on Living Room 1

图5 Living Room 1数据快速ICP和传统ICP方法配准对比
Fig.5 Comparison between traditional ICP and fast ICP on Living Room 1
methods | iterations | run time/s | MSE |
---|---|---|---|
traditional ICP | 149 | 459.386 1 | 0.059 4 |
fast ICP | 17 | 59.245 7 | 0.001 4 |
由上述实验可以看出,快速ICP算法与传统ICP算法精确度一致的情况下,传统ICP的迭代次数多,迭代时间长;相比之下,快速ICP算法能在极短的时间内达到相同的配准精确度,更有利于进行三维点云的实时目标识别和检测。由上述两组实验也可观察到,传统ICP算法的点云配准过程的运算时间会随着点数的增加而线性增加,本文提出的快速ICP方法,并没有随着数据点的增加而影响迭代次数和配准时间。为进一步分析本文提出的方法在配准时间和精确度上与其他算法的差别,在3DMatch数据集的其他场景上进行实验,结果如
methods | Living Room 1 | Living Room 2 | Office 1 | Office 2 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
run time/ms | itera-tions | MSE | run time/ms | itera-tions | MSE | run time/ms | itera-tions | MSE | run time/ms | itera-tions | MSE | |
ICP | 45 938.616 | 149 | 0.059 4 | 304 801.83 | 124 | 0.087 4 | 127 705.07 | 104 | 0.056 7 | 450 634.78 | 158 | 0.065 3 |
NDT | 15 765.89 | 37 | 0.426 5 | 106 301.68 | 38 | 0.653 5 | 31 673.42 | 38 | 0.412 5 | 165 875.36 | 48 | 0.268 5 |
Interactive ICP | 26 983.65 | 47 | 1.352 6 | 153 017.52 | 41 | 1.682 5 | 63 247.21 | 57 | 0.912 5 | 21 895.12 | 57 | 0.752 3 |
RPE | 18 563.52 | ‒ | 0.658 2 | 113 524.36 | ‒ | 0.758 5 | 48 658.32 | ‒ | 0.425 8 | 17 564.36 | ‒ | 0.356 9 |
Robust ICP | 96 872.61 | ‒ | 0.042 3 | 663 535.95 | ‒ | 0.071 3 | 236 262.13 | ‒ | 0.068 6 | 876 253.87 | ‒ | 0.077 8 |
Deep Global Registration | 14 8875.32 | 78 | 0.004 3 | 765 289.86 | 71 | 0.002 8 | 315 298.78 | 58 | 0.046 0 | 115 2367.36 | 69 | 0.006 5 |
fast ICP | 59 245.73 | 17 | 0.001 4 | 49 125.65 | 41 | 0.001 7 | 10 576.36 | 34 | 0.002 8 | 58 652.37 | 41 | 0.003 1 |
本文在传统ICP算法的基础上,采用Frobenius范数表示目标点云和模型点云之间的误差函数,经过矩阵求导和奇异值分解,对旋转、平移矩阵进行估计,减少配准过程中的迭代次数,提高了点云配准的效率。分别在Standford数据集和3DMatch数据集上与包括ICP在内的4种ICP变体经典算法和3种基于学习的配准算法进行了对比,本文方法在时间上均优于其他算法;在达到相近的配准精确度时,本文提出的快速ICP方法的迭代次数仅为传统ICP算法的0.2倍,在Standford数据集上配准所需时间为传统ICP算法的1/4,在3DMatch数据集上配准所需时间为传统ICP算法的1/8,从实验可以看出,本文提出的快速ICP算法在数据量庞大的点云场景下,具有更高的效率。但从整体框架来看,本文方法仍是采用基于迭代变换的方法求解两幅点云之间的变换矩阵,由此不难发现,这种采用迭代优化的配准方法,其效率严重受制于点云规模的大小,尤其在两幅点云初始位置差距较大、重叠率较低的情况,这种基于迭代的方法易陷入局部最优,因而很难获得好的点云配准效果。目前一些基于深度学习的点云配准方法摒弃了迭代配准的方法,力求获得更高效的高精确度点云配准效果。下一步将探索利用深度学习进行非迭代式点云配准的方法,重点解决初始位置差距较大、点云重叠率低而难以获得有效的点云配准效果的情况。
参考文献
ARUN K S,HUANG T S,BLOSTEIN S D. Least-squares fitting of two 3D point sets[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1987,9(5):698-700. doi:10.1109/tpami.1987.4767965. [百度学术]
BESL P J,MCKAY N D. A method for registration of 3D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992,14(2):239-256. doi:10.1109/34.121791. [百度学术]
GOLD S,LU C P,RANGARAJAN A,et al. New algorithms for 2D and 3D point matching:pose estimation and correspondence[C]// Proceedings of the 7th International Conference on Neural Information Processing Systems. Denver,Colorado:MIT Press, 1994:957-964. [百度学术]
CHOY C,DONG Wei,KOLTUN V. Deep global registration[C]// 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition(CVPR). Seattle,WA,USA:IEEE, 2020:2511-2520. doi:10.1109/CVPR42600.2020.00259. [百度学术]
ZHANG Juyong,YAO Yuxin,DENG Bailin. Fast and robust iterative closest point[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2022,44(7):3450-3466. doi:10.1109/TPAMI.2021.3054619. [百度学术]
MAGNUSSON M. The three-dimensional normal-distributions transform: an efficient representation for registration,surface analysis,and loop detection[D]. Örebro:Örebro University, 2009. [百度学术]
VIK T,BYSTROV D,OPFER R,et al. Interactive iterative closest point algorithm for organ segmentation:US,20120027277A1[P]. 2012-02-02. [百度学术]
GUO Yulan,SOHEL F,BENNAMOUN M,et al. Rotational projection statistics for 3D local surface description and object recognition[J]. International Journal of Computer Vision, 2013,105(1):63-86. doi:10.1007/s11263-013-0627-y. [百度学术]
LEVOY M,GERTH J,CURLESS B,et al. The Standford 3D scanning repository[EB/OL]. (2005-05-07) [2020-04-25]. http:// graphics.stanford.edu/data/3Dscanrep/. [百度学术]
LEVOY M. The digital Michelangelo project[C]// The Second International Conference on 3D Digital Imaging and Modeling (Cat. No.PR00062. Ottawa,ON,Canada:IEEE, 1999:2-11. doi:10.1109/IM.1999.805329. [百度学术]
ZENG A,SONG Shuran,NIEßNER M,et al. 3DMatch:learning local geometric descriptors from RGB-D reconstructions[C]// 2017 IEEE Conference on Computer Vision and Pattern Recognition(CVPR). Honolulu,HI,USA:IEEE, 2017:199-208. doi:10.1109/CVPR.2017.29. [百度学术]
GRANGER S,PENNEC X. Multi-scale EM-ICP:a fast and robust approach for surface registration[C]// Computer Vision- ECCV 2002. Copenhagen,Denmark:Springer, 2002:418-432. doi:https://doi.org/10.1007/3-540-47979-1_28. [百度学术]