(河海大學(xué) 機電工程學(xué)院,常州 213022)
在現(xiàn)代工業(yè)快速發(fā)展過程中,對于類鏡面的透明物體,如手機玻璃蓋板、鋼化膜、曲面玻璃等,檢測和測量精度已經(jīng)成為制約制造技術(shù)發(fā)展的主要因素之一[1]。目前,對于這類類鏡面物體表面質(zhì)量檢測方法主要分為兩類:接觸式和非接觸式[2]。接觸式常用的有接觸式三角坐標(biāo)儀,但三角坐標(biāo)儀測量時間相當(dāng)長[3](通常數(shù)小時以上),不能滿足工業(yè)快速檢測要求,而且還可能破壞測量物體表面。非接觸式有干涉法和相位偏折法(PMD)。干涉法測量精度高,但設(shè)備昂貴,對環(huán)境光亮度變化敏感,不能用于自由曲面。PMD有檢測速度快、精度高,設(shè)備成本低等優(yōu)點[2,4-5],但是相位偏折術(shù)也存在一些局限性,比如在檢測透明物體時會存在后表面反射干擾。
相位偏折術(shù)關(guān)鍵算法在于解相位和拆相位。目前,解相位計算方法主要有相移法、傅里葉變換輪廓術(shù)、小波變換輪廓術(shù)[6]等。相移法需要采集多張圖像進行計算,可以獲得完整的相位信息,對于非線性誤差抑制效果好[7];傅里葉變換輪廓術(shù)和小波變化輪廓術(shù)都是單幀測量,對于隨機噪聲抑制效果較好,但是傅里葉變換輪廓術(shù)在積分重建后會丟失部分細節(jié);小波變換輪廓術(shù)雖然細節(jié)保存較好,但是處理速度慢。本文主要目的在于檢測缺陷,需要完整的相位信息,所以選用相移法。
拆相位通常分為空間相位展開法和時域相位展開法[8]??臻g相位展開法與積分路徑選擇有關(guān),如果在積分路徑上存在干擾,會影響到下一像素點及以后像素點,最終解得的全局絕對相位會存在“拉線”現(xiàn)象,這是需要避免的。針對這一問題,國內(nèi)外研究學(xué)者提出了一些解決方案,如枝切法[9]、基于統(tǒng)計濾波的解包法[10]、中心攝動法[11]等。這些方法主要目的都是在于主動選擇積分路徑,避開干擾點,實際應(yīng)用場景會受到限制。時域相位展開法利用輔助條紋圖得到折疊相位參考相位,以實現(xiàn)相位展開。常見的方法有線性遞增法、指數(shù)遞增法、三頻外差相位展開法[12],利用時域展開法可以有效避免干擾,本文將采用時域展開法避開干擾。
傳統(tǒng)檢測類鏡面透明物體主要采用的是明場、暗場的方法[13],這種方法成像質(zhì)量較差,且很難從獲取的圖像中分離出臟污和損傷性缺陷。
本文提出用相位偏折術(shù)方法檢測類鏡面透明物體表面缺陷。針對后表面反射干擾提出用圖像處理的方法過濾干擾。由于前后表面反射率不同,可以用動態(tài)閾值分割結(jié)合形態(tài)學(xué)處理過濾掉后表面缺陷,僅保留前表面實際缺陷。整個檢測過程相對傳統(tǒng)PMD無需對硬件結(jié)構(gòu)作出調(diào)整,只需要增加圖像處理算法,即可過濾后表面反射干擾。本文所提方法經(jīng)過實驗驗證,可以打破PMD在檢測透明物體時的局限性,提高了PMD的應(yīng)用范圍和檢測準(zhǔn)確率。
PMD缺陷檢測系統(tǒng)主要由顯示器、反光物體(被測物體表面)和相機組成,如圖1所示。系統(tǒng)采用鏡面反射的方法,顯示器投影結(jié)構(gòu)光,相機采集經(jīng)物體表面調(diào)制過的條紋光圖像,調(diào)制過的條紋光圖像包含了反射表面的三維信息,通過對鏡像圖像進行相位提取、解相位、拆相位可以得出反射表面的梯度信息,缺陷處相位變化劇烈,可以根據(jù)梯度變化大小來確定是否為缺陷[14]。
圖1 PMD缺陷檢測系統(tǒng)
如圖2(a)所示,當(dāng)不存在后表面反射時,顯示器上某一點S被點亮,發(fā)出一條光線,經(jīng)過上表面的O點反射到相機上的A點,其中θ1和θ2是入射光線和反射光線與法線Z方向的夾角。通過反射定律可以逆向追蹤CCD每個像素點所對應(yīng)的顯示器上的像素點的坐標(biāo)。傳統(tǒng)PMD通常采用相移的正弦條紋光作為結(jié)構(gòu)光,CCD上的像素點A可以根據(jù)相移算法算出光源點S的位置。當(dāng)存在后表面反射時,前后表面反射的光線會產(chǎn)生非相干疊加,這樣提取出來的條紋相位就是一個疊加的條紋相位。
圖2 PMD測試系統(tǒng)示意圖
如圖2(b)所示,如果檢測表面不存在缺陷,此時光線全部平行射入、平行射出,CCD接收到的光強信號可以表示為:
Iaccept=Ifront+Irear(k)
(1)
式中,Iaccept表示CCD接收到的總光強,Ifront表示前表面反射光強,Irear表示后表面反射光強,k表示相移步數(shù),所以每一點的亮度都是經(jīng)過疊加,那么解算出來的絕對相位信息不會發(fā)生突變。一旦出現(xiàn)缺陷時,前表面的缺陷會被映射到后表面,形成重影,此時解算出來的相位信息會在前表面處產(chǎn)生一次突變,在后表面處產(chǎn)生一次突變,最終會表現(xiàn)為兩個缺陷。因此,解算反射圖像的絕對相位是獲得缺陷圖像的重要前提,而解算絕對相位又分為解相位和拆相位兩個步驟。
相移法需要顯示器顯示多幅不同初始相位的圖像并由相機獲得,當(dāng)采用正弦條紋時,假設(shè)采用N步相移法,則相機接收到的光強表達式為:
In(x,y)=a(x,y)+b(x,y)cos(φ+2πn/N)
(2)
式中,In(x,y)為相移n步時圖像光強,是由相機獲得的已知量,a(x,y)表示背景光強分布,b(x,y)表示調(diào)制度分布[1],相位φ是要求解的未知量,所以要求出φ至少需要三步相移,即N最小為3。用最小二乘法可以解出(2)式中的φ,結(jié)果為:
(3)
由于反正切函數(shù)值域在[-π,π],所以φ(x,y)是絕對相位值被折疊在[-π,π]區(qū)間內(nèi)的包裹相位,如圖3(a)所示。折疊相位圖中存在多處灰度截斷,截斷處與被測物和缺陷混疊,無法識別缺陷,所以要對獲得的包裹相位進行展開,這一過程稱為相位展開。
為了獲得連續(xù)的絕對相位值,必須確定相位截斷處的周期級數(shù),通常用k表示。在折疊相位φ(x,y)的基礎(chǔ)上加上所在的周期級數(shù)2k(x,y)π即可得到連續(xù)的實際相位值。
圖3 相位解碼
本文采用時域相位展開法,輔助條紋圖選擇格雷碼圖。格雷碼相位展開按時間序列展開相位,不會造成誤差累計,而且結(jié)合相移碼后可以減少格雷碼的編碼位數(shù),加快解碼速度。格雷碼條紋將圖像中的像素編碼,用于確定相位級數(shù),相移正弦條紋圖用于確定包裹相位,如圖3(b)所示。
相移周期不能小于格雷碼周期的N倍,N為相移步數(shù),這樣才能對所有像素點唯一編碼。將格雷碼確定的相位級數(shù)2k(x,y)π和相移法確定的包裹相位φ(x,y)結(jié)合,即可求得連續(xù)的絕對相位:
φ(x,y)=φ(x,y)+2k(x,y)π
(4)
根據(jù)相位與梯度的關(guān)系,可以得到被測物體表面x和y方向的梯度分布:
(5)
(6)
式中,gx、gy表示x和y方向的梯度,θx和θy分別表示被測物表面兩個方向的偏轉(zhuǎn)角,Δθx和Δθy表示兩個方向絕對相位與參考相位間的相位差,Px和Py表示兩個方向的條紋周期,Lx和Ly表示被測物與顯示屏間的高度。
解得的絕對相位與被測物體表面梯度成正相關(guān),缺陷處梯度會產(chǎn)生突變,因此梯度可以用來表征缺陷[15]。由于被測物體表面近似平面,所以解得的梯度值大多近似為0,如圖4所示,缺陷處梯度會產(chǎn)生突變,此時梯度會大于1,局部缺陷較大處甚至?xí)^10。
圖4 梯度圖
由于人眼能夠識別的灰度值范圍在0~255,而當(dāng)灰度值小于10的時候很難分辨出來,所以不能對梯度圖直接進行圖像處理,需要先將梯度圖拉伸至0~255范圍內(nèi),如圖5表示從x、y方向相位圖轉(zhuǎn)換成缺陷圖的處理過程。
圖5 從相位圖到缺陷圖的變換過程
從梯度轉(zhuǎn)換的缺陷圖中,可以明顯看到前表面的劃痕在后表面也有相同形狀的成像。針對這一現(xiàn)象本文提出采用圖像處理的方法消除后表面成像干擾,主要處理方法包括:圖像重建、形態(tài)學(xué)處理、圖像分割等。首先用高斯濾波對圖像濾波,降低噪聲干擾,然后用動態(tài)閾值分割獲取前表面二值化圖像區(qū)域,再對分割區(qū)域進行膨脹、骨架提取等操作提取出前表面缺陷,然后求取缺陷處最小外接矩形對圖像進行重建,重建過程中僅保留缺陷處像素灰度值,其余部分全部設(shè)為0,這樣就能得到僅含前表面缺陷的圖像,再對無后表面缺陷的圖像用全局閾值分割和閉運算提取出缺陷區(qū)域,最后在缺陷處用最小外接矩框出,以便后續(xù)根據(jù)缺陷特征對缺陷分類。
由于電子元器件內(nèi)部電子的隨機運動或者或者外部的天然電磁都會對圖像采集造成干擾[16],其結(jié)果會造成成像質(zhì)量下降,影響后邊的缺陷提取。所以需要對圖像進行濾波處理。常見的濾波方法有中值濾波、均值濾波、高斯濾波等。中值濾波和均值濾波對圖像平滑效果較好,但是對缺陷細節(jié)丟失比較明顯,而且圖像模糊,從圖6的三維灰度圖中可以看出高斯濾波在平滑圖像的同時能夠較好的保留缺陷的細節(jié)信息。
圖6 中值濾波、均值濾波和高斯濾波效果對比
本文采用高斯濾波對圖像進行平滑處理,過濾噪聲。連續(xù)二維高斯函數(shù)如下:
(7)
式中,G(x,y)表示像素點(x,y)經(jīng)過高斯濾波后的結(jié)果,σ為標(biāo)準(zhǔn)差。
離散化后得:
(8)
通過式(8)可以得到高斯濾波模板為:(2k+1)×(2k+1)。
缺陷提取中最關(guān)鍵的一步就是圖像分割,只有準(zhǔn)確的分割出前表面缺陷區(qū)域才能過濾后表面缺陷,從而消除后表面反射干擾。圖像分割算法有多種,目前應(yīng)用最廣泛的主要有閾值分割法、全局閾值分割法、Otsu法、動態(tài)閾值分割法等。本文先采用動態(tài)閾值分割的方法粗略的分割出前表面缺陷,消除后表面缺陷后再用閾值分割法分割出缺陷。
閾值分割算法是最簡單的圖像分割技術(shù),主要適用于前后背景差異較大,待分割區(qū)域比較明顯的情況。閾值分割的關(guān)鍵就在于選取合適的閾值T區(qū)分前景和后景。其表達式如下:
(9)
式中,f(x,y)表示輸入圖像像素點的灰度值,T表示用于分割前景和后景的閾值,g(x,y)表示輸出圖像。
動態(tài)閾值分割法就是利用像素點的的灰度值與其所在背景周圍的平均閾值比較,大于(或小于)某個值時,設(shè)置為目標(biāo)物體,其分割原理如下[17]:
(10)
式中,f(x,y)為輸入的原始圖像,g(x,y)為平滑后的背景圖像,T為分割的閾值,T的實際值為指定閾值和改點平均灰度之和,B(x,y)為輸出的二值化圖像。動態(tài)閾值分割適用于背景復(fù)雜或要區(qū)分的閾值差異不明顯的情況,而前后表面缺陷閾值差異不大,甚至還有重疊。由于動態(tài)閾值分割法充分利用了像素點周圍的灰度值,所以分割時閾值一直是動態(tài)變化的,可以區(qū)分出前后表面缺陷如圖7(a)所示。
通過圖像分割可以得到前表面缺陷區(qū)域的粗提取,從圖7(a)中可以看出提取出的區(qū)域不能覆蓋所有缺陷區(qū)域,而且還存在斷續(xù)現(xiàn)象,所以需要對分割的區(qū)域進行形態(tài)學(xué)處理,以得到完整的缺陷區(qū)域。本文用到的形態(tài)學(xué)方法主要有膨脹、閉運算、骨架提取等。
2.3.1 膨脹和腐蝕
膨脹是一種集合運算,如果定義A和B兩個集合,則以B為結(jié)構(gòu)元對A集合進行膨脹定義為:
(11)
式中,B為結(jié)構(gòu)元素,A為待膨脹區(qū)域,z為膨脹操作后的結(jié)果。膨脹是一種“粗化”操作,可以將指定區(qū)域邊緣處拓寬,拓展的寬度由所用的結(jié)構(gòu)元大小控制。如圖7(b)為分割的缺陷區(qū)域經(jīng)過膨脹操作的結(jié)果。
圖7 圖像分割后膨脹處理
腐蝕與膨脹相反,是一種“細化”操作,如果定義A和B兩個集合,則以B為結(jié)構(gòu)元對A集合進行腐蝕定義為:
AΘB={z|(B)z?A}
(12)
式中,B為結(jié)構(gòu)元素,A為待腐蝕區(qū)域,z為腐蝕操作后的結(jié)果。
2.3.2 閉運算
閉運算操作是先對A區(qū)域膨脹,然后再用同樣的結(jié)構(gòu)元進行腐蝕操作。使用結(jié)構(gòu)元B對A進行閉運算定義為[18]:
A·B=(A⊕B)ΘB
(13)
閉運算可以連接區(qū)域中不連續(xù)的區(qū)域,包括區(qū)域內(nèi)的孔洞和細小的鴻溝,而目標(biāo)對象總的形狀和位置不發(fā)生改變[19]。如圖8(a)所示,通過閉運算操作可以將斷續(xù)區(qū)域連接成一個區(qū)域。這樣方便后續(xù)對缺陷區(qū)域進行骨架提取,保證提取出完整的缺陷區(qū)域。
2.3.3 骨架提取
膨脹可以連通斷續(xù)的區(qū)域,但是不能表征缺陷的形狀。為了表征缺陷的形狀可以用形態(tài)學(xué)中的骨架提取操作,區(qū)域A的骨架可以用腐蝕來表達[20],即:
(14)
其中:
Sk(A)=(AΘkB)-(AΘkB)°B
(15)
式中,B是進行操作的結(jié)構(gòu)元,A(AΘkB)表示對A連續(xù)k次腐蝕至被腐蝕為空集前停止。經(jīng)過骨架提取操作后的區(qū)域如圖8(b)所示。從圖中可以清楚地看到缺陷區(qū)域的形狀和延伸方向。而且骨架輪廓正好位于缺陷區(qū)域的中心。
圖8 閉運算和骨架提取
如圖9所示,提取出骨架后將骨架膨脹至正好可以完整覆蓋缺陷區(qū)域的最小范圍,然后繪制缺陷區(qū)域最小外接矩形。此時矩形框內(nèi)為前表面缺陷,矩形框外為需要消除的干擾部分。所以直接對圖像重建,僅保留矩形框內(nèi)灰度值,其余部分全部以0填充,這樣就可以消除后表面缺陷成像,得到僅有前表面缺陷的圖像。
圖9 從骨架膨脹到重建圖像、提取缺陷過程
骨架提取后至消除后表面缺陷的過程如圖9所示。由于消除后表面缺陷的圖像中缺陷與背景差異較大,待分割區(qū)域明顯,所以采用最簡單、高效的閾值分割法提取缺陷,然后繪制最小矩形框,以便后續(xù)對缺陷特征數(shù)據(jù)分析。
為驗證本文所提的方法,搭建檢測系統(tǒng)如圖10所示,對手機玻璃蓋板進行缺陷檢測。實驗系統(tǒng)包括被測物,相機(分辨率1 280*960,像素尺寸3.75 μm*3.75 μm),顯示器(分辨率1 920*1 080,像素尺寸0.13 μm*0.13 μm)。
圖10 實驗系統(tǒng)裝置圖
檢測時,先將被測物置于載物臺。然后設(shè)置光源(即顯示器)為白屏顯示,調(diào)節(jié)相機光圈,使成像近乎過曝(這樣可以抑制臟污)。調(diào)節(jié)好光圈后,順序投影條紋圖。先投影格雷碼再投影正弦條紋,各分為兩個方向,分別為x方向和y方向。
采用四步相移法,相移條紋共8張,x、y方向各4張。最小灰度差設(shè)為40,用于確定二值化圖像。拆相位時以二值化的反射格雷碼為依據(jù),確定相位周期級數(shù)k。最終可得到檢測區(qū)內(nèi)絕對相位分布,結(jié)果如圖11(a)和11(b)所示。
圖11 x、y方向絕對相位圖
根據(jù)相位與梯度的關(guān)系,將相位轉(zhuǎn)換為梯度,然后將梯度值映射到0~255范圍內(nèi)可視化顯示,即可得到含有后表面反射的缺陷圖,如圖12(b)所示。
圖12 明場和相位偏折缺陷檢測效果對比
對解算出的缺陷圖進行圖像處理,消除后表面反射干擾后得到最終結(jié)果如圖12(c)所示。
為了驗證本文所提方法的可行性,將文中所提方法與傳統(tǒng)明場方法獲得的圖像和未消除后表面反射的圖像進行比對。
從圖12(a)的明場成像圖中可以看出,手機玻璃蓋板表面存在指紋印等臟污以及凹坑、劃痕等損傷性缺陷。臟污可以在出廠前清洗掉,損傷性缺陷只能報廢掉。但是如果只從明場圖像中看,那些指紋印與表面擦傷極為相似,對于沒有經(jīng)驗的工人來說很難區(qū)分出究竟是指紋印還是表面擦痕。
由于相位偏折術(shù)是基于反射條紋計算相位的,當(dāng)臟污的高度遠小于被測面到顯示屏間的距離時,臟污并不會影響到反射條紋的相位,所以根據(jù)式(5)~(6)計算梯度時也不會造成梯度突變。這樣在灰度拉伸后的缺陷圖12(b)中就不存在臟污等非損傷性缺陷。但是在檢測手機玻璃蓋板等透明物體時,后表面存在反射干擾,這一干擾會直接影響到相位的提取,導(dǎo)致解算出的缺陷圖中也存在后表面缺陷,從圖像上直觀來看就好像存在四條劃痕,這樣不便于我們對缺陷進行準(zhǔn)確的統(tǒng)計分析,所以根據(jù)前后表面反射率不同,成像不同的原理,結(jié)合圖像處理的方法消除后表面反射干擾,僅保留前表面缺陷,即如圖12(c)所示。
從圖12(c)中可以明顯看出這一樣品中存在兩個凹坑和兩條劃痕。通過將12(c)和12(a)對比可以驗證本文所提的方法準(zhǔn)確有效地檢測出了缺陷,同時過濾掉了臟污。
研究了基于PMD檢測類鏡面透明物體表面缺陷的方法,首先從原理推導(dǎo)了該方法的可行性,然后通過格雷碼和相移碼的解碼方式,驗證了理論推導(dǎo)的過程。提出采用圖像處理的方法消除后表面反射干擾,該方法能有效保留前表面缺陷,過濾后表面缺陷,避免了缺陷誤檢和過殺。通過與傳統(tǒng)明場檢測缺陷方法相比,驗證了該方法對臟污的過濾能力和缺陷的檢測能力,提高了損傷性缺陷的檢測準(zhǔn)確率。