摘 要:本章通過用SVM算法和神經網絡算法兩種方法對掌紋圖像進行分類,驗證了基于SVM算法分類的優越性遠遠大于傳統的神經網絡算法分類。而且,SVM算法具有良好的抗噪性,而對于神經網絡算法,一旦輸入向量的維數增加,其收斂性和錯誤率都會發生較大的偏差。實驗結果驗證了用SVM算法比用神經網絡算法有更大的準確率,尤其在小樣本、高維數的分類上。
關鍵詞:掌紋驗證 支持向量機 BP算法
中圖分類號:TP391文獻標識碼:A文章編號:1674-098X(2011)01(b)-0020-02
Study of Palmprint Authentication based on SVM Compared With BP
Pu Xin
(Changchun University of Science and Technology College of Optical and Electronical Information,Changchun,130012)
Abstract:This paper introduces the method of Support Vector Machine contrasting with BP algorithm which is very normal in the field of Neural Network,some useful conclusion can be gained during experiments as following:using SVM will get better effect than using BP when the data have noises.The results show that when limited training samples are used,the obtained correct recognition rate of the testing samples can be very high.Advantages of SVM are much more notable when the training set is small and the data dimension is high.
Key words:Palmprint Authentication,Support Vector Machine,BP
支持向量機(Support Vector Machine)是在統計學習理論基礎之上發展起來的一種全新的機器學習算法,它以統計學理論的結構風險最小化原則為理論基礎,將最大化分類間隔的思想和基于核的方法結合在一起,表現出很好的泛化能力,尤其在處理小樣本、高維數問題上有很好的表現。由于SVM方法有堅實的數學基礎,并且可以有效地克服“維數災難”等問題,所以受到了越來越多的關注和青睞。SVM方法在人臉識別[7],文本識別[6],車牌識別[8],遙感圖像等多個領域有重要的應用,成為近20年發展最快的研究方向之一。
1 支持向量機
支持向量機算法[1~4]可以分為線性和非線性兩類,首先涉及的是線性支持向量機,如圖1所示。
對非線性問題,要通過非線性變換將輸入向量映射到一個高維空間中,在這個高維空間進行分類運算,即在變換空間求最優分類面[5]。
因此,在最優分類面中采用內積函數就可以實現某一非線性變換后的線性分類,此時目標函數式為:
(1)
而相應的分類函數也變為
(2)
由以上分析可見,樣本在映射空間內無論是線性可分還是線性不可分,在求解其最優分類面時,都無需考慮映射的具體形式,只用一個滿足Mercer條件的核函數代替映射空間的內積運算即可,因此克服了“維數災難”現象,并且在運算的復雜度上也沒有明顯增加。
2 用支持向量機實現掌紋驗證
本文所用的數據庫為香港理工大學的掌紋數據庫。為構建SVM網絡,需要分別選取正、負類樣本。正類樣本是來源于同一手掌的圖像;負類樣本為與正類樣本相異的掌紋圖像。如圖2所示,為某人不同時間采集到的六幅掌紋圖像;圖3為其他人的掌紋圖像。分別從正、負類樣本中各選取四幅作為訓練樣本,其余各2幅作為測試樣本,同時又選取其他116幅圖像作為負類樣本,共得到120幅測試樣本。
本文所用的核函數為多項式內積核和高斯核,所用的分類器為多項式分類器和徑向積函數網絡。
用SVM進行分類的過程如下:
輸入:樣本集;輸出:分類結果。
具體步驟:
1)從掌紋數據庫中選出四個正類樣本和四個負類樣本,構造初始訓練集。2)構造分類超平面,選取支持向量,并將支持向量構成集合。3)正確標注支持向量的樣本類別。4)從掌紋數據庫中選取120幅圖片作為測試集。5)測試圖片,得出結果。
一般來講,核函數選取不同,識別率也不同。下表給出了應用不同核函數時,所得到的識別率。在本文的掌紋識別系統中,RBF核函數比多項式核函數有更好的識別效果(表1)。
3 用神經網絡方法實現掌紋驗證
本文采用的是3層BP網絡,即隱含層只有一層。
輸入層取已經提取過的512維的特征向量;隱層節點的數目根據經驗公式可以計算出來為9~35,實驗結果表明,隱層節點取15~25之間網絡的分類正確率比較高,在這里取20;由于用于分類設計,類別數為2,因此輸出層節點數為2,輸出層節點用Sigmoidal函數或硬極限函數。
采用64維輸入向量時得到的結果為87%,采用256維輸入向量時得到的結果為73%,采用512維輸入向量時得到的結果為56%,可以看出,神經網絡只適用于輸入向量不大的情況,一旦輸入向量的維數增加,其收斂性和錯誤率都會發生較大的偏差。
4 結語
本章通過用SVM算法和神經網絡算法兩種方法對掌紋圖像進行分類,驗證了基于SVM算法分類的優越性遠遠大于傳統的神經網絡算法分類。而且,SVM算法具有良好的抗噪性,而對于神經網絡算法,一旦輸入向量的維數增加,其收斂性和錯誤率都會發生較大的偏差。實驗結果驗證了用SVM算法比用神經網絡算法有更大的準確率,尤其在小樣本、高維數的分類上。
參考文獻
[1]張學工[譯].統計學習理論的本質[M].北京:清華大學出版社,2000.
[2]邊肇祺,張學工.模式識別[M].北京:清華大學出版社,2000:296.
[3]李國正,王猛,曾華軍譯.支持向量機導論[M].北京:電子工業出版社,2004.
[4]張學工.關于統計學習理論與支持向量機[J].自動化學報,2000(26):32-35.
[5]Vapnik V,Lerner A. Pattern Recognition Using Generalized Portrait.Automation and Remote Control.1963,24(6):774~780.
[6]王曉光,王曉華.一種基于SVM的車牌漢字的有效識別方法[J].計算機工程與應用,2004(24):208-210.
[7]馮元戩,施鵬飛.基于支持向量機的彩色圖像人臉檢測方法[J].上海交通大學學報,2003(6):947-0950.
[8]高珊,劉萬春,朱玉文.基于SVM的車牌字符分割和識別方法[J].微電子學與計算機,2005(6):34-36.