王中興
(浙江理工大學(xué)機(jī)械與自動控制學(xué)院,浙江杭州 310000)
隨著測量技術(shù)的不斷發(fā)展,傳統(tǒng)的二維測量技術(shù)難以滿足需求,三維精確與快速測量技術(shù)在文物數(shù)字化、醫(yī)學(xué)診斷、機(jī)器視覺、工件在線監(jiān)測、自然災(zāi)害調(diào)查以及地圖重建等領(lǐng)域[1-5]得到廣泛應(yīng)用。三維測量技術(shù)通過對被測物體的外形結(jié)構(gòu)進(jìn)行精準(zhǔn)掃描,獲取被測物體三維空間的點(diǎn)坐標(biāo),得到被測物體三維模型。三維測量較二維測量更直觀且更完善,具有精度高、不與物體表面接觸、掃描速度快、景深大以及便于攜帶等優(yōu)點(diǎn),應(yīng)用價值極高。
常見的三維測量技術(shù)按測量方式不同大致分為接觸式測量和非接觸式測量兩類。接觸式測量方法對細(xì)小、易變形等物體難以測量,應(yīng)用范圍有局限性,而非接觸式測量可以彌補(bǔ)這一缺點(diǎn)。非接觸式測量原理分為光學(xué)與非光學(xué)兩大類,非光學(xué)式測量原理又細(xì)分為聲學(xué)、電磁學(xué)等。非接觸式測量最大的優(yōu)勢是不與被測物表面接觸,具有測量速度快、精度高、易自動化、無損測量等優(yōu)點(diǎn),其中光學(xué)原理的非接觸式測量是研究熱點(diǎn)。
鐘凱等[6]將面結(jié)構(gòu)光測量與室內(nèi)GPS 技術(shù)相結(jié)合,研發(fā)出組合式大尺寸空間精密三維測量系統(tǒng),支持多臺設(shè)備同時進(jìn)行測量,效率至少提高3~5 倍;宋麗梅[7]根據(jù)二維圖像的灰度信息,在已有算法基礎(chǔ)上設(shè)計出只根據(jù)單幅實(shí)時圖像就能進(jìn)行三維重建的方法,在工業(yè)在線測量領(lǐng)域得到廣泛應(yīng)用;湯蘭蘭等[8]基于物體的二維信息,利用投影結(jié)構(gòu)光調(diào)制信號以及立體視覺法,建立一套具有自主知識產(chǎn)權(quán)的建模方法,提出相關(guān)創(chuàng)新理論并研發(fā)一套光柵投影的三維精密測量系統(tǒng);Zhang 等[9]對物體表面形狀采用條紋投影技術(shù)進(jìn)行光學(xué)三維測量系統(tǒng)標(biāo)定,創(chuàng)新性提出一種簡化標(biāo)定方法,該方法能有效用于高反光物體的三維測量。目前提出的三維測量方法雖在效率上有很大提高,但在測量精度方面還存在不足。
本文采用十六步相移法對被測物進(jìn)行三維重建。首先通過投射結(jié)構(gòu)光至標(biāo)定板采集光柵條紋,然后投射結(jié)構(gòu)光至被測物表面,采集受被測物高度調(diào)制而產(chǎn)生形變的光柵圖。提取獲得的相位,由高度與相位的映射關(guān)系獲取被測物在空間中的三維坐標(biāo),利用MATLAB 進(jìn)行三維重建。
目前基于結(jié)構(gòu)光的三維重建方案大致分為單目視覺與雙目視覺兩種。由于單目方案系統(tǒng)結(jié)構(gòu)簡單、測量精度較高,且只需一個相機(jī),因此成本很低。根據(jù)本文實(shí)驗(yàn)需求,綜合考慮后采用單目視覺方案進(jìn)行設(shè)計。本文系統(tǒng)組成如圖1 所示。首先在計算機(jī)端生成實(shí)驗(yàn)所需結(jié)構(gòu)光編碼圖案,通過投影設(shè)備將編碼圖案按照時間順序依次投射至被測物表面,投射的編碼圖案受被測物體表面高度的變化而產(chǎn)生調(diào)制發(fā)生形變,物體表面的三維坐標(biāo)信息包含在受調(diào)制的條紋圖案中。然后由相機(jī)拍攝獲取每一副被調(diào)制的條紋圖案,并將這些圖片傳輸?shù)接嬎銠C(jī)通過程序進(jìn)行數(shù)據(jù)處理。提取其中的相位,由相位—高度映射關(guān)系獲得被測物在空間中的三維坐標(biāo),從而對物體形貌進(jìn)行三維重構(gòu)。
Fig.1 Composition of monocular structured light three-dimensional measurement system圖1 單目結(jié)構(gòu)光三維測量系統(tǒng)組成
系統(tǒng)硬件由CMOS 相機(jī)、DLP 投影儀和計算機(jī)構(gòu)成。本設(shè)計選用北京聞亭泰科技公司型號為PRO6500 的工業(yè)級光學(xué)投影模塊和大恒圖像生產(chǎn)的工業(yè)相機(jī)進(jìn)行配套設(shè)計,相機(jī)型號為MER-301-125U3M/C。為了較好地控制延遲和同步,實(shí)驗(yàn)使用相機(jī)觸發(fā)投影儀方式進(jìn)行。
根據(jù)三維成像系統(tǒng)建立光柵投影系統(tǒng)幾何數(shù)學(xué)模型[10],如圖2 所示。OXYZ為參考坐標(biāo)系,OcXcYcZc、OvX?vYvZv分別為相機(jī)與投影儀坐標(biāo)系,其中OXY、OcXcYc、OvXvYv分別為參考面、相機(jī)參考面以及投影儀參考面。點(diǎn)F為被測物表面待測點(diǎn),點(diǎn)Oc和點(diǎn)Ov分別為相機(jī)和投影儀的光心,Oc′和Ov′為其在參考面的投影點(diǎn)。
Fig.2 Mathematical model of three-dimensional measurement system圖2 三維測量系統(tǒng)數(shù)學(xué)模型
假使被測物體不在參考面OXY上,從投影儀的光心投射出一條入射光OvF至參考面的M點(diǎn),則在相機(jī)參考面中也對應(yīng)為M點(diǎn),此時參考平面中放置被測物,則入射光OvF的投射點(diǎn)將由M 變?yōu)橥渡湓诒粶y物表面的F 點(diǎn)。保持相機(jī)、投影儀和被測物三者相對位置不變,通過相機(jī)采集圖片,則此時在相機(jī)參考面中所對應(yīng)的投射點(diǎn)由被測物表面高度從點(diǎn)M平移至點(diǎn)N,點(diǎn)N為點(diǎn)F與Oc成直線的反向延長線與參考平面的相交點(diǎn)。由上述原理可知,從M點(diǎn)位移至N點(diǎn)的長度MN包含了點(diǎn)F對參考面的高度h的信息,那么根據(jù)系統(tǒng)模型的幾何關(guān)系可由MN的位移長度求取圖2 中FS高度,即高度h,而位移距離MN的長度又與投射光柵條紋有對應(yīng)關(guān)系,故根據(jù)上述條件建立系統(tǒng)幾何模型。
由圖2 所示,相機(jī)到投影儀二者光心間距OcOv的長度為d,OcOc′長度為H,根據(jù)三角形相似可知ΔFMN~ΔFOcOv,則可得到h的表達(dá)式為:
設(shè)參考面上任意一點(diǎn)a的坐標(biāo)為(x,y),相位為φ,當(dāng)參考面與投影面相互平行時,投射光柵的相位會沿著參考面X軸發(fā)生變化,根據(jù)投影光柵的分布特性得到:
聯(lián)立上式可得:
式(3)是高度和相位映射關(guān)系的核心表達(dá)式,其中H、λ、d為系統(tǒng)參數(shù),φM為參考面相位,Δφ為M點(diǎn)和N點(diǎn)的相位差,φN為經(jīng)過調(diào)制后的相位。
標(biāo)定的主要目的是為了獲取相機(jī)與投影儀內(nèi)部參數(shù)、二者的中心距離以及到參考面的距離,通過這些參數(shù)便可建立圖像像素點(diǎn)坐標(biāo)與空間坐標(biāo)點(diǎn)的映射關(guān)系。
1.3.1 相機(jī)標(biāo)定
為求得相機(jī)內(nèi)外參數(shù),首先要了解相機(jī)成像原理。相機(jī)成像模型其實(shí)就是光學(xué)模型的一種簡化,常用的相機(jī)模型有正交投影模型、小孔成像模型以及擬透視投影模型3種[11],其原理都是利用相機(jī)模型采集圖像通過圖像上的二維信息坐標(biāo)與空間被測物表面坐標(biāo)建立聯(lián)系。小孔成像模型原理簡單、精準(zhǔn)性高,應(yīng)用廣泛。這種模型主要由光心、光軸以及成像平面3 個部分組成,理想狀態(tài)光線是沿直線傳播,將光心視為小孔,三維空間中的任意一點(diǎn)在經(jīng)過光心后在成像平面上成倒置像。但實(shí)際情況中,相機(jī)大多是由透鏡組成光學(xué)系統(tǒng),其成像原理與小孔成像模型相似。
成像過程主要涉及世界坐標(biāo)系、相機(jī)坐標(biāo)系及圖像坐標(biāo)系(物理坐標(biāo)系和像素坐標(biāo)系)之間的轉(zhuǎn)換,如圖3 所示[12]。
Fig.3 Coordinate transformation relationship in camera linear model圖3 相機(jī)線性模型中坐標(biāo)轉(zhuǎn)換關(guān)系
(1)從世界坐標(biāo)系到相機(jī)坐標(biāo)系。由于相機(jī)與被測物體是放在空間中的任意位置,要表示相機(jī)與被測物體的位置關(guān)系,需要在空間建立一個三維坐標(biāo)系,即世界坐標(biāo)系。以原點(diǎn)O表示相機(jī)的光心,ZC表示光軸,創(chuàng)建直角坐標(biāo)系為相機(jī)坐標(biāo)系,從世界坐標(biāo)系到相機(jī)坐標(biāo)系轉(zhuǎn)變由旋轉(zhuǎn)矩陣R和一個平移向量T共同完成,轉(zhuǎn)換過程如下[13]:
式中,T=[T1T2T3]表示一個三維空間中的平移向量,R表示一個3×3 的單位旋轉(zhuǎn)正交矩陣,其矩陣元素滿足:
(2)從相機(jī)坐標(biāo)系到圖像坐標(biāo)系。在上述成像模型中,Pu可理解為相機(jī)成像與相機(jī)光點(diǎn)O和場景物點(diǎn)P的連線之間的交點(diǎn),稱為透視投影。圖像坐標(biāo)是二維坐標(biāo),光點(diǎn)是相機(jī)光軸與成像面之間的交點(diǎn),?為相機(jī)焦距。根據(jù)三角形相似原理可得轉(zhuǎn)換公式[14]:
(3)從圖像坐標(biāo)系到像素坐標(biāo)系。由相機(jī)中圖像的存儲形式可知,圖像像素的坐標(biāo)系為直角坐標(biāo)系。取左上角作為圖像坐標(biāo)系原點(diǎn),u軸和v軸分別與圖像坐標(biāo)系x軸和y軸平行。在坐標(biāo)系中,任一點(diǎn)坐標(biāo)(u,v)表示其行數(shù)和列數(shù),坐標(biāo)單位為像素,圖像坐標(biāo)原點(diǎn)就是相機(jī)的光軸與成像平面交點(diǎn)。目前相機(jī)由于制造技術(shù)問題主點(diǎn)會發(fā)生偏移而不在圖像中心。設(shè)圖像坐標(biāo)系中主點(diǎn)的坐標(biāo)為(x,y),得到圖像坐標(biāo)系與像素坐標(biāo)之間的轉(zhuǎn)換過程如下:
1.3.2 投影儀標(biāo)定
本文利用局部單應(yīng)性矩陣變換求取投影儀中點(diǎn)坐標(biāo),找到投影儀像素點(diǎn)與空間中坐標(biāo)點(diǎn)一一對應(yīng)關(guān)系。首先將標(biāo)定物放在世界坐標(biāo)系中,向其投射條紋光柵序列,找到相機(jī)點(diǎn)與投影儀點(diǎn)之間一一對應(yīng)關(guān)系;然后通過局部單應(yīng)性矩陣計算,將相機(jī)圖像坐標(biāo)系內(nèi)的目標(biāo)角點(diǎn)轉(zhuǎn)移至投影儀的圖像坐標(biāo)系內(nèi);最后利用標(biāo)定相機(jī)方法標(biāo)定投影儀即可?;谶@種方法的投影儀標(biāo)定好處在于標(biāo)定精度不會受限于相機(jī)標(biāo)定精度影響,可以使用任意相機(jī)模型應(yīng)用在該方法中,標(biāo)定精度更高。
先使用投影儀投射高頻細(xì)分的互補(bǔ)格雷碼圖案至棋盤格標(biāo)定板中,在相機(jī)的像素坐標(biāo)系中找到正確的棋盤格角點(diǎn),通過計算以這個棋盤格角點(diǎn)為中心的一定區(qū)域內(nèi)的像素,求得一個局部單應(yīng)性矩陣[15]:
其中,p是相機(jī)中棋盤格圖像角點(diǎn)內(nèi)的坐標(biāo)點(diǎn),q是對應(yīng)投影儀圖像的坐標(biāo)點(diǎn),為一個3×3 的矩陣。那么對目標(biāo)角點(diǎn)p′可利用求得的將相機(jī)圖像坐標(biāo)內(nèi)的角點(diǎn)轉(zhuǎn)換到投影儀坐標(biāo)q′內(nèi),轉(zhuǎn)換關(guān)系如下:
利用上述原理可將所有的相機(jī)圖像坐標(biāo)中的目標(biāo)角點(diǎn)進(jìn)行轉(zhuǎn)換,最終得到所有角點(diǎn)在投影儀中所對應(yīng)的坐標(biāo),投影儀便可按相機(jī)步驟進(jìn)行標(biāo)定。按照系統(tǒng)標(biāo)定方法可求出相機(jī)和投影儀的內(nèi)參數(shù)、畸變參數(shù)以及旋轉(zhuǎn)矩陣R和平移矩陣T。該方法比常規(guī)方法的重投影誤差要小,且只需改變標(biāo)定板的位置拍攝,標(biāo)定過程簡單,具有更好的魯棒性,本文后續(xù)也采用這種方法進(jìn)行投影儀標(biāo)定。
1.3.3 標(biāo)定結(jié)果
基于張正友標(biāo)定法[16-17]標(biāo)定出相機(jī)與投影儀之間的內(nèi)外參數(shù),見表1。由于本工作的實(shí)驗(yàn)標(biāo)定沒有產(chǎn)生嚴(yán)重畸變,因此徑向畸變參數(shù)只有兩位系數(shù)。
Table 1 Calibration results of camera and projector internal parameters表1 相機(jī)與投影儀內(nèi)參標(biāo)定結(jié)果
在完成標(biāo)定后可得到從世界坐標(biāo)系到相機(jī)坐標(biāo)系之間的轉(zhuǎn)換關(guān)系,即相機(jī)的外部參數(shù)旋轉(zhuǎn)矩陣R1和平移向量T1,表示為(R1T1)。由此得到相機(jī)到投影儀的相對位置,從而通過相對位置的轉(zhuǎn)換關(guān)系得到投影儀外部參數(shù)(R2T2)。得到的相機(jī)與投影儀外部參數(shù)分別為:
從表1 可以看出,相機(jī)的誤差大概在0.048 4 左右,投影儀的誤差大概在0.054 1 左右,標(biāo)定出的平均重投影誤差比較理想,其參數(shù)精度符合后續(xù)三維成像過程的精度需求。
在結(jié)構(gòu)光編碼技術(shù)中,根據(jù)編碼方式不同分為時域編碼和空間鄰域編碼[18]。時域編碼是依次按時間順序投射一組光柵圖像至被測物表面,相機(jī)采集后再進(jìn)行解碼。因?yàn)楣鈻艌D案結(jié)構(gòu)簡單、投射數(shù)量較多,導(dǎo)致被測物體表面被標(biāo)記的特征點(diǎn)增多,所以能更好地提高成像分辨率及測量精度。目前時域編碼方法大致分為二值法、N 值法以及相移法。空間鄰域編碼方式僅采用單幅圖案,通過相鄰像素點(diǎn)之間的顏色信息或灰度不同對區(qū)域進(jìn)行編碼,增加了圖像編碼和解碼的復(fù)雜程度,在解碼識別階段容易引起誤差,導(dǎo)致測量精度不高。但由于此方法只需采用單幅圖案,所以適合在線實(shí)時測量。目前空間鄰域編碼方法一般分為非標(biāo)編碼、序列編碼以及M 矩陣編碼。
由于相位主值是通過一定的計算從變形前以及調(diào)制后的條紋圖案中得到,所以獲取相位主值是最后相位展開的關(guān)鍵所在。相移法測量是通過向被測物體投射一系列條紋圖案,通過物體在其中的相位信息來獲取相位主值。在相移法投射中需要一組正弦或余弦分布的條紋。設(shè)投影空間中存在任意一點(diǎn)(xp,yp),則其灰度值表達(dá)式為[19]:
式(10)中,N 為總的移向步數(shù),n 表示進(jìn)行了第n 次相移,n=0,1,2,…,N-1,Ap表示為光柵條紋的光強(qiáng)值,Bp表示為調(diào)制幅度。假設(shè)在理想狀態(tài)下測量不存在誤差,一般取Ap=Bp=0.5。通過投影3 幅以上的一個周期光柵圖案(因?yàn)橹辽? 幅圖案才能唯一確定一個周期的相位),便可獲得投影空間中每一點(diǎn)的相位值,此時被測物體表面的相位分布情況可表示為[20]:
以四步相移法為例,取N=4 時,相移的每次增量為π/2,那么4 幅光柵圖案依次相移量為0、π/2、π、3π/2,產(chǎn)生的4 幅光柵條紋圖案可表示為:
聯(lián)立式(11)和式(12)可得相對相位值為:
本文采用十六步相移法包裹相位。由于相移法利用反正切函數(shù)獲取相位值,而反正切函數(shù)是周期函數(shù),因此獲得的相位分布φ被截斷在(0,2π)的區(qū)間范圍中,并不是真實(shí)的相位。
相位的解包裹是三維重建系統(tǒng)中最為關(guān)鍵的步驟之一,也是目前研究的重難點(diǎn)。在光柵條紋投影階段中,標(biāo)準(zhǔn)N 步相移法經(jīng)過反正切函數(shù)計算相位分布相位主值φ。由于反正切函數(shù)是周期函數(shù),因此獲得的相位分布φ被截斷在(0,2π)區(qū)間范圍內(nèi),此階段獲得的相位為包裹相位。反正切函數(shù)特性使被測物體在圖像中的相位分布失去全場唯一性[21],而要通過相位和高度映射關(guān)系計算三維坐標(biāo),就必須保持相位分布在截斷展開后的唯一性,使其復(fù)原成完整相位,稱為相位的解包裹即相位展開。
從圖4 可以看出,包裹相位圖在一個周期內(nèi)相位主值φ呈現(xiàn)連續(xù)分布,而在不連續(xù)處(即截斷處)相位呈現(xiàn)出周期性不連續(xù)分布。只要將沿著相位截斷的位置對相位值進(jìn)行累加就能求解出連續(xù)相位值,解包裹算法的基本原理就是比較相鄰兩點(diǎn)的相位值,如果二者間的相位差小于2π,那么就在后面一點(diǎn)的相位值上加上2π 即可,其表達(dá)式如下:
Fig.4 Wrapping phase圖4 包裹相位
式(14)中,φ(x,y) 為絕對相位,n為條紋周期數(shù),也稱條紋級次,一般n取整數(shù)。
要得到完整的二維相位分布,就需要把所有周期內(nèi)的截斷相位都進(jìn)行解包裹,即求取圖中每點(diǎn)的條紋級次。以四步相移法為例,因其存在3 處截斷相位,所以對截斷相位處增加若干個的整數(shù)倍求解絕對相位φ(x,y),便可得到如圖5 所示的解包裹相位圖。條紋級次在每個截斷相位處依次遞增,且圖像由周期性不連續(xù)分布變?yōu)檫B續(xù)上升直線。
Fig.5 Unwrapping phase by four-step phase shift method圖5 四步相移法解包裹相位
本文三維重建實(shí)驗(yàn)分為兩個部分:①對一個尺寸已知的標(biāo)準(zhǔn)球進(jìn)行測量,以檢驗(yàn)本文三維測量系統(tǒng)精度;②對不規(guī)則石膏像進(jìn)行三維測量。
對一個陶瓷標(biāo)準(zhǔn)球進(jìn)行三維測量精度對比。陶瓷標(biāo)準(zhǔn)球直徑為38.1mm,對標(biāo)準(zhǔn)球進(jìn)行多次測量,取其一次三維重建后點(diǎn)云結(jié)果如圖6 所示,將三維點(diǎn)云圖通過MAT?LAB 程序擬合計算得到其測量值。
Fig.6 Standard sphere object and reconstructed point cloud results圖6 標(biāo)準(zhǔn)球?qū)嵨锛爸亟c(diǎn)云結(jié)果
通過多次標(biāo)準(zhǔn)球測量實(shí)驗(yàn)可知,系統(tǒng)測量誤差約為0.18mm,符合預(yù)期結(jié)果,說明本文搭建的三維測量系統(tǒng)精度較高,見表2。
Table 2 Measurement results of standard ball experiment表2 標(biāo)準(zhǔn)球?qū)嶒?yàn)測量結(jié)果
為直觀驗(yàn)證三維重建系統(tǒng)效果,對更為復(fù)雜的石膏像進(jìn)行三維重建,結(jié)果如圖7 所示。其中圖7(a)為石膏像實(shí)物圖,圖7(b)為深度圖,其中每個像素點(diǎn)上的值與三維空間中的高度值相對應(yīng),圖7(c)與圖7(d)為重建后的點(diǎn)云結(jié)果圖。
Fig.7 Plaster objects and reconstructed point cloud results圖7 石膏像實(shí)物及重建點(diǎn)云結(jié)果
經(jīng)過基本運(yùn)行及測試后,本系統(tǒng)重建的實(shí)驗(yàn)結(jié)果如圖7(c)和圖7(d)所示。從這兩張不同角度的石膏像點(diǎn)云圖可以看出,本系統(tǒng)能對石膏像三維形貌進(jìn)行還原,具有較高的精度,證明本文三維測量系統(tǒng)能較好地還原場景中靜止的物體表面形貌信息。
本文設(shè)計了一種基于十六步相移法的高精度三維重建系統(tǒng)。該系統(tǒng)通過相移法獲取被測物的包裹相位,并對相位展開,通過相位和高度的映射關(guān)系對被測物進(jìn)行三維重建。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能較好地還原被測物表面的三維形貌,精度可達(dá)到微米級。但是,本文在三維重建后獲取的是物體某一角度的三維點(diǎn)云,后續(xù)要從多個角度對物體進(jìn)行三維重建,通過點(diǎn)云拼接算法實(shí)現(xiàn)物體全貌測量。同時在點(diǎn)云數(shù)據(jù)處理中,配準(zhǔn)速度與精度之間的平衡需作進(jìn)一步研究。