閆昭華, 袁自鈞,2, 支辛蕾, 陳向東,2
(1.合肥工業(yè)大學(xué) 電子科學(xué)與應(yīng)用物理學(xué)院,安徽 合肥 230601; 2.合肥工業(yè)大學(xué) 智能制造技術(shù)研究院,安徽 合肥 230051)
莫爾條紋三維面形測量技術(shù)是一種能夠?qū)ξ矬w表面三維形狀進(jìn)行量化的結(jié)構(gòu)光輪廓測量方法[1],具有非接觸、速度快、全場測量、分辨率高等優(yōu)點(diǎn),目前被廣泛應(yīng)用于工業(yè)檢測、機(jī)器人視覺、質(zhì)量控制、生物醫(yī)學(xué)等領(lǐng)域[2]。該技術(shù)的基本原理為利用基準(zhǔn)光柵與投影到待測物體表面因物體面形高度分布調(diào)制的變形光柵疊加形成莫爾條紋,并通過三角測量法分析莫爾輪廓線得到物體真實(shí)三維面形信息。
使用莫爾條紋對物體進(jìn)行測量的技術(shù)已經(jīng)有半個多世紀(jì)的發(fā)展。早在1970年,文獻(xiàn)[3]就提出了“莫爾技術(shù)”,通過觀察光柵篩網(wǎng)與篩網(wǎng)在人體表面的陰影疊加形成的莫爾圖案,人工描繪出人體表面的等高線,這種最先應(yīng)用到醫(yī)學(xué)的技術(shù)被稱為陰影莫爾法。實(shí)體光柵篩網(wǎng)的尺寸影響著測量范圍的大小,當(dāng)被測物體較大時(shí),則無法制作與之相對應(yīng)的實(shí)體光柵。因此,相關(guān)學(xué)者提出了用光源通過光柵投射出的條紋圖案代替實(shí)體光柵并通過同周期的參考光柵進(jìn)行觀測的投影莫爾法[4-5]。隨著計(jì)算機(jī)的發(fā)展與投影儀的使用,數(shù)字莫爾法應(yīng)運(yùn)而生[6-8]。由計(jì)算機(jī)生成的條紋圖樣通過投影儀投射到物體表面,相機(jī)拍攝調(diào)制變形的條紋圖樣,莫爾條紋的合成及高度信息的分析全部由計(jì)算機(jī)后處理完成,系統(tǒng)結(jié)構(gòu)更加簡單,測量過程更加自動化。
近年來,眾多學(xué)者在數(shù)字莫爾的相位信息提取、相位展開、系統(tǒng)校準(zhǔn)等關(guān)鍵技術(shù)環(huán)節(jié)上展開了研究,旨在保證測量精度與分辨率的同時(shí),盡可能地減少實(shí)際測量所需的時(shí)間并增加算法的穩(wěn)定性。文獻(xiàn)[9]提出了一種改進(jìn)的三步移相相位信息提取法,消除了產(chǎn)生條紋圖時(shí)二階諧波引起的誤差;文獻(xiàn)[10]提出了基于非連續(xù)路徑可靠性排序的快速相位展開算法,獲得了質(zhì)量較高的連續(xù)相位圖;文獻(xiàn)[11]提出了采用任意布置的投影結(jié)構(gòu)進(jìn)行三維測量的方法,使系統(tǒng)不再受限于特定的坐標(biāo)設(shè)置。
本文給出一種快速系統(tǒng)校準(zhǔn)方法,包括理論方程的數(shù)學(xué)推導(dǎo)、方程系數(shù)的標(biāo)定方法及經(jīng)過驗(yàn)證的實(shí)驗(yàn)結(jié)果。該方法不需要對系統(tǒng)參數(shù)進(jìn)行復(fù)雜的物理測量,僅通過簡單實(shí)驗(yàn)對參數(shù)進(jìn)行標(biāo)定便可獲得位相-高度的映射方程。實(shí)驗(yàn)驗(yàn)證結(jié)果表明,該方法具有較高的測量分辨率和精度,是一種可行的系統(tǒng)校準(zhǔn)方法。
莫爾條紋三維測量系統(tǒng)包括投影儀、相機(jī)、參考平面、投影光柵以及參考光柵等,測量系統(tǒng)的一個典型設(shè)置如圖1所示。假定坐標(biāo)系XOY建立在參考平面上;坐標(biāo)系XgOgYg建立在投影儀(投影光柵)上,坐標(biāo)軸Zg通過投影儀鏡頭的光學(xué)中心Fg,與坐標(biāo)軸X交于O′點(diǎn);坐標(biāo)系X2O2Y2建立在相機(jī)的像平面上,坐標(biāo)軸Z2通過相機(jī)的光學(xué)中心F2,與相機(jī)的光軸相交于參考平面上的O′點(diǎn)。點(diǎn)Fg、F2分別為投影儀與相機(jī)的光學(xué)中心,且焦距分別為fg、f2。
圖1 莫爾條紋測量系統(tǒng)結(jié)構(gòu)示意圖
系統(tǒng)中任意一點(diǎn)從坐標(biāo)系OXYZ到坐標(biāo)系OgXgYgZg、O2X2Y2Z2的坐標(biāo)轉(zhuǎn)換可以分別表示為:
[xgygzg]T=
Rg[x-xOgy-yOgz-zOg]T
(1)
[x2y2z2]T=
R2[x-xO2y-yO2z-zO2]T
(2)
其中,變換矩陣Ri(i=g,2)可以寫為:
(3)
其中,αi、βi、γi(i=g,2)分別為繞X、Y、Z軸旋轉(zhuǎn)的角度。根據(jù)本文使用的結(jié)構(gòu)設(shè)置,可得:
(4)
因此,相機(jī)的光學(xué)中心F2到世界坐標(biāo)系OXYZ的坐標(biāo)變換可以寫為:
(5)
假定點(diǎn)A是待測物體表面高度值為h的任意一點(diǎn)。直線AF2與參考平面交于點(diǎn)B,其在世界坐標(biāo)系中的坐標(biāo)為(xB,yB,0)。點(diǎn)A、B與光學(xué)中心F2共線,因此,A、B點(diǎn)在相機(jī)的像平面上有著相同的像點(diǎn)。
通過直線BF2上任意一點(diǎn)的坐標(biāo)方程為:
(6)
易解得點(diǎn)A、B之間的坐標(biāo)關(guān)系如下:
(7)
當(dāng)對參考面上的物體進(jìn)行測量時(shí),光源的光線透過投影儀(投影光柵)成像到參考平面上,在此過程中光強(qiáng)的衰減系數(shù)ρ1<1;M點(diǎn)的光通過投影儀光學(xué)中心投射到點(diǎn)B(xB,yB,0),經(jīng)過反射后又以系數(shù)ρ2衰減透過相機(jī)光學(xué)中心;最后,通過參考光柵對信號進(jìn)行調(diào)制,將來自B點(diǎn)的光線成像到相機(jī)的I2點(diǎn)上。通過參考光柵觀測到B點(diǎn)的光強(qiáng)為:
(8)
其中:I0為初始光場強(qiáng)度;ρ1、ρ2分別為投影儀和相機(jī)鏡頭的強(qiáng)度衰減系數(shù);RB為點(diǎn)B的反射率;p為光柵條紋的周期;xgM為點(diǎn)M的xg軸坐標(biāo);x2I2為點(diǎn)I2的x2軸坐標(biāo);φg、φ2分別為光柵線相對于2個坐標(biāo)系偏移的初始位相。使用AB=I0ρ1ρ2RB對(8)式進(jìn)行簡化得到:
(9)
在(9)式中,第2項(xiàng)~第4項(xiàng)可以解釋為光強(qiáng)的高頻分量,在圖像中是影響莫爾條紋清晰度的光柵噪聲;第5項(xiàng)為空間低頻分量,代表莫爾條紋的有效信息。通過一定的濾波方法[12],對高頻分量進(jìn)行濾除,可以得到相機(jī)中點(diǎn)B處的莫爾條紋強(qiáng)度為:
(10)
同樣,可以得到相機(jī)中點(diǎn)A處的莫爾條紋強(qiáng)度為:
(11)
采用移相技術(shù)[13]提取相機(jī)中A、B點(diǎn)的相位值,然后將物體高度引起的相位差表示為:
(12)
通過分析直線AFg與BFg上點(diǎn)的坐標(biāo)關(guān)系,并將(1)式、(2)式、(7)式代入(12)式,得到簡化的方程:
(13)
其中
(14)
b=-1/zFg
(15)
對于空間任意一待測點(diǎn)A,其高度值與位相值的對應(yīng)關(guān)系可以由(13)式表示。其中,系數(shù)a與b是由點(diǎn)A在參考平面的映射點(diǎn)B的坐標(biāo)和其他系統(tǒng)參數(shù)決定的量。當(dāng)確定系數(shù)a、b的具體取值時(shí),可由后處理過程中得到的連續(xù)位相圖計(jì)算得到物體實(shí)際高度值分布,表達(dá)式為:
(16)
系數(shù)a是與映射點(diǎn)B坐標(biāo)有關(guān)的量,當(dāng)待測點(diǎn)變化時(shí),其在參考面上的映射點(diǎn)坐標(biāo)也會發(fā)生變化。
因此,系數(shù)a在測量范圍內(nèi)并不是一個常量,在實(shí)際測量過程中需要用a(x,y)來表示。
傳統(tǒng)的系統(tǒng)校準(zhǔn)方法通過對所需的系統(tǒng)參數(shù)進(jìn)行物理測量,計(jì)算得到映射方程,這樣不但人為引入了測量誤差,也使校準(zhǔn)過程復(fù)雜耗時(shí)。另外,對于本文提出的方程系數(shù)a(x,y),通過精確測量每個系統(tǒng)參數(shù)來確定每個點(diǎn)的a值幾乎是不現(xiàn)實(shí)的。但是,通過比較沿Z方向2個不同高度下的被測平面之間的相位值變化,可以容易地解得方程系數(shù)。
當(dāng)已知2個被測平面的高度值為h1、h2,并計(jì)算得到對應(yīng)的連續(xù)相位圖φ1、φ2,則可以通過下式得到未知系數(shù)a(x,y)和b:
(17)
在3dsMax中建立的測量場景如圖2所示。投影儀光軸垂直于參考平面放置,并與平面距離為500 mm;相機(jī)與投影儀沿水平方向放置,兩者距離為200 mm,夾角約為21.8°。在進(jìn)行系統(tǒng)校準(zhǔn)時(shí),參考平面前不需要放置任何物體。
圖2 3dsMax測量場景
為探索最佳的標(biāo)定結(jié)果,將參考面沿著接近投影儀的方向分別移動到高度為5、15、50、100、120、150 mm處,分別記錄各高度對應(yīng)的參考面條紋并計(jì)算位相值,設(shè)置(5,15)、(5,50)、(5,100)、(15,50)、(15,100)、(50,100)、(100,120)、(120,150) mm 8個組合分別對方程組(17)進(jìn)行求解。
由(15)式的理論推導(dǎo)可知,映射方程的系數(shù)b為投影儀光學(xué)中心Z軸坐標(biāo)的負(fù)倒數(shù),為一定量,因此對計(jì)算得到的各點(diǎn)有效b值取均值,各高度組合對應(yīng)的b值見表1所列。
由表達(dá)式和計(jì)算結(jié)果可以看出,b的數(shù)量級較小。當(dāng)平面移動到較小的高度時(shí),(17)式中bh的乘積不足以改變分母的大小;當(dāng)平面移動到較大的高度時(shí),bh的乘積足以影響分母,進(jìn)而影響相位值與高度值的對應(yīng)關(guān)系。因此,高度組合(5,15) mm可以認(rèn)為是平面高度過小所引起的誤差;而隨著組合高度值的增加,b值逐漸接近于-0.002,以至組合(50,100)、(100,120)、(120,150) mm得到的結(jié)果約為-0.002。
本文設(shè)置中使用的參數(shù)zFg=500 mm,理論上b=-1/zFg=-0.002,即實(shí)驗(yàn)結(jié)果與理論分析結(jié)果相一致。
表1 不同高度組合的b值計(jì)算結(jié)果
將b代入方程組(17)中,得到系數(shù)矩陣A的分布,如圖3所示。
在垂直于條紋的方向上,系數(shù)矩陣A中系數(shù)a在-1.437~-0.614之間單調(diào)變化,且變化不大。
圖3 系數(shù)矩陣A的分布
對系數(shù)矩陣A中系數(shù)a的表達(dá)式(14)進(jìn)行簡化,得到:
a=kaxB+d
(18)
其中
(19)
(20)
在物理上,系數(shù)矩陣A表現(xiàn)為一個斜率為ka、縱截距為d的斜面,計(jì)算得到的A矩陣分布趨勢與理論分析結(jié)果相一致。另外,當(dāng)系統(tǒng)的參數(shù)設(shè)置確定時(shí),系數(shù)a的取值也隨之確定。
為驗(yàn)證本文方法的有效性,設(shè)置了一個實(shí)驗(yàn)場景。系統(tǒng)設(shè)置與系數(shù)標(biāo)定時(shí)使用的參數(shù)一致,被測對象是一個峰值高度為60 mm的半球,位于系統(tǒng)前方500 mm的參考平面處。正弦條紋圖樣由計(jì)算機(jī)生成并經(jīng)投影儀投射到物體表面,再由相機(jī)拍攝得到物體表面的變形條紋,于后處理中將變形條紋與參考條紋疊加生成莫爾條紋圖案。
后處理中,首先使用改進(jìn)的巴特沃斯低通濾波器濾除莫爾圖案中的高頻條紋噪聲;然后使用三步相移法對相位信息進(jìn)行提取,得到折疊位相圖分布如圖4所示;使用基于位相值邊界可靠度排序和mask的相位展開算法[14]獲得連續(xù)相位圖;最后使用本文提出并標(biāo)定的映射方程計(jì)算得到物體實(shí)際高度值分布。
圖4 折疊位相圖分布
利用標(biāo)定結(jié)果重建了半球的三維形狀,如圖5所示。結(jié)果表明,測量的峰值高度為60.116 mm,與標(biāo)稱高度相差0.19%。
圖5 重建的三維形狀
第200行的高度數(shù)據(jù)如圖6所示,理論上這些像素的高度值應(yīng)該為0,原因是這里沒有相對參考面外的位移。因此,高度值可以來表示誤差。
圖6 重建三維形狀的第200行數(shù)據(jù)
通常,使用均方根(root mean square,RMS)值來評估誤差,第200行數(shù)據(jù)的RMS值為6.7×10-6mm。由于本實(shí)驗(yàn)是在3D Stvdio Max中建立較為理想的測量場景,其測量誤差比選用實(shí)體設(shè)備測量時(shí)略小,但仍可以說明本實(shí)驗(yàn)方案的可行性。
與文獻(xiàn)[15]提出的實(shí)驗(yàn)方法相比,本文所推導(dǎo)的映射方程更加清晰明確地表達(dá)了各系統(tǒng)參數(shù)與方程系數(shù)的數(shù)量關(guān)系。文獻(xiàn)[15]中的模擬結(jié)果認(rèn)為系數(shù)b?1,因此在映射方程中忽略系數(shù)b,僅考慮系數(shù)矩陣A的影響。分析可得,文獻(xiàn)[15]的系統(tǒng)校準(zhǔn)方法具有一定的局限性,僅適用于被測點(diǎn)高度相對較小的物體測量;本文提出的校準(zhǔn)方案對其進(jìn)行了補(bǔ)充,系數(shù)b的計(jì)算結(jié)果盡管很小,但是對于高度較大的待測點(diǎn),映射方程中分母上系數(shù)b與高度h的乘積對位相值的計(jì)算結(jié)果影響較大。對于高度變化范圍較大的待測物體,應(yīng)當(dāng)考慮系數(shù)b并進(jìn)行標(biāo)定。
在實(shí)驗(yàn)結(jié)果上,文獻(xiàn)[15]使用CCD相機(jī)拍攝得到分辨率為1 600×1 200的圖像,對峰值高度為11 mm圓盤的重建結(jié)果誤差為0.22%;本文使用3D Stvdio Max建立的測量場景拍攝得到分辨率為2 048×1 536的圖像,對峰值高度為60 mm半球的重建誤差為0.19%。因此,本文使用的校準(zhǔn)方法具有更高的分辨率與測量精度。
(1) 本文給出了數(shù)字莫爾三維面形測量過程中系統(tǒng)校準(zhǔn)的完整描述,推導(dǎo)出相位-高度的映射方程,并設(shè)計(jì)實(shí)驗(yàn)標(biāo)定得到準(zhǔn)確的方程系數(shù)。值得注意的是,對于任意一測量系統(tǒng),當(dāng)系統(tǒng)參數(shù)確定后,映射方程的系數(shù)也隨之確定,且系數(shù)矩陣中系數(shù)a并不是一個常數(shù),這與傳統(tǒng)的系統(tǒng)校準(zhǔn)方法有很大不同。
(2) 使用得到的映射方程對三維物體進(jìn)行重建,測量所得峰值高度與標(biāo)稱高度相差0.19%,第200行數(shù)據(jù)的RMS值僅為6.7×10-6mm,且該方法具有較高的測量精度與分辨率。
(3) 本文使用的方程系數(shù)標(biāo)定方法不需要對系統(tǒng)參數(shù)進(jìn)行物理測量,避免了人為測量引入的誤差,并且使校準(zhǔn)過程更加簡便,更加自動化。