李顏瑞, 楊 毅
(1.山西機電職業(yè)技術(shù)學(xué)院信息與管理工程系,山西長治 046011;2.中北大學(xué)電子與計算機科學(xué)技術(shù)學(xué)院,山西太原 030051)
經(jīng)過無數(shù)人的研究和實驗,生物特征識別技術(shù)已經(jīng)被公認(rèn)為安全系數(shù)較高的身份驗證方法.到目前為止,生物特征研究基本上已經(jīng)涵蓋了人類的所有的特征.比如:掌紋[1],指紋[2],人臉[3],虹膜[4],眉毛[5]等生物特征.其中有一些特征識別技術(shù)已經(jīng)得到應(yīng)用,例如指紋、掌紋和人臉.雖然其它生物特征暫時還沒有得到應(yīng)用,但是這些生物特征仍然具有很大的應(yīng)用潛力和研究價值.所以,本文繼續(xù)研究利用眉毛特征進行識別.主成分分析即PCA方法,是利用通過建立子空間進行識別得.但是在應(yīng)用主成分分析時,通常是對圖像整體進行主成分分析[6],保證了整體特征信息的完整,而忽略了局部特征信息和細(xì)節(jié)特征信息.所以,本文決定采用分塊PCA方法進行眉毛識別.
PCA也稱為主成分分析[7],被廣泛地應(yīng)用到模式識別中,是大家公認(rèn)的一種識別效果相對較好的識別方法,該方法是利用線性分析方法進行識別.Turk和Pentland首先提出了主成分分析方法,是利用K-L變換實現(xiàn)得,該變換能將原圖像數(shù)據(jù)或者原音頻數(shù)據(jù)降低維數(shù)并且圖像或者音頻所包含的有用信息卻沒有減少,其降低維數(shù)的方法是利用求最小均方誤差值得到的,是一種應(yīng)用范圍最廣的特征提取方法.工作原理如下:
例如存在一個矩陣w,其矩陣大小為n×m,則可以將該矩陣表示為m個,n維的列向量,即w={x1,x2,…,xm},則可以求出矩陣 w 的協(xié)方差矩陣Cw為:
那么這樣計算得到的協(xié)方差矩陣Cw就為一個n×n的方陣.從理論上講可以直接對協(xié)方差矩陣Cw進行特征分解,求取特征值和特征向量.但是這時,協(xié)方差矩陣Cw的維數(shù)很大,直接求特征值和特征向量必然存在很大的計算量和困難.所以,為了克服這些困難,可以先對協(xié)方差矩陣Cw進行奇異值分解.這時再求協(xié)方差矩陣Cw的特征值和特征向量就相對容易了.將分解得到的特征值λ進行從大到小的排序,即 λ0,λ1,…,λm-1,則每個特征值 λ對應(yīng)的特征向量 β 為 β0,β2,…,βm-1.
通過分析發(fā)現(xiàn),較大的特征值對應(yīng)的特征向量能夠很好的表達(dá)矩陣的信息.反之,較小的特征值對應(yīng)的特征向量在表達(dá)矩陣信息的作用上,效果不大可以忽略不計.所以,可以刪除特征值較小的特征向量,以達(dá)到壓縮特征向量的選取的個數(shù)并且選取的個數(shù)可以由閾值η決定,即
其中k表示選取前k個較大特征值所對應(yīng)的特征向量.閾值η通常取0.9.
所以,由前 k 個特征值 λ0,λ1,…,λk-1,所對應(yīng)的特征向量 β0,β2,…,βk-1組成的矩陣稱為特征空間即 B=(β0,β2,…,βk-1).
眉毛數(shù)據(jù)庫是用來驗證識別理論是否正確的唯一的根本依據(jù).所以,首先要建立實驗所需要的眉毛數(shù)據(jù)庫,同時為了保證實驗的可信度,本文研究決定仍然使用北工大李玉鑑教授建立的高質(zhì)量的眉毛數(shù)據(jù)庫[8](圖1),同時仍然采用手工圈取的方法提取眉毛區(qū)域(圖2),利用計算機進行灰度化(圖3),并且用相應(yīng)的插值算法進行歸一化,本文使用雙線性插值算法將眉毛圖像設(shè)置為50*200像素(圖4).
圖1
圖2
圖3
圖4
特征提取就是從圖像中提取出能夠唯一表達(dá)這類圖像的信息參數(shù).無論是在識別還是在檢索,特征提取是最基礎(chǔ)的一步,也是必不可少的一步.特征提取方法如下:
假定眉毛圖像定義為Mij(1<i,j≥n),Mij表示第i個人第j條眉毛.共有n個人.
(1)將眉毛圖像平均分成w塊,且每塊眉毛圖像大小為h*k,則每塊眉毛圖像中數(shù)據(jù)用mi,j(1≤i≤h,1≤j≤k)表示.
(2)取第一個人,第一塊眉毛圖像w11,按照列優(yōu)先的原則將第一塊眉毛圖像組成一個列向量,即可以表示為:
這樣可以將每個人用來訓(xùn)練的眉毛,分塊后取出第一塊,按照上述方法寫成列向量形式,即可以用w21,w31,…,wn1表示,則這些列向量可以組成一個新的矩陣 W1=(w11,w21,w31,…,wn1).
(3)構(gòu)造矩陣W1的協(xié)方差矩陣CW1,即CW1=.其中w為協(xié)方差矩陣
為了驗證方法的正確性,本文依然用最近鄰法則[9]進行識別,識別方法為:
(1)將測試眉毛分塊后,按照特征提取方法,把每塊眉毛列向量在相應(yīng)的特征空間t上進行投影,得出每塊眉毛的特征向量,然后將所有的特征向量按照分塊順序連接成一個行向量.就為測試眉毛的特征向量.用y測表示.
(2)計算yi之間的歐式距離的平均值和yi與y測的歐式距離.
(3)如果yi與y測的歐式距離的最小值大于yi之間的歐式距離的平均值,則可以得出結(jié)論:該眉毛為非眉毛庫中的眉毛.反之可以得出結(jié)論:該眉毛為眉毛庫中的眉毛,且為yi與y測與的歐式距離最小的那個人的眉毛.CW1中,行向量的平均值構(gòu)成的列向量.并求出協(xié)方差矩陣CW1的特征值和特征向量,即用λi和βi表示.然后根據(jù)閾值ηi,按照特征值從大到小,選取前p個特征向量,構(gòu)成特征空間.即t=(β1,β2,…,βp)T.
(4)將分塊眉毛列向量在特征空間上的投影就為該分塊眉毛的特征向量.即yi1=(t*wi1)T,其中1≤i≤n表示第幾個人.即yi1就為第i個人的,第一個眉毛分塊的特征向量,且為行向量形式.
(5)按照上述方法,可以求出每個人的其它分塊的眉毛特征向量.分別用yi2,yi3,…,yiw表示.
(6)將每個人的各個分塊特征向量按照分塊順序合并成一個特征向量就為每個人眉毛的特征向量.即用yi表示.
影響本文實驗的因素主要有兩個:一是分塊的數(shù)量、二是閾值的選取.所以實驗從這兩個方面進行比較驗證.
眉毛庫中選取109人眉毛,每人睜眼、閉眼各一張,用matlab仿真,實驗的結(jié)果比較如下:
(1)確定好閾值和分塊數(shù)量,比較先使用小波變換處理,在進行特征提取與直接進行特征提取對實驗結(jié)果的影響.如表1所示:
表1 是否使用小波
(2)確定好閾值,比較采用不同的分塊數(shù)量對實驗結(jié)果的影響.如表2所示:
表2 采用不同的分塊
(3)確定好分塊數(shù)量,比較采用不同的閾值對實驗結(jié)果的影響.如表3所示:
表3 采用不同的閾值
在109人的數(shù)據(jù)庫上,通過matlab仿真實驗分析,研究發(fā)現(xiàn)使用分塊PCA進行特征提取,利用最近鄰法則進行眉毛識別,識別率最高為92.66%.這樣就證明了分塊PCA方法進行眉毛識別是可行得,同時也證明了眉毛可以作為生物特征來識別人.然而本文的眉毛數(shù)據(jù)庫直接使用的是北工大采集的數(shù)據(jù)庫,從數(shù)據(jù)庫中的眉毛圖像可以發(fā)現(xiàn),有些因素就沒有考慮進去或者有些因素人為的給避免了.但是,實際應(yīng)用中,這些因素是沒有辦法避免的,甚至對識別率影響還非常大,必須考慮到.例如,表情的不同和光照的強弱以及順光、逆光的差別都會對眉毛圖像的像素點的數(shù)值產(chǎn)生變化,影響識別率.所以,今后要重點研究其它因素對識別的影響.
[1]鄔向前,王寬全,張大鵬.一種用于掌紋識別的線性特征表示和匹配方法[J].軟件學(xué)報,2004,15(6):869-880.
[2]羅希平,田捷.自動指紋識別中的圖像增強和細(xì)節(jié)匹配算法[J].軟件學(xué)報,2002,13(5):946-956.
[3]周杰,盧春雨,張長水,等.人臉自動識別方法綜述[J].電子學(xué)報,2000,28(4):102-106.
[4]王蘊紅,朱勇,譚鐵牛,等.基于虹膜識別的身份鑒別[J].自動化學(xué)報,2002 ,28(1):1-10.
[5]李玉鑑,謝歡曦,周藝華.基于2DPCA的眉毛識別方法研究[J].武漢大學(xué)學(xué)報,2011,57(6):517-522.
[6]李玉鑑,王利娟.基于PCA的眉毛識別方法研究[J].計算機工程與科學(xué),2008,30(11):28-30,37.
[7]胡長勃,馮濤,馬頌德,等.基于主元分析法的行為識別[J],中國圖像圖形學(xué)報,2000,5(10):818-824.
[8]http://mpccl.bjut.edu.cn/EyebrowRecognition/BJUTEyebrow-Database/BJUTED.html.
[9]邊肇棋,張學(xué)工等.模式識別(第二版)[M].北京:清華大學(xué)出版社,2000.