ICP算法的原理與實現

一、背景與意義

  點雲數據能夠以較小的存儲成本獲得物體準確的拓撲結構和幾何結構,因而獲得越來越廣泛的關注。在實際的採集過程中,因爲被測物體尺寸過大,物體表面被遮擋或者三維掃描設備的掃描角度等因素,單次的掃描往往得不到物體完整的幾何信息。因此,爲了獲得被測物體的完整幾何信息,就需要將不同視角即不同參考座標下的兩組或者多組點雲統一到統一座標系下,進行點雲的配準。在配准算法中,研究者使用最多的是ICP算法。下面將介紹ICP算法的基本原理以及步驟。

二、點雲配準理論基礎

(1)剛性變換矩陣

   點雲配準的最終目的是通過一定的旋轉和平移變換將不同座標系下的兩組或者多組點雲數據統一到同一參考座標系下。這個過程,可以通過一組映射來完成。假設映射變換爲H,這H可以用以下的公式來表示。

 

其中代表旋轉矩陣,代表平移向量,代表透視變換向量,S代表整體的比例因子。因爲根據一系列圖片得到的點雲數據只存在旋轉和平移變換,不存在形變,所以將V設爲零向量,比例因子S=1。

映射變換H可以表示爲:

其中,旋轉矩陣R3X3和平移矩陣T3X1可以通過以下公式來表示:


其中αβγ分別表示點沿xyz軸的旋轉角度,txtytz分別表示點沿

xyz軸的平移量。

(2)剛性變換矩陣的參數估計

將兩個不同座標系下的點 XX’進行座標變換時,可以通過以下公式來實現轉換:


   剛性變換矩陣中涉及到六個未知數α、β、γ、 tx、ty、tz。要唯一確定這六個未知參數,需要六個線性方程,即至少需要在待匹配點雲重疊區域找到3組對應點對,且3組對應點對不能共線,纔可以得到這幾個未知數的值,進而完成剛性矩陣的參數估計。通常情況下,人們會選擇儘可能多的對應點對,進一步提高剛性變換矩陣的參數估計精度。

(3)目標函數

   在待匹配的兩組點雲數據的重疊區域內,分別選取兩個點集來表示源點集和目標點集,其中P={pi|pi∈R3i=1,2……n}爲源點集,Q ={qj|qj∈R3j=1,2……m}爲目標點集,mn分別代碼兩個點集的規模。設旋轉矩陣爲R,平移矩陣爲t,用fRt)來表示源點集P在變換矩陣(Rt)下與目標點集Q之間的誤差。則求解最優變換矩陣的問題就可以轉化爲求滿足minfRt))的最優解(Rt)。

三、ICP算法的原理與步驟

ICP算法的基本原理是:分別在帶匹配的目標點雲P和源點雲Q中,按照一定的約束條件,找到最鄰近點(piqi),然後計算出最優匹配參數Rt,使得誤差函數最小。誤差函數爲ERt)爲: 

其中n爲最鄰近點對的個數,pi爲目標點雲 P 中的一點,qi 爲源點雲 Q 中與pi對應的最近點,R 爲旋轉矩陣,t爲平移向量。

ICP算法步驟:

(1)在目標點雲P中取點集pi∈P

(2)找出源點雲Q中的對應點集qi∈Q,使得||qi-pi||=min

(3)計算旋轉矩陣R和平移矩陣t,使得誤差函數最小;

(4)對pi使用上一步求得的旋轉矩陣R和平移矩陣t進行旋轉和平移變換,的到新的    

   對應點集pi’={pi’=Rpi+t,pi∈P}

(5)計算pi’與對應點集qi的平均距離; 

(6)如果d小於某一給定的閾值或者大於預設的最大迭代次數,則停止迭代計算。    

         否則返回第2步,直到滿足收斂條件爲止。

ICP算法關鍵點:

1)原始點集的採集

   均勻採樣、隨機採樣和法矢採樣

2)確定對應點集

   點到點、點到投影、點到面

3)計算變化矩陣

   四元數法、SVD奇異值分解法









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章