滕志遠(yuǎn),張愛(ài)武
(首都師范大學(xué)資源環(huán)境與旅游學(xué)院三維信息獲取與應(yīng)用教育部重點(diǎn)實(shí)驗(yàn),北京100048)
單位四元素法在激光點(diǎn)云坐標(biāo)轉(zhuǎn)換中的應(yīng)用
滕志遠(yuǎn),張愛(ài)武
(首都師范大學(xué)資源環(huán)境與旅游學(xué)院三維信息獲取與應(yīng)用教育部重點(diǎn)實(shí)驗(yàn),北京100048)
將點(diǎn)云配準(zhǔn)過(guò)程中的單位四元素法應(yīng)用于坐標(biāo)轉(zhuǎn)換,提出一種在求解坐標(biāo)轉(zhuǎn)換過(guò)程中將旋轉(zhuǎn)矩陣和平移向量轉(zhuǎn)化為求解多元函數(shù)極小值的方法,直接解出坐標(biāo)轉(zhuǎn)換的旋轉(zhuǎn)矩陣和平移向量。與目前常用的一些方法相比,具有適應(yīng)大旋角、不受平移參數(shù)影響、計(jì)算簡(jiǎn)便快速、便于程序?qū)崿F(xiàn)等優(yōu)點(diǎn)。最后驗(yàn)證該方法的精度,并用實(shí)測(cè)數(shù)據(jù)檢驗(yàn)其可行性。
坐標(biāo)轉(zhuǎn)換;七參數(shù);單位四元素法
隨著測(cè)量技術(shù)的發(fā)展,三維激光掃描的應(yīng)用越來(lái)越廣泛。三維激光掃描儀受外界環(huán)境影響小,能夠快速、連續(xù)地獲取數(shù)據(jù),具有精度高、適應(yīng)性強(qiáng)、應(yīng)用廣泛、操作簡(jiǎn)便等諸多優(yōu)點(diǎn)。目前,三維激光掃描技術(shù)已在工程測(cè)量、地形測(cè)量、交通現(xiàn)場(chǎng)勘測(cè)、橋梁變形監(jiān)測(cè)、古建筑和文物保護(hù)、數(shù)字城市等多個(gè)領(lǐng)域得到應(yīng)用,取得了很好的效果[1]。
激光掃描儀獲取的數(shù)據(jù)所采用的坐標(biāo)系統(tǒng)是它自己定義的局部三維直角坐標(biāo)系,而不是各種實(shí)際中廣泛采用的坐標(biāo)系,如1954北京坐標(biāo)系[1]。而且在不同的站點(diǎn),掃描儀的局部坐標(biāo)系也是不同的。這樣既造成各站點(diǎn)的點(diǎn)云需要配準(zhǔn)[2],又使其應(yīng)用范圍受到限制。如果能將點(diǎn)云坐標(biāo)轉(zhuǎn)換為實(shí)際中廣泛應(yīng)用的坐標(biāo),既能實(shí)現(xiàn)點(diǎn)云的配準(zhǔn),又能擴(kuò)大點(diǎn)云的應(yīng)用范圍。本文提出了一種將三維激光掃描儀的點(diǎn)云數(shù)據(jù)從其局部坐標(biāo)系轉(zhuǎn)換到其他三維坐標(biāo)系的方法。
傳統(tǒng)的三維坐標(biāo)轉(zhuǎn)換方法,使用的是線性化的布爾沙模型[3]。在該模型中,需要求解3個(gè)旋轉(zhuǎn)角度參數(shù),3個(gè)平移參數(shù),1個(gè)尺度參數(shù),共7個(gè)參數(shù)[4]。也稱為七參數(shù)法。轉(zhuǎn)換公式如下
其中XT=[X Y Z]T,為轉(zhuǎn)換后坐標(biāo);ΔX=[Δx Δy Δz]T,為平移向量,X=[x y z]T,為待轉(zhuǎn)換坐標(biāo);α、β、θ分別為X、Y、Z軸的旋轉(zhuǎn)角度,K為尺度參數(shù)。
如果7個(gè)參數(shù)已知,即可按照布爾莎模型公式,實(shí)現(xiàn)坐標(biāo)的轉(zhuǎn)換。但在實(shí)際應(yīng)用中,這7個(gè)參數(shù)是未知的,可如果知道3個(gè)重合點(diǎn)[5]就可以用最小二乘法擬合出七參數(shù)。擬合七參數(shù)的過(guò)程一般是對(duì)旋轉(zhuǎn)矩陣進(jìn)行線性化后再計(jì)算七參數(shù),但這種方法只能針對(duì)微小旋轉(zhuǎn)角的情況。當(dāng)旋轉(zhuǎn)角度較大時(shí),會(huì)產(chǎn)生較大的誤差,損害坐標(biāo)轉(zhuǎn)換精度[6]。
為能更精確地求解七參數(shù),科技工作者提出很多方法。如陳宇提出了非線性最小二乘的方法求解七參數(shù),解決了大旋角情況下七參數(shù)求解[6]問(wèn)題;陸玨等提出了基于總體最小二乘的方法求解七參數(shù)[7];這些方法都是基于最小二乘擬合的思想,原理比較復(fù)雜。
本文借鑒了點(diǎn)云配準(zhǔn)中的思想,將配準(zhǔn)過(guò)程中單位四元素方法應(yīng)用于坐標(biāo)轉(zhuǎn)換。
配準(zhǔn)的過(guò)程是將不同站點(diǎn)點(diǎn)云統(tǒng)一到同一個(gè)坐標(biāo)系下的過(guò)程。因而點(diǎn)云配準(zhǔn)的過(guò)程其實(shí)也是點(diǎn)云的三維坐標(biāo)轉(zhuǎn)換的過(guò)程。
單位四元素法的思想[8]如下:
若目標(biāo)點(diǎn)集A對(duì)應(yīng)于參考點(diǎn)集X,對(duì)應(yīng)點(diǎn)集滿足:兩個(gè)點(diǎn)集中點(diǎn)的個(gè)數(shù)相等,點(diǎn)集中的點(diǎn)要一一對(duì)應(yīng)。設(shè)旋轉(zhuǎn)變換向量為單位四元數(shù)
可得到3×3旋轉(zhuǎn)矩陣R(qR)。設(shè)平移變換向量為
可得完全坐標(biāo)變換向量q=[qR|qT]。則求對(duì)應(yīng)點(diǎn)集間的最佳坐標(biāo)變換向量問(wèn)題可轉(zhuǎn)化為q,即使得函數(shù)
最小化的問(wèn)題。
在單位四元素法中,至少需要知道3對(duì)一一對(duì)應(yīng)點(diǎn)的坐標(biāo)。
算法過(guò)程[2]如下:
1)分別求重心:原始點(diǎn)重心為
轉(zhuǎn)換后點(diǎn)重心為
其中,n代表有n對(duì)對(duì)應(yīng)點(diǎn),ai、xi為帶有x、y、z坐標(biāo)的點(diǎn)。
2)構(gòu)造協(xié)方差矩陣為
3)構(gòu)造4×4矩陣為
其中,tr(R(c))是矩陣R(c)的跡;I3是單位3×3單位矩陣;Δ為
其中
4)計(jì)算4×4矩陣R(q)的特征值和特征向量,其中最大特征值對(duì)應(yīng)的特征向量即為單位四元數(shù)[q0q1q2q3]T。
5)計(jì)算旋轉(zhuǎn)矩陣為
其中,R11=q20+q21-q22-q23;R12=2(q1q2-q0q3);
R13=2(q1q3+q0q2);R21=2(q1q2+q0q3);
R22=q20-q21+q22-q23;R23=2(q2q3-q0q1);
R31=2(q1q3-q0q2);R32=2(q2q3+q0q1);
R33=q20-q21-q22+q23。
6)計(jì)算平移矩陣為
至此,計(jì)算出了旋轉(zhuǎn)矩陣和平移向量,即可實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換。
本文選取6個(gè)點(diǎn),其中3個(gè)點(diǎn)既有在掃描儀下的坐標(biāo),又有在轉(zhuǎn)換后坐標(biāo)系下的坐標(biāo)。這3個(gè)點(diǎn)是用來(lái)求旋轉(zhuǎn)矩陣和平移向量的。另外3個(gè)點(diǎn)則已知在掃描儀下的坐標(biāo)。
由于是直角坐標(biāo)轉(zhuǎn)換,設(shè)定尺度參數(shù)k=0,1~3號(hào)點(diǎn)原始坐標(biāo)分別為:(32.503,163.608,0.029),(31.534,167.955,-1.164),(25.723,169.838,5.343)。
4~6號(hào)點(diǎn)原始坐標(biāo)分別為:(72.356,163.140,1.948),(65.148,175.564,12.566),(85.720,155.195,20.232)。
表1是模擬測(cè)試試驗(yàn)的結(jié)果。表1中的理論值是用七參數(shù)轉(zhuǎn)換公式,將4~6點(diǎn)坐標(biāo)和參數(shù)代入七參數(shù)轉(zhuǎn)換公式算出的值。轉(zhuǎn)換值是4~6號(hào)點(diǎn)的原值代入單位四元素法算出的旋轉(zhuǎn)矩陣和平移向量得出的值。此處的旋轉(zhuǎn)矩陣和平移向量是利用1~3號(hào)點(diǎn)原坐標(biāo)值和經(jīng)七參數(shù)轉(zhuǎn)換后的坐標(biāo)值算出。
如表1所示,在第一組和第二組中,平移向量參數(shù)都是確定的,兩組數(shù)據(jù)分別試驗(yàn)了在不同旋角情況下坐標(biāo)的轉(zhuǎn)換精度。由理論值和轉(zhuǎn)換值的對(duì)比可以看出,不論是大旋角還是小旋角,坐標(biāo)轉(zhuǎn)換的誤差都很小,最大的誤差也在10-6數(shù)量級(jí),可見(jiàn)本文算法在旋角很大的情況下,也有很高的轉(zhuǎn)換精度。
第一組和第三組同樣有相同的平移參數(shù),只是三個(gè)坐標(biāo)軸旋角值做了對(duì)調(diào)。由表中數(shù)據(jù)可以看出,本文算法對(duì)各個(gè)坐標(biāo)軸的旋角大小無(wú)特殊要求,不論旋角是大還是小,算法均有很高的轉(zhuǎn)換精度。在第一組和第四組中,有相同旋轉(zhuǎn)參數(shù),不同的平移參數(shù)。這種情況下,誤差仍然很小,與前面的誤差相比沒(méi)有大的變化,說(shuō)明平移參數(shù)的大小對(duì)算法幾乎沒(méi)影響。將第二、三、四組的數(shù)據(jù)進(jìn)行對(duì)比,在不同的旋角和不同的平移參數(shù)下,理論值和轉(zhuǎn)換值的誤差依然在10-6數(shù)量級(jí)。
表1 測(cè)試試驗(yàn)
綜合以上的數(shù)據(jù)對(duì)比可以得出,本文算法在大旋角的情況下依然適用,且保持了很高的精度。旋角的大小和平移向量的大小對(duì)算法的精度幾乎無(wú)影響。
本文的算法編程實(shí)現(xiàn)簡(jiǎn)單易行,運(yùn)算快速。在CPU為奔騰4,主頻為3.0 GHz,內(nèi)存512 MB的硬件條件下,用VC 6.0編譯,實(shí)現(xiàn)741 389個(gè)點(diǎn)的轉(zhuǎn)換并將結(jié)果輸出到磁盤上,用時(shí)22 s,而實(shí)現(xiàn)59 379個(gè)的點(diǎn)轉(zhuǎn)換并輸出到磁盤僅用時(shí)約1 s。
為檢測(cè)實(shí)際效果,我們選取了一組實(shí)測(cè)數(shù)據(jù)用來(lái)檢驗(yàn)算法。實(shí)測(cè)數(shù)據(jù)是將一段公路分為兩個(gè)站點(diǎn)進(jìn)行掃描。在每一個(gè)站點(diǎn)的掃描前,先放置五個(gè)靶標(biāo)。靶標(biāo)由于反射率較高,在后處理軟件中容易識(shí)別,并取得該處靶標(biāo)在掃描儀坐標(biāo)系下的坐標(biāo)。每一站掃描完畢,用GPS測(cè)出靶標(biāo)的全局坐標(biāo)(這里將全局坐標(biāo)轉(zhuǎn)換為1954北京坐標(biāo)系)。這樣在每站點(diǎn)云數(shù)據(jù)上,就至少有3對(duì)點(diǎn)可用來(lái)轉(zhuǎn)換坐標(biāo)系。
如圖1~圖2所示的是采用本文的算法轉(zhuǎn)換后的坐標(biāo)點(diǎn)的圖像。圖中深灰色的是一站數(shù)據(jù),淺灰色的是另一站數(shù)據(jù)。為了突出顯示邊緣,前期對(duì)獲取的未轉(zhuǎn)換的數(shù)據(jù)進(jìn)行了裁剪處理。裁剪處理過(guò)的點(diǎn)云數(shù)據(jù)不會(huì)影響轉(zhuǎn)換的精度。
由圖1可以看出,淺灰色點(diǎn)正確地處在深灰色點(diǎn)的缺口處,兩站數(shù)據(jù)正確地拼接在一起,形成了完整的路面。說(shuō)明轉(zhuǎn)換后的點(diǎn)具有正確的坐標(biāo)值。
圖1 轉(zhuǎn)換完的兩站數(shù)據(jù)
圖2是局部放大效果。由圖中的粗線條可以看出,兩站數(shù)據(jù)拼接的效果很好,說(shuō)明本文算法轉(zhuǎn)換的坐標(biāo)精度是較高的。
圖2 拼接處的放大效果
隨著三維激光掃描技術(shù)應(yīng)用范圍的日益擴(kuò)大,傳統(tǒng)的逐站點(diǎn)配準(zhǔn)點(diǎn)云數(shù)據(jù)的方法由于需要人工手動(dòng)選點(diǎn),效率低,且精度不能保證,故而難以適應(yīng)多站點(diǎn)、大數(shù)據(jù)量的配準(zhǔn)情況。而采用本文提出的坐標(biāo)轉(zhuǎn)換方法,既能實(shí)現(xiàn)點(diǎn)云的快速配準(zhǔn),又能保證精度,而且可以轉(zhuǎn)換成1954北京坐標(biāo)等應(yīng)用范圍比較廣泛的坐標(biāo),也擴(kuò)大了三維激光點(diǎn)云在實(shí)際中的應(yīng)用。
七參數(shù)線性模型無(wú)法適用于旋角較大的情況。而本文提出的算法在大旋角的情況下仍然有很高的精度,受平移參數(shù)的影響也很小。算法實(shí)現(xiàn)快速,在掃描密度不高的情況下能實(shí)現(xiàn)實(shí)時(shí)轉(zhuǎn)換。本算法較適合應(yīng)用于將激光掃描儀數(shù)據(jù)進(jìn)行三維坐標(biāo)轉(zhuǎn)換的情況。
[1] 楊偉,劉春,劉大杰.激光掃描數(shù)據(jù)三維坐標(biāo)轉(zhuǎn)換的精度分析[J].工程勘察,2004(3):61-63.
[2] 戴靜蘭,陳志楊,葉修梓.ICP算法在點(diǎn)云配準(zhǔn)中的應(yīng)用[J].中國(guó)圖象圖形學(xué)報(bào),2007,12(3):517-521.
[3] 盧忠,歸友龍,劉勇.基于總體最小二乘法的三維坐標(biāo)轉(zhuǎn)換參數(shù)解算[J].山西建筑,2009,35(36):359-360.
[4] 張宏.布爾莎-沃爾夫轉(zhuǎn)換模型的幾何證明[J].測(cè)繪與空間地理信息,2006,29(2):46-51.
[5] 柯金樸.空間三維坐標(biāo)轉(zhuǎn)換原理及實(shí)現(xiàn)[J].江西測(cè)繪,2008(3):16-20.
[6] 陳宇,白征東.基于非線性最小二乘算法的空間坐標(biāo)轉(zhuǎn)換[J].大地測(cè)量與地球動(dòng)力學(xué),2010(2):129-132.
[7] 陸玨,陳義,鄭波.總體最小二乘方法在三維坐標(biāo)轉(zhuǎn)換中的應(yīng)用[J].大地測(cè)量與地球動(dòng)力學(xué),2008,28(5):77-81.
[8] BESL P J,MCKAY N D.A Method for Registration of 3D Shapes[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1992,14(2):239-256.
Application of Unit Four Elements Method to Laser Point Cloud Coordinate Transformation
TENG Zhiyuan,ZHANG Aiwu
0494-0911(2010)11-0007-04
P237
B
2010-07-13
滕志遠(yuǎn)(1984—),男,山東威海人,碩士生,主要研究方向?yàn)槿S信息獲取與應(yīng)用。