謝冬香,劉先勇
(西南科技大學 信息工程學院,四川 綿陽 621000)
在機器視覺眾多應用領域中,如立體匹配、圖像配準和形狀識別等,點云配準操作一直都是一個關鍵步驟。點云配準就是將一片點云(測試點集)的坐標匹配到另一片點云(參考點集)的坐標下,從而達到兩片點云坐標的一致性,其配準精度直接影響后續誤差分析的可靠性。目前,常用的配準方法有遺傳算法、最小二乘匹配方法、三點對齊法以及ICP算法。遺傳算法和最小二乘匹配方法需要多次迭代處理,計算復雜度高并且配準時間長;三點對齊法實現原理簡單,能夠很快地實現初始配準,但必須準確地確定出3對基準點的對應關系[1];ICP算法是一種眾所周知的算法[2],傳統的ICP算法雖簡單,但在實際應用中具有限制性,因為它假設每一個點都可以在對應的點集中找到對應點,當兩模型數據不一樣時,該假設就不成立。
在配準過程中,涉及旋轉和平移矩陣的求取,EGGERT D W等人對比了奇異值分解法(SVD)、正交矩陣法(OM),單四元素法(UQ)以及雙四元素法(DQ)4種當前流行和最有效算法的魯棒性和精確度[3],運用分離算法測試了4種算法的穩定性。在非退化數據點集的情況下,大多數情況SVD和UQ是相似的,少量情況下是SVD更好一點,OM對于平面數據點集不穩定,而DQ算法則沒有一種情況比其他3種算法好。基于這些測試結果,本文采用SVD來得到旋轉矩陣。
主成分分析方法(PCA)的基本思想是,采用統計方法,對多變量表示數據點集合尋找盡可能少的正交矢量表征數據信息特征。本文采用PCA定義了簡單的數學模型和軸向確定方法等。本文配準算法簡單、穩定可靠、計算速度快且計算復雜度小。
定義1三維數字圖像的繞矩定義為:

繞矩mijk的次數定義為i+j+k。
定義2設三維數字圖像的質心為(gx,gy,gz),則中心繞矩為:

定義3設數字圖像的慣量矩陣I定義為:

其中,Ixx=u200,Iyy=u020,Izz=u002,Ixy=Iyx=u110,Ixz=Izx=u101,Iyz=Izy=u011。
定義4由于慣量矩陣I是對稱的,因此一定存在實特征值。 設 λ1、λ2、λ3是慣量矩陣的 3個實特征值,這 3個實特征值一定有3個不同的特征向量,正交化后一定存在一組對應的正交特征向量 V1、V2和 V3,將這 3個特征向量稱為物體的一組主軸。將物體的質心作為坐標原點并將其與這一組主軸一起定義為對象中心坐標系,如圖1所示。

本文算法主要是通過計算測試點集到參考點集的平移和旋轉矩陣將測試點集配準到參考點集下,圖2為算法的流程圖。

圖2 算法流程圖
計算參考點集和測試點集的質心。為了提高算法的速度,本文采用以下質心計算方法:

其中,n代表點集的個數。根據定義2、定義 3計算慣量矩陣 I,由定義 4可以得到參考點集和測試點集的慣量矩陣 I1、I2的特征值和特征向量。以 I1為例,得到正交特征向量 V1、V2和V3,以這3個特征向量建立坐標系有8種情況,首先規定坐標系必須滿足右手規則,便可去掉4種情況。2008年張樹森采用包圍盒到去掉配準方向相反的情況,該方法計算速度非常慢[4]。本文先找到最大特征值對應的正交特征向量V1,然后尋找點集中離質心最遠的點,如果此點與特征向量V1的夾角小于 90°,則u1=V1,反 之,u1=-V1, 同 理 可 以 求 得 u2,u3=u1×u2, 大 大 提高了配準速度。
得到了參考點集和測試點集的正交特征向量后,旋轉平移變換就轉換為求取兩組正交向量組的變換。由此可以得到待SVD分解的兩點集相關矩陣為[5]:

其中,Dci、Mci分別是參考點集和測試點集的正交特征向量組成的向量矩陣。設H的奇異值分解為H=USVT,因此旋轉矩陣R的最優解為:

最優的平移矩陣就是將測試點集的中心移動到參考點集的中心下。設測試點集和參考點集的中心分別為T0和C0,則可以得到平移矩陣T為:

最后得到旋轉平移矩陣M:

其中,R 為 3×3的矩陣,0為 3×1的矩陣,T為 1×3的矩陣。將所有測試點集乘以此旋轉平移矩陣并將其移動到參考點集下,實現了快速配準。

以下所有測試實驗均是在CPU為2.52GHz,內存為3.50 GB的環境下進行的,采用了C++語言和OpenCV 2.3.1基礎庫,并在VS 2008軟件平臺上編譯運行。為了驗證算法的穩定性,測試選用了不同的形狀,圖3所示為3種典型模型的配準效果。其中,模型1為綿陽鐵牛科技掃描的點云,模型2和模型3的點云采用的是Geo-magic Qualify 12中的模型。從圖3可以看到,這3種模型都可以實現配準。
表1為各種模型的兩片配準模型的點云個數和粗配準所需要的時間,可以看出,點云數據在幾十萬的情況下,配準時間全都是ms級。

表1 配準點云數目和配準所需要的時間
實驗結果證明,本文采用的配準方法算法簡單、穩定可靠、計算速度快且計算復雜度小,對實現大量點云快速配準具有使用價值。
[1]嚴平,孫肖霞.基于CAD模型的渦輪葉片誤差檢測系統[J].北京航空航天大學學報,2008,34(10):1159-1162.
[2]BESL P J,MCKAY N D.A method for registration of 3-D shapes[J].IEEE Transactions on Pattern Analysis andMachine Intelligence(S0162-8828),1992,2(14):239-256.
[3]EGGERT D W,LORUSSO A,FISHER R B.Estimating 3-D rigid body transformations:a comparison of four major algorithms[J].Machine Vision and Applications(S0932-8092),1997,9:272-290.
[4]張樹森,李瑋,程俊廷.基于逆向工程的三維測量點云數據與CAD數模配準算法研究[J].制造技術與機床,2008(3);114-117.
[5]APLPERT M,BRADSHAW J G.The principal axes transformation-a method for image registration[J].The Journal of Nuclear Medicine(S0161-5505),1990(31):1717-1722.