夏成蹊,楊 晨,趙 雪,丁 召
(貴州大學 大數據與信息工程學院 貴州省微納電子與軟件技術重點實驗室,貴州 貴陽 550025)
隨著電子設備的飛速發(fā)展,PCB板生產過程愈加復雜,客觀地對PCB板的表面形貌進行評判成為了一項愈加重要的任務,同時在其生產的各個工序中也可能出現某些線路的斷路、短路和缺損等問題,通過對PCB板表面數據的分析也成為一種檢測缺陷的方法。傳統(tǒng)的人工目測難以實現對精度越來越高的PCB板的檢測分析[1]。因此,設計一種準確、高效的PCB板表面檢測方法十分符合PCB生產廠家的需求。
近年來,諸多研究已經將計算機視覺與PCB表面檢測技術相結合,大致分為為以下幾種方法:參考法[2]、準則法[3]、混合法[4]。參考法是對比待測PCB和標準PCB,通過異或計算識別并判斷其表面是否存在缺陷;基于準則法是通過檢測待測PCB是否滿足預先定義的設計準則來檢測;混合法是結合以上兩種方法,以充分發(fā)揮二者的優(yōu)勢。
以上方法應用于PCB板的表面缺陷識別,減少了人工識別過程中可能出現的誤差,但是只能對預先設定的PCB板進行缺陷檢測,不能給出對未知的PCB板進行分析,并提供分析統(tǒng)計數據[5]。
為實現自動分析PCB生產質量的目的,本文利用圖像識別技術處理分析PCB表面形貌數據,根據圖像灰度特性選取適當閾值對圖像進行二值化變換,將數學形態(tài)學與圖像處理相結合,消除微小噪聲、平滑線路。之后對處理完成的圖像進行數據檢測統(tǒng)計。通過統(tǒng)計圖像像素比例計算表面金屬占比;將霍夫變換應用至圖像處理領域,對PCB表面焊盤形狀和數目進行統(tǒng)計分析;通過計算圖像中連通域的個數來統(tǒng)計分析PCB表面線路數目;對表面不同線路中心點做最大內切圓的方法來計算導線寬度。最后對獲取的各項數據繪制統(tǒng)計圖表,分析樣本PCB板中金屬占比、線路寬度等數據的分布情況。根據對統(tǒng)計結果進行分析,不僅可以輔助檢測PCB中的缺陷,還能為客觀評判生產質量而服務。
基于圖像處理的PCB電路板表面檢測基本流程圖如圖1所示。
圖1 PCB電路板表面檢測基本流程圖
首先選取對原始圖像進行閾值分割和數學形態(tài)學手段,獲取和原圖相似的二值圖像。之后對處理后的圖像按照連通域分割,然后對分割完成的線路通過霍夫變換識別焊盤形狀和數目,并用邊緣檢測算法獲取表面線寬數據,最后對單個PCB生成統(tǒng)計表,將此PCB數據與規(guī)定數據進行比對,若在規(guī)定閾值內,則此PCB合格,計算其具體偏差值;若不在閾值允許范圍則淘汰該PCB板。對一定數量的PCB進行統(tǒng)計后可得到其總體數據報表,獲取此批次PCB成品率、總平均線寬等數據。
為實現對PCB板表面的精確檢測,需對其圖像進行預處理,在保留圖像特征的同時減少圖像復雜度,還可以消除圖片拍攝過程中的噪聲[6]。本文采取的預處理過程分為兩步:第一步為采取選取合適閾值將圖像處理為二值圖像,第二步為形態(tài)學處理并分割,以簡化圖像數據。
在二值化方面,本文采用最大類間方差法[7]根據圖像灰度特征選取最優(yōu)閾值,根據閾值將PCB圖像分為二值圖像。該步驟將原始圖像分為背景和目標線路兩部分,該方法的優(yōu)點在于除去圖像中無關信息,簡化后續(xù)操作的難度[8]。
數學形態(tài)學為一門分析空間結構的理論[9],在圖像分析識別領域得到了廣泛的應用。本文利用形態(tài)學來簡化圖像數據,保持圖像基本形狀特征的同時除去不相干的結構[10]。其最基本的運算包括膨脹和腐蝕、開運算和閉運算。
設A為原圖像,B為結構元素,對于待處理圖像中每一像素點x,有:
腐蝕:A⊙B={x:B(x)∈A}
(1)
膨脹:A⊕B={x:B(x)∩A≠?}
(2)
用B(x)對A進行腐蝕的結果就是把結構元素B平移后使B包含于A的所有點構成的集合。用B(x)對A進行膨脹的結果就是把結構元素B平移后使B與A的交集非空的點構成的集合。
開運算的實質是對圖像先進行腐蝕運算然后再進行膨脹運算,閉運算的實質是對圖像先膨脹后腐蝕,選擇合適的結構元素,對圖像進行開運算和閉運算,即可實現平滑線路邊界、濾除噪聲的效果,同時能保留原圖像基本形狀和大小不變,保證最終結果的準確性。對PCB圖像先后進行開運算理處理,消除圖像中小顆粒噪聲,再進行閉運算處理,平滑線路輪廓。結果如圖2所示。
圖2 對PCB圖像形態(tài)學處理后結果
對預處理之后的圖像進行分割,可以為圖形的識別與統(tǒng)計做后續(xù)服務[11]。本文以連通域為單位對圖2中每條線路進行分割,以便進行之后的焊盤、導線等信息的分析、統(tǒng)計。
焊盤是PCB板中的焊接電子器件的底座,分析焊盤的形狀和數量有助于分析PCB中電子元器件的類型和個數。本文采取霍夫(Hough)變換[12]以識別圖像中矩形[13]和識別圓形[14]的算法來實現焊盤檢測。
霍夫變換是利用圖像全局特征將邊緣像素連接組成區(qū)域封閉邊界的一種方法。在xy平面中,任何直線都可以用極坐標方程描述:
ρ=xcosθ+ysinθx∈[0,π]
(3)
其中,參數ρ確定了該直線到原點的距離,參數θ確定了直線的方位,如圖3所示。
圖3 對直線霍夫變換
該變換可以看成,圖像中任取一點(xi,yi)映射到霍夫空間中的一組累加器C(ρ,θ)中,累加器C(ρ,θ)表示圖像空間中符合式(3)的像素數量。遍歷圖像全部像素點進行上述操作后,得到的C(ρ,θ)中每一個局部最大值就對應一直線段,其對應的ρ和θ可以唯一確定此直線。
對于矩形,可看作四條直線的組合,對矩形輪廓進行霍夫變換后會出現四個峰值,表示檢測出的四條直線,同時四個峰值滿足以下條件:
(1)四個峰值成對存在,因為檢測矩形四條直線段兩兩平行;
(2)兩對峰值點間橫坐標差為90°;
(3)同一對中兩個峰值累加值相同,因為矩形對邊的長度相等;
(4)同一峰值對中兩點間的距離值等于矩形邊長。
滿足以上四個條件即可識別其為矩形,而對于圓形的檢測與檢測直線類似,為求參數坐標中的圓心和半徑,先對空間中的圓變換坐標系,將圓在空間坐標系中的方程為轉換到參數空間(a,b,r)中,其中(x0,y0)為已知點,轉換方程為:
(a-x0)2+(b-y0)2=r2
(4)
根據(4)式,將圖像空間中的邊緣點映射到參數空間,然后將參數空間中得到的所有坐標點對應的累加值進行累加,即可根據累加值判斷是否為圓形,若為圓形獲得其半徑和圓心坐標。
根據以上原理,對兩種二值化線路板進行實際測試,結果如圖4所示,可以完成對線路板中焊盤形狀和數目的識別。
圖4 識別PCB板表面焊盤
PCB板中導線寬度是描述PCB表面形貌的重要數據,也是衡量PCB質量的重要參數。測量此條線路寬度分為兩個步驟,第一步,需要找出導線內部和兩導線之間的中心線,第二步,根據此中心線計算導線不同位置的寬度。
本文用Hilditch細化算法[15]來獲取PCB板線路中心線。該算法為利用如圖5所示的模板沿圖像的掃描方向移動,逐點考察各像素的鄰域狀況,將圖像邊界像素逐次掃描消除。
P4P3P2P5PP1P6P7P8
圖5 細化算法模板
(1)∑4(P)≤3,即P點的4鄰域最多有3個值為1
(2)X(P)=1,此點為邊緣點
(3)∑8(P)≥1,此點非端點
(4)P3=1或X(P)3=1
(5)P5=1或X(P)5=1
其中∑4(P)和∑8(P)分別表示P的4鄰域內和8鄰域內像素為0的個數,X(P)表示連接數,X(P)3和X(P)5分別為假設P3=0和P5=0時P的連接數目。
通過上述操作對導線進行處理,可得到線寬為幾個像素的線條,此即為導線中心線,對PCB進行處理,結果如圖6所示。
圖6 PCB板細化算法效果
從中心線做垂線是一種檢測線寬的方法[16],此方法可較為精確地測量圖像中導線寬度,但只適用于PCB圖像中的豎向和橫向導線,無法對斜向導線做精確測量。本文設計一種最大內切圓方法,以導線中心線上某點為圓心繪圓,圓形的半徑從0以設定的步長值不斷擴大,當圓與線路取交集的面積小于圓的面積時,即圓半徑大于某個值時會有部分在線路外,此時的圓的直徑即為該點處線路的寬度。選取一條線路測量如圖7所示。
圖7 用最大內切圓方法測量部分線路寬度
對中心線上除去焊盤位置之外的所有點進行上述操作,求得各位置導線寬度,取平均數作為線路的寬度,統(tǒng)計分析上述數據以分析判斷此線路制作水平。
通過MATLAB軟件對100張PCB樣品圖片進行上述測試,選取測試的PCB板圖像像素為620×300像素,測得數據為像素值,通過比例尺換算,可以獲取PCB板表面數據,最后對100張PCB圖像進行數據統(tǒng)計,統(tǒng)計線路和焊盤平均數目如圖8所示。
圖8 圖像線路和焊盤數據統(tǒng)計
從圖8中可以看出,在100張PCB板圖像中,某些板線路條數和焊盤存在錯誤,存在斷路導致識別的線路條數多于正常值,存在焊盤形狀不規(guī)范導致識別焊盤數小于正常值??梢耘袛嘣揚CB板存在不同程度的表面缺陷。
對100張PCB表面金屬占比和線路寬度數據進行統(tǒng)計,結果如圖9~圖10所示。
圖9 PCB板金屬占比統(tǒng)計圖
圖10 PCB板線路寬度統(tǒng)計圖
分析圖9中數據可以看出,此PCB板表面的金屬占比集中在22.65%。可以認為,在此數值的一定區(qū)間范圍內,PCB的誤差可以接受;在此區(qū)間外PCB板的分析信息應該進一步關注。在本測試集中,有7張PCB板表面金屬占比偏離百分之一,因此,需要進一步調取其信息進行分析。
分析圖10中數據可以看出,線路板表面平均線路寬度集中分布在0.7 mm和1.0 mm。在本測試集中,有5張PCB表面導線寬度偏離0.1 mm,結合圖9和表2中信息進行分析,即可得出不合規(guī)范的PCB板表面具體缺陷原因及位置。
查看數據異常的PCB圖像,發(fā)現其局部存在缺陷,存在短路導致識別線路條數少于正常值,存在方形焊盤形狀不規(guī)范導致錯誤識別成圓形焊盤,存在缺陷的局部圖像如下圖11~圖12所示。
圖11 存在斷路缺陷
圖12 焊盤存在缺陷
本文將計算機視覺技術應用到PCB的表面檢測中,通過軟件將相關圖像處理、檢測算法應用在測試PCB裸板樣板中,最后對獲取的樣板表面形貌數據進行統(tǒng)計和分析,對測試樣板質量進行評價。實驗結果表明,該方法可以協(xié)助檢測、識別PCB板上的短路與斷路缺陷可以進行有效的檢測、識別,同時對評價PCB生產質量可以提供依據。