徐 淵 王亞洲 周建華 邊育心
(深圳大學(xué)信息工程學(xué)院 深圳 518060)
三維掃描是近年來熱門技術(shù)之一,由于它具備結(jié)構(gòu)簡單、精度較高等優(yōu)點,已被廣泛地應(yīng)用在3D掃描、工業(yè)測量等領(lǐng)域。目前,三維點云的掃描有接觸式與非接觸式兩大類,分別應(yīng)用于不同的工業(yè)場景。
接觸式掃描主要應(yīng)用在三維坐標(biāo)測量[1],其精度高,還原性強(qiáng)。但對應(yīng)幾何特征尺寸小,具有大面積自由曲面的零部件不能夠測量,掃描時間長且價格昂貴[2~3]。非接觸式掃描主要采用計算機(jī)視覺技術(shù),使用雙目或多目視覺系統(tǒng)進(jìn)行掃描,其精度合適且結(jié)構(gòu)簡易,由于傳統(tǒng)的雙目立體視覺采用被動式技術(shù)測量,不能有效地解決圖像中重復(fù)區(qū)域、低紋理區(qū)域、紋理相似區(qū)域等帶來的誤匹配問題,而結(jié)構(gòu)光方法可以很好地解決誤匹配問題,因此,三維掃描中以結(jié)構(gòu)光為主的主動視覺技術(shù)占主導(dǎo)地位。
雖然結(jié)構(gòu)光掃描技術(shù)日漸成熟,但對于面型較復(fù)雜的物體(含有四角的物體或曲面復(fù)雜的多面體)需要多次重復(fù)掃描,而采用單目或雙目立體視覺的三維激光掃描系統(tǒng),只能從一個角度獲取物體表面的縱向點云信息,但對于面型復(fù)雜的曲面物體或部分區(qū)域被遮擋的物體,會存在掃描盲區(qū),導(dǎo)致部分點云數(shù)據(jù)缺失,因此,需要調(diào)整物體掃描的方位進(jìn)行重新掃描[4],大大增加了系統(tǒng)的掃描時間和數(shù)據(jù)處理時間。本文采用多目立體視覺的三維激光掃描系統(tǒng),可以從不同視角對物體表面進(jìn)行全方位橫向掃描,有效地解決了線結(jié)構(gòu)光系統(tǒng)對復(fù)雜曲面物體掃描所形成的盲區(qū)問題,提高了掃描效率,同時對線激光提取算法進(jìn)行了優(yōu)化,提高了系統(tǒng)的掃描精度。
本文中的三維掃描系統(tǒng),由多組立體視覺測量系統(tǒng)組成,每組立體視覺測量系統(tǒng)由雙目相機(jī)及位于雙目相機(jī)中間的線激光器組成。要同時完成不同視角下的物體表面掃描,且避免雙目相機(jī)的視角過大,導(dǎo)致圖像畸變偏大,即采用4組雙目相機(jī),每組雙目相機(jī)的鏡頭視角為90°。每組雙目立體視覺測量系統(tǒng)根據(jù)雙目立體視覺原理[5~7],計算出物體表面的深度信息,建立統(tǒng)一的坐標(biāo)系,來解決不同視角下數(shù)據(jù)對齊的問題,計算出各視角下的物體截面的空間三維坐標(biāo)。由于四組雙目立體視覺測量系統(tǒng)結(jié)構(gòu)相互對稱,計算的三維坐標(biāo)數(shù)學(xué)模型類似,因此只需分析系統(tǒng)中某組雙目立體視覺測量系統(tǒng)的數(shù)學(xué)模型,如圖1所示。
圖1 雙目立體視覺三維測量模型
如圖1所示,設(shè)被測物體P點的三維坐標(biāo)為(xP,yP,zP),雙目攝像機(jī)拍攝物體上的P點,分別在左攝像頭和右攝像頭上投影的圖像坐標(biāo)為PL(xl,yl)與PR(xr,yr),由三角相似關(guān)系得以下關(guān)系式:
通過視差D(xl-xr),計算出P點的三維坐標(biāo):
由上面介紹的掃描原理及數(shù)學(xué)模型分析,掃描的硬件裝置主要由四組雙目攝像頭、位于四組雙目攝像頭中間的線激光器、升降臺及圖像采集器及ZYNQ處理平臺組成,如圖2所示。
圖2 三維掃描裝置結(jié)構(gòu)示意圖
如圖2所示,兩個分辨率為640*480的COMS攝像頭對稱放置于模具中,然后在中間安放線激光器,通過圖像采集器同步采集雙目圖像,將圖像數(shù)據(jù)送到USB接口上,交由后級的ZYNQ進(jìn)行數(shù)據(jù)處理。系統(tǒng)中有四路線激光雙目模組,通過線激光器掃描物體,由后級的ZYNQ處理系統(tǒng)進(jìn)行數(shù)據(jù)采集、處理三維點云的生成。
本系統(tǒng)獲取點云數(shù)據(jù)的方法是通過控制升降臺,將四個方向上的線激光器光束直射在物體表面形成環(huán)狀光帶,由4組位于激光器兩側(cè)的雙目攝像頭完成光帶圖像的采集、光帶中心的提取、圖像匹配、雙目深度計算、世界坐標(biāo)系轉(zhuǎn)換及三維點云數(shù)據(jù)融合,對掃描物體層層掃描,最終輸出三維點云數(shù)據(jù),基于ZYNQ的點云數(shù)據(jù)處理流程如圖3所示。
線激光掃描測量法因其具有測量速度快、測量精度高的優(yōu)點[8],被廣泛用于工業(yè)測量、3D掃描儀等領(lǐng)域。線激光在COMS攝像機(jī)上成像后,對線激光的光帶中心進(jìn)行提取,本系統(tǒng)采用梯度質(zhì)心法進(jìn)行光帶中心的提取,首先是計算光帶圖像的每一行的梯度,然后經(jīng)過梯度比較得到光帶中心區(qū)域的初步位置;接著計算此位置區(qū)域的質(zhì)心,最后通過鄰域篩選原則來提取中心點位置。該方法可以將計算的時間復(fù)雜度大大的降低,并能有效地消除干擾點。
圖3 基于ZYNQ的點云數(shù)據(jù)處理流程
待定質(zhì)心坐標(biāo)
光帶中心提取步驟:
1)由于光帶圖像每一行可能存在多個光斑,利用待定質(zhì)心坐標(biāo)公式得到質(zhì)心坐標(biāo)(xtn,ytn),其中n為像素的列數(shù);
2)利用式(3)中所求的質(zhì)心坐標(biāo)進(jìn)行比較,找到前一行最接近的質(zhì)心坐標(biāo)作為最終結(jié)果。
公式中MINxt函數(shù)是實現(xiàn)在多個質(zhì)心坐標(biāo)比較得到與前一行質(zhì)心坐標(biāo)最相似的坐標(biāo)值。質(zhì)心的篩選流程,如圖4所示。
圖4 鄰域篩選原則
圖5 含激光散斑光帶及提取后的光帶圖像
經(jīng)過雙目光帶中心提取后,效果如圖5所示,可看出光帶明顯變少,這也意味著對閾值變化沒有影響。由此可以消除激光線周圍的干擾光斑,并使其對光帶質(zhì)心提取的影響大大減小。
由上面獲取到雙目光帶中心圖像后,對雙目光帶中心點進(jìn)行圖像匹配,由于本系統(tǒng)雙目相機(jī)極線水平,只需在左目圖像的光帶中心的任意一點找到相對應(yīng)的右目圖像中同一行的光帶中心點,即為此處的圖像匹配點,使整個雙目圖像匹配變得較容易,利用視差原理計算出雙目攝像頭與被測物體的深度距離Z,以實現(xiàn)二維空間到三維空間的轉(zhuǎn)換[9~10],如圖6所示。
圖6 雙目立體測距原理
假設(shè)兩個完全相同的攝像機(jī)平行放置,它們的視點分別為OR和OT,空間中任意一點P在兩個視平面中的像素點分別是P(xR,yR),P′(xT,yT),再加上基線長度B和鏡頭焦距f,就可以通過式(4)計算出場景深度 Z[11~12]。
首先對雙目相機(jī)進(jìn)行標(biāo)定,當(dāng)兩個攝像機(jī)的像平面是完全行對準(zhǔn)時,計算視差是最簡單的。然而在現(xiàn)實情況中,兩個攝像機(jī)既要做到共面又要做到行對準(zhǔn)是十分艱難的,此時需要通過對圖像實施一些算法來盡可能的達(dá)到這種對準(zhǔn)效果,這樣兩個攝像頭的光軸是平行的。本文主要采用張正友標(biāo)定[13]的方法對雙目相機(jī)進(jìn)行標(biāo)定。
由于機(jī)械結(jié)構(gòu)的原因,多組雙目相機(jī)之間也會存在水平對齊及旋轉(zhuǎn)的問題,因此需要對多組雙目相機(jī)進(jìn)行聯(lián)合標(biāo)定,提高測量的精度。
將雙目相機(jī)中的左攝像頭與相鄰的雙目相機(jī)中的左攝像頭組成一對雙目相機(jī),且每對組成的雙目相機(jī),同樣通過張正友標(biāo)定的方法,可以得到平移矩陣和旋轉(zhuǎn)矩陣,將其坐標(biāo)系轉(zhuǎn)換到其他坐標(biāo)系下的三維坐標(biāo)中,進(jìn)而實現(xiàn)坐標(biāo)系的統(tǒng)一,實際上將獨立的雙目相機(jī)坐標(biāo)系,轉(zhuǎn)換為全局坐標(biāo)系中,這其中運用了三維拼接技術(shù)。由于這種拼接技術(shù)誤差較大,通常為了減少此誤差,需在測量區(qū)擺放一些標(biāo)志,以固定的標(biāo)志點進(jìn)行拼接,而這些標(biāo)志點需要三個以上才能滿足要求。使用四元組法[14]來實現(xiàn)三維對應(yīng)點集之間的坐標(biāo)系轉(zhuǎn)換關(guān)系。
為了獲取完整的三維點云數(shù)據(jù),通過上面多模組雙目相機(jī)的聯(lián)合標(biāo)定,將不同視角的點云數(shù)據(jù)建立到同一坐標(biāo)系下。圖7是整套系統(tǒng)從俯視角度,升降臺的中心為坐標(biāo)系原點O。線激光雙目模組定義為No.1,No.2,No.3,No.4??烧J(rèn)為No.1和No.2作為第一象限的分界限,依此類推可以得到四組象限坐標(biāo)系(世界坐標(biāo)系中的Y軸表示物體被掃的高度,由升降臺來決定)。
圖7 系統(tǒng)的世界坐標(biāo)系
四路雙目相機(jī)到平臺中心點距離分別為L1、L2、L3、L4(分別可以測量得到);在四路雙目相機(jī)圖像中,被測物體光帶中心的像素點橫坐標(biāo)分別為U1、U2、U3、U4;被測物體像素點橫坐標(biāo)分別為X1、X2、X3、X4;為此將分別來自于四個方向的掃描截面點云信息,映射到世界坐標(biāo)系上。
不同視角下的點云融合會產(chǎn)生分層和重疊現(xiàn)象,并且其幅度大小各不相同,這種情況下會產(chǎn)生數(shù)據(jù)冗余,這會導(dǎo)致其后的三維重構(gòu)模型有歧義。其目的是解決上面的問題,使后期的點云模型更為光滑[15]。
三維點云融合的基本原理是給定兩個點集P和點集Q,先計算點集P中每一個點到Q點集的最小距離,此距離使用的是歐式距離。而當(dāng)該距離小于某一固定的閾值時,可認(rèn)為該點為重疊點對,并依此進(jìn)行數(shù)據(jù)迭代,得到相應(yīng)點集的點對關(guān)系。然后根據(jù)點云融合的法向特征,在重疊點集中找到相應(yīng)的配準(zhǔn)點。最后對配準(zhǔn)點進(jìn)行插值運算得到最終的融合點。
在本系統(tǒng)中,所有數(shù)據(jù)都是在同一時刻進(jìn)行采集,因此得到的物體的點云數(shù)據(jù)不存在相互干擾,并且獨立分層,不會出現(xiàn)對空間點的數(shù)據(jù)融合。所有的點云數(shù)據(jù)分布在二維平面,并對二維的點云數(shù)據(jù)進(jìn)行融合。本文中,對重疊區(qū)域進(jìn)行加權(quán)融合,將得到的重疊點進(jìn)行判定,判定的依據(jù)為該點距離哪個點集更近。利用該方法可以得到距離的權(quán)重因子,根據(jù)權(quán)重因子進(jìn)行梯度劃分,最終可以得到點云數(shù)據(jù)具有平滑過渡的效果。
通過線激光掃描來獲取物體一個層面的點云數(shù)據(jù),控制升降平臺將掃描物體上移一個層面(這里層面之間距離為0.5mm),來獲取此層面的點云數(shù)據(jù),重復(fù)掃描步驟,當(dāng)整個物體每個層面都被“掃描”過后,掃描結(jié)束。
系統(tǒng)對塑料杯進(jìn)行了掃描,異構(gòu)平臺進(jìn)行實時處理后,通過以太網(wǎng)將三維點云數(shù)據(jù)傳輸?shù)接嬎銠C(jī)上,將點云數(shù)據(jù)導(dǎo)入到meshlab中后進(jìn)行顯示,如圖8(b)所示。
圖8 塑料杯掃描工件
深度數(shù)據(jù)準(zhǔn)確性在三維重構(gòu)中是比較重要的一點,實驗表面光滑的方形紙殼為被測物,對系統(tǒng)的雙目視覺模組的深度測量精度進(jìn)行分析。
表1 實際數(shù)據(jù)與雙目視覺模組測量結(jié)果對比
表1測得的深度數(shù)據(jù)與實際數(shù)據(jù)進(jìn)行對比,系統(tǒng)的精度能夠到達(dá)實際深度數(shù)據(jù)的1%以下,即在近距離測量的條件下,雙目激光測距誤差率基本能滿足工業(yè)上對掃描物件的精度要求。
對塑料杯進(jìn)行三維掃描,從開始采集圖像到點云數(shù)據(jù)的輸出,總費時30s;用市面上的臺式3D掃描儀掃描塑料杯,從獲取到點云輸出總費時約3min;文獻(xiàn)[16]中掃描相同體積的物體需費時約300s。采用多目立體視覺三維激光掃描系統(tǒng)可以大大提高獲取點云數(shù)據(jù)的速度。
針對目前三維點云掃描速度過慢現(xiàn)象,本文提出了一套多目立體視覺的掃描系統(tǒng),它采用雙目加線激光結(jié)構(gòu),優(yōu)化了線激光的提取算法,對物體表面進(jìn)行層次掃描使得系統(tǒng)性得到大大的提升,尤其在掃描速度上。本系統(tǒng)結(jié)構(gòu)簡單、精度合適、掃描速度快,今后可被應(yīng)用在工件掃描、文物掃描、大場景掃描等場合,具有良好的應(yīng)用前景。