3D点云配准算法简述
louisanu 人气:1
槛菊愁烟兰泣露,罗幕轻寒,燕子双飞去。
明月不谙离恨苦,斜光到晓穿朱户。
昨夜西风凋碧树,独上高楼,望尽天涯路。
欲寄彩笺兼尺素。山长水阔知何处?
——晏殊
导读:
3D点云配准是计算机视觉的关键研究问题之一,在多领域工程应用中具有重要应用,如逆向工程、SLAM、图像处理和模式识别等。点云配准的目的是求解出同一坐标下不同姿态点云的变换矩阵,利用该矩阵实现多视扫描点云的精确配准,最终获取完整的3D数字模型、场景。本质上,关于六自由度(旋转和平移)的3D点云配准问题是典型的非凸优化问题,其目标函数在六维可行域空间中具有多个波峰波谷,即优化求解过程中受初始变换矩阵影响,容易陷入局部最优解。点云配准结果虽然受限于其初始位置,但是早期的一些局部的配准算法对解决点云配准问题具有重要的应用、启示意义。因此,本文重点介绍一些鲁棒性或效率较好的局部、全局3D点云配准算法。
--局部的3D点云配准算法--
ICP(Iterative Closest Point)算法是应用最广泛的3D点云配准算法之一, 其通过欧式变换求解出两片点云的旋转平移矩阵及对应的配准误差。
ICP算法的核心思想可以简述为:假设数据点云 。向源点云 移动配准,ICP算法通过不断求解估计的变换矩阵,直到RMSE(Root Mean Square Error)配准误差收敛于局部最优解 (每一次迭代过程可以描述为:在 中搜索关于 的最近邻点集,构造协方差矩阵,奇异值分解获得单位四元数,进而求解旋转矩阵,平移向量则由对应点云的质心确定,由此实现数据点云的旋转平移变换)。其中,关于RMSE的配准模型可以表示为:
在对旋转、平移可行域进行参数化的前提下,关于 范数配准模型的点云配准问题可以转化为关于旋转和平移的非凸优化问题。ICP虽然具有简单、收敛性好等优点,但其受限于点云初始位置且在解决具有离群值的点云配准问题,容易陷入局部最优解。
为了提高ICP算法的鲁棒性,学者提出了一系列的变种ICP算法。LM-ICP算法提出利用Levenberg-Marquardt算法对ICP配准模型进行求解,并利用DT(Distance-Transform)算法替代KD-tree搜索最近邻点时,减小点云初始位置对其配准结果的影响,并提高了配准效率。Chetverikov等。在ICP算法的基础上,提出了鲁棒性更好、更实用的Trimmed ICP 算法,对每次迭代匹配得到的最近邻点进行筛选,即对两两估计的匹配点的欧式距离进行排序,摒弃其中距离较大的点集,惩罚的百分率由核函数动态计算。Trimmed ICP 算法应用于具有离群值、噪声的点云配准问题时,能获得良好的配准精度。然而,高占比的离群值对点云配准算法的鲁棒性要求仍然是巨大的挑战。Bouaziz等提出Sparse ICP算法利用稀疏表示理论对进一步改进ICP算法的鲁棒性,即在 范数配准模型上增加p范数的惩罚项,提高每次迭代中求解匹配点的准确性,但其利用增广拉格朗日求解大规模点云配准问题时效率较差。Mavridis等结合模拟退火算法提出了更为高效的Efficient Sparse ICP算法,加速点云配准的收敛速度。
为了进一步提高配准效率,Li等利用CAD模型的三角切片性质,高效求解最近邻点,保证了配准精度,并进一步提出动态步长试探性配准,避免收敛曲线出现震荡。但实际扫描点云的分布并非均匀,基于CAD 模型的配准方法仅适用性于理想点云配准问题。Zhu等通过设置硬、软指标实现点云的高效精确配准,即在每次迭代过程中利用双向匹配的方式对噪声及离群值进行惩罚。但是配准结果受限于核函数中参数的预设值。上述基于 范数的迭代最近点配准算法主要包括ICP算法及其变种算法,该类局部的配准算法受限于点云初始位置,仅适用于小角度错开的点云配准问题。在人机交互获得较好点云初始位置的前提下,迭代最近点算法在解决点云配准问题时具有良好的鲁棒性,但也存在一些可以继续优化的不足,可以总结为三点:
(一)受限于主成分分析、奇异值分解算法,迭代最近点算法虽然具有良好的收敛性,但其迭代次数较多,后期收敛缓慢。
(二)受限于数据结构,迭代最近点算法在每次迭代过程中搜索最近邻点的成本较高,KD-tree虽然搜索效率较高,但仍无法满足于解决大规模点云的配准问题。
(三)受限于点云的稀疏特性,并且实际应用中主要通过对点云进行下采样以提高配准效率,迭代最近点算法无法实现精确配准。
针对上述不足点,学者区别于迭代最近点的配准算法构建新的配准模型,如概率密度模型、隐式最小二乘函数和高斯混合模型等,并结合其它优化算法提高点云配准的效率和精度。Biber等基于概率密度模型提出了Normal Distribute Transform(NDT)算法,即使用D维的高斯函数作为配准模型:
NDT算法通过对源点云Q进行体素划分,即求解点云Q的包围盒,并对该包围盒进行细分,对包含于不同体素的源点云分别构建高斯模型。该算法最大的优势是迭代过程中不需要求解最近邻匹配点,其计算复杂度较低。其中体素的划分方式与点云配准的精度和效率相关,可利用回环控制点云配准精度,主要应用于机器人的实时Simultaneous Localization And Mapping(SLAM)环节。Jian等提出利用混合高斯模型替代单一的高斯模型。为了提高配准模型的鲁棒性,体素高斯模型被分别进行加权计算,其中多尺度的点云配准方法应用较为广泛,如NDT、EM-ICP等。上述基于概率模型的点云配准算法只需在每次迭代中求解雅可比矩阵,计算复杂度大大降低,且Magnusson等指出NDT算法较ICP算法能更好地避免点云初始位置对配准结果的影响。
针对点云配准的精度问题,部分学者提出了点到面的点云配准算法,利用曲线、曲面拟合求解出源点云的显、隐式表达,并利用法向量求解每次迭代中的对应点对,如下图所示
Liu等提出利用动曲面构建源点云的拓扑外形实现点云配准,主要应用于简单形状组合而成的零件点云配准问题,如圆锥、圆柱、旋转扫掠螺旋曲面等。为了解决复杂外形点云的配准问题,学者提出了鲁棒性更强的曲面拟合方法,如B样条模型、八叉树结点等。该类配准算法的实用性更强且应用范围更广。在此基础上,张等分析了移动最小二乘法在曲面拟合应用中的发展及其优越性,并提出该方法能实现精确的点云配准且对噪声具有良好的鲁棒性。但是此类算法其需要预先设置较好的参数,如分支数、权值等。
相较之下,迭代最近点的点云配准算法的鲁棒性更强,因其不需设置冗余的优化参数,但其它算法则在提高效率和精度方面更具优势。上述局部算法及其变种广泛应用于解决点云配准问题,且可有效避免噪声和离群值对配准结果的影响。但是,此类配准算法受限于点云初始位置,容易陷入局部最优。区别于此类具有鲁棒性的局部配准算法,学者针对点云初始配准位置的优化问题提出了一系列全局优化的配准算法。
--全局的3D点云配准算法--
Silva等将点云配准问题转换为多变量的非凸优化问题,并结合遗传算法求解出全局优化的变换矩阵,能有效避免点云初始位置对配准结果的影响。其他应用于点云全局配准的智能算法还包括粒子群算法、模拟退火等。然而,此类启发式算法需多次调用配准模型进行优化求解,在处理大规模点云配准问题时效率较低,且其全局解并未有严格的证明。为了提高点云配准效率,部分学者提出通过构造几何不变量匹配对应点对(理论上三组匹配点对就可求解出点云配准的变换矩阵),该类方法同样不受点云初始位置影响,且计算复杂度更低。Wyngaerd等通过曲率特征求解对应点对,实现点云全局配准;Gelfand等则通过构造积分体积特征计算匹配点对求解变换矩阵;Rusu等提出构造点特征直方图作为局部描述符。RANSAC方法被直接应用于点云配准,但受限于其配准效率,一开始主要应用于解决二维的点云配准问题。随后,Aiger等利用4点法构造几何特征进而提取稀疏的匹配点对,使得RANSAC方法能有效地应用于三维点云配准。当点云的特征不变量较为明显时,基于几何不变量的点云配准方法可以作为性能优异的算法使用。
Yang等基于 范数配准模型首次推导出了关于六维变换域的上下界函数,并利用分支定界算法提出了全局优化的Go-ICP算法,且该算法有效地证明了所求解变换矩阵的全局最优性。但是,Go-ICP算法需结合DT算法才可能高效地实现点云配准,而DT算法的初始化较为耗时。Lian等提出了更为高效的AMP算法进行点云全局优化配准,但其主要适用于图像处理领域。为了提高点云配准效率,Chin等提出了Glob-GM-ML算法将六维的点云配准问题分解为两个独立的三维平移、旋转问题,该算法通过构建特征不变量求解平移参数并认为其在配准问题中是先验的,即六维的点云配准问题有效地转化为关于旋转的三维非凸优化问题。该方法利用解耦的思想高效地实现点云全局优化配准,是近些年研究的热点之一,Liu和Li等基于旋转不变量并利用分支定界方法求解出全局优化的平移参数,进而实现高效的点云全局优化配准。
为了解决构造旋转不变量是的超参数设置问题,Yang等利用多项式时间提出了TEASER算法对解决具有极高离群值的点云全局配准问题具有良好的鲁棒性。区别于应用于CPU常规硬件的全局点云配准算法,GOGMA算法等基于混合高斯模型构建了适用于GPU框架的高效点云全局优化配准算法,即在全局优化过程中可利用GPU框架实现并行计算,提高加速点云全局优化配准效率。
参考文献
[1] Besl P J, Mckay N D. A Method for Registration of 3-D Shapes[M]. 1992: 239-256.
[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 & Machine Intelligence, 2016, 38(11): 2241-2254.
[3] Fitzgibbon A W. Robust registration of 2D and 3D point sets[J]. Image & Vision Computing, 2001, 21(13): 1145-1153.
[4] Moré J J. The Levenberg-Marquardt algorithm: Implementation and theory[J]. Lecture Notes in Mathematics, 1978, 630: 105-116.
[5] Chetverikov D, Svirko D, Stepanov D, et al. The Trimmed Iterative Closest Point algorithm[J], 2002.
[6] Bouaziz S, Tagliasacchi A, Pauly M. Sparse iterative closest point[C]. Eleventh Eurographics/acmsiggraph Symposium on Geometry Processing, 2013.
[7] Mavridis P, Andreadis A, Papaioannou G. Efficient Sparse ICP[J]. Computer Aided Geometric Design, 2015, 35-36(C): 16-26.
[8] Li W, Song P. A modified ICP algorithm based on dynamic adjustment factor for registration of point cloud and CAD model[J]. Pattern Recognition Letters, 2015, 65(65): 88-94.
[9] Zhu J, Jin C, Jiang Z, et al. Robust point cloud registration based on both hard and soft assignments[J]. Optics & Laser Technology, 2019, 110: 202-208.
[10] Biber P, Strasser W. The normal distributions transform: a new approach to laser scan matching[J]. Proc.of IEEE/RSJ Intl Conf.on Intelligent Robots & Systems, 2003, 3: 2743-2748 vol.3.
[11] Engel J, Schöps T, Cremers D. LSD-SLAM: Large-Scale Direct Monocular SLAM[M]. 2014.
[12] Jian B, Vemuri B C. A Robust Algorithm for Point Set Registration Using Mixture of Gaussians[C]. Tenth IEEE International Conference on Computer Vision, 2005.
[13] Granger S, Pennec X. Multi-scale EM-ICP: A Fast and Robust Approach for Surface Registration[C]. Computer Vision - ECCV 2002, 7th European Conference on Computer Vision, Copenhagen, Denmark, May 28-31, 2002, Proceedings, Part IV, 2002.
[14] Magnusson M, Nuchter A, Lorken C, et al. Evaluation of 3D Registration Reliability and Speed - A Comparison of ICP and NDT[C]. IEEE International Conference on Robotics & Automation, 2009.
[15] Liua Y. Constrained 3D shape reconstruction using a combination of surface fitting and registration[J]. Computer-Aided Design, 2006, 38(6): 572-583.
[16] Huang Y, Qian X, Chen S. Multi-sensor calibration through iterative registration and fusion[J]. Computer-Aided Design, 2009, 41(4): 240-255.
[17] Huang Q-X, Adams B, Wand M. Bayesian Surface Reconstruction via Iterative Scan Alignment to an Optimized Prototype[J]. Proc Eurographics Symposium on Geometry Processing, 2007, (2007): 213-223.
[18] Levin, David. The approximation power of moving least-squares [J]. Mathematics of Computation, 67(224): 1517-1532.
[19] Zuppa C. Good quality point sets and error estimates for moving least square approximations[J]. Applied Numerical Mathematics, 47(3-4): 575-585.
[20] Dey T K, Sun J. . An Adaptive MLS Surface for Reconstruction with Guarantees[C]. Third Eurographics Symposium on Geometry Processing, Vienna, Austria, July 4-6, 2005, 2005.
[21] Ahn S J, Yoo J, Lee B G, et al. 3D Surface Reconstruction from Scattered Data Using Moving Least Square Method[C]. Image Analysis and Processing - ICIAP 2005, 13th International Conference, Cagliari, Italy, September 6-8, 2005, Proceedings, 2005.
[22] Silva L, Bellon O R P, Boyer K L. Multiview range image registration using the surface interpenetration measure ☆[J]. Image & Vision Computing, 2007, 25(1): 114-125.
[23] Sandhu R, Dambreville S, Tannenbaum A. Point set registration via particle filtering and stochastic dynamics[J]. IEEE transactions on pattern analysis and machine intelligence, 2010, 32(8): 1459-1473. [24] Wachowiak M P, Smolíková R, Zheng Y, et al. An Approach to Multimodal Biomedical Image Registration Utilizing Particle Swarm Optimization[J]. Evolutionary Computation IEEE Transactions on, 2004, 8(3): 289-301.
[25] Papazov C, Burschka D. Stochastic global optimization for robust point set registration[J]. Computer Vision & Image Understanding, 2011, 115(12): 1598-1609.
[26] Wyngaerd J V, Gool L V. Automatic Crude Patch Registration: Toward Automatic 3D Model Building[J]. Computer Vision & Image Understanding, 2002, 87(1–3): 8-26.
[27] Desbrun M, Pottmann H, Gelfand N, et al. Robust Global Registration[J]. Proceedings of Eurographics Symposium on Geometry Processing, 2008: 197.
[28] Rusu R B, Blodow N, Beetz M. Fast Point Feature Histograms (FPFH) for 3D registration[C]. Robotics and Automation, 2009. ICRA '09. IEEE International Conference on, 2009.
[29] Fischler M A, Bolles R C. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography[M]. ACM, 1981: 726-740.
[30] Irani S, Raghavan P. Combinatorial and experimental results for randomized point matching algorithms[C], 1996.
[31] Aiger D, Mitra N J, Cohenor D. 4-points congruent sets for robust pairwise surface registration[J]. Acm Transactions on Graphics, 2011, 27(3): 1-10.
[32] Lian W, Zhang L, Yang M H. An Efficient Globally Optimal Algorithm for Asymmetric Point Matching[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2017, 39(7): 1281-1293.
[33] Chin T J, Suter D. Fast Rotation Search with Stereographic Projections for 3D Registration[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2014: 3930-3937.
[34] Liu Y, Wang C, Song Z, et al. Efficient Global Point Cloud Registration by Matching Rotation Invariant Features Through Translation Search: 15th European Conference, Munich, Germany, September 8–14, 2018, Proceedings, Part XII[M]. 2018.
[35] Li X, Liu Y, Wang Y, et al. Fast and Globally Optimal Rigid Registration of 3D Point Sets by Transformation Decomposition[J], 2018.
[36] Yang H, Carlone L. A Polynomial-time Solution for Robust Registration with Extreme Outlier Rates[J].
[37] Campbell D, Petersson L. GOGMA: Globally-Optimal Gaussian Mixture Alignment[J].
[38] Straub J, Campbell T, How J P, et al. Efficient Global Point Cloud Alignment using Bayesian Nonparametric Mixtures[J].
更多精彩内容请关注订阅号优化与算法和加入QQ讨论群1032493483获取更多资料
原文链接:https://mp.weixin.qq.com/s?__biz=Mzg5MjI1NTAzOA==&mid=2247484207&idx=1&sn=7a1e1e4885ea86bdab8267246f34ef38&chksm=cfc1ad7ef8b6246864034b56d4a18b814876b55673f4fa934d198820f3d0ae39792e9d62594e&token=1727301402&lang=zh_CN#rd
加载全部内容