摘 "要: 在現(xiàn)代印刷電路板生產(chǎn)過(guò)程中,焊點(diǎn)質(zhì)量檢測(cè)是其中的一個(gè)重要組成部分。然而隨著電子元器件封裝的不斷小型化,焊點(diǎn)質(zhì)量檢測(cè)也變得越來(lái)越具有挑戰(zhàn)性,傳統(tǒng)的依靠人工檢測(cè)的方式已經(jīng)越來(lái)越不能滿足實(shí)際生產(chǎn)的需要,同時(shí),基于圖像處理與人工智能的自動(dòng)光學(xué)檢測(cè)技術(shù)在焊點(diǎn)質(zhì)量檢測(cè)中得到越來(lái)越廣泛的應(yīng)用。在此提出一種將雙方向二維線性判別分析和支持向量機(jī)相結(jié)合的焊點(diǎn)質(zhì)量自動(dòng)光學(xué)檢測(cè)方法。實(shí)驗(yàn)結(jié)果表明,該方法能夠取得良好的識(shí)別效果。
關(guān)鍵詞: 焊點(diǎn)檢測(cè); 雙方向二維線性判別分析; 支持向量機(jī); 印刷電路板生產(chǎn)
中圖分類號(hào): TN911?34; TP391.4 " " " " " " " " 文獻(xiàn)標(biāo)識(shí)碼: A " " " " " " " " " "文章編號(hào): 1004?373X(2015)02?0100?04
Application of (2D)2LDA and support vector machine in PCB solder joint inspection
HE Hai?lang, LONG Xu?ming, LIU Ming?xiao, LUO Ai?ling
(School of Electrical Engineering, Southwest Jiaotong University, Chengdu 610031, China)
Abstract: During the production of printed circuit board, quality detection of welding spot is an important component. However, with the miniaturization of electron components’ package, quality detection of welding spot becomes more and more challenging and traditional detection methods based on artificial detection can’t satisfy needs of practical production. Meanwhile, automatic optic inspection based on image processing and artificial intelligence technology has been used in quality detection of welding spot more and more extensively. A kind of automatic optic inspection method combined with two directional two?dimension linear discriminant analysis and support vector machine in quality detection of welding spot is put forward in this paper. The experimental results indicate that this method is helpful in recognization.
Keywords: solder joint inspection; (2D)2LDA; support vector machine; PCB production
0 "引 "言
隨著微電子技術(shù)不斷發(fā)展,電子元器件的引腳不斷向著高密度,小型化方向發(fā)展,這使得人們對(duì)印刷電路板(Printed Circuit Board,PCB)的焊接技術(shù)提出更高的要求。傳統(tǒng)的基于肉眼的人工檢測(cè)方法不管在速度上,還是在準(zhǔn)確性上,都越來(lái)越不能滿足實(shí)際生產(chǎn)的需求[1]。與此相比, 基于圖像處理與人工智能的自動(dòng)光學(xué)檢測(cè)(Automatic Optic Inspection,AOI)技術(shù)卻能夠很好的應(yīng)對(duì)這種趨勢(shì),并且檢測(cè)速度快,不受外界干擾,穩(wěn)定性強(qiáng)。隨著圖像處理技術(shù),模式識(shí)別技術(shù)和計(jì)算機(jī)技術(shù)的不斷發(fā)展,AOI檢測(cè)技術(shù)也在不斷的推陳出新,逐漸向著高準(zhǔn)確性,高智能化方向發(fā)展[2]。
目前,AOI系統(tǒng)常用Partical分析方法[3],其需要對(duì)圖像的分割閥值和Partical的參數(shù)范圍進(jìn)行確定。這對(duì)于用戶的使用來(lái)說(shuō),顯得過(guò)于復(fù)雜[4]。鑒于Partical分析方法的不足,有很多學(xué)者提出采用神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)的模式識(shí)別方法來(lái)檢測(cè)焊點(diǎn)的缺陷[5],取得了很好的效果。但是神經(jīng)網(wǎng)絡(luò)本身存在著局部最優(yōu)解,過(guò)度擬合等問(wèn)題,這些都使其應(yīng)用受到了一定的限制。
為了克服這些問(wèn)題,本文提出一種將雙方向二維線性判別分析(Two Directional Two?dimension Linear Discriminant Analysis,(2D)2LDA)特征提取方法和支持向量機(jī)(Support Vector Machines,SVM)相結(jié)合的焊點(diǎn)檢測(cè)方法。在獲得焊點(diǎn)圖像后,若直接將圖像全部像素點(diǎn)作為特征向量輸入支持向量機(jī),則會(huì)因特征向量的維數(shù)過(guò)高而增加計(jì)算的復(fù)雜度,而且過(guò)高的特征向量維數(shù)會(huì)導(dǎo)致分類性能的退化,即發(fā)生“維數(shù)災(zāi)難”[6]。(2D)2LDA方法是對(duì)二維線性判別分析(Two?dimension Linear Discriminant Analysis,2DLDA)的發(fā)展,相比于2DLDA的僅在列方向進(jìn)行投影,(2D)2LDA實(shí)現(xiàn)在行和列兩個(gè)方向?qū)D像的投影,使獲得的圖像特征更少,更有利于支持向量機(jī)的分類。SVM是一種在統(tǒng)計(jì)學(xué)習(xí)理論的基礎(chǔ)上發(fā)展起來(lái)的新一代學(xué)習(xí)算法[7],相比于人工神經(jīng)網(wǎng)絡(luò),支持向量機(jī)對(duì)于未見(jiàn)過(guò)的測(cè)試樣本具有更好的推廣能力。其學(xué)習(xí)訓(xùn)練過(guò)程是一個(gè)二次規(guī)劃(Quadratic Programming,QP)問(wèn)題,能夠求得全局最優(yōu)解,避免局部最優(yōu)解,目前已成為機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)研究熱點(diǎn)。
1 "雙方向二維線性判別分析
1.1 "2DLDA降維算法
對(duì)于一幅大小為m×n的圖像A,2DLDA降維的目的是找到一個(gè)n行d列的向量矩陣w=[w1,w2,…,wd],通過(guò)公式:
[Y=Aw] " " " " " " " " (1)
將圖像A降到m×d維大小,在這個(gè)新的坐標(biāo)空間中,同類樣本的類內(nèi)距最小化,不同類別樣本的類間距最大化,即最大化:
[J(w)=tr(TSb)tr(TSw)] " " " "(2)
式中:tr(x)表示矩陣x的跡,TSb表示在投影空間中樣本的類間散布矩陣;TSw表示在投影空間中樣本的類內(nèi)散布矩陣。
令訓(xùn)練圖像樣本數(shù)為N,共分成c類,第i(i=1,2,…,c)類訓(xùn)練樣本的樣本數(shù)為Ni,樣本的均值[A=1Nj=1NAj],第i類樣本的均值為[Ai=1Nij=1NiAji],則:
[TSb=i=1cNi(Yi-Y)T(Yi-Y) =i=1cNi[(Ai-A)w]T[(Ai-A)w)]] (3)
[TSw=i=1cj=1Ni(Yji-Yi)T(Yji-Yi) =i=1cj=1Ni[(Aji-Ai)w]T[(Aji-Ai)w]] " (4)
所以,
[tr(TSb)=wTi=1cNi(Ai-A)T(Ai-A)w=wTSbw] (5)
[(TSw)=wTi=1cj=1Ni(Aji-Ai)T(Aji-Ai)w=wTSww] (6)
這時(shí):
[J(w)=wTSbwwTSww] (7)
式中:[w]為歸一化的列向量,根據(jù)Fisher準(zhǔn)則,當(dāng)Sw非奇異時(shí),使J([w])最大的列向量為矩陣Sw-1 Sb最大d個(gè)特征值對(duì)應(yīng)的歸一化特征向量。對(duì)于經(jīng)典的線性判別分析(Linear Discriminant Analysis,LDA),必然會(huì)有Sw為奇異矩陣,而2DLDA成功的解決了這一問(wèn)題[8]。
1.2 "(2D)2LDA降維算法
2DLDA方法降維只是對(duì)圖像列向特征的提取,而沒(méi)有改變圖像行維數(shù),這樣得到的特征維數(shù)依然過(guò)大。以100×100的圖像為例,當(dāng)d=5時(shí),可將其特征維數(shù)降到100×5,但這樣的特征維數(shù)依然比較大,會(huì)導(dǎo)致支持向量機(jī)識(shí)別時(shí)過(guò)多的時(shí)間消耗。
為解決2DLDA降維后圖片特征向量維數(shù)依然過(guò)高的問(wèn)題。Noushath等人又提出(2D)2LDA方法[9]。注意到,2DLDA方法只是對(duì)圖像的列信息進(jìn)行壓縮,而沒(méi)有對(duì)行向進(jìn)行降維。這樣,就可對(duì)圖像進(jìn)行轉(zhuǎn)置后再次運(yùn)用2DLDA方法,得到最優(yōu)投影向量p=m×k,其中k為確定的行向降維后的維數(shù),這樣,通過(guò)下式:
[Y=pTA] (8)
可將圖像降維到k×n維,完成對(duì)圖像行向包含信息的降維。這樣,結(jié)合式(1)、式(8),即可得,
[Y=pTAw] (9)
于是可從m×n大小的圖像中獲得k×d(k[?]m,d[?]n)個(gè)特征。
由于焊點(diǎn)圖像是RGB圖像,無(wú)法直接利用(2D)2LDA方法對(duì)圖像進(jìn)行降維。如果直接簡(jiǎn)單地將其轉(zhuǎn)換成灰度圖像,又將導(dǎo)致大量有用信息的丟失。面對(duì)這一問(wèn)題,常見(jiàn)的解決方法是先對(duì)三種顏色灰度圖分別進(jìn)行(2D)2LDA降維,然后再將獲得的結(jié)果組合起來(lái),獲得大小為k×d×3大小的圖像特征。這種分別進(jìn)行計(jì)算的方法將導(dǎo)致更多的時(shí)間開(kāi)銷,無(wú)法滿足AOI設(shè)備焊點(diǎn)檢測(cè)時(shí)的速度要求。
為解決這一問(wèn)題,本文采用將焊點(diǎn)的三色灰度圖先拼接成一幅灰度圖像,然后運(yùn)用(2D)2LDA降維,如圖1所示為焊點(diǎn)RGB圖拼接策略。芯片的圖像尺寸為80×100,其中,左面上下兩個(gè)80×100分別為紅色和綠色灰度圖,右面上下都為藍(lán)色灰度圖,其中上面為藍(lán)色灰度圖的左面50列,下半部分為右側(cè)50列,這樣,可得到一幅160×150大小包含所有顏色灰度信息的圖像。表1顯示了將RGB灰度圖合并成一幅灰度圖與分別對(duì)三幅灰度圖進(jìn)行降維時(shí)所用的時(shí)間對(duì)比。
[x]
lt;E:\王芳\現(xiàn)代電子技術(shù)201502\Image\20T1.tifgt;
圖1 RGB三色灰度圖拼接示意圖
表1 "兩種方法所用時(shí)間對(duì)比
2 "支持向量機(jī)檢測(cè)算法的實(shí)現(xiàn)
灰度圖像經(jīng)(2D)2LDA降維后,獲得的低維特征轉(zhuǎn)換成一維的向量[x],作為支持向量機(jī)的輸入向量。支持向量機(jī)能夠?qū)崿F(xiàn)的是二分類的問(wèn)題,為了能讓其實(shí)現(xiàn)多分類,必須將其與二元分類器相結(jié)合,文獻(xiàn)[10]指出,一對(duì)一的分類方法更適合實(shí)際應(yīng)用,在此,選擇將一對(duì)一的投票策略[6](One Against One With Voting)與支持向量機(jī)結(jié)合實(shí)現(xiàn)多分類。這樣,對(duì)每一個(gè)二分類,要找到一個(gè)分類函數(shù)f,將兩類樣本分割開(kāi),即:[f:xi→yi]其中[yi∈{-1,+1}],令分割函數(shù)為:
[f(x)=sgn[wTx+b]] (10)
式中:[wTx+b=0]對(duì)應(yīng)的是分割的最優(yōu)超平面;[w]向量垂直于最優(yōu)超平面。對(duì)于規(guī)范化的超平面([min||wTxi+b||=1]),必然滿足約束條件:
[yi(wTxi+b)≥1, " " ?i∈{1,2,…,N}] (11)
距離超平面最近的點(diǎn)到超平面的距離:
[|wTxj+b|||w||=1||w||] "(12)
因此,兩類的分類間隔為[2||w||],最大化分類間隔等價(jià)于最小化[||w||22],這是一個(gè)在公式(11)條件下求[||w||22]最小值問(wèn)題,由拉格朗日乘法求解:
[L(w,b,?)=12||w||2-i=1N?i[yi(wTxi+b)-1]] (13)
式中[?i≥0]為拉格朗日乘數(shù)。最后求出:
[L(?)=-12i=1Nj=1N?i?jyiyjxTixj+i=1N?i] " "(14)
通過(guò)標(biāo)準(zhǔn)的優(yōu)化技術(shù),可求出最后的最優(yōu)解,用[?*],[w*],[b*]表示。在這些解中,只有對(duì)應(yīng)式(11)取等號(hào),即離最優(yōu)超平面最近的樣本點(diǎn)的拉格朗日乘數(shù)[?i]才不等于零,這些點(diǎn)[xi]稱為支持向量[SV]。
上面的分析是對(duì)應(yīng)線性可分的,若樣本是線性不可分的,可放寬約束條件,在式(11)中引入一個(gè)松弛變量[εi]并將目標(biāo)函數(shù)改寫(xiě)為[2||w||+ci=1Nεi],其中c稱為代價(jià)系數(shù),并將特征[xi]通過(guò)一個(gè)核函數(shù)映射到更高維空間解決,在此選用的核函數(shù)為徑向基核函數(shù):
[k(x,y)=exp(-γ||x-y||2)] " " " (15)
其中c和[γ]的值可通過(guò)林智仁教授提供的LibSVM工具獲得。這樣,對(duì)于一個(gè)待分類的樣本[x],可通過(guò)公式(16)的決策函數(shù)[h(x)]進(jìn)行分類。
[h(x)=sgni∈SV?*iyik(xi,x)+b*] " " (16)
用一對(duì)一的投票策略時(shí),若最后票數(shù)有兩個(gè)相等的最大值時(shí),若這兩個(gè)最大值中有一個(gè)代表的是合格焊點(diǎn)的類,則將該測(cè)試焊點(diǎn)判給另一個(gè)最大值代表的類,若兩個(gè)最大值所屬的類不包含合格焊點(diǎn)類,則將該測(cè)試樣本判給前一類。因?yàn)樵赑CB焊點(diǎn)檢測(cè)中,將不合格焊點(diǎn)判斷成合格焊點(diǎn)的漏報(bào)代價(jià)大于將合格焊點(diǎn)判斷成不合格焊點(diǎn)的誤報(bào)代價(jià)。
3 "試驗(yàn)結(jié)果
實(shí)驗(yàn)樣本選用0805封裝的片式電阻,共被分成訓(xùn)練集和測(cè)試集,其中訓(xùn)練集和測(cè)試集所含各個(gè)類型樣本數(shù)量如表2所示。
表2 訓(xùn)練集與測(cè)試集樣本數(shù)
進(jìn)行(2D)2LDA降維時(shí),設(shè)定降維后的行向和列向的特征值相等,表3列出當(dāng)選用不同特征維數(shù)時(shí)的識(shí)別正確率,漏報(bào)率,識(shí)別用時(shí),其中識(shí)別時(shí)間是指測(cè)試樣本平均用時(shí)。
表3 主要數(shù)據(jù)與選取特征數(shù)關(guān)系
從表3中可看出,隨著特征維數(shù)的增加,漏報(bào)率降低,識(shí)別的正確率增加,但隨之識(shí)別用時(shí)也大幅增加,綜合考慮表3中的數(shù)據(jù),決定選擇將圖像的維度降低到9維。最終測(cè)試結(jié)果如表4所示。
表4 支持向量機(jī)檢測(cè)結(jié)果
表4表明,作為關(guān)鍵數(shù)據(jù)的漏報(bào)率為0,其他缺陷的識(shí)別率不等,但都在95%以上,準(zhǔn)確率最高可以達(dá)到100%,整體正確率為97.98%,可以得出結(jié)論,本文提出的焊點(diǎn)檢測(cè)方法是有效的。
4 "結(jié) "語(yǔ)
提出一個(gè)雙方向二維線性判別分析與支持向量機(jī)相結(jié)合的PCB焊點(diǎn)檢測(cè)方法,先利用雙方向二維線性判別分析方法對(duì)焊點(diǎn)三色灰度圖的拼圖進(jìn)行降維,然后將得到的焊點(diǎn)特征送入支持向量機(jī)進(jìn)行分類。
當(dāng)選取的焊點(diǎn)特征維數(shù)為9個(gè)時(shí),焊點(diǎn)的整體分類正確率為97.98%,其中漏報(bào)率為0。
參考文獻(xiàn)
[1] 吳浩.基于模式識(shí)別技術(shù)的焊點(diǎn)自動(dòng)光學(xué)檢測(cè)算法研究[D].廣州:華南理工大學(xué),2013.
[2] 盧盛林,張憲民,鄺泳聰.基于神經(jīng)網(wǎng)絡(luò)的PCB焊點(diǎn)檢測(cè)方法[J].華南理工大學(xué)學(xué)報(bào),2008,36(5):136?139.
[3] DAVID A, FORSYTH J P. Computer version: a modern approach [M]. Beijing: Publishing House of Electronics Industry, 2004.
[4] 盧盛林,張憲民.少缺陷樣本的PCB焊點(diǎn)智能檢測(cè)方法[J].焊接學(xué)報(bào),2009,30(5):57?60.
[5] MATSUSHIMA M, KAWAI N, FUJIE H, et al. Visual inspection of soldering joints by neural network with multi?angle view and principal component analysis [J]. Service Robotics and Mechatronics, 2010, 23: 329?334.
[6] 張錚,王艷平,薛桂香.數(shù)字圖像處理與機(jī)器視覺(jué):Visual C++與matlab實(shí)現(xiàn)[M].北京:人民郵電出版社,2010.
[7] CORTES C, VAPNIK V. Support vector networks [J]. Machine Learning, 1995, 20: 273?297.
[8] 俞王新.計(jì)算機(jī)人臉檢測(cè)與識(shí)別方法的研究[D].上海:上海交通大學(xué),2009.
[9] NOUSHATH S, KUMAR G H, SHIVAKUMARA P. (2D)2LDA: An efficient approach for face recognition [J]. Pattern Recognition, 2006, 39: 1396?1400.
[10] LIN Shih?Chieh, CHOU Chih?Hsien, SU Chia?Hsin. A development of visual inspection system for surface mounted devices on printed circuit board [C]// 2007 The 33rd Annual Conference of the IEEE Industrial Electronics Society (IECON). Taipei, Taiwan, China: IEEE, 2007: 2440?2445.