賀 磊,鄭衛(wèi)峰,王 力
(1.信息工程大學(xué)地理空間信息學(xué)院,河南鄭州450052;2.65015部隊(duì),遼寧 大連116000)
激光掃描儀可以快速獲取被測(cè)物體表面的點(diǎn)云數(shù)據(jù),但由于光線(xiàn)的直線(xiàn)傳播特性,在每個(gè)視角下掃描儀只能測(cè)量物體某一局部的表面數(shù)據(jù)。為了獲取物體整個(gè)表面的三維數(shù)據(jù),需要從不同視角對(duì)物體進(jìn)行多次測(cè)量。每個(gè)不同視角下的測(cè)量都是在掃描儀當(dāng)前坐標(biāo)系下進(jìn)行的,所以需要確定一個(gè)坐標(biāo)轉(zhuǎn)換參數(shù),能夠?qū)⒏鱾€(gè)視角得到的點(diǎn)集合并到一個(gè)統(tǒng)一的坐標(biāo)系統(tǒng)下,得到被測(cè)物體完整的表面三維數(shù)據(jù)模型。統(tǒng)一坐標(biāo)系的過(guò)程叫做數(shù)據(jù)配準(zhǔn)[1],該技術(shù)在逆向工程、曲面質(zhì)量檢測(cè)和虛擬現(xiàn)實(shí)等領(lǐng)域均有著廣泛的應(yīng)用。
數(shù)據(jù)配準(zhǔn)方法的不同決定了掃描模式的差異,依據(jù)靈活性分類(lèi),可以把掃描模式分為靜態(tài)掃描和動(dòng)態(tài)掃描。大多數(shù)地面掃描儀采用靜態(tài)掃描方式,將掃描儀固定在支架上,在每個(gè)視角進(jìn)行掃描時(shí),掃描儀保持靜止,測(cè)量完成后利用公共點(diǎn)或ICP算法[2]將單站數(shù)據(jù)統(tǒng)一轉(zhuǎn)換到一個(gè)特定坐標(biāo)系下,如Leica HDS6000、Trimble GS200 等。車(chē)載、機(jī)載、星載掃描儀則必須使用如衛(wèi)星定位、慣導(dǎo)等外部測(cè)量手段解決動(dòng)態(tài)掃描過(guò)程中的自動(dòng)配準(zhǔn)問(wèn)題[3],但這些外部測(cè)量設(shè)備往往相當(dāng)復(fù)雜。本文提出了一種基于目標(biāo)點(diǎn)的自動(dòng)配準(zhǔn)算法,在無(wú)須復(fù)雜外部測(cè)量手段的情況下實(shí)現(xiàn)動(dòng)態(tài)掃描,從而能夠?qū)崿F(xiàn)方便靈活的手持式激光掃描。
激光掃描儀設(shè)計(jì)的核心在于如何實(shí)現(xiàn)測(cè)距,手持式掃描儀由于體積限制,無(wú)法采用有源測(cè)距技術(shù),因而大多采用結(jié)構(gòu)光測(cè)量技術(shù)實(shí)現(xiàn)。本文采用基于雙目視覺(jué)的點(diǎn)位測(cè)量技術(shù)和相位移動(dòng)原理的結(jié)構(gòu)光投影掃描來(lái)設(shè)計(jì)掃描儀。掃描儀原型樣機(jī)如圖1所示。
圖1 掃描儀原型
激光頭發(fā)射光線(xiàn)照射在被測(cè)物體上形成物點(diǎn)P,兩臺(tái)相機(jī)同時(shí)對(duì)P點(diǎn)進(jìn)行測(cè)量,在位于點(diǎn)OL處的攝像機(jī)成像平面上成像為PL,在位于點(diǎn)OR處的攝像機(jī)成像平面上成像為PR。雙目視覺(jué)基本原理為共線(xiàn)條件方程,如果已知兩相機(jī)的參數(shù),則可以通過(guò)量測(cè)PL的像素坐標(biāo)計(jì)算出空間直線(xiàn)OLPL,物點(diǎn)P必然在直線(xiàn)OLPL上。同理,通過(guò)量測(cè)PL的像素坐標(biāo)可計(jì)算出空間直線(xiàn)ORPR,物點(diǎn)P也必然在直線(xiàn)ORPR上。計(jì)算空間同名光線(xiàn)OLPL和ORPR的交點(diǎn),即可求得物點(diǎn)P的三維坐標(biāo)[4](如圖2所示)。
圖2 雙目視覺(jué)原理圖
激光掃描儀要實(shí)現(xiàn)對(duì)目標(biāo)全方位的測(cè)量,必須從不同位置對(duì)同一物體進(jìn)行多次測(cè)量,需要采用特定的方法來(lái)進(jìn)行多站數(shù)據(jù)的拼接,使用編碼標(biāo)志是比較高效的方式。編碼標(biāo)志是一種自身帶有數(shù)字編碼信息的人工標(biāo)志[5]。測(cè)量時(shí),手持激光掃描儀上的兩個(gè)相機(jī)同時(shí)對(duì)編碼標(biāo)志進(jìn)行拍攝,通過(guò)圖像處理等方法進(jìn)行編碼標(biāo)志的自動(dòng)識(shí)別;然后依據(jù)編碼標(biāo)志的三維坐標(biāo),利用后方交會(huì)的原理解算處相機(jī)的位置和姿態(tài)[6],從而依據(jù)儀器內(nèi)部參數(shù)可以實(shí)時(shí)確定激光掃描儀的位置和姿態(tài)。編碼標(biāo)志的種類(lèi)很多,主要包括點(diǎn)分布型編碼標(biāo)志、同心圓環(huán)型編碼標(biāo)志,如圖3所示。
圖3 編碼標(biāo)志
編碼標(biāo)志雖然能解決多站拼接的問(wèn)題,但具體使用時(shí)也存在一定的問(wèn)題:① 設(shè)計(jì)復(fù)雜,容易誤匹配;②面積較大,對(duì)目標(biāo)遮擋較多。隨機(jī)編碼較好地解決了這兩個(gè)問(wèn)題,目前在結(jié)構(gòu)光掃描系統(tǒng)中得到了廣泛應(yīng)用。隨機(jī)編碼采用點(diǎn)狀標(biāo)志實(shí)現(xiàn),將一定數(shù)量的點(diǎn)狀標(biāo)志黏貼在測(cè)量目標(biāo)附近,則每次測(cè)量能夠測(cè)到其中一部分點(diǎn)位,由于隨機(jī)因素,不可能有任何兩組點(diǎn)具有相同的空間拓?fù)潢P(guān)系,因此就可以利用這種獨(dú)特性來(lái)進(jìn)行點(diǎn)位的識(shí)別(如圖4(b)所示),所有的白色圓點(diǎn)和黑色圓點(diǎn)都是點(diǎn)狀標(biāo)志在相機(jī)中的像。
圖4 隨機(jī)編碼
手持激光掃描儀進(jìn)行測(cè)量的任何一個(gè)瞬間,兩個(gè)相機(jī)首先對(duì)點(diǎn)狀標(biāo)志進(jìn)行測(cè)量,獲取所有測(cè)量到的點(diǎn)狀標(biāo)志在瞬時(shí)測(cè)量坐標(biāo)系中的三維坐標(biāo);然后去已知點(diǎn)坐標(biāo)庫(kù)中去搜索能夠匹配的點(diǎn)位(黑色圓點(diǎn)),利用匹配點(diǎn)進(jìn)行相機(jī)位置和姿態(tài)的后方交會(huì)解算;緊接著將已知點(diǎn)庫(kù)中沒(méi)有的點(diǎn)(白色圓點(diǎn))的三維坐標(biāo)轉(zhuǎn)換成物方坐標(biāo)系并存入已知點(diǎn)庫(kù)中為后續(xù)測(cè)量服務(wù),完成所有的坐標(biāo)系轉(zhuǎn)換后才開(kāi)始對(duì)激光線(xiàn)進(jìn)行測(cè)量,獲取被測(cè)對(duì)象表面點(diǎn)的點(diǎn)云數(shù)據(jù)(圖4中陰影區(qū)域)。當(dāng)掃描儀位置和姿態(tài)發(fā)生變化時(shí)則重復(fù)上述過(guò)程,直到完成整個(gè)目標(biāo)外形的測(cè)量。
隨機(jī)編碼的識(shí)別,實(shí)際上是要在每次測(cè)量時(shí),從測(cè)量標(biāo)志點(diǎn)中找出已知點(diǎn)集中已有的對(duì)應(yīng)點(diǎn)。從數(shù)學(xué)原理上分析,可以使用任何歐式變換不變量進(jìn)行判定,如距離、角度、面積、體積等[7];從算法復(fù)雜程度上來(lái)說(shuō),使用距離判別最為簡(jiǎn)單方便。
設(shè)測(cè)量點(diǎn)集為P,包含n1個(gè)點(diǎn),坐標(biāo)系為瞬時(shí)測(cè)量坐標(biāo)系;設(shè)已知點(diǎn)集為Q,包含n2個(gè)點(diǎn),坐標(biāo)系為物方坐標(biāo)系。在隨機(jī)編碼識(shí)別時(shí)要自動(dòng)計(jì)算出P中的哪些點(diǎn)在Q中已經(jīng)存在;然后依據(jù)對(duì)應(yīng)點(diǎn)求取P和Q的坐標(biāo)轉(zhuǎn)換參數(shù),利用坐標(biāo)轉(zhuǎn)換參數(shù)可以完成測(cè)站拼接;最后把P中所有點(diǎn)轉(zhuǎn)換到物方坐標(biāo)系下,并存入Q中作為新的已知點(diǎn)庫(kù)。
使用距離進(jìn)行拼接的具體步驟為:
(1)計(jì)算距離模板庫(kù)
計(jì)算點(diǎn)集Q中任意兩個(gè)端點(diǎn)間的距離,A到B的距離和B到A的距離是一樣的,所以只保留一個(gè),距離的計(jì)算次數(shù)為。模板庫(kù)每一個(gè)成員由一個(gè)距離及兩個(gè)端點(diǎn)構(gòu)成,記為。計(jì)算點(diǎn)集Q中所有的距離,形成距離模板庫(kù)。
(2)尋找對(duì)應(yīng)
對(duì)于P中任意一點(diǎn)p1,計(jì)算P中另外一點(diǎn)p2到p1的距離s12。在距離模板庫(kù)中尋找距離等于s12的Distant成員,如果不存在,再選下一點(diǎn)重復(fù)計(jì)算。對(duì)于計(jì)算的結(jié)果可以得出以下的結(jié)論:如果P中所有點(diǎn)與p1間的距離都未能找到對(duì)應(yīng)的Distant成員,則表明p1在Q中不存在對(duì)應(yīng)點(diǎn),因此不能用作公共點(diǎn);僅存在一個(gè)對(duì)應(yīng)的Distant成員,則表明P,Q兩個(gè)點(diǎn)集中有且僅有兩對(duì)公共點(diǎn),其對(duì)應(yīng)關(guān)系無(wú)法確定;如果找到兩個(gè)對(duì)應(yīng)的成員,此時(shí)可停止對(duì)p1的操作,Q中兩個(gè)Distant成員的公共端點(diǎn)即為P中p1點(diǎn)的對(duì)應(yīng)點(diǎn),如圖5所示。其中,實(shí)心點(diǎn)為公共點(diǎn),空心點(diǎn)不是公共點(diǎn),由得出p1與q1對(duì)應(yīng),構(gòu)成一對(duì)公共點(diǎn)。
圖5 距離法識(shí)別對(duì)應(yīng)點(diǎn)
對(duì)于每一對(duì)公共點(diǎn),都具有兩套坐標(biāo):① 瞬時(shí)測(cè)量坐標(biāo)系下的坐標(biāo);②物方坐標(biāo)系下的坐標(biāo)。在測(cè)量過(guò)程中進(jìn)行兩個(gè)坐標(biāo)系之間的轉(zhuǎn)換是進(jìn)行后方交會(huì)解算的關(guān)鍵算法之一。任意兩個(gè)空間直角坐標(biāo)系都可以通過(guò)平移、旋轉(zhuǎn)、縮放進(jìn)行轉(zhuǎn)換。設(shè)某一坐標(biāo)系 Oxyz先平移(X0,Y0,Z0),再旋轉(zhuǎn)(εx,εy,εz),最后縮放k倍后,轉(zhuǎn)換到另一坐標(biāo)系O'x'y'z'。點(diǎn) P在 Oxyz中的坐標(biāo)為(X,Y,Z),在 O'x'y'z'中的坐標(biāo)為(X',Y',Z'),則可得
式中,M為旋轉(zhuǎn)矩陣,
則構(gòu)造如下函數(shù)
因此對(duì)第i個(gè)公共點(diǎn),可列出如下擬合方程
式(6)寫(xiě)成矩陣形式為
天津航道公司組織國(guó)內(nèi)數(shù)家測(cè)量單位對(duì)某大型鑄件進(jìn)行三維外形掃描,復(fù)雜外形條件使大型掃描儀遇到很多麻煩。而手持式小型掃描儀雖然還存在測(cè)量速度慢的問(wèn)題,但利用隨機(jī)編碼算法,在密集掃描后較好完成了測(cè)量任務(wù)。
圖5為鑄件實(shí)物照片,因?yàn)槟繕?biāo)體積較大,使用地面型三維掃描儀因測(cè)站視角限制,出現(xiàn)大量無(wú)法測(cè)量的死角,而且對(duì)內(nèi)徑測(cè)量基本無(wú)法進(jìn)行。為此,在目標(biāo)表面粘貼了數(shù)百個(gè)圓形回光標(biāo)志,使用手持式小型激光掃描儀分5次進(jìn)行了掃描。掃描中利用隨機(jī)編碼算法解決儀器位置和姿態(tài)問(wèn)題,很好地將所有掃描數(shù)據(jù)統(tǒng)一到物方坐標(biāo)系,掃描后的原始點(diǎn)云數(shù)據(jù)如圖6所示。為徹底解決測(cè)量死角問(wèn)題,將測(cè)量點(diǎn)云按設(shè)計(jì)軸線(xiàn)進(jìn)行了對(duì)稱(chēng)疊加,然后構(gòu)建三角網(wǎng),將點(diǎn)云數(shù)據(jù)轉(zhuǎn)換成實(shí)體模型(如圖7所示)。最后對(duì)實(shí)體進(jìn)行補(bǔ)洞、平滑、抽線(xiàn),形成能夠在UG、ProE等軟件中直接調(diào)用的三維模型(如圖8所示)。
圖5 鑄件實(shí)物
圖6 掃描原始數(shù)據(jù)
圖7 鏡像對(duì)稱(chēng)
圖8 最終成型
基于隨機(jī)編碼的自動(dòng)定向算法較好地解決了激光掃描儀多站拼接的問(wèn)題。借助圓形標(biāo)志提供的公共點(diǎn)和坐標(biāo)系轉(zhuǎn)換算法,可以將所有的點(diǎn)云測(cè)量數(shù)據(jù)統(tǒng)一到物方坐標(biāo)系,從而獲得物體外形的完整三維數(shù)據(jù)。在足夠的時(shí)間保證下,這種方式將可以測(cè)量從小到大很多物體的外形,甚至汽車(chē)、飛機(jī)、艦船等。
在無(wú)法布設(shè)人工標(biāo)志的情況下,也可以利用圖像特征來(lái)作為特征點(diǎn)進(jìn)行自動(dòng)定向,但此時(shí)的多站拼接精度將受到圖像處理精度的影響,肯定低于使用人工標(biāo)志的精度。
[1]賀磊,余春平,李廣云.激光掃描數(shù)據(jù)多站配準(zhǔn)方法研究[J].測(cè)繪科學(xué)與技術(shù)學(xué)報(bào),2008(6):410-413.
[2]JOST T,HUGLIH.A Multi-resolution Scheme ICPAlgorithm Fast Shape Registration[C]∥ Proceeding of the First International Symposium on 3D Data Proceeding.Visualization and Transmission.Padova:[s.n.],2002:540-543.
[3]WEHR A,LOHL U.Airborne Laser Scanning—An Introduction and Overview[J].Photogrammetry and Remote Sensing,1999,54(2-3):68-82.
[4]馬頌德,張正友.計(jì)算機(jī)視覺(jué)——計(jì)算理論與算法基礎(chǔ)[M].北京:科學(xué)出版社,1998.
[5]AHN SJ,RAUHW,KIM S I.Circular Coded Target for Automation of Optical3D-Measurement and Camera Calibration[J].International Journal of Pattern Recognition and Artificial Intelligence,2001,15(6):905-919.
[6]范生宏.工業(yè)數(shù)字?jǐn)z影測(cè)量中人工標(biāo)志的研究與應(yīng)用[D].鄭州:信息工程大學(xué),2006.
[7]王力.基于人工標(biāo)志的激光掃描數(shù)據(jù)自動(dòng)拼接技術(shù)研究[D].鄭州:信息工程大學(xué),2010.