RBF網(wǎng)絡(luò)和貝葉斯分類器融合的人臉識別方法設(shè)計
掃描二維碼
隨時隨地手機看文章
引言
本文基于人臉圖像分塊和奇異值壓縮,進行RBF 神經(jīng)網(wǎng)絡(luò)和貝葉斯分類器融合的設(shè)計。將人臉圖像本身的灰度分布描述為矩陣,其奇異值特征具有轉(zhuǎn)置不變性、旋轉(zhuǎn)不變性、位移不變性、鏡像不變性等諸多重要的性質(zhì),進行各種代數(shù)和矩陣變換后提取的代數(shù)特征是人臉的表征。由于整體圖像的奇異值向量反映的是圖像整體的統(tǒng)計特征,對細節(jié)的描述還不夠深入,本文模擬人類識別人臉的模式,在圖像分塊和加權(quán)的基礎(chǔ)上,突出待識別人臉的骨骼特征,近似于人類在識別人臉時自動剔除同一人臉的變化部位的差異能力
徑向基函數(shù)(RBF)網(wǎng)絡(luò)是一種性能良好的前饋型三層神經(jīng)網(wǎng)絡(luò),具有全局逼近性質(zhì)和最佳逼近性能,訓(xùn)練方法快速易行,RBF 函數(shù)還具有局部響應(yīng)的生物合理性。RBF神經(jīng)網(wǎng)絡(luò)隱含層結(jié)點使用了非線性傳輸函數(shù),比單層感知器網(wǎng)絡(luò)具有更強的分類能力。在隱含層中心確定的情況下,RBF神經(jīng)網(wǎng)絡(luò)只需對隱含層至輸出層的單層權(quán)值學(xué)習(xí)修正,比多層感知器具有更快的收斂速度,這也是本文選擇RBF神經(jīng)網(wǎng)絡(luò)作為分類器的原因。
在 RBF 神經(jīng)網(wǎng)絡(luò)構(gòu)建和初始化采取有監(jiān)督的聚類算法,在網(wǎng)絡(luò)參數(shù)的最終調(diào)整和訓(xùn)練方面采取 Hybrid學(xué)習(xí)(HLA)算法。在隱層參數(shù)固定的條件下,由線性最小二乘法計算隱層和輸出層之間的連接權(quán)值,由梯度下降法調(diào)整隱層神經(jīng)元的中心和寬度。這種混合學(xué)習(xí)算法,能使RBF網(wǎng)絡(luò)逼近Moody準則下的最優(yōu)結(jié)構(gòu),即:在沒有其它先驗知識的情況下,與給定樣本一致的規(guī)模最小的網(wǎng)絡(luò)就是最好的選擇。從而保證該網(wǎng)絡(luò)具有較好的泛化能力。
貝葉斯網(wǎng)絡(luò)是一個帶有概率注釋的有向無環(huán)圖,圖中的每一個結(jié)點均表示一個隨機變量,圖中兩結(jié)點間若存在著一條弧,則表示這兩結(jié)點相對應(yīng)的隨機變量是概率相依的,反之則說明這兩個隨機變量是條件獨立的。網(wǎng)絡(luò)中任意一個結(jié)點X 均有一個相應(yīng)的條件概率表(CONditional Probability Table,CPT),用以表示結(jié)點X 在其父結(jié)點取各可能值時的條件概率。若結(jié)點X 無父結(jié)點,則X 的CPT 為其先驗概率分布。貝葉斯網(wǎng)絡(luò)的結(jié)構(gòu)及各結(jié)點的CPT 定義了網(wǎng)絡(luò)中各變量的概率分布。
奇異值分解SVD
奇異值分解非常有用,對于矩陣A(m*n),存在U(m*m),V(n*n),S(m*n),滿足A = U*S*V’。U和V中分別是A的奇異向量,而S是A的奇異值。AA'的正交單位特征向量組成U,特征值組成S'S,A'A的正交單位特征向量組成V,特征值(與AA'相同)組成SS'。因此,奇異值分解和特征值問題緊密聯(lián)系。
奇異值分解提供了一些關(guān)于A的信息,例如非零奇異值的數(shù)目(S的階數(shù))和A的秩相同,一旦秩r確定,那么U的前r列構(gòu)成了A的列向量空間的正交基。
對于任何一個矩陣A∈Rm×n,利用奇異值分解將其轉(zhuǎn)化為對角矩陣。
設(shè)A∈Rm×n(不失一般性,設(shè)m≥n),且rank(A)=k,則存在兩個酉矩陣Um×m和Un×n及廣義對角陣Dm×m使下式成立:
其中U的列向量是AAT的特征向量,V的列向量是ATA的特征向量,T表示轉(zhuǎn)置。
稱為矩陣A的奇異值, ui(i=k+1,…,m)是AAT對應(yīng)于λi=0的特征向量,vi(i=k+1,…, n)是ATA對應(yīng)于λi=0的特征向量。如果矩陣A代表一幅人臉圖像,則式
表示對該人臉圖像進行了正交分解,將矩陣
中主對角線上的奇異值元素連同中剩余的(ri-k)個0組合構(gòu)成一個n維列向量
。
由于任何實矩陣A對應(yīng)唯一的奇異值對角陣
,因此,一幅人臉圖像對應(yīng)于唯一的奇異值特征向量。
(1)從人臉數(shù)據(jù)庫選擇人臉作為識別訓(xùn)練集;
(2)將被選入訓(xùn)練集的人臉圖像幾何歸一化處理;將被選入訓(xùn)練集的人臉圖像灰度歸一處理;
(3)將預(yù)處理過的人臉圖像劃分成大小為的子塊;
(4)將每一幅圖像變?yōu)橐粋€列向量(先分別將每一個子塊所有向量排成一列,再將所有子塊按順序排成一列);然后以子塊為單位進行;
基于面部骨骼特征、眼睛的分布、鼻子的形狀等結(jié)構(gòu)特征,是鑒別人臉的主要依據(jù)。將每一幅人臉圖像所形成的矩陣劃分成…等個二維矩陣分別降維為一維列向量。求訓(xùn)練集中所有對應(yīng)子塊的平均值,
;再對每一類樣本中的所有對應(yīng)子塊求平均,
;對應(yīng)子塊進行樣本規(guī)范化,
;
并求協(xié)方差矩陣:
,
從中取 m 個較大特征值對應(yīng)的特征向量,構(gòu)成對應(yīng)子塊的特征臉空間 W1 ,即W1 =[w11,w12,…,w1 m ]T 。再對訓(xùn)練樣本進行規(guī)范化處理
,投影到特征臉空間,獲得投影特征為:
。對任一測試樣本對應(yīng)子塊進行規(guī)范化處理,即
,然后得到投影特征,即
用上述方法逐一對每個子塊進行處理。得到
。
基于特征分塊貝葉斯分類器設(shè)計
每個基于特征分塊的貝葉斯分類器,利用了所對應(yīng)的圖像塊包含的判別信息,為得到性能更好的分類器,需要將這些分類器融合給出最終的判別結(jié)果??梢杂卸喾N辦法實現(xiàn)分類器融合,如加權(quán)求和、相乘等。本文采取加權(quán)求和的方法:
其中
表示兩幅圖像
的相似度,L是貝葉斯分類器(FBBC)的總數(shù)(這里是9),
是與的第b個特征塊之間的差值。
是由第b個貝葉斯分類器計算出的類條件概率密度。是第b個貝葉斯分類器對應(yīng)的權(quán)值。
不同的特征塊對應(yīng)的貝葉斯分類器對最終判別結(jié)果貢獻是不相同的,本文采取的是基于子分類器分類準確率分配權(quán)值的方法:將各子分類器重新放回其訓(xùn)練集,計算其在訓(xùn)練集上的識別率,利用這些識別率,采用下式計算第b個子分類器的權(quán)值:
圖1人臉圖像的預(yù)處理
圖2 RBF神經(jīng)網(wǎng)絡(luò)的工作原理
RBF神經(jīng)網(wǎng)絡(luò)設(shè)計
直接利用matlab工具箱進行,這是一種較簡單的設(shè)計方法,工具箱中提供了好幾個函數(shù)可以利用,newrb、newrbe,newpnn,newgrnn,早一些的版本還有solverb等。這幾個函數(shù)的使用以及參數(shù)說明請大家看相關(guān)資料。其中,為了看到每一步網(wǎng)絡(luò)的性能函數(shù)變化,建議設(shè)置DF參數(shù)時設(shè)為1。這樣每一步的圖都可以顯示出來,就對生成的網(wǎng)絡(luò)的過程有一個清楚的認識。要查看設(shè)計好的網(wǎng)絡(luò)的參數(shù),中心采用net.IW{1},輸出層權(quán)值采用net.LW{2},隱含層的偏置利用bet.b{1},輸出層的偏置采用net.b{2}進行察看。當然,修改的時候:例如要修改輸出層的偏置,那么,就是net.b{2}=??,就可以了。這種方法網(wǎng)絡(luò)的初始中心是隨機從輸入的訓(xùn)練樣本中選取的,中心的個數(shù)也是由少到多逐步增加的。建議在確定spread參數(shù)時不要設(shè)計得太小,太小可能影響對測試樣本的識別。我自己做的是模式分類,但是對于曲線擬合應(yīng)該也是一樣的。
利用聚類算法確定中心,可以利用的聚類算法較多,最普通的就是K—均值聚類算法,還有最近鄰、模糊聚類、支撐向量基等方法,這些方法都是先確定中心,然后輸出層權(quán)值以及輸出層的偏置再采用lms、rls算法等進行確定。在設(shè)計時,偏置可以根據(jù)自己的需要來設(shè)計,可以有也可以沒有。
假定∈(1≤j≤r)為輸入層神經(jīng)元,為隱層第 i個神經(jīng)元的中心,則第j個神經(jīng)元在第i個隱層節(jié)點的輸出為: , i =1,2,…,u,式中||||表示歐氏范數(shù)。當RBF選用高斯核函數(shù)時,其輸出為:
式中為隱層第 i 個神經(jīng)元的寬度。輸出層第 k 個節(jié)點的輸出值 為: ,式中為隱層節(jié)點 k 到第 j 個輸出節(jié)點的連接權(quán)值。
RBF神經(jīng)網(wǎng)絡(luò)的構(gòu)建和初始化
RBF神經(jīng)網(wǎng)絡(luò)隱層聚類的初始化過程如下[10]:
(1)隱層節(jié)點數(shù)u=s。假設(shè)每個類收斂于一個聚類中心,再根據(jù)情況具體調(diào)整。
(2)隱層第 k 個神經(jīng)元的中心為 k 類特征矢量的均值。,k=1,2,…,u,
(3)計算從均值 到屬于類k 的最遠點的歐氏距離
(4)計算各個j聚類中心到k聚類中心的距離,j=1,2,…,s, j≠k
(5) 包含規(guī)則:若且,則類k包含于類中,類應(yīng)被
RBF神經(jīng)網(wǎng)絡(luò)的算法
網(wǎng)絡(luò)學(xué)習(xí)就是通過調(diào)整連接權(quán) 、隱層中心和寬度,以減小輸出誤差。
1、連接權(quán)值的調(diào)整
定義誤差函數(shù)為:
,
,其中
是第個訓(xùn)練樣本的實際輸出值和理想輸出值。通過線性最小二乘法求解最佳權(quán)值。
2、隱層中心及寬度調(diào)整
W固定,采用梯度下降法,經(jīng)推導(dǎo)可得和的迭代計算公式為:
其中,
分別為隱層中心
寬度的學(xué)習(xí)速率
,m為迭代次數(shù)。
實驗結(jié)果及分析
利用Yale人臉庫中的人臉圖像數(shù)據(jù)進行實驗人臉識別實驗研究,將人臉圖像分塊加權(quán)重構(gòu)的奇異值向量X1,X2,…,Xl(其l中為訓(xùn)練樣本的數(shù)目)矩陣依次輸入RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練,當滿足誤差容限或訓(xùn)練次數(shù),停止訓(xùn)練。在測試過程中,依據(jù)競爭選擇的辦法做出識別判斷。
本文重點研究人臉圖像的32子塊權(quán)值選取情況如下:
表1 人臉圖像劃分不同子塊數(shù)的識別結(jié)果
表2 賦予人臉圖像32子塊不同權(quán)值的識別結(jié)果
實驗結(jié)果表明,基于人臉面部骨骼特征、以及眼睛分布、鼻子形狀等結(jié)構(gòu)特征,是鑒別人臉的主要依據(jù)。通過子塊權(quán)值的合理分布,突出人臉骨骼特征,而對嘴部和皮膚折皺等表情變化部分特征給予弱化或剔除,這與人類識別人臉時的模式相近,識別效果較好。但是,子塊不宜過多,否則增加RBF神經(jīng)網(wǎng)絡(luò)計算負擔,識別率也會有所下降。
結(jié)論
本文提出了基于圖像分塊奇異值壓縮,融合RBF神經(jīng)網(wǎng)絡(luò)和貝葉斯分類器的人臉識別方法,模擬人類識別人臉時剔除同一人臉變化部位的差異能力,采用不同子塊單獨進行人臉識別,根據(jù)RBF神經(jīng)網(wǎng)絡(luò)識別效果進行權(quán)值分配,通過實驗證明,本文方法在降維和識別率方面均取得良好的效果,在正面人臉部位(尤其是下顎部)變化較大時,具有良好的識別精度和識別速度。