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