任欣雨 溫華放 王 飛 孫婧玥 孫 敏
蘇州城市學院光學與電子信息學院 江蘇蘇州 215104
由于元件封裝技術的迅速發(fā)展,電子組件的重量變低、密度變大,這給表面組裝帶來了更多的困難。自動X射線檢測(Automatic X-ray Inspection,AXI)技術是目前許多廠家廣泛采用的一種技術。它著重于測試焊點的物理結構,克服了其他方法的不足,尤其是對于球形柵格陣列(Ball Grid Array,BGA)電路板中隱藏式焊點的測試更具獨到之處。
在我國X射線實時成像檢測技術經(jīng)過十多年的努力,已成為成熟的無損檢測技術。X射線焊盤掃描圖像檢測系統(tǒng)中的圖像分割,是目前焊點檢測的核心模塊之一。由于各種焊點物理結構的差異,其呈現(xiàn)的焊點圖像也不同,從圖像中就能判斷出其缺陷。目前市面上的檢測設備中對焊點的圖像分割算法,仍存在實時檢測精確度不夠、速度慢等缺陷。本文主要研究X射線焊點掃描圖像分割算法,將圖像中的焊球、焊盤及氣泡精確分割,實現(xiàn)BGA電路板的焊球缺陷檢測。
在圖像分割方面,傳統(tǒng)的圖像分割方法都是以灰度或圖譜為基礎進行區(qū)域的劃分,噪聲的干擾以及不均勻的灰度分布,因此會導致分割效果的不精確。隨著各學科的相互融合,以及現(xiàn)代計算機技術的飛速發(fā)展,人們對圖像分割的精度、效率和魯棒性的要求越來越高。在圖像分割中,基于活動輪廓模型的圖像分割技術已經(jīng)得到了廣泛的應用。
在焊點的識別方面,隨著計算機的發(fā)展,集成學習算法中具有代表性的隨機森林(Random Forest)被用于識別缺陷,它采用多棵決策樹并以投票的方式輸出預測結果,抗干擾能力強,可以通過訓練準確區(qū)分焊點并進行缺陷分類。
本文采用活動輪廓和圖割的結合算法進行BGA焊點的圖像分割,根據(jù)圓形度進行隨機森林的訓練達到BGA焊點的識別,并且通過實驗進一步對比隨機森林算法在BGA焊點的識別上的性能。
1989年Kass等提出的Snake模型是最早被提出的活動輪廓模型[1],其主要思路是在目標圖形附近構建一條閉合曲線,通過能量泛函使閉合曲線發(fā)生形變并不斷逼近目標圖形的邊界,分割過程就是求解能量泛函最小值的過程[2]。參數(shù)活動輪廓模型大多是基于此模型進行演變的,但是由于此類模型對初始位置比較敏感,不能辨別局部極值,并且難以完成自動拓撲轉換。同年,Osher等提出了水平集(Level Set Method)的方法[3],來解決自動拓撲轉換的問題。基于水平集的方法又稱幾何活動輪廓模型,測地線活動輪廓模型(Geodesic Active Contour Model,GACM)就是其中運用最廣泛的模型之一。GACM的設計模式也是求解能量函數(shù)最小值,它與原始Snake模型相似,但是曲線的演化過程僅依賴于圖像的邊緣信息,因此很容易受到噪聲干擾。圖割(Graph Cuts)算法的關鍵就是構建一個能量函數(shù),通過各種方法進行能量函數(shù)的優(yōu)化來實現(xiàn)圖像分割。該類方法通過映射將像素表示為圖的節(jié)點,像素間的相鄰關系表示為邊。結合兩者的優(yōu)缺點,Xu等人于2007年提出的基于活動輪廓模型的圖割(Graph Cuts Based Active Contours)算法[4]就是一個以圖割為優(yōu)化工具,以活動輪廓模型為迭代變形思想的分割算法[5]。
本文利用測地線模型去實現(xiàn)活動輪廓模型,并運用圖割去計算測地線,再用最大流/最小割進行求解。主要步驟為:
(1)構建能量函數(shù):以測地線模型去實現(xiàn)活動輪廓模型,其能量函數(shù)表達式為:

