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

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

定義3設(shè)數(shù)字圖像的慣量矩陣I定義為:

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

本文算法主要是通過計(jì)算測試點(diǎn)集到參考點(diǎn)集的平移和旋轉(zhuǎn)矩陣將測試點(diǎn)集配準(zhǔn)到參考點(diǎn)集下,圖2為算法的流程圖。

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

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

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

最優(yōu)的平移矩陣就是將測試點(diǎn)集的中心移動(dòng)到參考點(diǎn)集的中心下。設(shè)測試點(diǎn)集和參考點(diǎn)集的中心分別為T0和C0,則可以得到平移矩陣T為:

最后得到旋轉(zhuǎn)平移矩陣M:

其中,R 為 3×3的矩陣,0為 3×1的矩陣,T為 1×3的矩陣。將所有測試點(diǎn)集乘以此旋轉(zhuǎn)平移矩陣并將其移動(dòng)到參考點(diǎn)集下,實(shí)現(xiàn)了快速配準(zhǔn)。

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

表1 配準(zhǔn)點(diǎn)云數(shù)目和配準(zhǔn)所需要的時(shí)間
實(shí)驗(yàn)結(jié)果證明,本文采用的配準(zhǔn)方法算法簡單、穩(wěn)定可靠、計(jì)算速度快且計(jì)算復(fù)雜度小,對(duì)實(shí)現(xiàn)大量點(diǎn)云快速配準(zhǔn)具有使用價(jià)值。
[1]嚴(yán)平,孫肖霞.基于CAD模型的渦輪葉片誤差檢測系統(tǒng)[J].北京航空航天大學(xué)學(xué)報(bào),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]張樹森,李瑋,程俊廷.基于逆向工程的三維測量點(diǎn)云數(shù)據(jù)與CAD數(shù)模配準(zhǔn)算法研究[J].制造技術(shù)與機(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.