張小潔+++張艷++林育陽(yáng)
【摘要】傳統(tǒng)的SVM特別適合解決兩類分類問(wèn)題,而對(duì)于多類分類,則需將其轉(zhuǎn)化為多個(gè)兩類分類問(wèn)題,相應(yīng)地需要構(gòu)造多個(gè)兩類子分類器,這樣不但使得分類器結(jié)構(gòu)復(fù)雜,而且分類速度受到很大的影響。為了快速地進(jìn)行多類分類, 本文使用LIBSVM中的svmtrain實(shí)現(xiàn)對(duì)訓(xùn)練數(shù)據(jù)集的訓(xùn)練,從而獲取SVM多分類模型,利用獲取的模型進(jìn)行測(cè)試與預(yù)測(cè),不僅使得子分類器數(shù)目大大減少,而且使分類速度明顯提高。最后從粉末冶金零件圖庫(kù)中選取的8張圖像進(jìn)行了分類實(shí)驗(yàn),取得較好的分類結(jié)果。
【關(guān)鍵詞】 SVM; 圖像分類; 粉末冶金零件;多類分類器;
中國(guó)分類號(hào):TP-92
0.引言
支持向量機(jī)(Support Vector Machine,SVM)是一種新的機(jī)器學(xué)習(xí)技術(shù)。該技術(shù)已經(jīng)成為當(dāng)前國(guó)際機(jī)器學(xué)習(xí)界的研究熱點(diǎn),有許多學(xué)者已將它引入到圖像分類中來(lái),并取得了較好的效果。粉末冶金(PM)也稱為鋼鐵粉末。它和普通的機(jī)械零件的最大區(qū)別是用模具加工而成的,由于具有節(jié)能、省材、環(huán)保、經(jīng)濟(jì)、高效等諸多優(yōu)點(diǎn),所以被稱為典型的近凈型制造技術(shù)。隨著我國(guó)粉末冶金零件制造技術(shù)的飛速發(fā)展,尤其是汽車工業(yè)的飛速發(fā)展,粉末冶金零件的品種越來(lái)越繁多,樣式各異,因此對(duì)粉末冶金零件的自動(dòng)檢測(cè)分類也提出了更高的要求。但是由于傳統(tǒng)SVM對(duì)于多類分類總是將其轉(zhuǎn)化為多個(gè)兩類分類問(wèn)題,相應(yīng)地需要構(gòu)造多個(gè)兩類子分類器,這樣不但使得分類器結(jié)構(gòu)復(fù)雜,而且分類速度很慢,無(wú)法滿足生產(chǎn)線上實(shí)時(shí)分類的需求。本文正是針對(duì)粉末冶金零件的特點(diǎn),研究適合該產(chǎn)品的多類分類器,提高產(chǎn)品分類的快速性和準(zhǔn)確性。
1. SVM多類分類器
支持向量機(jī)最基本的理論是針對(duì)二分類問(wèn)題。但是在實(shí)際應(yīng)用中涉及的一般是多分類問(wèn)題,就需要將原始的兩類SVM轉(zhuǎn)化為多類分類器。近年提出許多多類SVM分類算法,大多數(shù)方法的思路是:構(gòu)建一系列SVM分類器,每個(gè)分類器用于識(shí)別其中兩個(gè)類別,并將它們判別結(jié)果以某種方法組合起來(lái)實(shí)現(xiàn)多類分類[1].
常見(jiàn)的方法有一對(duì)一和一對(duì)多兩種[2]。本文要實(shí)現(xiàn)3類不同粉末冶金零件的分類,因?yàn)轭悇e不多,故采取一對(duì)一的方法。設(shè)訓(xùn)練集為T(mén),待分類的零件共有3個(gè)類別,在其中找出3種類別的兩兩組和,共有 個(gè),分別用這兩個(gè)類別樣本點(diǎn)組成兩類問(wèn)題訓(xùn)練集 ,然后用求解兩類問(wèn)題的SVM分別求得3個(gè)判別函數(shù) 。算法如下圖所示:
2. SVM分類過(guò)程
本文在設(shè)計(jì)分類器的時(shí)候,所采用的軟件就是LIBSVM 2.86[3]。LIBSVM屬于SVM模式識(shí)別以及回歸的一個(gè)軟件包,它的特點(diǎn)是既簡(jiǎn)單、易于使用又快速有效。該軟件不僅提供編譯好的可在Windows 系列系統(tǒng)的執(zhí)行文件,還提供了源代碼,方便改進(jìn)、修改以及在其它操作系統(tǒng)上應(yīng)用。
目前,LibSVM已經(jīng)成為國(guó)內(nèi)應(yīng)用最多的SVM的庫(kù),原因是它不但程序小,運(yùn)用靈活,輸入?yún)?shù)少,而且是開(kāi)源的,易于擴(kuò)展。
為了得到適合粉末冶金零件的分類器,本文在整個(gè)實(shí)驗(yàn)過(guò)程是按照以下流程進(jìn)行的。如圖2所示。
SVM分類器的輸入是圖像特征提取的輸出文件,也就是圖像的邊緣方向直方圖所包含的數(shù)據(jù)信息。本文選取3種零件各90幅樣本圖像進(jìn)行訓(xùn)練,每幅圖像對(duì)應(yīng)一個(gè)40維的向量,用它作為分類器的輸入。如圖3所示:
圖中第一列是訓(xùn)練樣本的數(shù)量,第二列是零件類別的編號(hào),每一行是任何一個(gè)訓(xùn)練零件圖像的維數(shù)。
通過(guò)訓(xùn)練得到的SVM模型保存為文件*.model,用記事本打開(kāi)其內(nèi)容如圖4所示:
下面對(duì)模型里面的內(nèi)容作如下解釋:
3.多類分類器的驗(yàn)證
為了更好的判斷SVM模型效果,下面我們用以下8幅圖片進(jìn)行測(cè)試,如圖5所示:
經(jīng)過(guò)對(duì)以上8幅圖進(jìn)行測(cè)試,每幅圖像分別用本文得到的SVM分類器進(jìn)行分類測(cè)試,圖像的相似度是由libsvm的置信度統(tǒng)計(jì)出來(lái)的,其結(jié)果如表1所示:
從表格中不難看出,a圖和b圖屬于類型1,c圖和d圖屬于類型2,e圖和f圖屬于類型3,g圖和h圖看不出來(lái)屬于哪一類。也就是說(shuō)只要是粉末冶金零件圖的話,它的分類概率就懸殊很大,直接可以分出屬于哪一類了;但是如果是非零件圖的話,它分類結(jié)果相差都不會(huì)太大,也就是說(shuō),很難分出屬于哪一類。
4.結(jié)束語(yǔ)
通過(guò)測(cè)試可以看出明,本文得到的SVM多分類器的準(zhǔn)確率是相當(dāng)高的。經(jīng)過(guò)試驗(yàn)驗(yàn)證,該分類器的識(shí)別率可以達(dá)到98%以上。所以,將此分類器用在生產(chǎn)線上對(duì)粉末冶金零件進(jìn)行分類識(shí)別有一定的實(shí)用價(jià)值和相當(dāng)深遠(yuǎn)的意義。
參考文獻(xiàn):
[1]李雪花; 許姜滌宇; 于安軍; 杜宇人;. 基于SVM多類分類器的字符識(shí)別 [J].成都:信息技術(shù),2016[1].
[2] WANG Zhe ,MENG Yun,ZHU Yujin.et al McMatMHKS:A direct multi-class matrixized learning machine[J].Knoeledge-Based Systems,2015,88:184-194.
[3] CHANG Chih-Chung,LIN Chih-Jen.LIBSVM: a library for support vector machines [EB/OL].(2008-04-08)[2008-12-22].http://www.csie.ntu.edu.tw/~cjlin /libsvm.
[4]孟蕓,王喆. 矩陣型多類代價(jià)敏感分類器模型[J].華東理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2016 (2):119- 122.
[5]薛寧?kù)o. 多類支持向量機(jī)分類器對(duì)比研究[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2011, Vol.32, 1792-1795.
[6]劉潔,賀振動(dòng),吳彰良,鞏曉赟.基于機(jī)器視覺(jué)技術(shù)的油封缺陷在線檢測(cè)系統(tǒng)研究[J].儀表技術(shù)與傳感器, 2016 (5): 47-50.
[7]邵剛,屈保平,曹鵬,等.基于Hough變換的攝像機(jī)跟蹤系統(tǒng)設(shè)計(jì)[J].測(cè)控技術(shù),2013,32(8):32-35.
[8]吳彰良,孫長(zhǎng)庫(kù).基于圖像處理的油封缺陷自動(dòng)檢測(cè)與分類識(shí)別方法[J].儀器儀表學(xué)報(bào),2013,34(5):1093-1099.
[9]楊金鳳.機(jī)器視覺(jué)技術(shù)在空瓶檢驗(yàn)系統(tǒng)中的研究與應(yīng)用[D]. 碩士學(xué)位論文,山東大學(xué),2008.
作者簡(jiǎn)介:張小潔(1978--),女,副教授,主要研究領(lǐng)域智能化制造與檢測(cè)。E-mail:ryt-2004@163.com,電話:15619569155。
陜西工業(yè)職業(yè)技術(shù)學(xué)院科研基金項(xiàng)目,項(xiàng)目編號(hào):ZK16-05。
Abstract: The traditional SVM is very suitable for solving two class classification problems, and for multi class classification, will be transformed into multiple two class classification problems, accordingly need to construct a plurality of two types of sub classifiers. This not only makes the classifier complexity and classification speed have great influence. In order to fast multi class classification. In this paper, we use libsvm svmtrain training on the training data set, in order to obtain the SVM multi classification model, are utilized to obtain the model of test and forecast, not only makes the number of sub classifiers is greatly reduced, and the classification rate is improved significantly. Finally, the 8 images selected from the powder metallurgy parts library are classified, and the results are obtained.
Key words: SVM; Image classification;Powder metallurgy parts; Many class Classifier;