張小潔+++張艷++林育陽



【摘要】傳統的SVM特別適合解決兩類分類問題,而對于多類分類,則需將其轉化為多個兩類分類問題,相應地需要構造多個兩類子分類器,這樣不但使得分類器結構復雜,而且分類速度受到很大的影響。為了快速地進行多類分類, 本文使用LIBSVM中的svmtrain實現對訓練數據集的訓練,從而獲取SVM多分類模型,利用獲取的模型進行測試與預測,不僅使得子分類器數目大大減少,而且使分類速度明顯提高。最后從粉末冶金零件圖庫中選取的8張圖像進行了分類實驗,取得較好的分類結果。
【關鍵詞】 SVM; 圖像分類; 粉末冶金零件;多類分類器;
中國分類號:TP-92
0.引言
支持向量機(Support Vector Machine,SVM)是一種新的機器學習技術。該技術已經成為當前國際機器學習界的研究熱點,有許多學者已將它引入到圖像分類中來,并取得了較好的效果。粉末冶金(PM)也稱為鋼鐵粉末。它和普通的機械零件的最大區別是用模具加工而成的,由于具有節能、省材、環保、經濟、高效等諸多優點,所以被稱為典型的近凈型制造技術。隨著我國粉末冶金零件制造技術的飛速發展,尤其是汽車工業的飛速發展,粉末冶金零件的品種越來越繁多,樣式各異,因此對粉末冶金零件的自動檢測分類也提出了更高的要求。但是由于傳統SVM對于多類分類總是將其轉化為多個兩類分類問題,相應地需要構造多個兩類子分類器,這樣不但使得分類器結構復雜,而且分類速度很慢,無法滿足生產線上實時分類的需求。本文正是針對粉末冶金零件的特點,研究適合該產品的多類分類器,提高產品分類的快速性和準確性。
1. SVM多類分類器
支持向量機最基本的理論是針對二分類問題。但是在實際應用中涉及的一般是多分類問題,就需要將原始的兩類SVM轉化為多類分類器。近年提出許多多類SVM分類算法,大多數方法的思路是:構建一系列SVM分類器,每個分類器用于識別其中兩個類別,并將它們判別結果以某種方法組合起來實現多類分類[1].
常見的方法有一對一和一對多兩種[2]。本文要實現3類不同粉末冶金零件的分類,因為類別不多,故采取一對一的方法。設訓練集為T,待分類的零件共有3個類別,在其中找出3種類別的兩兩組和,共有 個,分別用這兩個類別樣本點組成兩類問題訓練集 ,然后用求解兩類問題的SVM分別求得3個判別函數 。算法如下圖所示:
2. SVM分類過程
本文在設計分類器的時候,所采用的軟件就是LIBSVM 2.86[3]。LIBSVM屬于SVM模式識別以及回歸的一個軟件包,它的特點是既簡單、易于使用又快速有效。該軟件不僅提供編譯好的可在Windows 系列系統的執行文件,還提供了源代碼,方便改進、修改以及在其它操作系統上應用。
目前,LibSVM已經成為國內應用最多的SVM的庫,原因是它不但程序小,運用靈活,輸入參數少,而且是開源的,易于擴展。
為了得到適合粉末冶金零件的分類器,本文在整個實驗過程是按照以下流程進行的。如圖2所示。
SVM分類器的輸入是圖像特征提取的輸出文件,也就是圖像的邊緣方向直方圖所包含的數據信息。本文選取3種零件各90幅樣本圖像進行訓練,每幅圖像對應一個40維的向量,用它作為分類器的輸入。如圖3所示:
圖中第一列是訓練樣本的數量,第二列是零件類別的編號,每一行是任何一個訓練零件圖像的維數。
通過訓練得到的SVM模型保存為文件*.model,用記事本打開其內容如圖4所示:
下面對模型里面的內容作如下解釋:
3.多類分類器的驗證
為了更好的判斷SVM模型效果,下面我們用以下8幅圖片進行測試,如圖5所示:
經過對以上8幅圖進行測試,每幅圖像分別用本文得到的SVM分類器進行分類測試,圖像的相似度是由libsvm的置信度統計出來的,其結果如表1所示:
從表格中不難看出,a圖和b圖屬于類型1,c圖和d圖屬于類型2,e圖和f圖屬于類型3,g圖和h圖看不出來屬于哪一類。也就是說只要是粉末冶金零件圖的話,它的分類概率就懸殊很大,直接可以分出屬于哪一類了;但是如果是非零件圖的話,它分類結果相差都不會太大,也就是說,很難分出屬于哪一類。
4.結束語
通過測試可以看出明,本文得到的SVM多分類器的準確率是相當高的。經過試驗驗證,該分類器的識別率可以達到98%以上。所以,將此分類器用在生產線上對粉末冶金零件進行分類識別有一定的實用價值和相當深遠的意義。
參考文獻:
[1]李雪花; 許姜滌宇; 于安軍; 杜宇人;. 基于SVM多類分類器的字符識別 [J].成都:信息技術,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]孟蕓,王喆. 矩陣型多類代價敏感分類器模型[J].華東理工大學學報(自然科學版),2016 (2):119- 122.
[5]薛寧靜. 多類支持向量機分類器對比研究[J]. 計算機工程與設計, 2011, Vol.32, 1792-1795.
[6]劉潔,賀振動,吳彰良,鞏曉赟.基于機器視覺技術的油封缺陷在線檢測系統研究[J].儀表技術與傳感器, 2016 (5): 47-50.
[7]邵剛,屈保平,曹鵬,等.基于Hough變換的攝像機跟蹤系統設計[J].測控技術,2013,32(8):32-35.
[8]吳彰良,孫長庫.基于圖像處理的油封缺陷自動檢測與分類識別方法[J].儀器儀表學報,2013,34(5):1093-1099.
[9]楊金鳳.機器視覺技術在空瓶檢驗系統中的研究與應用[D]. 碩士學位論文,山東大學,2008.
作者簡介:張小潔(1978--),女,副教授,主要研究領域智能化制造與檢測。E-mail:ryt-2004@163.com,電話:15619569155。
陜西工業職業技術學院科研基金項目,項目編號: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;