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