張露文,薛曉軍,李 恒,王海瑞,張國銀,趙 磊
(昆明理工大學(xué)信息工程與自動化學(xué)院,云南 昆明 650500)
印刷電路板PCB(Printed Circuit Board)作為信息技術(shù)的載體,為各類電子器件提供支撐,在工業(yè)生產(chǎn)中的應(yīng)用十分廣泛。從我們平時生活中使用的手機、電腦,到軍工的飛機、衛(wèi)星都少不了PCB板的身影。在PCB的制造過程中,由于生產(chǎn)環(huán)境復(fù)雜,且其內(nèi)部的阻性元器件會造成所采集的PCB圖像攜帶大量高斯噪聲,對后續(xù)PCB斷路、孔洞等質(zhì)量檢測與分類帶來了干擾,因此如何獲得去噪的高質(zhì)量PCB圖像至關(guān)重要。
目前,研究人員針對PCB圖像去噪問題進行了深入研究,提出了以下算法。劉艷萍等人[1]提出了基于X光機的多幀PCB圖像去噪算法,采用多幀平均濾波與中值濾波相結(jié)合的方法對PCB圖像進行去噪,該算法縮短了對PCB圖像去噪的時間,然而去噪結(jié)果并不理想。李丹等人[2]提出了一種改進的小波閾值去噪算法,該算法對含噪聲的PCB圖像進行小波分解,在對分解后不同尺度下的小波系數(shù)按照改進的閾值方法進行處理的基礎(chǔ)上,進行PCB圖像重構(gòu),雖然均方誤差有所下降,但圖像細節(jié)沒有得到較好的保持。孫家富[3]對常見的幾種空間域PCB去噪方法進行了研究和分類,比較它們的優(yōu)劣性和適用性,通過一定的實驗驗證了方法,但并沒有給出具體的實驗數(shù)據(jù)。余麗紅等人[4]提出了一種基于先驗信息的PCB圖像自適應(yīng)去噪算法。該算法結(jié)合了非局部均值NLM(Non-Local Mean)去噪算法和自適應(yīng)正則化全變分去噪算法,利用圖像自身的相似性和冗余性結(jié)構(gòu)信息來去除噪聲,減少了去噪后圖像的偽影和階梯效應(yīng)等現(xiàn)象,但是圖像的邊緣信息有所丟失。婁偉等人[5]提出了一種基于L1-L2范數(shù)的正則項去噪模型的PCB圖像去噪算法,提升了PCB圖像無損檢測的準(zhǔn)確率,改善了PCB圖像的視覺效果,然而迭代過程計算量龐大,算法復(fù)雜度高。
本文從以下2個方面來重新探討PCB圖像去噪算法:(1)圖像的邊緣信息有所丟失的問題,首先使用形態(tài)學(xué)權(quán)重自適應(yīng)圖像增強算法對PCB圖像進行增強,將增強后的圖像用于下一步去噪處理;(2)傳統(tǒng)的NLM算法會由于圖像中不同噪聲對一些相似像素點的干擾,以致權(quán)值的計算不夠準(zhǔn)確,去噪效果不佳,圖像容易出現(xiàn)邊緣信息丟失的現(xiàn)象。為了解決上述去噪算法的不足,本文旨在提高圖像的去噪質(zhì)量,同時增強圖像邊緣信息,提出了一種基于特征匹配的改進NLM的去噪算法。
對于一幅噪聲圖像f(x),其噪聲可以表示為:
f(x)=t(x)+ε(x),x∈Ψ
(1)
其中,t(x)是初始噪聲的圖像,ε(x)是噪聲項,Ψ是所有像素的集合。從式(1)可得,噪聲是直接疊加在原始圖像上的,若能夠精確地獲得噪聲,用輸入圖像減去噪聲就可以恢復(fù)出原始圖像。而實際中,噪聲生成的方式不同導(dǎo)致噪聲難以定性和定量,不能簡單地由輸入圖像減去原始圖像求解出來。
工業(yè)生產(chǎn)中阻性元器件內(nèi)部產(chǎn)生的高斯噪聲可近似地由N(μ,σ2)來表示,即方差σ2越大,高斯噪聲也就越大。本文著力于研究PCB圖像去噪,即去除高斯噪聲。對N幅相同的圖像求平均[6]的結(jié)果將使得高斯噪聲的方差降低至原圖像的1/N。
Baudes等人[7]基于噪聲圖像中包含許多與自身相似元素的特點,提出了NLM算法,該算法利用加權(quán)平均的思想對一整幅圖像的所有像素點進行處理,選取2個圖像塊,通過高斯加權(quán)歐氏距離度量其結(jié)構(gòu)相似度,再通過結(jié)構(gòu)相似度來確定權(quán)重。NLM算法受一些奇異點的影響較小,圖像的結(jié)構(gòu)特征保留得較充分[8]。
為了在去除高斯噪聲的同時不改變原始圖像的信息,基于式(1)求圖像平均進行去噪的思想,非局部均值去噪算法應(yīng)運而生。非局部均值去噪與利用圖像局部信息來進行濾波的算法的不同之處在于,它是對整幅圖像求平均濾除高斯噪聲的[9],因此NLM算法能夠保留原始圖像的細節(jié)紋理和結(jié)構(gòu)特征。
NLM算法可以用式(2)表示:
(2)
因為高斯噪聲的存在,單獨對圖像的局部區(qū)域和部分像素點進行濾波不能起到很好的去噪效果。在對圖像進行相似度比較時,不再使用單個像素點間的灰度值的相似性作為比較的標(biāo)準(zhǔn),因此需要計算像素的鄰域,這些鄰域即為NLM算法的搜索區(qū)域。像素x、y的亮度值之差的平方是像素相似度[10],在鄰域內(nèi)由向量之間的歐氏距離衡量像素間的相似性。與強度灰度級向量x相似的灰階鄰域在平均值上有較大的權(quán)重,這些權(quán)重也被稱為歐氏距離,可定義為式(3):
(3)
利用NLM算法去噪后,圖像中的像素與圖像鄰域中像素的加權(quán)和的權(quán)重等于像素x和像素y的相似度。定義加權(quán)歐氏距離的遞減函數(shù)表示像素x和像素y的相似度,強度灰度級向量x和y影響加權(quán)歐氏距離。在帶噪鄰域中,歐氏距離的計算如式(4)所示:
(4)
NLM算法的復(fù)雜度為O(N2Nck2n2),其中,N2為圖像的大小,Nc為顏色通道數(shù),k2為塊的大小,n2為搜索框的大小。NLM算法不僅僅對單個點的灰度進行比較,還在整個鄰域中進行了對比,這使得它比鄰域篩選器有著更強的魯棒性[11]。然而,在采用NLM算法時,圖像中不同噪聲的存在會干擾一些相似像素點,以致權(quán)值的計算不夠準(zhǔn)確,圖像容易出現(xiàn)邊緣信息丟失的現(xiàn)象?;诖?,本文提出了一種基于改進NLM的去噪算法。
本文為了在保留PCB圖像的邊緣信息的同時增強去噪效果,并且降低算法復(fù)雜度,提出基于特征匹配的改進非局部均值算法。先對PCB噪聲圖像f(x)進行形態(tài)學(xué)權(quán)重自適應(yīng)圖像增強,以較好地提取圖像的邊緣信息,得到增強后的PCB圖像F(x);然后引入Harris特征提取模型對f(x)和F(x)進行特征匹配,提取出圖像的特征點;將特征點作為先驗信息對NLM算法中的權(quán)重值進行改進,減少了NLM算法的計算量,且保留了PCB圖像的邊緣信息,增強了PCB圖像的魯棒性,去噪效果也得到了增強。
針對PCB圖像焊盤小、走線復(fù)雜、紋理信息較為相似和去噪時邊緣信息容易丟失的問題,本節(jié)采用形態(tài)學(xué)權(quán)重自適應(yīng)圖像增強算法對原始輸入PCB噪聲圖像進行處理,以保留其特征。
原始輸入PCB噪聲圖像為f(x),對f(x)進行形態(tài)學(xué)權(quán)重自適應(yīng)圖像增強得到輸出圖像F(x)。在對噪聲圖像f(x)進行濾波處理時,為了增強圖像質(zhì)量,濾除掉不同類型的噪聲,需要選取不同維數(shù)的結(jié)構(gòu)元素。為了使圖像f(x)保留其幾何特征和邊緣信息,需要構(gòu)建形態(tài)學(xué)的多結(jié)構(gòu)元素來對噪聲圖像f(x)進行處理,采取的方法為構(gòu)造級聯(lián)濾波器,用形狀相同的結(jié)構(gòu)元素按維數(shù)由小至大的順序?qū)D像進行增強。在多個結(jié)構(gòu)元素級聯(lián)時,它們的形狀和維數(shù)都可以對圖像增強的效果產(chǎn)生一定作用。因此,結(jié)合形態(tài)學(xué)腐蝕過程中結(jié)構(gòu)元素的匹配原理,以及噪聲圖像f(x)中結(jié)構(gòu)元素可匹配的次數(shù)可以推導(dǎo)出基于形態(tài)學(xué)權(quán)重自適應(yīng)的權(quán)值計算公式,如式(5)所示:
μi=λi/(λ1+λ2+…+λn)
(5)
其中,μ1,μ2,…,μn分別表示n種形狀的結(jié)構(gòu)元素的權(quán)值,λ1,λ2,…,λn分別表示腐蝕過程中n種形狀的結(jié)構(gòu)元素能夠匹配圖像的次數(shù)。
輸入圖像為f(x),經(jīng)選取的結(jié)構(gòu)元素進行串行濾波后輸出結(jié)果為fi(x),i=1,2,…,n,輸出圖像記作F(x)。使用結(jié)構(gòu)元素結(jié)合形態(tài)學(xué)權(quán)重自適應(yīng)算法來確定權(quán)值μ1,μ2,…,μn,確定增強后的圖像F(x):
F(x)=sum(μi*fi(x)),i=1,2,…,n
(6)
Harris算子的表達式如式(7)和式(8)所示:
(7)
R=detM-ktrM
(8)
其中,G(x,y)為高斯函數(shù),R為角點響應(yīng)值,Ix、Iy分別為圖像I(x,y)的x、y方向的梯度。式(8)中,detM為矩陣M的行列式,trM為矩陣M的跡,k為常數(shù)(通常取0.04~0.06)。
基于Harris的特征匹配算法的具體實現(xiàn)過程如下:
(9)
(10)
C=D=G(x,y)?(IxIy)
(11)
(12)
同理對F(x)也進行該操作得到A′、B′、C′、D′。
步驟2對步驟1中每個像素點A、B、C、D、A′、B′、C′、D′,計算出它們對應(yīng)的Harris 角點響應(yīng)函數(shù)。將圖像f(x)和F(x)灰度化,遍歷灰度圖像中的每一個點。計算這些像素點在x,y方向上的一階導(dǎo)數(shù)及其一階導(dǎo)數(shù)的積:
R=(AB-CD)2-t(A+B)2
(13)
其中,t為常數(shù)。
步驟3提取以每個像素點為中心的ω*ω窗口邊界內(nèi)的極大值點,并計算它的Harris角點響應(yīng)。如果計算出的角點響應(yīng)值比規(guī)定閾值大,就將該點視為角點[13]。接著對原始圖像中所有角點所在窗口進行局部極大值抑制。選取圖像中以各像素點為中心的ω*ω窗口范圍,順次提取其極大值點。在這些ω*ω的窗口范圍內(nèi),若極大值等于圖像中心點的像素值,那么這個點即被確定為特征點。
對增強后的PCB圖像F(x)中已經(jīng)確定出的角點,取其鄰域(M*M)的相關(guān)窗。計算原始PCB圖像f(x)和增強后的PCB圖像F(x)中對應(yīng)角點的平移參量,對2幅圖像進行疊加處理。
利用加權(quán)平均的方法對特征點匹配過后的2幅圖像f(x)與F(x)進行特征融合,生成新的圖像g(x):
g(x)=ω(x,y)×f(x)+σ(x,y)×F(x)
(14)
其中,ω(x,y)和σ(x,y)分別代表原始圖像f(x)和增強后圖像F(x)的權(quán)重。
計算f(x)與F(x)的角點相關(guān)窗的相關(guān)系數(shù),取最大值,然后在增強后的PCB圖像F(x)中對應(yīng)尋找求得的最大值所對應(yīng)的位置點,就是其在PCB圖像f(x)中匹配到的特征點。
融合圖像的特征點可以表示為:
(15)
其中,Cm為匹配融合過后的特征點,m=1,2,3,…,n,W為融合圖像中像素x和像素y的鄰域。I1(x,y)為原始PCB圖像f(x)中像素x,y的梯度值,I2(x,y)為形態(tài)學(xué)權(quán)重自適應(yīng)圖像增強后的PCB圖像F(x)中像素x,y的梯度值。
以上采用對PCB圖像的邊緣信息進行增強的方法更好地對PCB圖像進行去噪,引入特征匹配模型得到的PCB圖像的特征點將用于下節(jié)對NLM算法的改進。
對于一幅PCB噪聲圖像,基于NLM的PCB圖像去噪方法可以表示如式(16)所示:
G(x)=∑y∈Iω(x,y)f(x)
(16)
該式表示對f(x)中的x點進行NLM去噪,其中ω(x,y)為權(quán)重,表示像素點x和像素點y之間的近似度。
基于特征匹配的改進NLM去噪算法的具體過程如下:
步驟1在PCB噪聲圖像f(x)中選取像素點i和像素點j,將i作為中心點,選取i的鄰域,又稱為相似塊比較區(qū)域,計算這個鄰域里各個點之間的像素值的高斯加權(quán)歐氏距離。確定搜索塊的大小為21×21,確定相似度比較塊的大小為7×7:
(17)
(18)
本文將式(17)中的λ(i)和λ(j)進行改進使搜索塊的選取更加適應(yīng)工業(yè)環(huán)境中的噪聲圖像,進而降低NLM算法的復(fù)雜度,提高計算速度。首先,對PCB噪聲圖像f(x)進行形態(tài)學(xué)權(quán)重自適應(yīng)圖像增強,得到增強后的PCB圖像F(x),通過增強PCB圖像的邊緣信息進一步對圖像進行去噪;然后,引入Harris特征提取模型對f(x)和F(x)進行特征匹配,提取出圖像的特征點;最后,將求得的融合圖像的特征點作為先驗信息對NLM算法中的權(quán)重值進行改進。
在工業(yè)環(huán)境中帶噪聲的PCB圖像的非邊緣區(qū)域會產(chǎn)生階梯效應(yīng),但圖像中不同區(qū)域的灰度特性是不同的,重復(fù)不斷地選取λ(i)和λ(j)的值的算法不是最優(yōu)的。因此,用式(15)求得的特征點對式(17) 和式(18)中的λ(i)、λ(j)進行改進。此時擴展圖像中以(i,j)為中心的鄰域窗口也發(fā)生了改變。
改進的NLM算法可以表示為:
(19)
(20)
其中,Q為特征點Cy的鄰域,λ(Cx)指以特征點Cx為中心的圖像中的一塊區(qū)域,x和y均為融合圖像g(x)中特征點。
相比式(17)和式(18),該式引入了特征匹配模型,對權(quán)重值進行了改進。改進前的NLM算法,由于工業(yè)PCB圖像中噪聲會干擾一些相似像素點,以致權(quán)值的計算不夠準(zhǔn)確,PCB圖像容易出現(xiàn)邊緣信息丟失的現(xiàn)象。通過改進權(quán)重可以使相似像素點的選取更加準(zhǔn)確,對噪聲圖像遍歷速度變快,使圖像的魯棒性增強,工業(yè)中噪聲的干擾變小。
步驟2將圖像g(x)進行外擴,方便進行塊之間的比較。首先在搜索塊內(nèi)取步驟1求得的第1個特征點,然后取該點Cy為中心的比較塊與圖像內(nèi)的第1點Cx為中心的比較塊,進行比較求得ω(Cx,Cy)。
步驟3反復(fù)取搜索塊中下一個特征點Cy重復(fù)步驟2操作,直至遍歷完搜索塊中的點為止。對搜索窗口內(nèi)提取到的一系列特征點求相似度[14]。
(21)
這種等價性顯示了改進NLM算法的魯棒性,歐氏距離可以保存特征點間相似程度。
步驟4將最大權(quán)重賦值給點Cx,并進行權(quán)重歸一化,然后通過NL[g](Cx)得到新圖像第1個點的像素值。
步驟5取PCB圖像g(x)第2個特征點Cy,重復(fù)步驟2操作,直至遍歷完圖像g(x),得到一幅新的圖像G(x)為止。
通過以上步驟對g(x)進行去噪得到輸出圖像G(x)。
實驗數(shù)據(jù)集來源于網(wǎng)絡(luò)搜集的PCB缺陷庫中的圖像。本節(jié)選擇了6組PCB圖像驗證本文算法的可行性,仿真軟件為Matlab2016a。通過仿真實驗對本文提出的去噪算法和ROF濾波、均值濾波、中值濾波、形態(tài)學(xué)串聯(lián)濾波、NLM濾波以及文獻[1,2,4,5]中的PCB去噪算法的效果進行比較。
圖1~圖3是利用10種算法分別對數(shù)據(jù)庫中選取的3組PCB圖像進行去噪處理后的效果圖。從3組圖的圖c中可以看出,ROF算法對PCB噪聲圖像的去噪效果很好,但是PCB圖像焊盤的邊緣信息模糊。從圖d和圖e中可以看出,中值濾波的去噪效果要優(yōu)于均值濾波,然而處理后的圖像沒有ROF算法的結(jié)果清晰。從圖f中可以看出,形態(tài)學(xué)自適應(yīng)圖像增強可以更好地保留圖像的邊緣信息,然而這種算法卻損失了圖像中的一些信息,焊盤的寬窄與原始圖像相比發(fā)生了一定的變化。從圖g中可以看出,NLM算法會存在一些偽影。從圖h和圖i中可以看出,文獻[1,2]的復(fù)合型算法以及改進的小波閾值去噪算法在去噪效果上不夠好,文獻[4]的基于先驗信息的PCB圖像自適應(yīng)去噪算法對PCB圖像存在過增強現(xiàn)象,文獻[5]對圖像的邊緣信息保持得較好,但從圖像的整體視覺效果來看,可以直觀感受到本文算法的整體去噪效果最好。
Figure 1 Denoising effect comparison of PCB1圖1 PCB1去噪效果對比圖
為了更進一步對本文算法進行客觀評價[15],采用通用的2個圖像質(zhì)量評價指標(biāo)——峰值信噪比PSNR(Peak Signal to Noise Ratio)和結(jié)構(gòu)相似度SSIM(Structural Similarity Index)作為去噪后PCB圖像質(zhì)量的評價標(biāo)準(zhǔn)[16],計算公式分別如式(22)和式(23)所示:
(22)
(23)
實驗中將標(biāo)準(zhǔn)差設(shè)置為15,計算本文提出的去噪算法和均值濾波、中值濾波、ROF算法和NLM算法以及文獻[1,2,4,5]中提出的針對PCB圖像去噪算法的峰值信噪比和結(jié)構(gòu)相似度,結(jié)果分別如表1和表2所示。
分析表1的實驗結(jié)果可得,由于PCB圖像的相似紋理信息很多,利用中值濾波、ROF濾波等傳統(tǒng)算法對PCB圖像進行去噪的結(jié)果不理想。應(yīng)用本文算法所得到的PSNR最大,信噪比越大圖像質(zhì)量越好,說明采用本文算法得到的PCB圖像在平均意義上更加接近原始PCB圖像,去噪效果最顯著??梢钥闯霰疚母倪M的NLM算法相比其他算法的PSNR值有顯著提高。
結(jié)構(gòu)相似度的取值為(0,1),與1越相近說明對圖像的去噪效果越好,分析表2的實驗結(jié)果可得,應(yīng)用本文算法所得到的SSIM最大,說明利用本文算法得到的PCB去噪圖像與原始PCB圖像最相似,得到了最好的視覺效果。
Figure 3 Denoising effect comparison of PCB3圖3 PCB3去噪效果對比圖
Table 1 PSNR comparison of nine denoising algorithms for PCB image
Table 2 Structure similarity comparison of five denoising algorithms for PCB image表2 PCB圖像的9種去噪算法的結(jié)構(gòu)相似度對比
為了提高工業(yè)生產(chǎn)中PCB圖像的去噪質(zhì)量,本文提出了一種改進NLM的PCB圖像去噪算法,該算法結(jié)合了形態(tài)學(xué)權(quán)重自適應(yīng)圖像增強和NLM算法的優(yōu)點,使得PCB圖像在提高去噪效果的同時也較好地保留了邊緣信息,解決了PCB圖像去噪速度慢、去噪后圖像魯棒性不高的問題。實驗表明,與傳統(tǒng)算法相比,本文改進的NLM算法降低了NLM算法的復(fù)雜度,加快了對圖像的去噪速度,提高了印刷電路板圖像的信噪比,去噪效果有顯著改善。