式中g為邊緣檢測函數(shù),形式是g=1/(1+Ι2),Ι是圖像的梯度模值。
(2)構造網(wǎng)絡圖:像素對應網(wǎng)絡的節(jié)點,相鄰像素圖像特征方面的相似度對應邊上的權重。再通過源點(source)和匯點(sink)這兩個特殊的頂點,將圖像映射為一個加權圖[5]。
(3)利用最大流/最小割求解分割結果:割指原向圖中部分邊的集合,刪除了它們,就不能從源點s到達匯點t。最小割就是當割的時候,讓邊的所有權值變得最小。其中源點s∈S,匯點t∈T,記為CUT(S,T)。
(4)重復以上步驟直到分割結果收斂,完成圖像分割。
隨機森林算法是一種基于決策樹的集成學習算法。在對圖像識別進行隨機森林的算法訓練時,每棵樹可以同時獨立訓練。決策樹的判別方法采用自根節(jié)點開始向下逐節(jié)判別的方式,在每層的子節(jié)點中進行屬性比較和分類區(qū)分,并依次向下確定每個分支,最終完成分類。每棵樹訓練時采用的是對樣本目標的隨機抽樣來進行訓練,不容易過擬合,訓練成果高。
1.決策樹的算法生成
決策樹用于對待檢測集合進行分類或預測,它是一種基于樹結構的分類和預測算法。決策樹最明顯的優(yōu)點是具有可解釋性,即每一個節(jié)點的分枝都有一定的分類標準。缺點是對于含有一些特殊的樣本,決策樹容易將其分類過于精細,以至于過擬合,在面對有多個類和較少的訓練樣本的分類問題時,決策樹容易出現(xiàn)錯誤。決策樹的算法生成主要有三個決定分類效率部分,分別是特征值的選取、決策樹的生成和決策樹生成時的剪枝[6]。
2.決策樹的分裂準則
決策樹的分裂準則可以分成:ID3算法、以ID3算法改進的C4.5算法和CART算法[7],其中ID3算法以信息增益的大小判斷是否對分類有益,C4.5算法以信息增益率判斷是否對分類有益。
(1)ID3算法。在1986年,J.Ross Quinlan將信息論引入決策樹算法,提出了決策樹ID3算法[8],ID3算法就是從數(shù)據(jù)中構造決策樹的遞歸過程[9]。該算法假設樣本集E中共有C類樣本訓練集,每類樣本數(shù)為pi,i=1,2,…,C,如果以特征屬性A作為分類測試屬性,屬性A將E劃分成共v個子集{E1,E2,…,Ev},設Ei中含有第j類樣本的個數(shù)為pij,j=1,2,…,C,那么子集Ei的熵為:
特征A的信息熵為:
決策樹能對樣本做出正確類別判斷預測所需的信息為:
其中,信息增益用于衡量特征屬性A對分類結果影響的大小,其定義為數(shù)據(jù)集E正確類別判斷的熵I(E)與屬性A給定的條件下E的信息熵H(A)之差,記作Gain(A),即:Gain(A)=H(A)-H(E|A)。
(2)C4.5算法。在1993年,Quinlan在ID3算法的基礎上又提出了C4.5算法[10]。C4.5算法不使用信息增益比來選擇最優(yōu)的劃分屬性,而是使用信息增益率來選擇最優(yōu)的劃分屬性,與上述ID3中同樣的符號表示為:
信息增益比GR(A)定義為按照某特征屬性A來劃分,使得數(shù)據(jù)集E產(chǎn)生的信息增益IGain(A)與特征屬性A本身的熵H(A)的比。
(3)CART算法。CART算法最早是由Breman等人在1984年提出,可用于分類和回歸兩種問題,CART算法對于簡單的分類問題生成的決策樹精度較高,對于復雜的決策樹精確度會降低。CART算法選擇基尼增益作為當前數(shù)據(jù)的分割屬性衡量標準。
基尼系數(shù)(Gini系數(shù))源自經(jīng)濟學概念,表示在樣本收集中隨機選擇樣本且樣本被錯誤分類的概率。基尼系數(shù)定義為:
屬性A的基尼增益定義為:Gini(E,A)=Gini(A)-Gini(E|A)。
在以決策樹為基學習器構建Bagging集成的基礎上,將隨機屬性的選擇引入決策樹訓練中就是隨機森林。它是一種基于樹的機器學習算法,通過使用多個決策樹的預測結果來做出決策。隨機森林中的決策樹訓練就是從訓練樣本中隨機選取樣本,同時訓練生成多個決策樹[11],每棵決策樹獨立訓練,對未知樣本的預測時每棵決策樹能產(chǎn)生對應的預測結果。它的訓練特點如下:
(1)每棵樹的訓練都是在總樣本中隨機選取一部分樣本來進行訓練的;在訓練時從樣本中隨機有放回地抽取訓練,這樣使得特殊的少量樣本被抽中的概率小于大部分的正常樣本,這樣進而增強了隨機森林算法的抗噪聲性能。
(2)節(jié)點的分類屬性是隨機的。它不僅提高了訓練速度,可以很好地適應離散數(shù)據(jù)和連續(xù)數(shù)據(jù),而且能避免因為異常樣本而出現(xiàn)過擬合的情況。
(3)在每棵決策樹對未知樣本得出預測分析后,進一步進行投票表決,得出的結果為大多數(shù)決策樹的預測結果,而訓練決策樹采用的是隨機抽樣有放回地選取樣本訓練,故綜合投票最終輸出的結果抗噪聲效果好。
本次實驗采用536×710的BGA焊點圖像來進行基于測地線的活動輪廓模型和圖割的結合算法來進行實驗,BGA焊點原圖和焊點分割后的圖像結果如下:

圖1 X光掃描BGA焊點原圖

圖2 焊點分割結果
經(jīng)過圖像分割算法處理后的圖片中,分別采用基于圓形度和基于隨機森林算法來進行圖像焊點目標識別結果對比。主要思想為:在沒有根據(jù)面積去除干擾的情況下,直接通過圓形度閾值0.6來進行焊點圖像的識別和隨機森林訓練圓形度來進行焊點的識別,得到的焊點識別結果圖如下:

圖3 圓形度閾值識別結果

圖4 隨機森林訓練后識別結果
由處理結果可以看出,采用隨機森林訓練進行的焊點識別結果和直接用圓形閾值進行的焊點識別結果相比,采用隨機森林訓練后的焊點識別效果更優(yōu)。
在BGA焊點的識別方面,本文采用了活動輪廓和圖割結合的方法來進行圖像的分割,并且采用隨機森林訓練圓形度來將焊點圖像與背景中的空洞、雜質(zhì)噪音圖像區(qū)分開來,并且保留準確的焊點的圖像。本方法在對識別同樣BGA焊點的目標任務上,比直接采用圓形的作為閾值區(qū)分焊點的識別準確率高。另外,根據(jù)隨機森林的高效分類的特點,本文將繼續(xù)研究以焊點面積、焊點中的空洞占比等參數(shù)屬性來進行隨機森林算法的訓練,進一步能實現(xiàn)X射線BGA內(nèi)部缺陷檢測技術中的缺陷自動檢測和分類。