程金緯,邱曉暉,陳青青,2
(1.南京郵電大學,江蘇 南京 210003;2.信息產業(yè)部南京第五十五研究所,江蘇 南京 211100)
近幾年隨著焊接工藝的發(fā)展,共晶焊接技術日漸成熟,經過共晶焊接后的封裝元件電阻率、導熱系數(shù)以及熱阻等往往低于其他焊接方式。故而該技術在工業(yè)上的應用日漸廣泛,尤其在大功率器件方面,逐漸取代了使用導電膠粘貼貼片的生產方式。
共晶焊接又稱為低熔點合金焊接,該技術以具有較低熔點的合金為焊料,通過加熱的方式將合金焊料融化,利用外界施壓讓元件與焊盤完全貼合。例如使用金錫合金作為焊料時,為了保證焊料完全融化需保證溫度在280 ℃~360 ℃之間,該過程中焊料與氧氣的接觸極易發(fā)生氧化反應產生氧化膜,即燒結空洞。而大面積的燒結空洞會影響器件的散熱性能,當器件功率過大時甚至會燒毀器件。只有在理想的真空環(huán)境下進行共晶焊接才能避免產生燒結空洞,但是由于技術條件的限制,工業(yè)生產還不足以提供絕對的真空環(huán)境,大規(guī)模生產后部分產品仍存在缺陷。因此生產后需檢測產品是否存在燒結空洞,以評估其質量。同時如何有效、快速地檢測焊接缺陷也是當前熱門的研究方向之一。
X射線檢測技術在焊接、鑄件、組裝等加工領域以及醫(yī)學領域的應用尤為廣泛。使用X射線不僅可以避免對識別目標造成損害,而且可以更直觀地得到圖像結果,提取圖像特征[1]。
X射線能直觀地反映被測物的內部結構,但未經處理的X射線圖像具有灰度及對比度低、噪聲大等缺點,難以清晰地呈現(xiàn)細小目標[1-2]。目前工業(yè)上主要通過X射線直接成像,利用人工檢測產品缺陷,但是該手段具有一定的主觀性,可能會漏判甚至誤判部分細小缺陷。所以對于大量的鑄件,人工檢測產品缺陷的效率并不高。為了提高檢測效率,尤其針對PCB板上燒結空洞經X光成像后不易識別的問題,基于形態(tài)學方法提出了一種自動檢測并標記燒結空洞的處理思路。
研究表明人眼通過識別邊緣、背景來分辨目標形狀。為直觀地反映圖像所包含的對象,可借助邊緣將圖像分割為多個具有不同特征的區(qū)域,邊緣即圖像中亮度突變的區(qū)域[3-4]。目前常見的邊緣檢測算子主要分為微分算子和形態(tài)學梯度算子。而想要標記出X光圖像中的燒結空洞,關鍵在于分離空洞邊界。故本節(jié)選取其中兩種典型算子─Sobel算子和腐蝕膨脹梯度算子進行介紹。
Sobel算子是一種典型的微分算子。該類算子將灰度圖像中每一行、列所包含的像素點數(shù)值視為一段連續(xù)的函數(shù),而出現(xiàn)圖像邊緣的區(qū)域在這段函數(shù)上往往會表現(xiàn)為函數(shù)值突變,即此時該連續(xù)函數(shù)的一階導數(shù)取極值。微分算子正是以此為依據(jù)檢測圖像邊界。
Sobel算子是一種以3*3矩陣為模板的微分算子,其輸出如式(1)所示。其中I表示圖像,Sx表示水平算子與圖像I的卷積結果,Sy表示垂直算子與圖像的卷積結果,g表示圖像與Sobel算子模板卷積的結果?;谑?1),Sobel算子模板可用矩陣表示,如式(2)所示。
(1)
(2)
由式(2)可以看出,Sobel算子是將模板邊緣選中的像素值按照行列分別求差分,并將差分結果取絕對值相加,故Sobel算子提取的圖像邊界具有粗亮的特征[5]。
與微分算子提取圖像邊緣原理不同,形態(tài)學方法將圖像視為由像素點組成的矩陣,通過特定的矩陣,即結構元素,令圖形作簡單的形態(tài)學變換,從而提取圖像中的某些特征。
1.2.1 灰度級腐蝕與膨脹
腐蝕與膨脹是最簡單的兩種形態(tài)學變換,也是最基本的變換。腐蝕的定義如式(3)所示[3-4]:
(fΘb)(s,t)=min{f(s+x,t+y)-b(x,y)|
(s-x,t-y)∈Df;(x,y)∈Db}
(3)
其中,Df和Db分別表示輸入圖像f(x,y)和結構元素b(x,y)的定義域。腐蝕運算即使用結構元素b(x,y)確定像素點及其鄰域范圍,將被選中的像素點與結構元素作差,選取其中的最小值作為輸出。
灰度級膨脹的定義如式(4)所示[3-4]:
(f⊕b)(s,t)=max{f(s-x,t-y)+b(x,y)|
(s-x,t-y)∈Df;(x,y)∈Db}
(4)
其中,Df和Db分別表示輸入圖像f(x,y)和結構元素b(x,y)的定義域。膨脹運算即使用結構元素b(x,y)確定像素點及其鄰域范圍,將被選中的像素點與結構元素相加,選取其中的最大值作為輸出。
由此可以得到如下結論:當結構元素模板b內的數(shù)均為正數(shù)時,圖像f經腐蝕變換后像素點灰度值減小,而膨脹變換則會令圖像f內像素點灰度值增大。即式(5)所示的不等式恒成立。
f⊕b≥f≥fΘb
(5)
1.2.2 腐蝕膨脹梯度算子
腐蝕膨脹梯度算子是一種先將圖像作腐蝕、膨脹變換再作差的算法,其定義如式(6)所示[5-7]:
Grad1=f⊕b-fΘb
(6)
其中,f表示輸入圖像,b表示結構元素。
由1.2.1節(jié)可知,選取結構元素b令圖像f作腐蝕、膨脹變換,其定義域為被選中像素點及其鄰域。假設結構元素b中元素僅為0和一較小常數(shù)A,圖像f中點(x,y)的灰度值為B,其經結構元素b的腐蝕輸出為E,膨脹輸出為D。若是點(x,y)及其鄰域內各像素灰度值相差不大,則E≈B-A,D≈B+A,即該點腐蝕膨脹梯度的輸出結果Grad較小,約為2A。假設點(x,y)及其鄰域內存在像素灰度值相差較大的兩個區(qū)域,這兩區(qū)域內的像素值分別約為C、D(C>D),即該區(qū)域內存在圖像邊界,則E≈D-A,D≈C+A,即該點腐蝕膨脹梯度的輸出結果Grad較大,約為C-D+2A。圖像f中邊界區(qū)域的Grad輸出更大,該區(qū)域提取邊界后的亮度高,反之非邊界區(qū)域的Grad輸出較小,該區(qū)域提取邊界后的亮度低,故使用膨脹腐蝕梯度算子可以有效提取圖像邊界[8-10]。
實際PCB板的X光圖像可能包括燒結空洞、焊盤焊點以及由導線和介電層組成的背景區(qū)域。如圖1所示,PCB板X光圖像I,其四類區(qū)域明顯具有不同的灰度特征。(1)焊盤焊點所占面積最小,亮度最低,呈點狀分布在整個PCB板上;(2)燒結空洞面積次之,亮度最高;(3)具有更大面積的是導線區(qū)域,該部分亮度介于介電層與焊盤焊點之間,以水平、垂直線的形式分布在整張PCB板上;(4)介電層區(qū)域面積最大,其亮度介于導線與燒結空洞之間。
燒結空洞區(qū)域內還存在部分導線以及焊點焊盤。從圖1可見,部分導線直接貫穿燒結空洞,存在重疊區(qū)域。燒結空洞內也存在部分點狀的焊盤,由于該部分與需提取目標無關,可考慮將其直接視為噪聲濾除。
圖1 PCB板X光圖像I
由2.1節(jié)分析PCB板X光圖像I表面特征可知:圖像I中存在四類對象,其中目標對象燒結空洞亮度最高。故該文采取如下處理思路:先通過預處理濾除圖像中噪聲以及焊盤焊點,再提取圖像余下對象邊界并設法分離出燒結空洞邊界。提取邊界思路的選取將于第3節(jié)給出,預處理流程如下:
(1)高斯濾波[11-12]:X射線成像時產生的大量內能會導致圖像I內存在高斯噪聲,即圖像內灰度值波動較大,這會影響提取邊界精度,故該文選取了標準差為10的3*3模板對原圖像I作了高斯濾波,得到如圖2(b)所示的圖像G1;
(2)中值濾波[13]:中值濾波可以有效去除呈點狀分布的椒鹽噪聲,為了減少圖像G1內需要處理的對象,故將焊點焊盤視為椒鹽噪聲,使用7*7的模板對圖像G1作中值濾波,得到如圖2(c)所示的圖像M1。
圖2 燒結空洞邊緣提取預處理
本節(jié)選用了Sobel算子和膨脹腐蝕梯度算子分別提取圖像M1邊界,根據(jù)各自提取效果分析處理思路。通過實驗證明膨脹腐蝕梯度算子對水平、垂直方向的干擾有更好的抑制效果。
3.1.1 基于Sobel算子的燒結空洞提取實驗
如圖3所示,本節(jié)對預處理后圖像M1使用Sobel算子提取邊界并統(tǒng)計了其灰度直方圖,其中圖3(a)為使用Sobel算子提取的邊界圖像S1,圖3(b)為圖S1的灰度直方圖。
圖3 Sobel算子提取的邊界圖像及其灰度直方圖
由圖S1可見,此時圖像中包含對象為燒結空洞邊界、導線邊界和背景,導線邊界灰度與背景相近,空洞邊界則粗亮。故空洞邊界分布于直方圖的高灰度區(qū)域,假設燒結空洞邊界亮度約為b,導線邊界亮度約為a(b>a),理論上在區(qū)間[a,b]上選取一常數(shù)作為閾值可以將燒結空洞邊界分離出來。而圖像S1的灰度值直方圖存在兩個峰,區(qū)間(0.5,1)像素點分布較少,高灰度值像素點主要集中于“1”處,即在區(qū)間(0.5,1)上極有可能存在可以分離出燒結空洞邊界的閾值。故該文選取了四個數(shù)k1、k2、k3、k4作為閾值分割圖S1,其中k1取0.4,k2取0.5,k3取0.7,k4取0.8。分割圖像O1、O2、O3、O4如圖4所示。
圖4 選取閾值分離燒結空洞邊界
3.1.2 Sobel算子提取燒結空洞效果分析
由圖4發(fā)現(xiàn),圖像S1分割后并不能完整保留燒結空洞邊界,圖中標紅區(qū)域均存在不同程度的空缺。取0.4的k1在區(qū)間(0.5,1)之外,且分割圖像O1中已存在部分導線邊界,但是仍然存在燒結空洞邊界空缺的問題,即燒結空洞邊界灰度值取值區(qū)間過大,與導線邊界取值區(qū)間重疊。
經對比發(fā)現(xiàn)出現(xiàn)空缺處均為導線和空洞的交界處。即水平、垂直方向上的噪聲會影響Sobel算子提取邊界的效果,甚至出現(xiàn)邊界缺失的問題。證明如下:
以PCB板X光圖像為例,假設燒結空洞的灰度值為5,導線區(qū)域的灰度值為3,背景區(qū)域灰度值為0。如式(7)所示,現(xiàn)依據(jù)原圖像I燒結空洞分布特征構造四種3*3模板,I1、I2、I3、I4。其中I1表示空洞區(qū)域分布在一側,背景區(qū)域分布在另一側的情況;I2表示空洞區(qū)域與垂直導線相鄰,提取空洞邊界時的情況;I3表示導線區(qū)域分布在一側,背景區(qū)域分布在另一側的情況;I4表示空洞區(qū)域與垂直導線相鄰,提取導線邊界時的情況。
(7)
將這四個種模板分別帶入式(1)計算可得結果g1=20,g2=8,g3=12,g4=8。假設導線邊界亮度的取值區(qū)間為Dd,燒結空洞邊界亮度取值區(qū)間為Ds,那么Dd?[8,12],Ds?[8,20],即區(qū)間Dd與區(qū)間Ds存在重疊區(qū)間,可能無法找到合適的閾值分離兩種邊界,甚至存在邊界缺失的問題。故水平、垂直方向上的干擾會影響Sobel算子提取邊界的效果,想要完整提取燒結空洞邊界,需要尋找一種不受導線影響的邊緣檢測算法。
3.2.1 形態(tài)學邊緣檢測算法優(yōu)勢分析
由2.1節(jié)預處理后圖像M1所包含對象為燒結空洞、導線以及介電層。導線呈線狀密集分布在PCB板上,且與燒結空洞區(qū)域于水平、垂直方向存在部分重疊區(qū)域,這是導致Sobel算子提取空洞邊界不完整的主要原因。想要提取完整的燒結空洞邊界,需要克服導線對邊界亮度的影響。
而由1.2節(jié)可知影響形態(tài)學運算結果的主要是結構元素b(x,y)。假設結構元素b(x,y)內元素值相等,那么點(x,y)處腐蝕或膨脹的輸出僅與被結構元素b(x,y)選中區(qū)域內的最值有關,與區(qū)域內灰度值分布的順序無關。故若是在導線與空洞交界區(qū)域令結構元素b(x,y)選中部分灰度更低的介電層區(qū)域,即可提高交界處燒結空洞邊界的亮度,避免邊界缺失。
(8)
圖5 基于不同結構元素提取的燒結空洞邊界
3.2.2 利用腐蝕膨脹梯度算子提取、標記燒結空洞實驗流程
由3.2.1節(jié)可知使用形態(tài)學方法提取空洞邊界可以有效抑制導線干擾,基于此本節(jié)通過實驗對分離燒結空洞邊界方法作了簡單的介紹。其流程如下:
(1)腐蝕膨脹梯度算子提取邊界:選取s3作為腐蝕膨脹梯度算子的結構元素,提取圖像M1邊界,其輸出圖像G3如圖6(a)所示;
(2)基于形態(tài)學方法填充空洞區(qū)域:由于需要自動計算閾值分離出燒結空洞區(qū)域,而Otsu法無法準確分割與圖像大小相差過大的對象,故需要增大提取對象的面積,即通過填充空洞區(qū)域以此增大分割對象面積。如圖6(b)所示是使用結構元素s4填充圖像后的結果F1,結構元素s4如式(9)所示,是半徑為1的圓形結構模板;
(9)
(3)腐蝕:假設結構元素內元素均為正數(shù),腐蝕變換圖像會整體變暗,即可以削弱暗處細節(jié)。故使用結構元素s4對圖像作腐蝕變換,抑制細長的導線,其變換后圖像E1如圖6(c)所示;
(4)Otsu法[14-15]分割圖像:使用Otsu法分離出圖像E1中的燒結空洞,分離所得圖像O1如圖6(d)所示,所用閾值k5=0.070 6;
(5)開運算去除毛刺:開運算可以去除孤立點和毛刺,故以s4為結構元素對圖像O1作開運算,所的圖像X1如圖6(e)所示;
(6)腐蝕梯度算子提取空洞內邊緣:以結構元素s4提取圖像X1空洞區(qū)域的內邊界并去除圖像邊緣毛刺,所得圖像B1如圖6(f)所示,腐蝕梯度算子定義如式(10)所示,式中f表示輸入圖像,b表示結構元素;
Grad2=f-fΘb
(10)
(7)統(tǒng)計并標記燒結空洞:以圖像E1所得邊界為依據(jù)在原圖像I上標記燒結空洞并統(tǒng)計各空洞面積,其結果F如圖6(g)所示,統(tǒng)計各空洞面積結果如表1所示。
圖6 基于形態(tài)學方法標記燒結空洞實驗
表1 燒結空洞面積統(tǒng)計
通過以Sobel算子提取PCB板X光圖像燒結空洞的實驗,分析了PCB板中各類對象的分布特征以及Sobel算子的缺陷,發(fā)現(xiàn)提取燒結空洞的難點在于抑制導線對燒結空洞邊界的影響,避免提取后空洞邊界缺失。
分析了基于形態(tài)學邊緣檢測算法的優(yōu)勢后,通過實驗證實了該方法可以有效抑制水平、垂直方向上的導線干擾。并最終確定了檢測、標記燒結空洞的處理思路,其流程如圖7所示。
圖7 基于形態(tài)學方法檢測、標記燒結空洞流程
PCB板上焊盤大小不一,焊盤越大,中值濾波所需模板也越大。由于該思路抑制焊盤的方式較為簡單,焊盤較大時,僅使用中值濾波會造成圖像模糊,從而降低標記空洞的精度。針對該問題,文中的預處理方式還有待改善。但是,在工業(yè)上,該處理思路計算量小、處理時間短且可以較為準確地標記燒結空洞,具有一定的實際應用價值。