摘 要: 針對PCB中IC芯片的管腳焊接的在線檢測問題,提出一種IC芯片管腳圖像的定位、分割和焊接缺陷的頻域" title="頻域">頻域檢測算法及其實現(xiàn)技術(shù)。理論分析和實驗結(jié)果表明,這種算法對PCB中IC芯片的管腳焊接缺陷檢測" title="缺陷檢測">缺陷檢測的識別正確率高,誤檢率小,具有很好的魯棒性" title="魯棒性">魯棒性。
關(guān)鍵詞: PCB檢測; 模板匹配" title="模板匹配">模板匹配; 頻域濾波
?
隨著電子元器件產(chǎn)業(yè)的快速發(fā)展,對印制電路板PCB(Printed Circuit Board)加工業(yè)提出了更高的要求。國外各大公司目前普遍采用光學(xué)設(shè)備結(jié)合圖像處理軟件完成PCB加工的檢測, 而國內(nèi)在這方面的研究工作尚處于起步階段。如何采用相應(yīng)的圖像識別算法和優(yōu)化方案滿足PCB檢測的實時性和高速高精度要求, 是該類設(shè)備國產(chǎn)化進程中迫切需要解決的問題。集成電路IC (Integrated Circuit)芯片如小型方塊平面封裝QFP(Quad Flat Package)等由于其管腳多、間距小、焊接精度要求高,對缺陷檢測的識別正確率和誤檢率都要求很高,這就要求圖像識別的魯棒性要好,因而也成為PCB檢測中的重點和難點。
1 IC芯片焊接檢測任務(wù)
IC芯片焊接檢測是通過圖像識別算法對PCB上焊接的IC芯片管腳進行有關(guān)的檢測,主要步驟包括:(1) PCB圖像中IC圖像的定位和提取。(2)IC圖像中管腳焊接圖像部分的分割和提取。(3)IC管腳焊接的缺陷檢測:檢測管腳間短路、缺焊等。IC管腳焊接的缺陷檢測結(jié)果是判斷該IC乃至整個PCB能否正常工作的依據(jù)。下面以 QFP芯片為例,介紹相關(guān)的算法及其實現(xiàn)。
2 IC芯片管腳的焊接檢測算法
2.1 IC芯片管腳的焊接檢測算法流程
IC芯片管腳的焊接檢測算法分為圖像獲取、圖像匹配、圖像分割、圖像頻域變換和檢測等幾個步驟,具體流程如圖1所示。
?
?
2.2? PCB圖像的獲取
用相機在規(guī)定位置對PCB板正面拍攝,得到符合檢測規(guī)定的位置和尺寸要求的PCB圖像。為了便于后面IC芯片的模板匹配,必須使PCB和IC芯片模板在圖像尺寸和實際尺寸的比例上趨于一致。
2.3 PCB圖像中IC芯片部分的定位提取
由于IC芯片模板很容易獲得,因此采用模板匹配算法[1]來定位和提取PCB圖像中的IC芯片圖像。假設(shè)有IC芯片的模板圖像P0,拍攝到的PCB圖像P1,由于圖像獲取時已經(jīng)考慮到圖像和實際尺寸的比例上的一致性,因此可以用P0直接在P1區(qū)域內(nèi)進行模板匹配。對圖像P0和P1采用互相關(guān)運算,互相關(guān)值最大的位置即是要提取的IC圖像的中心位置,再根據(jù)IC芯片的相應(yīng)尺寸,提取出IC芯片圖像。具體實現(xiàn)時為提高效率可以采用粗精匹配結(jié)合、限制最大匹配誤差等優(yōu)化方法。但模板匹配算法的角度計算精度不高,可以在后面分割管腳后利用幾何原理計算出較為精確的偏角,進行進一步修正。
2.4 IC芯片圖像中的四邊管腳圖像的提取
為判定是否存在焊接缺陷,只考慮IC芯片中的四邊管腳圖像(芯片中心的型號等信息,根據(jù)經(jīng)驗可以去除掉)。可以通過以下步驟把四邊管腳從IC芯片圖像中分割出來。
(1) 閾值分割" title="閾值分割">閾值分割
進行閾值分割得到較為清晰的管腳的二值圖像如圖2所示。
?
(2) 膨脹
假設(shè)管腳間距為Dist,寬度為Width,則膨脹的次數(shù)m=(Dist-Width)/2+1;將圖2經(jīng)m次膨脹運算后得到較為完整的四邊管腳區(qū)域圖像如圖3所示。
?
(3) 點分析
點分析中將任一像素上下左右以及對角的相鄰八個像素中任何一個與其灰度值相同的像素都認(rèn)為是同一個點[2]。通過對圖3進行點分析可以確定四個“點”(一個“點”即是一邊的管腳區(qū)域)的中心坐標(biāo)xjmean、yjmean及其分別在 X和Y方向上的最大坐標(biāo)和最小坐標(biāo)(xjmax,xjmin,yjmax、yjmin,j=1,2,3,4)。中心坐標(biāo)xjmean,yjmean通過計算該“點”的所有像素坐標(biāo)的算術(shù)平均值得到。
(4) 分割
根據(jù)點分析的結(jié)果即可將四邊管腳區(qū)域分別從原圖中分割出來,如圖4、圖5所示。
?
?
(5) 管腳圖像修正
如圖6所示,設(shè)管腳區(qū)域的四個頂點為P0、P1、P2、P3,則它們的坐標(biāo)分別為(xjmin,yj1)、(xj1,yjmin)、(xjmax,yj2)、(xj2,yjmax),其中,xjmax、xjmin、yjmax和yjmin是前面點分析的結(jié)果,xj1是“點”區(qū)域中縱坐標(biāo)為yjmin的像素的橫坐標(biāo)(如果不止一個像素點,則設(shè)為這些像素的橫坐標(biāo)的均值),同理可得xj2、yj1、yj2。根據(jù)幾何原理,考慮“點”區(qū)域(P0,P1,P2,P3)為一個近似的矩形,分別計算近似的管腳邊緣擬和線段P0P1、P1P2、P2P3、P3P0的斜率,再取其均值,就可以得到近似的管腳傾斜角度θ。
?
然后以前面點分析中得到的中心坐標(biāo)xjmean、yjmean為旋轉(zhuǎn)中心,θ為旋轉(zhuǎn)角度,對管腳圖像進行旋轉(zhuǎn)得到擺正
位置的管腳圖像。
2.5? 四邊管腳圖像的頻域檢測
頻域檢測的過程如下:首先對管腳圖像進行FFT, 并通過設(shè)計濾波器來去除管腳紋理的方向性, 再進行IFFT得到缺陷圖像, 然后對缺陷圖像進行閾值分割, 最后通過形態(tài)學(xué)運算去除掉紋理分割噪聲和干擾, 實現(xiàn)缺陷目標(biāo)與背景的分離。
2.5.1 對每邊的管腳圖像進行FFT變換后再進行濾波
標(biāo)準(zhǔn)管腳圖像是垂直方向黑白(灰度深淺)相間的灰度條,紋理特征非常明顯,而且由于管腳之間的間隔相同,頻率單一,主要能量分布在一條很窄的頻帶上;在大多數(shù)情況下,有缺陷的管腳圖像, 其缺陷紋理方向與管腳的主紋理方向不一致(如管腳間焊接短路相連的部分等),即使方向一致(如管腳缺焊等),也會破壞原來圖像的單一頻率,產(chǎn)生其他頻率成分;從缺陷紋理的能量來看, 由于缺陷紋理遠(yuǎn)小于主紋理的頻譜能量, 因此,通過找出頻譜能量集中的主紋理方向, 并濾除這些主紋理方向的頻譜,就可以有效增強缺陷紋理的圖像, 再通過圖像分割方法就可提取缺陷紋理。
因此,可以設(shè)計水平方向的窄帶頻域濾波器[3]。由于頻域濾波器采用矩形時會產(chǎn)生振鈴現(xiàn)象, 并容易引起圖像模糊, 可以選擇Butterworth、Chebyshev和Gaussian 濾波器, 在本文的實驗中, Buttterworth 濾波器的效果較好。
2.5.2 對濾波后的圖像進行IFFT,獲取缺陷圖像
進行IFFT后,濾波的結(jié)果使缺陷部分得到顯著增強,正常管腳圖像部分被抑制。為了得到管腳焊接缺陷判別的有效依據(jù),還要進行以下處理:
(1) 閾值分割
對缺陷圖像進行直方圖分析。 由于缺陷部分的灰度和主紋理部分對比明顯,可以采用簡單的閾值分割方法來區(qū)分缺陷和背景圖像。
(2) 噪聲抑制
考慮到噪聲是隨機的, 其在二值圖像上為隨機分布的孤立點, 而紋理缺陷則有一定的形狀。實踐證明, 對圖像進行開運算, 不僅可以消除這些孤立點, 同時也可消除由于圖像分割而產(chǎn)生的誤差。
2.5.3 焊接缺陷的判定
首先,要確定判定焊接缺陷的頻譜能量的閾值,即當(dāng)缺陷紋理的頻譜能量大于某個規(guī)定值時,判定有焊接缺陷;小于該值時,認(rèn)為是噪聲,判定無焊接缺陷。實驗中,可以通過多次測試得到該閾值的經(jīng)驗值。此部分歸入專家數(shù)據(jù)庫系統(tǒng)的建立,不在本文中深入討論。
3 IC芯片管腳的焊接檢測的仿真與實驗
3.1? 管腳圖像頻域檢測的MATLAB仿真
(1) 取一個含有缺陷(有一個管腳缺焊)的管腳圖像,如圖7所示。
?
(2) 對管腳圖像進行FFT變換后,其頻譜圖像如圖8所示。
?
(3) 設(shè)計Buttterworth 濾波器,其頻譜圖像如圖9所示。
?
(4) 用Buttterworth 濾波器對管腳圖像進行濾波后,其頻譜圖像如圖10所示。
?
(5) 再進行IFFT變換后,得到缺陷圖像及其直方圖,如圖11和12所示。
?
由圖11可見,缺陷部分得到顯著增強,正常管腳圖像部分被抑制。由直方圖也可以看出,在缺陷位置(缺焊的管腳處)產(chǎn)生一個高灰度值區(qū)域。
(6) 閾值分割得到去除背景后的明顯的缺陷圖像,如圖13所示。
?
3.2 PCB的IC芯片焊接檢測實驗的系統(tǒng)實現(xiàn)方案
考慮到PCB焊接檢測在工程中的實際應(yīng)用以及對實時性和準(zhǔn)確性的要求,采用CCD相機拍攝,將采集到的PCB圖像送到POWERPC的板卡,由板卡上運行的嵌入式系統(tǒng)及其相應(yīng)軟件(服務(wù)器端)實現(xiàn)以上檢測算法,同時可在客戶端的PC機上對相關(guān)參數(shù)進行配置,最后的檢測結(jié)果也顯示在PC機上。該實現(xiàn)方案如圖14所示。
?
3.3 實驗結(jié)果分析和改進方向
為了驗證本文提出的缺陷檢測算法的效果,用兩種類型的缺陷樣本圖像進行了測試,實驗統(tǒng)計結(jié)果如表1所示。
?
實驗中對管腳間短路、缺焊的缺陷檢測識別正確率在95%以上,對管腳焊接彎折的缺陷檢測識別正確率在90%以上。檢測結(jié)果表明:(1) 管腳間短路、缺焊在管腳圖像頻譜中產(chǎn)生的缺陷頻譜與管腳主紋理的頻譜反差較大,濾波后圖像中的缺陷與背景灰度差距大,因此檢測正確率高。(2)管腳焊接彎折時的頻譜反差較小,因此檢測正確率也較低。
為了改進檢測效率,一方面可以對分割出來的四邊管腳圖像進行進一步的預(yù)處理,如對管腳的邊緣增強和邊界銳化,并借助形態(tài)學(xué)方法得到比較規(guī)整的管腳圖像,使得管腳的主紋理頻譜更加集中,另一方面可以根據(jù)管腳頻譜的特性設(shè)計更為合適的Buttterworth 濾波器,使得主紋理的頻譜得到更有效的抑制。但兩者都可能進一步降低頻域檢測的速度。
本文針對PCB檢測中IC芯片定位及管腳焊接檢測提出了一種基于頻域的圖像檢測算法,并用MATLAB軟件進行仿真實驗,給出了測試方案和結(jié)果。實驗表明,該算法在速度和精度方面都可以基本滿足PCB生產(chǎn)過程中在線檢測的要求,具有較好的魯棒性和實用性。
參考文獻
[1] ?GONZALEZ R C, WOODS R E. 數(shù)字圖像處理[第二版].阮秋琦,阮宇智譯. 北京:電子工業(yè)出版社,2004.
[2] ?宗孔德,胡廣書. 數(shù)字信號處理[M]. 北京:清華大學(xué)出版社,1988:229-325.
[3] ?鄭方, 徐明星. 信號處理原理[M]. 北京:清華大學(xué)出版社, 2000:84-97.