3.2-点云配准原理概述
返回 >>>>>> PCL-3D點云總目錄
點云配準需求場景
?隨著計算機輔助設計技術的發展,通過實物模型產生數字模型的逆向工程技術獲得了越來越廣泛的應用,與此同時,硬件設備的日趨完善也為數字模型操作提供了足夠的技術支持。
由于三維掃描儀設備受到測量方式和被測物體形狀的條件限制,一次掃描往往只能獲取到局部的點云信息,進而需要進行多次掃描,然后每次掃描時得到的點云都有獨立的坐標系,不可以直接進行拼接。在逆向工程、計算機視覺、文物數字化等領域中,由于點云的不完整、旋轉錯位、平移錯位等,使得要得到完整點云就需要對多個局部點云進行配準。為了得到被測物體的完整數據模型,需要確定一個合適的坐標變換 ,將從各個視角得到的點集合并到一個統一的坐標系下形成一個完整的數據點云,然后就可以方便地進行可視化等操作,這就是點云數據的配準。
點云配準方法
點云配準步驟上可以分為粗配準(Coarse Registration)和精配準(Fine Registration)兩個階段。
粗配準是指在點云相對位姿完全未知的情況下對點云進行配準,找到一個可以讓兩塊點云相對近似的旋轉平移變換矩陣,進而將待配準點云數據轉換到統一的坐標系內,可以為精配準提供良好的初始值。常見粗配準算法:
- 基于特征匹配(PFH)的配準算法:
- SAC-IA 采樣一致性初始配準算法(Sample Consensus Initial Alignment)PCL庫已實現,基于FPFH
- 基于窮舉搜索的配準算法:
- 4PCS 四點一致集配準算法(4-Point Congruent Set)
- Super4PCS
精配準是指在粗配準的基礎上,讓點云之間的空間位置差異最小化,得到一個更加精準的旋轉平移變換矩陣。該算法的運行速度以及向全局最優化的收斂性卻在很大程度上依賴于給定的初始變換估計以及在迭代過程中對應關系的確立。所以需要各種粗配準技術為ICP算法提供較好的位置,在迭代過程中確立正確對應點集能避免迭代陷入局部極值,決定了算法的收斂速度和最終的配準精度。最常見的精配準算法是ICP及其變種。
- ICP 迭代最近點算法(Iterative Cloest Point)
- GICP
- NICP
- MBICP
- NDT 正態分布變換算法(Normal Distributions Transform)
其他配準:
- 依賴平臺設備:將被測物體放在平臺上,利用控制器對平臺進行控制,使之按照指定角度轉動,通過多次測量可以得到不同視角下的點云,由于提前獲知了距離及角度信息,則可以直接對所有點云進行配準。
- 輔助標志點:通過在被測物體表面粘貼標簽,將這些標簽作為標志點,對多次測量得到的點云數據進行配準時,對這些有顯著特征的標簽進行識別配準,代替了對整體點云的配準,提高效率,精確度。
自動配準技術
?通常所說的點云配準就是指自動配準,點云自動配準技術是通過一定的算法或者統計學規律,利用計算機計算兩塊點云之間的錯位,從而達到把兩片點云自動配準的效果。本質上就是把不同坐標系中測量得到的數據點云進行坐標變換,從而得到整體的數據模型。
? 即求得坐標變換參數 R( 旋轉矩陣)和 T(平移向量),使得兩視角下測得的三維數據經坐標變換后的距離最小。配準算法按照實現過程可以分為整體配準和局部配準。
PCL實現的配準算法
上圖中給出了示例,使用傾斜的2D激光設備獲取了六個獨立數據集。由于每個單獨的掃描僅代表周圍世界的一小部分,因此必須找到將它們配準在一起的方法,從而創建完整的點云模型,如下圖所示。
PCL提供的配準庫算法是通過在給定的輸入數據集中找到正確的點對應關系,并將每個單獨的數據集轉換為一致的全局坐標系的剛性變換。理想情況下,如果在輸入數據集中完全知道點對應關系,則該配準范式可以輕松解決。這意味著一個數據集中選定的關鍵點列表必須與另一個數據集中的點列表“重合”。此外,如果估計的對應關系“完美”匹配,則注冊問題具有封閉式解決方案。 PCL包含一組功能強大的算法,這些算法可以估算多組對應關系,排除不良對應關系,從而以可靠的方式估算轉換關系方法。以下將分別描述它們:
兩兩配準
兩兩配準(pairwise registration):我們稱一對點云數據集的配準問題為兩兩配準(pairwise registration)。通常通過應用一個估算得到的表示平移和旋轉的 4 × 4 剛體變換矩陣來使一個點云數據集精確地與另一個點云數據集(目標數據集)進行完美配準。
具體實現步驟如下 :
整個配準過程最重要的是關鍵點的提取以及關鍵點的特征描述,以確保對應估計的準確性和效率,這樣才能保證后續流程中的剛體變換矩陣估計的無誤性。接下來我們對單次迭代的每一步進行解讀:
1.關鍵點提取
關鍵點是在場景中具有“特殊屬性”的興趣點,例如書的一角或書上寫有“ PCL”的字母“ P”。 PCL中有許多不同的關鍵點提取技術,如NARF,SIFT和FAST。另外,您也可以將每個點或子集作為關鍵點。如果不進行關鍵點提取,直接“將兩個kinect數據集執行對應估計”會產生的問題是:每幀中有300k點,因此可以有300k^2個對應關系,這個數量太龐大不利于計算。
2.特征描述符
基于找到的關鍵點,我們必須提取特征,在此我們封裝解析點云數據并生成向量以相互比較。同樣,有許多特征描述符提取技術可供選擇,例如NARF,FPFH,BRIEF或SIFT。
3. 對應關系估計
對應關系估計(correspondences estimation)
假設我們已經得到由兩次掃描的點云數據獲得的兩組特征向量,在此基礎上,我們必須找到相似特征再確定數據的重疊部分才能進行配準。根據特征的類型,PCL 使用不同方法來搜索特征之間的對應關系。
- 進行點匹配時(使用點的 xyz 三維坐標作為特征值),針對有序點云數據和無序點云數據有不同的處理策略:
- 窮舉配準( brute force matching)簡稱BFMatching,或稱野蠻匹配。
- kd-tree最近鄰查詢,Fast Library for Approximate Nearest Neighbors.( FLANN )。
- 在有序點云數據的圖像空間中查找。
- 在無序點云 數據的索引空間中查找。
- 進行特征匹配時,有以下幾種方法(不使用點的坐標,而是某些由查詢點鄰域確定的特征,如法向量、局部或全局形狀直方圖等):
- 窮舉配準( brute force matching)簡稱BFMatching,或稱野蠻匹配。
- kd-tree最近鄰查詢,Fast Library for Approximate Nearest Neighbors.( FLANN )。
- 除了查詢之外,對應估計也區分了兩種類型:
- 直接對應估計(默認):為點云 A 中的每一個點搜索點云 B 中的對應點,確認最終對應點對。
- “相互”( Reciprocal )對應估計 : 首先為點云 A 中的點到點云 B 搜索對應點 ,然后又從點云 B 到點云 A 搜索對應點,最后只取交集作為對應點對。
所有這些在 PCL 類設計和實現中都以函數的形式讓用戶可以自由設定和使用。
4. 對應關系去除
對應關系去除(correspondences rejection)
? 由于噪聲的影響,通常并不是所有估計的對應關系都是正確的 。由于錯誤的對應關系對于最終的剛體變換矩陣的估算會產生負面的影響,所以必須去除它們,于是我們使用隨機采樣一致性( Random Sample Consensus , RANSAC )估算或者其他方法剔除錯誤對應關系,最終只保留一定比例的對應關系,這樣即能提高變換矩陣的估算精度也可以提高配準速度。? 遇到有一對多對應關系的特例情況,即目標模型中的一個點在源中有若干個點與之對應??梢酝ㄟ^只取與其距離最近的對應點或者檢查附近的其他匹配的濾波方法過濾掉其他偽對應關系。同樣地針對對應關系的去除,PCL 有單獨設計類與之對應 。
5. 變換矩陣估算
最后一步就是計算實際的轉換關系
注:以上文字和圖片均來源于鏈接,若有侵權請聯系轉載方刪除。
返回 >>>>>> PCL-3D點云總目錄
總結
以上是生活随笔為你收集整理的3.2-点云配准原理概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【超实用精选】设计师必备的设计资源网站合
- 下一篇: 苹果ios啸叫频点测试软件_啸叫抑制之陷