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