任欣雨 溫華放 王 飛 孫婧玥 孫 敏
蘇州城市學(xué)院光學(xué)與電子信息學(xué)院 江蘇蘇州 215104
由于元件封裝技術(shù)的迅速發(fā)展,電子組件的重量變低、密度變大,這給表面組裝帶來(lái)了更多的困難。自動(dòng)X射線檢測(cè)(Automatic X-ray Inspection,AXI)技術(shù)是目前許多廠家廣泛采用的一種技術(shù)。它著重于測(cè)試焊點(diǎn)的物理結(jié)構(gòu),克服了其他方法的不足,尤其是對(duì)于球形柵格陣列(Ball Grid Array,BGA)電路板中隱藏式焊點(diǎn)的測(cè)試更具獨(dú)到之處。
在我國(guó)X射線實(shí)時(shí)成像檢測(cè)技術(shù)經(jīng)過(guò)十多年的努力,已成為成熟的無(wú)損檢測(cè)技術(shù)。X射線焊盤(pán)掃描圖像檢測(cè)系統(tǒng)中的圖像分割,是目前焊點(diǎn)檢測(cè)的核心模塊之一。由于各種焊點(diǎn)物理結(jié)構(gòu)的差異,其呈現(xiàn)的焊點(diǎn)圖像也不同,從圖像中就能判斷出其缺陷。目前市面上的檢測(cè)設(shè)備中對(duì)焊點(diǎn)的圖像分割算法,仍存在實(shí)時(shí)檢測(cè)精確度不夠、速度慢等缺陷。本文主要研究X射線焊點(diǎn)掃描圖像分割算法,將圖像中的焊球、焊盤(pán)及氣泡精確分割,實(shí)現(xiàn)BGA電路板的焊球缺陷檢測(cè)。
在圖像分割方面,傳統(tǒng)的圖像分割方法都是以灰度或圖譜為基礎(chǔ)進(jìn)行區(qū)域的劃分,噪聲的干擾以及不均勻的灰度分布,因此會(huì)導(dǎo)致分割效果的不精確。隨著各學(xué)科的相互融合,以及現(xiàn)代計(jì)算機(jī)技術(shù)的飛速發(fā)展,人們對(duì)圖像分割的精度、效率和魯棒性的要求越來(lái)越高。在圖像分割中,基于活動(dòng)輪廓模型的圖像分割技術(shù)已經(jīng)得到了廣泛的應(yīng)用。
在焊點(diǎn)的識(shí)別方面,隨著計(jì)算機(jī)的發(fā)展,集成學(xué)習(xí)算法中具有代表性的隨機(jī)森林(Random Forest)被用于識(shí)別缺陷,它采用多棵決策樹(shù)并以投票的方式輸出預(yù)測(cè)結(jié)果,抗干擾能力強(qiáng),可以通過(guò)訓(xùn)練準(zhǔn)確區(qū)分焊點(diǎn)并進(jìn)行缺陷分類(lèi)。
本文采用活動(dòng)輪廓和圖割的結(jié)合算法進(jìn)行BGA焊點(diǎn)的圖像分割,根據(jù)圓形度進(jìn)行隨機(jī)森林的訓(xùn)練達(dá)到BGA焊點(diǎn)的識(shí)別,并且通過(guò)實(shí)驗(yàn)進(jìn)一步對(duì)比隨機(jī)森林算法在BGA焊點(diǎn)的識(shí)別上的性能。
1989年Kass等提出的Snake模型是最早被提出的活動(dòng)輪廓模型[1],其主要思路是在目標(biāo)圖形附近構(gòu)建一條閉合曲線,通過(guò)能量泛函使閉合曲線發(fā)生形變并不斷逼近目標(biāo)圖形的邊界,分割過(guò)程就是求解能量泛函最小值的過(guò)程[2]。參數(shù)活動(dòng)輪廓模型大多是基于此模型進(jìn)行演變的,但是由于此類(lèi)模型對(duì)初始位置比較敏感,不能辨別局部極值,并且難以完成自動(dòng)拓?fù)滢D(zhuǎn)換。同年,Osher等提出了水平集(Level Set Method)的方法[3],來(lái)解決自動(dòng)拓?fù)滢D(zhuǎn)換的問(wèn)題?;谒郊姆椒ㄓ址Q幾何活動(dòng)輪廓模型,測(cè)地線活動(dòng)輪廓模型(Geodesic Active Contour Model,GACM)就是其中運(yùn)用最廣泛的模型之一。GACM的設(shè)計(jì)模式也是求解能量函數(shù)最小值,它與原始Snake模型相似,但是曲線的演化過(guò)程僅依賴于圖像的邊緣信息,因此很容易受到噪聲干擾。圖割(Graph Cuts)算法的關(guān)鍵就是構(gòu)建一個(gè)能量函數(shù),通過(guò)各種方法進(jìn)行能量函數(shù)的優(yōu)化來(lái)實(shí)現(xiàn)圖像分割。該類(lèi)方法通過(guò)映射將像素表示為圖的節(jié)點(diǎn),像素間的相鄰關(guān)系表示為邊。結(jié)合兩者的優(yōu)缺點(diǎn),Xu等人于2007年提出的基于活動(dòng)輪廓模型的圖割(Graph Cuts Based Active Contours)算法[4]就是一個(gè)以圖割為優(yōu)化工具,以活動(dòng)輪廓模型為迭代變形思想的分割算法[5]。
本文利用測(cè)地線模型去實(shí)現(xiàn)活動(dòng)輪廓模型,并運(yùn)用圖割去計(jì)算測(cè)地線,再用最大流/最小割進(jìn)行求解。主要步驟為:
(1)構(gòu)建能量函數(shù):以測(cè)地線模型去實(shí)現(xiàn)活動(dòng)輪廓模型,其能量函數(shù)表達(dá)式為:
式中g(shù)為邊緣檢測(cè)函數(shù),形式是g=1/(1+Ι2),Ι是圖像的梯度模值。
(2)構(gòu)造網(wǎng)絡(luò)圖:像素對(duì)應(yīng)網(wǎng)絡(luò)的節(jié)點(diǎn),相鄰像素圖像特征方面的相似度對(duì)應(yīng)邊上的權(quán)重。再通過(guò)源點(diǎn)(source)和匯點(diǎn)(sink)這兩個(gè)特殊的頂點(diǎn),將圖像映射為一個(gè)加權(quán)圖[5]。
(3)利用最大流/最小割求解分割結(jié)果:割指原向圖中部分邊的集合,刪除了它們,就不能從源點(diǎn)s到達(dá)匯點(diǎn)t。最小割就是當(dāng)割的時(shí)候,讓邊的所有權(quán)值變得最小。其中源點(diǎn)s∈S,匯點(diǎn)t∈T,記為CUT(S,T)。
(4)重復(fù)以上步驟直到分割結(jié)果收斂,完成圖像分割。
隨機(jī)森林算法是一種基于決策樹(shù)的集成學(xué)習(xí)算法。在對(duì)圖像識(shí)別進(jìn)行隨機(jī)森林的算法訓(xùn)練時(shí),每棵樹(shù)可以同時(shí)獨(dú)立訓(xùn)練。決策樹(shù)的判別方法采用自根節(jié)點(diǎn)開(kāi)始向下逐節(jié)判別的方式,在每層的子節(jié)點(diǎn)中進(jìn)行屬性比較和分類(lèi)區(qū)分,并依次向下確定每個(gè)分支,最終完成分類(lèi)。每棵樹(shù)訓(xùn)練時(shí)采用的是對(duì)樣本目標(biāo)的隨機(jī)抽樣來(lái)進(jìn)行訓(xùn)練,不容易過(guò)擬合,訓(xùn)練成果高。
1.決策樹(shù)的算法生成
決策樹(shù)用于對(duì)待檢測(cè)集合進(jìn)行分類(lèi)或預(yù)測(cè),它是一種基于樹(shù)結(jié)構(gòu)的分類(lèi)和預(yù)測(cè)算法。決策樹(shù)最明顯的優(yōu)點(diǎn)是具有可解釋性,即每一個(gè)節(jié)點(diǎn)的分枝都有一定的分類(lèi)標(biāo)準(zhǔn)。缺點(diǎn)是對(duì)于含有一些特殊的樣本,決策樹(shù)容易將其分類(lèi)過(guò)于精細(xì),以至于過(guò)擬合,在面對(duì)有多個(gè)類(lèi)和較少的訓(xùn)練樣本的分類(lèi)問(wèn)題時(shí),決策樹(shù)容易出現(xiàn)錯(cuò)誤。決策樹(shù)的算法生成主要有三個(gè)決定分類(lèi)效率部分,分別是特征值的選取、決策樹(shù)的生成和決策樹(shù)生成時(shí)的剪枝[6]。
2.決策樹(shù)的分裂準(zhǔn)則
決策樹(shù)的分裂準(zhǔn)則可以分成:ID3算法、以ID3算法改進(jìn)的C4.5算法和CART算法[7],其中ID3算法以信息增益的大小判斷是否對(duì)分類(lèi)有益,C4.5算法以信息增益率判斷是否對(duì)分類(lèi)有益。
(1)ID3算法。在1986年,J.Ross Quinlan將信息論引入決策樹(shù)算法,提出了決策樹(shù)ID3算法[8],ID3算法就是從數(shù)據(jù)中構(gòu)造決策樹(shù)的遞歸過(guò)程[9]。該算法假設(shè)樣本集E中共有C類(lèi)樣本訓(xùn)練集,每類(lèi)樣本數(shù)為pi,i=1,2,…,C,如果以特征屬性A作為分類(lèi)測(cè)試屬性,屬性A將E劃分成共v個(gè)子集{E1,E2,…,Ev},設(shè)Ei中含有第j類(lèi)樣本的個(gè)數(shù)為pij,j=1,2,…,C,那么子集Ei的熵為:
特征A的信息熵為:
決策樹(shù)能對(duì)樣本做出正確類(lèi)別判斷預(yù)測(cè)所需的信息為:
其中,信息增益用于衡量特征屬性A對(duì)分類(lèi)結(jié)果影響的大小,其定義為數(shù)據(jù)集E正確類(lèi)別判斷的熵I(E)與屬性A給定的條件下E的信息熵H(A)之差,記作Gain(A),即:Gain(A)=H(A)-H(E|A)。
(2)C4.5算法。在1993年,Quinlan在ID3算法的基礎(chǔ)上又提出了C4.5算法[10]。C4.5算法不使用信息增益比來(lái)選擇最優(yōu)的劃分屬性,而是使用信息增益率來(lái)選擇最優(yōu)的劃分屬性,與上述ID3中同樣的符號(hào)表示為:
信息增益比GR(A)定義為按照某特征屬性A來(lái)劃分,使得數(shù)據(jù)集E產(chǎn)生的信息增益IGain(A)與特征屬性A本身的熵H(A)的比。
(3)CART算法。CART算法最早是由Breman等人在1984年提出,可用于分類(lèi)和回歸兩種問(wèn)題,CART算法對(duì)于簡(jiǎn)單的分類(lèi)問(wèn)題生成的決策樹(shù)精度較高,對(duì)于復(fù)雜的決策樹(shù)精確度會(huì)降低。CART算法選擇基尼增益作為當(dāng)前數(shù)據(jù)的分割屬性衡量標(biāo)準(zhǔn)。
基尼系數(shù)(Gini系數(shù))源自經(jīng)濟(jì)學(xué)概念,表示在樣本收集中隨機(jī)選擇樣本且樣本被錯(cuò)誤分類(lèi)的概率?;嵯禂?shù)定義為:
屬性A的基尼增益定義為:Gini(E,A)=Gini(A)-Gini(E|A)。
在以決策樹(shù)為基學(xué)習(xí)器構(gòu)建Bagging集成的基礎(chǔ)上,將隨機(jī)屬性的選擇引入決策樹(shù)訓(xùn)練中就是隨機(jī)森林。它是一種基于樹(shù)的機(jī)器學(xué)習(xí)算法,通過(guò)使用多個(gè)決策樹(shù)的預(yù)測(cè)結(jié)果來(lái)做出決策。隨機(jī)森林中的決策樹(shù)訓(xùn)練就是從訓(xùn)練樣本中隨機(jī)選取樣本,同時(shí)訓(xùn)練生成多個(gè)決策樹(shù)[11],每棵決策樹(shù)獨(dú)立訓(xùn)練,對(duì)未知樣本的預(yù)測(cè)時(shí)每棵決策樹(shù)能產(chǎn)生對(duì)應(yīng)的預(yù)測(cè)結(jié)果。它的訓(xùn)練特點(diǎn)如下:
(1)每棵樹(shù)的訓(xùn)練都是在總樣本中隨機(jī)選取一部分樣本來(lái)進(jìn)行訓(xùn)練的;在訓(xùn)練時(shí)從樣本中隨機(jī)有放回地抽取訓(xùn)練,這樣使得特殊的少量樣本被抽中的概率小于大部分的正常樣本,這樣進(jìn)而增強(qiáng)了隨機(jī)森林算法的抗噪聲性能。
(2)節(jié)點(diǎn)的分類(lèi)屬性是隨機(jī)的。它不僅提高了訓(xùn)練速度,可以很好地適應(yīng)離散數(shù)據(jù)和連續(xù)數(shù)據(jù),而且能避免因?yàn)楫惓颖径霈F(xiàn)過(guò)擬合的情況。
(3)在每棵決策樹(shù)對(duì)未知樣本得出預(yù)測(cè)分析后,進(jìn)一步進(jìn)行投票表決,得出的結(jié)果為大多數(shù)決策樹(shù)的預(yù)測(cè)結(jié)果,而訓(xùn)練決策樹(shù)采用的是隨機(jī)抽樣有放回地選取樣本訓(xùn)練,故綜合投票最終輸出的結(jié)果抗噪聲效果好。
本次實(shí)驗(yàn)采用536×710的BGA焊點(diǎn)圖像來(lái)進(jìn)行基于測(cè)地線的活動(dòng)輪廓模型和圖割的結(jié)合算法來(lái)進(jìn)行實(shí)驗(yàn),BGA焊點(diǎn)原圖和焊點(diǎn)分割后的圖像結(jié)果如下:
圖1 X光掃描BGA焊點(diǎn)原圖
圖2 焊點(diǎn)分割結(jié)果
經(jīng)過(guò)圖像分割算法處理后的圖片中,分別采用基于圓形度和基于隨機(jī)森林算法來(lái)進(jìn)行圖像焊點(diǎn)目標(biāo)識(shí)別結(jié)果對(duì)比。主要思想為:在沒(méi)有根據(jù)面積去除干擾的情況下,直接通過(guò)圓形度閾值0.6來(lái)進(jìn)行焊點(diǎn)圖像的識(shí)別和隨機(jī)森林訓(xùn)練圓形度來(lái)進(jìn)行焊點(diǎn)的識(shí)別,得到的焊點(diǎn)識(shí)別結(jié)果圖如下:
圖3 圓形度閾值識(shí)別結(jié)果
圖4 隨機(jī)森林訓(xùn)練后識(shí)別結(jié)果
由處理結(jié)果可以看出,采用隨機(jī)森林訓(xùn)練進(jìn)行的焊點(diǎn)識(shí)別結(jié)果和直接用圓形閾值進(jìn)行的焊點(diǎn)識(shí)別結(jié)果相比,采用隨機(jī)森林訓(xùn)練后的焊點(diǎn)識(shí)別效果更優(yōu)。
在BGA焊點(diǎn)的識(shí)別方面,本文采用了活動(dòng)輪廓和圖割結(jié)合的方法來(lái)進(jìn)行圖像的分割,并且采用隨機(jī)森林訓(xùn)練圓形度來(lái)將焊點(diǎn)圖像與背景中的空洞、雜質(zhì)噪音圖像區(qū)分開(kāi)來(lái),并且保留準(zhǔn)確的焊點(diǎn)的圖像。本方法在對(duì)識(shí)別同樣BGA焊點(diǎn)的目標(biāo)任務(wù)上,比直接采用圓形的作為閾值區(qū)分焊點(diǎn)的識(shí)別準(zhǔn)確率高。另外,根據(jù)隨機(jī)森林的高效分類(lèi)的特點(diǎn),本文將繼續(xù)研究以焊點(diǎn)面積、焊點(diǎn)中的空洞占比等參數(shù)屬性來(lái)進(jìn)行隨機(jī)森林算法的訓(xùn)練,進(jìn)一步能實(shí)現(xiàn)X射線BGA內(nèi)部缺陷檢測(cè)技術(shù)中的缺陷自動(dòng)檢測(cè)和分類(lèi)。