-
ICP算法
鎖定
ICP算法是基於數據配準法,利用最近點搜索法,從而解決基於自由形態曲面的一種算法。
- 中文名
- ICP算法
- 外文名
- Iterative Closest Point
- 搜索方法
- 最近點搜索法
- 變換關係式
- (0-1)
- 算法步驟
- 7步
- 主要用於
- 解決基於自由形態曲面
- 屬 性
- 算法
ICP算法迭代就近法
在20世紀80年代中期,很多學者開始對點集數據的配準進行了大量研究。1987年,Horn[1]、Arun[2]等人用四元數法提出點集對點集配準方法。這種點集與點集座標系匹配算法通過實踐證明是一個解決複雜配準問題的關鍵方法。1992年,計算機視覺研究者Besl和Mckay[3]介紹了一種高層次的基於自由形態曲面的配準方法,也稱為迭代就近點法ICP(Iterative Closest Point)。以點集對點集(PSTPS)配準方法為基礎,他們闡述了一種曲面擬合算法,該算法是基於四元數的點集到點集配準方法。從測量點集中確定其對應的就近點點集後,運用Faugera和Hebert提出的方法計算新的就近點點集。用該方法進行迭代計算,直到殘差平方和所構成的目標函數值不變,結束迭代過程。ICP配準法主要用於解決基於自由形態曲面的配準問題。
迭代就近點法ICP就近點法經過十幾年的發展,不斷地得到了完善和補充。Chen和Medioni[4]及Bergevin等人[5]提出了point-to-plane搜索就近點的精確配準方法。Rusinkiewicz和Levoy提出了point-to-p rojection搜索就近點的快速配準方法。Soon-Yong和Murali提出了Contractive-projection-point搜索就近點的配準方法。此外,Andrew和Sing[6]提取了基於彩色三維掃描數據點紋理信息的數據配準方法,主要在ICP算法中考慮三維掃描點的紋理色彩信息進行搜索就近點。Natasha等人[7]分析了ICP算法中的點雲數據配準質量問題。
基本原理
(0-1)
上式中,R為三維旋轉矩陣,t為平移向量。
在ICP配準方法中,空間變換參數向量X可表示為[9] 。
(0-2)
根據迭代的初值X0,由式(0-1)計算新點集Pi為:
(0-3)
根據以上數據處理方法,ICP配准算法可以概括為以下七個步驟:
2、計算兩個點集的重心位置座標,並進行點集中心化生成新的點集;
5、在旋轉矩陣R被確定後,由平移向量t僅僅是兩個點集的重心差異,可以通過兩個座標系中的重心點和旋轉矩陣確定;
6、根據式(0-3),由點集Plk計算旋轉後的點集P’lk。通過Plk與P’lk計算距離平方和值為fk+1。以連續兩次距離平方和之差絕對值 作為迭代判斷數值;
7、當時,ICP配准算法就停止迭代,否則重複1至6步,直到滿足條件後停止迭代。
ICP算法ICP搜索法
ICP搜索就近點的主要方法
1. Point to Point就近點搜索法
Point to Point就近點搜索法是ICP算法中最經典的一種方法。Point to Point法根據源曲面上的一個點p,在目標曲面上找出對應於p點距離最近的q點。在這個方法中通常運用kd-tree的方法實現就近點搜索。pi是源曲面點雲數據中的一個點,Vi是生成目標曲面點雲數據中距Pi最近的點。根據Vi點搜索出在曲面上與Vi點相鄰的點構成的三角形格網,計算pi點投影到每個三角形平面上的投影點qi的座標。對於每個三角形來説,當投影點qi位於三角形內部,則距離最近點是搜索的最近點,當投影點qi位於三角形外部,搜索的就近點應位於三角形的兩條邊界上,Vi是該三角形到pi點的就近距離點。將每個三角形確定的就近距離點進行比較可獲得一個最近點。
2. Point to Plane就近點搜索算法
Point to Plane法是根據源曲面上的一個點p,在目標曲面上找出對應於p點一個最近的q點。搜索算法是根據源曲面上p點的切平面的法線,確定發現於目標曲面的交點q’。根據目標曲面上q’點求出的過q’點切平面,然後求源曲面上p點到過q’點切平面的垂線的交點q。
3. Point to Projection就近點搜索算法
Point to Projection就近點搜索法是一種快速的配準方法。Oq是掃描目標曲面的透視點的位置。Point to Projection法是根據源曲面上的一個點p和透視點Oq,在目標曲面上找出q點作為對應於p點的就近點。通過確定Oq點向p點方向的投影線與目標曲面的交點q,作為搜索的就近點。
ICP算法就近點搜圖
[1]Horn B K P. Closed-form solution of absolute orientation using unit quaternions[J]. Journal of the Optical Society of America A, 1987, 4(4):629-642.
[2] K. S. Arun, T. S Huang, S. D. Blostein. Least-squares fitting of two 3-D point sets[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1987. 9(5): 698-700.
[3] Paul J. Besl, Neil D. McKay. A method for registration of 3-D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992. 14(2): 239-256.
[4] Y. Chen, G. Medioni. Object Modeling by Registration of Multiple Range Images[J]. Image and Vision Computing, 1992. 10: 145-155.
[5] R. Bergevin, M Soucy, H. Gagnon, et al. Towards a general multi-view registration technique[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1996. 18(5): 540-547.
[6] Andrew Edie Johnson, Sing Bing Kang. Registration and Integration of Textured 3D Data[J]. Image and Vision Computing, 1999. 17: 135-147.
[7] Natasha Gelfand, Leslie Ikemoto, Szymon Rusinkiewicz, et al. Geometrically Stable Sampling for the ICP Algorithm[A]//. Proceedings of Fourth International Conference on 3-D Digital Imaging and Modeling[C]. Stanford University, CA, USA, 2003: 260-267.
[8] 鄭德華. ICP算法及其在建築物掃描點雲數據配準中的應用[J].測繪科學, 2007. 32(2).
[9] P.J. Besl, H.D. McKay. A Method for Registration of 3D Shape[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992. 14(2): 239-256.
ICP算法三維點雲法
三維激光掃描技術的快速發展,使其在各個領域得到廣泛應用。由於物理上的一些限制,一次三維激光掃描不能獲取掃描物體的全部數據,因此要對掃描點雲進行拼接。首先,對最常用的ICP算法進行一系列研究,ICP算法的前提條件是具有一個良好的配準初值,文中在配準初值的選取上採用主成分分析法,為後續ICP算法的工作提供一個良好前提條件,增加點集預處理,點對查找上增加各種限制,採用kd-tree加速查找,以此對算法進行改進,並通過實例來驗證本算法的有效性及合理性。
[1]
- 參考資料
-
- 1. 三維點雲ICP算法改進研究 .知網空間[引用日期2013-04-29]