雷經(jīng)發(fā),陸宗勝,李永玲,張 淼,趙汝海
(1.安徽建筑大學(xué) 機(jī)械與電氣工程學(xué)院,安徽 合肥 230601;2.工程機(jī)械智能制造安徽省教育廳重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230601;3.過(guò)程裝備與控制工程四川省高校重點(diǎn)實(shí)驗(yàn)室,四川 自貢 643000)
強(qiáng)反射金屬表面的三維形貌測(cè)量一直是結(jié)構(gòu)光測(cè)量的重點(diǎn)和難點(diǎn)。投影柵相位法[1-3]作為常用的結(jié)構(gòu)光三維測(cè)量技術(shù),因其非接觸式、分辨率高和精度高等優(yōu)點(diǎn)被廣泛應(yīng)用于在線測(cè)量、軍工生產(chǎn)和醫(yī)學(xué)成像等領(lǐng)域,其原理是將計(jì)算機(jī)計(jì)算出的光柵條紋通過(guò)投影儀投影在被測(cè)物體的表面,然后通過(guò)CCD相機(jī)獲取表面被調(diào)制發(fā)生形變的光柵圖像,通過(guò)圖像處理等方法解出被測(cè)物體三維信息。但對(duì)于具有強(qiáng)反射表面的物體,物體表面強(qiáng)反射性質(zhì)會(huì)導(dǎo)致在圖像采集時(shí)出現(xiàn)圖像局部過(guò)明或過(guò)暗的情況,這樣會(huì)使圖像本身的像素點(diǎn)不能被真實(shí)地反應(yīng)出來(lái),引起信息失真,對(duì)于物體的測(cè)量產(chǎn)生很大的誤差。
針對(duì)以上問(wèn)題,國(guó)內(nèi)外學(xué)者提出了不同的解決方法。早期主要方法是在被測(cè)物體表面噴涂一層很薄的顯像劑,使之表面呈現(xiàn)漫反射的特性,但是此方法無(wú)法保證顯像劑能夠均勻的噴涂在被測(cè)表面,導(dǎo)致測(cè)量精度降低;Song等[4]提出了一種多曝光圖像融合的方法,將不同曝光時(shí)間下拍攝的一組低動(dòng)態(tài)范圍圖像合成一幅高動(dòng)態(tài)范圍圖像,但該方法對(duì)于環(huán)境光的要求較高且面對(duì)不同的實(shí)驗(yàn)對(duì)象時(shí)選擇的曝光時(shí)間和次數(shù)也不盡相同;Zhang[5]等在不同曝光時(shí)間下拍攝圖像,選擇同一位置亮度最高且不飽和的點(diǎn)參與三維重建,但此方法中曝光時(shí)間和曝光次數(shù)的選取過(guò)于依賴實(shí)驗(yàn)者的經(jīng)驗(yàn);姜宏志等[6]提出一種向被測(cè)物體表面投射明暗兩種條紋的多曝光圖像融合方法,解決了反射光亮度范圍與相機(jī)動(dòng)態(tài)范圍不一致的問(wèn)題,但對(duì)兩種條紋的明暗程度有嚴(yán)格的要求;李兆杰等[7]提出一種基于自動(dòng)多次曝光的面結(jié)構(gòu)光形貌測(cè)量方法,該方法利用相機(jī)響應(yīng)曲線和在不同曝光時(shí)間下的圖像計(jì)算出被測(cè)物體在當(dāng)前場(chǎng)景測(cè)量所需的曝光次數(shù)和曝光時(shí)間,將具有不同曝光時(shí)間的圖像序列融合成新的條紋圖像序列進(jìn)行重建,但該方法過(guò)程比較繁瑣;Umeyama團(tuán)隊(duì)[8]提出在相機(jī)鏡頭前安裝偏振片,將鏡面反射光濾除,只讓漫反射光進(jìn)入相機(jī),但是強(qiáng)反射表面的物體漫反射光成分較弱,會(huì)影響測(cè)量精度。
本文在投影柵相位法的基礎(chǔ)上,結(jié)合多曝光圖像融合技術(shù)、線性變換和伽馬變換等技術(shù)實(shí)現(xiàn)強(qiáng)反射表面的三維輪廓檢測(cè)。首先按照從長(zhǎng)到短的次序在N個(gè)不同的曝光時(shí)間使用投影儀向被測(cè)物分別投射白光和相移為π/2的光柵條紋,相機(jī)在投射白光下采集的圖像經(jīng)過(guò)計(jì)算得到的一組掩模圖像與在投射光柵條紋下采集的四組條紋圖像依次相乘,將得到的圖像進(jìn)行線性變換,降低圖像對(duì)比度,保證原本高光區(qū)域在后續(xù)的圖像疊加時(shí)不會(huì)出現(xiàn)新的高光區(qū)域;然后對(duì)疊加之后的圖像進(jìn)行伽馬變換,使圖像較暗區(qū)域的亮度得到提升,得到四幅無(wú)失真的高動(dòng)態(tài)范圍圖像;最后通過(guò)相位解算和參數(shù)標(biāo)定得到被測(cè)物體表面三維點(diǎn)云數(shù)據(jù)。該方法能夠在一定程度上克服因物體局部高光而導(dǎo)致的點(diǎn)云缺失問(wèn)題,為強(qiáng)反射表面三維輪廓檢測(cè)提供理論與技術(shù)支持。
入射光在物體表面形成的反射光主要分為漫反射波瓣、鏡面反射波瓣和鏡面反射波尖三種形式[9]。如圖1所示,對(duì)于強(qiáng)反射表面,入射光在物體表面形成的反射光以鏡面反射波尖為主,鏡面反射波瓣為輔,漫反射光強(qiáng)較弱。
圖1 強(qiáng)反射表面反射模型Fig.1 Reflection model of high reflection surface
由于漫反射波瓣對(duì)每個(gè)方向的光強(qiáng)一致,所以相機(jī)的拍攝角度對(duì)拍攝結(jié)果不會(huì)產(chǎn)生影響,獲取的光柵條紋圖像的強(qiáng)度也是一致的;而鏡面反射的光強(qiáng)與鏡面反射的夾角有關(guān),相機(jī)從不同角度觀察到的光柵條紋圖像的強(qiáng)度是不同的,所以相機(jī)會(huì)拍攝到從漫反射波瓣到鏡面反射波尖的明暗不同的光柵條紋圖像。由于相機(jī)感光元件的動(dòng)態(tài)范圍是有限的,當(dāng)被測(cè)物體表面的反射率過(guò)高時(shí),實(shí)際的像素值會(huì)大于相機(jī)的最大量化值,表現(xiàn)為被測(cè)物體出現(xiàn)局部亮度飽和,加之相機(jī)自身的噪聲和灰度量化誤差等因素,導(dǎo)致條紋圖像的信噪比下降,影響測(cè)量精度。
對(duì)于具有強(qiáng)反射表面的被測(cè)物,單張圖像無(wú)論曝光時(shí)間多長(zhǎng)都會(huì)出現(xiàn)曝光過(guò)度或曝光不足的現(xiàn)象,導(dǎo)致局部圖像失真。而多曝光圖像融合將不同曝光時(shí)間下拍攝的一組低動(dòng)態(tài)范圍圖像合成一幅高動(dòng)態(tài)范圍圖像,能夠顯示出圖像中的更多細(xì)節(jié),從而克服局部圖像失真的問(wèn)題[10]。具體步驟如下:
第一步,選擇N個(gè)不同的曝光時(shí)間,投影儀按照曝光時(shí)間從長(zhǎng)到短的順序向被測(cè)物體投射白光,將相機(jī)獲取的圖像依次存入序列I中,然后對(duì)序列I中的圖像進(jìn)行高斯濾波減少噪聲干擾。定義合成方法所需的掩模序列為M[7],其計(jì)算公式如公式(1)所示:
其中:Ii(m,n)表示I中第i幅圖像在坐標(biāo)(m,n)的像素灰度值,N為曝光次數(shù)。此時(shí)的序列M中除了目標(biāo)區(qū)域,仍存在一些干擾點(diǎn),可以使用腐蝕和膨脹的算法進(jìn)行濾除。
第二步,按照曝光時(shí)間從長(zhǎng)到短的順序分別采集四張相移為π/2的光柵條紋圖像,共采集4組光柵條紋圖像,設(shè)采集的光柵條紋圖像為JSi,其中S=1,2,3,4,i=1,2,3,…,N。
第三步,用M序列中的掩模圖像與JS序列中的條紋圖像依次相乘,利用公式(2)得到序列GS,其計(jì)算公式為:
其中,GSi(m,n)為M序列中第i幅掩模圖像與JS序列中第i幅條紋圖像相乘之后在(m,n)處的灰度值。
第四步,利用公式(3)對(duì)序列GS中的每一張圖片進(jìn)行線性變換,得到序列FS。通過(guò)降低圖像的亮度和對(duì)比度使圖像整體變暗,使其在下一步圖像融合之后圖像中不會(huì)出現(xiàn)新的高光區(qū)域,而對(duì)原本灰度值較暗的區(qū)域影響很小。
其中:FSi(m,n)為序列FS中第i幅圖像在(m,n)處的灰度值;α用于調(diào)整圖像的對(duì)比度;β用于調(diào)整圖像的亮度,即圖像灰度值的大小。
第五步,進(jìn)行圖像融合。用T表示融合后的光柵圖像,則點(diǎn)(m,n)的灰度值T(m,n)的計(jì)算公式如式(4)所示:
第六步,對(duì)融合之后的光柵圖像T的灰度值歸一化,即圖像每個(gè)像素點(diǎn)的灰度值除以255,使其取值范圍為0~1,如式(5)所示:
第七步,對(duì)圖像K進(jìn)行伽馬變換后將圖像灰度值還原,得到一幅無(wú)失真的圖像H,如式(6)和圖2所示。當(dāng)γ小于1時(shí),將輸入圖像中范圍較窄的低灰度值映射為輸出圖像中較寬范圍的灰度值;而當(dāng)γ大于1時(shí),將輸入圖像中范圍較窄的高灰度值映射為輸出圖像中較寬范圍的灰度值。選取合適的γ,可以使圖像H較暗區(qū)域的灰度值得到提升,而對(duì)較亮區(qū)域的灰度值影響較小。
其中:c為常數(shù),γ為變換系數(shù)。圖2表示的圖像灰度值范圍為0~1,還原需乘以255。
圖2 伽馬函數(shù)曲線Fig.2 Gamma function curve
綜上,多曝光圖像融合是將掩模序列M與條紋序列JS相乘得到的條紋序列GS進(jìn)行線性變換,然后將經(jīng)過(guò)線性變換的條紋序列FS進(jìn)行圖像融合得到條紋圖像T,最后將圖像T進(jìn)行伽馬變換得到最后的條紋圖像H,主要流程如圖3所示:
投影柵相位法以其非接觸、高精度的優(yōu)點(diǎn)被廣泛用于物體的三維測(cè)量,其原理是計(jì)算多幅具有一定相位差的條紋圖上的每個(gè)像素點(diǎn)的相位值,然后根據(jù)這些相位值來(lái)計(jì)算出物體的三維信息,本文采用四步移相法計(jì)算條紋圖中的相位信息[11],即條紋圖數(shù)量為4,相鄰兩幅條紋圖的相位差為π/2,四幅條紋圖在坐標(biāo)(m,n)處的灰度值分布如公式(7)所示:
其中:Ii(m,n)為第i幅條紋圖在點(diǎn)(m,n)處的灰度值,I′(m,n)為圖像背景灰度值,I″(m,n)為圖像的灰度調(diào)制,φ(m,n)為需要解算的相位主值。則四步移相法的相位解算如公式(8)所示:
由三角函數(shù)的性質(zhì)可知,公式(8)的結(jié)果包裹在[-π/2,π/2]區(qū)間內(nèi),但實(shí)際相位值在一個(gè)周期內(nèi)是唯一的,所以需要將其解開到[0,2π]之間。此時(shí)要在包裹的相位值的基礎(chǔ)上獲得完整的相位就需要展開,那么完整的相位值為:
其中:φ表示光柵條紋解出的相位主值,k為當(dāng)前對(duì)應(yīng)的周期次數(shù)。
本文通過(guò)雙頻外差相位展開法[12]獲得相位主值。投影儀投射兩種光柵條紋圖,接著先提取兩幅相位主值圖,根據(jù)光柵條紋圖疊柵的性質(zhì),假設(shè)θ1和θ2分別表示光柵節(jié)距為P1和P2的兩幅光柵圖的絕對(duì)相位,則
當(dāng)Δn2-Δn1>0時(shí):
其中:Δn1和Δn2分別表示兩種頻率光柵條紋級(jí)數(shù)的小數(shù)部分;P1和P2表示投射兩種光柵條紋圖像的光柵節(jié)距;φ1和φ2表示由兩種頻率光柵條紋解出的相位主值;參數(shù)q和光柵條紋節(jié)距有關(guān),通常在設(shè)計(jì)雙頻光柵條紋投影圖案時(shí)光柵條紋節(jié)距P1小于P2,使得可測(cè)區(qū)間處于同一級(jí)條紋級(jí)數(shù)內(nèi),即取q=0。
為驗(yàn)證所提方法的普適性,實(shí)驗(yàn)選取法蘭片、標(biāo)準(zhǔn)塊和U型卡作為被測(cè)樣件。分別采用投影柵相位法、文獻(xiàn)[5]的方法、文獻(xiàn)[9]的方法和本文的改進(jìn)方法對(duì)以上樣件進(jìn)行三維輪廓檢測(cè)。采集圖像時(shí)根據(jù)法蘭片、標(biāo)準(zhǔn)塊和U型卡表面不同的反射特性,曝光時(shí)間等參數(shù)的選擇也有所不同,具體參數(shù)如表1所示:
表1 被測(cè)物體各參數(shù)值Table 1 Parameters values of the measured object
本文采用四步移相法和雙頻外差法得到圖像的相位信息,雙頻光柵條紋的節(jié)距分別為34 pixel和36 pixel。以法蘭片為例,當(dāng)條紋節(jié)距為34 pixel時(shí),分別在曝光時(shí)間為100 ms、80 ms、60 ms和40 ms的情況下采集4幅光柵條紋圖,共分為4組。接著與由公式(3)得到的一組掩模圖像依次相乘之后進(jìn)行線性變換,取α為0.6,β為0。然后通過(guò)公式(6)將每組的四幅圖像進(jìn)行疊加,得到一幅無(wú)高光區(qū)域但圖像整體較暗的圖像,最后將每組的圖像進(jìn)行伽馬變換,取c為1,γ為0.6,最終得到4幅條紋圖像。圖4~6分別是利用投影柵相位法、文獻(xiàn)[5]方法、文獻(xiàn)[9]方法和用本文方法得到的移相圖。圖7~9分別是上述四種種方法經(jīng)相位解算和參數(shù)標(biāo)定[13]得到被測(cè)物體表面三維點(diǎn)云數(shù)據(jù),由此可以重構(gòu)出被測(cè)物體表面三維輪廓。
圖4 法蘭片在不同方法下的條紋圖像Fig.4 Fringe image of flange in different methods
圖5 標(biāo)準(zhǔn)塊在不同方法下的條紋圖像Fig.5 Fringe image of standard block in different methods
圖6 U型卡在不同方法下的條紋圖像Fig.6 Fringe image of U-card in different methods
圖4~6中第一張圖像均是通過(guò)投影柵相位法所獲得的,即光柵條紋直接投射在物體表面上,由于被測(cè)物體具有強(qiáng)反射性,導(dǎo)致物體表面出現(xiàn)區(qū)域過(guò)大的高光和過(guò)暗的區(qū)域,同時(shí)對(duì)條紋的破壞程度也是最大的;第二張圖像均是通過(guò)文獻(xiàn)[5]的方法獲得,利用多曝光圖像融合技術(shù),去除被測(cè)物體中像素值為255的像素點(diǎn),但經(jīng)過(guò)融合之后原本過(guò)曝區(qū)域的附近會(huì)出現(xiàn)新的高光區(qū)域,且對(duì)于過(guò)暗的區(qū)域沒(méi)有明顯的改變,存在較大的高光和過(guò)暗的區(qū)域;第三張圖像均是通過(guò)文獻(xiàn)[9]的方法獲得,先將條紋二值化再進(jìn)行多曝光圖像融合,雖然條紋經(jīng)過(guò)二值化之后具有一定的魯棒性和抗噪型,但是原本過(guò)曝區(qū)域的附近依然會(huì)出現(xiàn)部分高光區(qū)域,同樣對(duì)于過(guò)暗區(qū)域沒(méi)有明顯改變;第四張圖均是通過(guò)本文方法獲得,利用多曝光圖像融合技術(shù)結(jié)合線性函數(shù)和伽馬函數(shù)對(duì)圖像進(jìn)行處理,不僅可以去除圖像中的高光點(diǎn),也能對(duì)圖像灰度值較低區(qū)域的灰度值進(jìn)行提高,所以圖中沒(méi)有明顯高光和過(guò)暗的區(qū)域。
圖7 法蘭片在不同方法下測(cè)量的點(diǎn)云結(jié)果Fig.7 Point cloud results of flange measured by different methods
圖8 標(biāo)準(zhǔn)塊在不同方法下測(cè)量的點(diǎn)云結(jié)果Fig.8 Point cloud results of standard block measured by different methods
從點(diǎn)云圖像對(duì)比來(lái)看,投影柵相位法在面對(duì)強(qiáng)反射表面物體時(shí),由于曝光過(guò)度或曝光不足,會(huì)導(dǎo)致點(diǎn)云嚴(yán)重缺失,降低檢測(cè)精度;文獻(xiàn)[5]的方法雖然能獲得部分過(guò)明區(qū)域的點(diǎn)云,但是過(guò)明區(qū)域附近和過(guò)暗區(qū)域的點(diǎn)云依然部分缺失;文獻(xiàn)[9]的方法使條紋進(jìn)行二值化之后具有一定的魯棒性和抗噪性,但是過(guò)明區(qū)域附近和過(guò)暗區(qū)域的點(diǎn)云也會(huì)出現(xiàn)少量缺失;而使用本文方法檢測(cè)強(qiáng)反射物體表面時(shí),過(guò)明和過(guò)暗區(qū)域的點(diǎn)云均可獲得,一定程度上提高了實(shí)驗(yàn)的精度。
圖9 U型卡在不同方法下測(cè)量的點(diǎn)云結(jié)果Fig.9 Point cloud results of U-card measured by different methods
表2 三維重建方法測(cè)量出的點(diǎn)云個(gè)數(shù)Tab.2 Number of point clouds measured by 3D reconstruction method
三維重建方法測(cè)量出的點(diǎn)云個(gè)數(shù)如表2所示。將三種強(qiáng)反射表面物體噴涂一層很薄的顯像劑,使之表面呈現(xiàn)漫反射的特性,采用投影柵相位法測(cè)量出點(diǎn)云個(gè)數(shù),作為基準(zhǔn)數(shù)。對(duì)未噴涂顯像劑的被測(cè)物,分別用投影柵相位法、文獻(xiàn)[5]的方法、文獻(xiàn)[9]的方法和本文方法檢測(cè)出點(diǎn)云個(gè)數(shù),并與基準(zhǔn)數(shù)進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果表明,使用投影柵相位法檢測(cè)法蘭片、標(biāo)準(zhǔn)塊和U型卡時(shí)只有約79.2%、66.2%和82.0%的三維點(diǎn)可以被測(cè)出,點(diǎn)云嚴(yán)重缺失;文獻(xiàn)[5]的方法對(duì)于這三種物體表面進(jìn)行檢測(cè)時(shí)約有87.2%、93.4%和92.2%的三維點(diǎn)可以被測(cè)出,有較多部分點(diǎn)云缺失;文獻(xiàn)[9]的方法對(duì)于這三種物體表面進(jìn)行檢測(cè)時(shí)有93.9%、95.8%和93.8%的三維點(diǎn)可以被測(cè)出,雖然將光柵條紋進(jìn)行二值化使其具有一定魯棒性,但是依然有少部分的點(diǎn)云缺失;而使用本文方法進(jìn)行檢測(cè)時(shí)分別可測(cè)出99.8%、99.1%和99.3%的點(diǎn)云??梢?,本文提出的方法可以有效解決在檢測(cè)強(qiáng)反射表面時(shí)由于過(guò)曝或者曝光不足所引起的輪廓信息失真問(wèn)題。
為驗(yàn)證所提方法的有效性,將本文方法所測(cè)相位結(jié)果同在被測(cè)物體上噴涂顯像劑所測(cè)相位進(jìn)行對(duì)比,為了避免單個(gè)像素點(diǎn)引入較大誤差,選取同一區(qū)域40 pixel×40 pixel分別計(jì)算相位的均值和標(biāo)準(zhǔn)差,并以噴涂顯像劑時(shí)所測(cè)相位均值為基準(zhǔn),計(jì)算本文方法所測(cè)相位均值的相對(duì)誤差。表3~5分別給出了法蘭片、標(biāo)準(zhǔn)塊和U型卡5個(gè)不同高光區(qū)域的對(duì)比結(jié)果。
表3 法蘭片相位對(duì)比Tab.3 Phase comparison of fringe
表4 標(biāo)準(zhǔn)塊相位對(duì)比Tab.4 Phase comparison of standard block
表5 U型卡相位對(duì)比Tab.5 Phase comparison of U-card
從表3~5可以看出本文方法測(cè)量法蘭片、標(biāo)準(zhǔn)塊和U型卡的最大相對(duì)誤差分別為0.010%、0.022%和0.166%。各表中標(biāo)準(zhǔn)差值均較小,說(shuō)明在測(cè)量過(guò)程中所選區(qū)域未引入較大誤差點(diǎn)。實(shí)驗(yàn)結(jié)果表明,采用本文方法對(duì)相位進(jìn)行多次數(shù)值變換之后對(duì)相位計(jì)算的影響較小,與表面噴涂顯像劑處理后所測(cè)相位值較為接近,說(shuō)明本文所提方法能有效地解決強(qiáng)反射表面物體的高光問(wèn)題。
針對(duì)強(qiáng)反射物體表面測(cè)量失效的原因進(jìn)行分析,提出一種在投影柵相位法的基礎(chǔ)上結(jié)合線性函數(shù)和伽馬函數(shù)變換的多曝光融合技術(shù)檢測(cè)強(qiáng)反射物體表面三維輪廓的方法,在文獻(xiàn)[5]的方法上加以改進(jìn),與文獻(xiàn)[9]中的圖像融合技術(shù)相比,本文僅用一組掩模,減少了計(jì)算掩模圖像的時(shí)間,提高了檢測(cè)效率,實(shí)驗(yàn)表明此方法可以測(cè)得99.1%以上的點(diǎn)云數(shù)量,有效地解決了現(xiàn)有方法在檢測(cè)強(qiáng)反射物體表面輪廓時(shí)點(diǎn)云缺失的問(wèn)題,為強(qiáng)反射物體表面三維輪廓的精確測(cè)量提供了參考。