1.代码地址//github.com/MIT-SPARK/TEASER-plusplus提供了C++,Python和Matlab的程序。2.代码整体框架(1) 输入为两组点云的匹配对和噪声上界;(2) 使用adaptive voting进行尺度估计,如果尺度已知,则进行已知尺度修剪外点操作;(3) 产生内点图;(4) 在内点图中寻找最大团从而选择最大内点集;(5) 最大内点集传入GNC-TLS模块进行旋转估计;(6) 使用adaptive voting进行平移估计;(7) 输出为尺度,旋转和平移;3.代码解读(1) 首先是载入点云文件,读入第一组点云数据;(2) 将读入的第一组点云数据转换为Eigen格式的数据;(3) 将第一组点云数据变为齐次坐标形式;(4) 对第一组点云应用一个任意SE(3)变换,产生一组无噪声outlier-free的点云;(5) 对第二组点云数据添加噪声和外点;(6) 配准算子参数设定,最大噪声界(noise_bound,欧氏距离的L2-norm )为0.05,TLS中 为1,是否估计尺度参数(estimate_scaling)默认为不估计false(如需要估计则设为true);GNC旋转估计最大迭代次数(rotation_max_iterations)为100,GNC控制参数更新比值为1.4。(即控制参数每次更新的调整程度,,相关内容可以参考作者RAL2020 “Graduated Non-Convexity for Robust Spatial Perception: From Non-Minimal Solvers to Global Outlier Rejection”的 Remark 5)采用TLS框架的GNC算法估计旋转(rotation_estimation_algorithm),即使用GNC_TLS计算旋转部分的最优解,旋转估计部分的代价阈值(rotation_cost_threshold)为0.005。(7) TEASER++求解,src和tgt为Eigen矩阵形式的匹配对;(8) 运行结果,期望(Expected)旋转、平移和估计(Estimated)旋转、平移结果,匹配对(correspondences)数量,外点(outliers)数量,算法运行时间(Time);
总结
此工作提出了一个快速的可证明的算法,用于极端外点率情况的基于对应点的配准问题。使用了估计理论中的未知但有界噪声,几何中的不变测量,图理论中的内点选择最大团和优化中的紧SDP松弛。 这篇TRO文章是由作者之前在RSS2019 “A Polynomial-time Solution for Robust Registration with Extreme Outlier Rates” 和 ICCV2019 “A Quaternion-based Certifiably Optimal Solution to the Wahba Problem with Outliers”两个工作撺掇起来的。使用了前者RSS2019中的不变测量概念,后者ICCV2019中旋转参数化为四元数的想法,整体算法流程类似于前者的框架,总的来说是一个很出色的整体工作。追溯着看,作者一系列的工作都很solid,有理论创新(数学证明),有实际实现(代码规范),非常值得学习。论文链接: //arxiv.org/pdf/2001.07715.pdf论文视频://youtu.be/xib1RSUoeeQ