??? 摘? 要: 提出了一種將支持向量機(jī)(SVM)用于機(jī)械零件識(shí)別的方法,。實(shí)驗(yàn)采用了97張零件圖片,,9類(lèi)零件其中一部分作為訓(xùn)練樣本,另一部分作為測(cè)試樣本,。提取零件的Hu矩作為特征向量,并將BP神經(jīng)網(wǎng)絡(luò)與SVM進(jìn)行了比較,。實(shí)驗(yàn)結(jié)果表明,,以多項(xiàng)式為核函數(shù)的SVM有較高的識(shí)別率。?
??? 關(guān)鍵詞:支持向量機(jī); 零件識(shí)別; Hu矩; BP神經(jīng)網(wǎng)絡(luò)
?
??? 零件識(shí)別是計(jì)算機(jī)視覺(jué)與模式識(shí)別在機(jī)械工業(yè)領(lǐng)域中的重要應(yīng)用之一,。它作為機(jī)械加工自動(dòng)化的基礎(chǔ),,將人從繁重的勞動(dòng)中解放出來(lái),提高了生產(chǎn)率,,也降低了成本,。機(jī)械零件識(shí)別已經(jīng)在國(guó)內(nèi)引起了廣泛關(guān)注,現(xiàn)有的方法主要集中在模板匹配和神經(jīng)網(wǎng)絡(luò)方面[1-3],。?
??? 支持向量機(jī)SVM(Support Vector Machine)是Vapnik等人根據(jù)統(tǒng)計(jì)學(xué)習(xí)理論(SLT)提出的一種新的機(jī)器學(xué)習(xí)方法,。SVM建立在SLT的VC維理論和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理的基礎(chǔ)上,根據(jù)有限樣本信息在模型復(fù)雜性與學(xué)習(xí)能力之間尋找最佳折衷,,以期獲得最好的推廣能力,。SVM有效地克服了神經(jīng)網(wǎng)絡(luò)分類(lèi)中出現(xiàn)的過(guò)學(xué)習(xí)、欠學(xué)習(xí)以及陷入局部極小值等諸多問(wèn)題,。在解決小樣本,、非線性及高維數(shù)等模式識(shí)別與回歸分析問(wèn)題中,表現(xiàn)出獨(dú)特的優(yōu)勢(shì)和良好的應(yīng)用前景。近年來(lái),,SVM在手寫(xiě)體識(shí)別,、人臉識(shí)別、文本分類(lèi)等領(lǐng)域都取得了很大的成功[4-6],。?
??? 本文將SVM應(yīng)用在零件識(shí)別上,,通過(guò)實(shí)驗(yàn),取得了比較滿意的結(jié)果,。?
1 支持向量機(jī)?
1.1 VC維和SRM?
??? 支持向量機(jī)最初是建立在VC維和結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理基礎(chǔ)上的,。在模式識(shí)別方法中VC維被直觀地定義為:對(duì)一個(gè)指示函數(shù)集,,如果存在h個(gè)樣本能夠被函數(shù)集中的函數(shù)按所有可能的各種形式分開(kāi),則稱(chēng)函數(shù)集能夠把h個(gè)樣本打散,。能打散的最大樣本數(shù)目就是它的VC維,,它反映的是函數(shù)集的學(xué)習(xí)能力。VC維越大則學(xué)習(xí)機(jī)器越復(fù)雜,。結(jié)構(gòu)風(fēng)險(xiǎn)最小原則(SRM)是統(tǒng)計(jì)學(xué)理論中提出的一種新策略,,即把函數(shù)集構(gòu)造為一個(gè)函數(shù)子集序列,并使子集按VC維的大小排列,;在每個(gè)子集中尋找最小經(jīng)驗(yàn)風(fēng)險(xiǎn),,在子集間折中考慮經(jīng)驗(yàn)風(fēng)險(xiǎn)和置信范圍使實(shí)際風(fēng)險(xiǎn)最小[7]。?
1.2 最優(yōu)分類(lèi)面?
??? 如圖1所示,,實(shí)心圓和空心圓分別代表兩個(gè)不同的類(lèi),,H為超平面,H1和H2分別為各類(lèi)中離分類(lèi)超平面最近的樣本,且平行于分類(lèi)超平面的平面,。H1,、H2上的樣本點(diǎn)就是支持向量,margin為它們之間的距離,,稱(chēng)為分類(lèi)間隔,。所謂最優(yōu)分類(lèi)面就是能使兩類(lèi)正確分開(kāi),而且使分類(lèi)間隔最大,。前者保證經(jīng)驗(yàn)風(fēng)險(xiǎn)最小,,后者保證置信范圍最小,,從而使實(shí)際風(fēng)險(xiǎn)最小[7],。?
?
?
??? 設(shè)有N個(gè)訓(xùn)練樣本,(x1,y1),…,(xl,yl)·xi∈Rn,yi∈{+1,-1},若線性可分,則存在決策函數(shù):?
?????
??? SVM的目的就是要找出一個(gè)最優(yōu)超平面,,使得margin=?
??? 從而原始最優(yōu)問(wèn)題轉(zhuǎn)換為求:?
??? ?
??? 問(wèn)題已轉(zhuǎn)換成求解(4)式的最小值,。通過(guò)這種轉(zhuǎn)換,將問(wèn)題轉(zhuǎn)換成一個(gè)不等式在條件約束下的二次尋優(yōu)問(wèn)題,,存在唯一解α*,再轉(zhuǎn)換成對(duì)偶問(wèn)題后,,即可求得最優(yōu)超平面的參數(shù),w*、b*:?
?
??? 對(duì)于非線性問(wèn)題,,SVM的核心思想是利用非線性映射Ф,,將輸入向量映射到一個(gè)高維空間,然后在這個(gè)高維空間中構(gòu)造最優(yōu)分類(lèi)面,。Rn上的樣本集{xi,yi}映射到高維空間得新樣本集{φi(xi),yi},,然后根據(jù)新樣本集構(gòu)建最優(yōu)分類(lèi)面,所得判決函數(shù): ?
?
式中,,K為核函數(shù),,不同的核函數(shù)產(chǎn)生不同的支持向量機(jī)算法,。核函數(shù)的選擇在支持向量機(jī)算法中是一個(gè)難點(diǎn)[8]。常見(jiàn)的核函數(shù)有:?
??? (1)多項(xiàng)式核函數(shù):K(x,xi)=[(x,xi)+1]d,,d為多項(xiàng)式階數(shù),。?
??? (2)徑向基形式核函數(shù)RBF:?
??? (3)Sigmoid核函數(shù):K(x,xi)=tanh(v(x,xi)+c)。?
1.3 SVM多類(lèi)分類(lèi)方法?
??? 基本的支持向量機(jī)方法僅能解決二分問(wèn)題,,要實(shí)現(xiàn)多分問(wèn)題,,需要在二分的基礎(chǔ)上構(gòu)造出多類(lèi)分類(lèi)器[9-11]。SVM的多類(lèi)分類(lèi)方法目前主要有以下三種:?
??? (1) 一對(duì)多分類(lèi)器?
??? 對(duì)N類(lèi)分類(lèi)樣本,,構(gòu)造N個(gè)兩類(lèi)分類(lèi)器,,其中第i個(gè)分類(lèi)器用第i類(lèi)的樣本作為正樣本,其余樣本作為負(fù)樣本,。判別方式是:對(duì)某個(gè)輸入待測(cè)樣本,,其分類(lèi)結(jié)果為分類(lèi)器輸出值最大的那個(gè)分類(lèi)器類(lèi)別。?
??? (2) 一對(duì)一分類(lèi)器?
??? 對(duì)N類(lèi)中的每?jī)深?lèi)構(gòu)造一個(gè)子分類(lèi)器,,需要構(gòu)造N(N-1)/2個(gè)分類(lèi)器,,然后采用投票法確定分類(lèi)結(jié)果。?
??? (3) 決策樹(shù)分類(lèi)器?
??? 將多類(lèi)分類(lèi)問(wèn)題分解為多級(jí)兩類(lèi)分類(lèi)問(wèn)題,,如圖2所示,。?
?
?
??? 以上三種就是目前流行的SVM的多類(lèi)分類(lèi)器構(gòu)造法。第一種方法的優(yōu)點(diǎn)是構(gòu)造的分類(lèi)器少,,缺點(diǎn)是容易產(chǎn)生多個(gè)相同輸出值,,降低了識(shí)別率;第二種方法的缺點(diǎn)是類(lèi)別多了以后,,構(gòu)造的分類(lèi)器較多,,優(yōu)點(diǎn)是采用投票法,識(shí)別結(jié)果更好,;第三種方法介于前兩種方法之間,,缺點(diǎn)是如果某個(gè)結(jié)點(diǎn)發(fā)生誤判,就會(huì)導(dǎo)致下面輸出都是錯(cuò)的,。本文選用第二種方法來(lái)構(gòu)造多類(lèi)分類(lèi)器,。?
2 特征提取?
??? 零件識(shí)別,主要基于零件的形狀,,而矩特征能夠充分反映物體的形狀信息,。Hu提出的7個(gè)不變矩,對(duì)于目標(biāo)的平移,、旋轉(zhuǎn),、縮放都不敏感。本文提取零件的Hu矩作為SVM的訓(xùn)練樣本特征空間,。Hu矩的y計(jì)算如下:?
??? 設(shè)f(x,y)為一幅二維數(shù)字圖像,,為圖像質(zhì)心位置,,則0~3階中心矩定義如下:?
?
3 實(shí)驗(yàn)結(jié)果與分析?
??? 實(shí)驗(yàn)采用了97張零件圖像,每張為1 024×1 280,,總共9類(lèi)零件,,樣本集42張,被測(cè)集55張,如圖3所示,。?
?
?
??? 基于SVM和神經(jīng)網(wǎng)絡(luò)的零件識(shí)別流程圖分別如圖4,、圖5所示。?
?
?
?
??? 實(shí)驗(yàn)1:分別對(duì)不同核函數(shù)情況下SVM識(shí)別情況進(jìn)行了比較,,發(fā)現(xiàn)以多項(xiàng)式為核函數(shù)的支持向量機(jī)分類(lèi)器有較好的識(shí)別效果,,如表1所示。?
?
?
??? 實(shí)驗(yàn)2:將SVM與神經(jīng)網(wǎng)絡(luò)的識(shí)別率進(jìn)行比較,。發(fā)現(xiàn)SVM的正確率比較高,,如表2所示。?
?
?
??? 零件誤識(shí)別的主要原因是零件二值化時(shí),,分割效果不好,,造成特征提取有一定的誤差。然而,,SVM卻能很好地識(shí)別,,這進(jìn)一步證實(shí)了SVM比神經(jīng)網(wǎng)絡(luò)有更好的泛化性。?
??? 以統(tǒng)計(jì)學(xué)習(xí)理論為基礎(chǔ)的SVM,,不僅克服了神經(jīng)網(wǎng)絡(luò)過(guò)學(xué)習(xí)和陷入局部極小的問(wèn)題,,而且具有很強(qiáng)的泛化能力。經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證,,將SVM用于機(jī)械零件識(shí)別的方法行之有效,,識(shí)別率高于神經(jīng)網(wǎng)絡(luò)。?
參考文獻(xiàn)?
[1] 歐彥江.基于神經(jīng)網(wǎng)絡(luò)的機(jī)械零件識(shí)別研究,,四川大學(xué)碩士論文,,2006.?
[2] 吳文榮.基于機(jī)器視覺(jué)的柔性制造島在線零件識(shí)別系統(tǒng)研究,電子科技大學(xué)碩士論文,,2004.?
[3] 安新,李麗宏,,安慶賓,等,,機(jī)械零件識(shí)別系統(tǒng)的研究.微計(jì)算機(jī)信息,2006,,22(7):236-238.?
[4] 朱家元,,楊云,張恒喜,等.基于優(yōu)化最小二乘支持向量機(jī)的小樣本預(yù)測(cè)研究.航空學(xué)報(bào),,2004(6):29-32.?
[5] 尚磊,,劉風(fēng)進(jìn).基于支持向量機(jī)的手寫(xiě)體數(shù)字識(shí)別.兵工自動(dòng)化,,2007,26(3):39-41.?
[6] 陳鵬.智能交通中汽車(chē)牌照自動(dòng)識(shí)別系統(tǒng)的研究. 中國(guó)海洋大學(xué)碩士論文,,2005.?
[7] VAPNIK V N.統(tǒng)計(jì)學(xué)習(xí)理論的本質(zhì)[M].張學(xué)工譯.北京:清華大學(xué)出版社,,2000.?
[8] 郭麗娟,孫世宇,,段修生.支持向量機(jī)及核函數(shù)研究. 科學(xué)技術(shù)與工程,,2008(2):487-490.?
[9] PLATT J, CRISTIANINI N, TAYLOR J S. Large margin?DAGS for multi-class classification. Asvances in Neural?Information Processing Systems, 12 ed. S.A. Solla, T. K.Leen and K.-R. Muller, MIT Press, 2000.?
[10] MAYLRAZ E, ALPAYDIN E. Support vector machines for ??? multi-class classification. Proceedings of the International?Workshop on Artificial Neural Networks (IWANN99),IDIAP Technical Report 98-06,1999.?
[11] WESTON J, WATKINS C. Watkins. Multi-class support?vector machines. In Proceeding of ESANN99,ed.M.Verleysen,D.Facto Press, Brussels, 1999: 219-224.?