RBF網(wǎng)絡(luò)和貝葉斯分類(lèi)器融合的人臉識(shí)別方法設(shè)計(jì)
引言
本文引用地址:http://www.ex-cimer.com/article/149934.htm本文基于人臉圖像分塊和奇異值壓縮,進(jìn)行RBF 神經(jīng)網(wǎng)絡(luò)和貝葉斯分類(lèi)器融合的設(shè)計(jì)。將人臉圖像本身的灰度分布描述為矩陣,其奇異值特征具有轉(zhuǎn)置不變性、旋轉(zhuǎn)不變性、位移不變性、鏡像不變性等諸多重要的性質(zhì),進(jìn)行各種代數(shù)和矩陣變換后提取的代數(shù)特征是人臉的表征。由于整體圖像的奇異值向量反映的是圖像整體的統(tǒng)計(jì)特征,對(duì)細(xì)節(jié)的描述還不夠深入,本文模擬人類(lèi)識(shí)別人臉的模式,在圖像分塊和加權(quán)的基礎(chǔ)上,突出待識(shí)別人臉的骨骼特征,近似于人類(lèi)在識(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)使用了非線(xiàn)性傳輸函數(shù),比單層感知器網(wǎng)絡(luò)具有更強(qiáng)的分類(lèi)能力。在隱含層中心確定的情況下,RBF神經(jīng)網(wǎng)絡(luò)只需對(duì)隱含層至輸出層的單層權(quán)值學(xué)習(xí)修正,比多層感知器具有更快的收斂速度,這也是本文選擇RBF神經(jīng)網(wǎng)絡(luò)作為分類(lèi)器的原因。
在 RBF 神經(jīng)網(wǎng)絡(luò)構(gòu)建和初始化采取有監(jiān)督的聚類(lèi)算法,在網(wǎng)絡(luò)參數(shù)的最終調(diào)整和訓(xùn)練方面采取 Hybrid學(xué)習(xí)(HLA)算法。在隱層參數(shù)固定的條件下,由線(xiàn)性最小二乘法計(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),滿(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×n,利用奇異值分解將其轉(zhuǎn)化為對(duì)角矩陣。
設(shè)A∈Rm×n(不失一般性,設(shè)m≥n),且rank(A)=k,則存在兩個(gè)酉矩陣Um×m和Un×n及廣義對(duì)角陣Dm×m使下式成立:
其中U的列向量是AAT的特征向量,V的列向量是ATA的特征向量,T表示轉(zhuǎn)置。
稱(chēng)為矩陣A的奇異值, ui(i=k+1,…,m)是AAT對(duì)應(yīng)于λi=0的特征向量,vi(i=k+1,…, n)是ATA對(duì)應(yīng)于λi=0的特征向量。如果矩陣A代表一幅人臉圖像,則式
表示對(duì)該人臉圖像進(jìn)行了正交分解,將矩陣
中主對(duì)角線(xiàn)上的奇異值元素連同中剩余的(ri-k)個(gè)0組合構(gòu)成一個(gè)n維列向量
。
由于任何實(shí)矩陣A對(duì)應(yīng)唯一的奇異值對(duì)角陣
,因此,一幅人臉圖像對(duì)應(yīng)于唯一的奇異值特征向量。
(1)從人臉數(shù)據(jù)庫(kù)選擇人臉作為識(shí)別訓(xùn)練集;
(2)將被選入訓(xùn)練集的人臉圖像幾何歸一化處理;將被選入訓(xùn)練集的人臉圖像灰度歸一處理;
(3)將預(yù)處理過(guò)的人臉圖像劃分成大小為的子塊;
(4)將每一幅圖像變?yōu)橐粋€(gè)列向量(先分別將每一個(gè)子塊所有向量排成一列,再將所有子塊按順序排成一列);然后以子塊為單位進(jìn)行;
基于面部骨骼特征、眼睛的分布、鼻子的形狀等結(jié)構(gòu)特征,是鑒別人臉的主要依據(jù)。將每一幅人臉圖像所形成的矩陣劃分成…等個(gè)二維矩陣分別降維為一維列向量。求訓(xùn)練集中所有對(duì)應(yīng)子塊的平均值,
;再對(duì)每一類(lèi)樣本中的所有對(duì)應(yīng)子塊求平均,
;對(duì)應(yīng)子塊進(jìn)行樣本規(guī)范化,
;
并求協(xié)方差矩陣:
,
從中取 m 個(gè)較大特征值對(duì)應(yīng)的特征向量,構(gòu)成對(duì)應(yīng)子塊的特征臉空間 W1 ,即W1 =[w11,w12,…,w1 m ]T 。再對(duì)訓(xùn)練樣本進(jìn)行規(guī)范化處理
,投影到特征臉空間,獲得投影特征為:
。對(duì)任一測(cè)試樣本對(duì)應(yīng)子塊進(jìn)行規(guī)范化處理,即
,然后得到投影特征,即
用上述方法逐一對(duì)每個(gè)子塊進(jìn)行處理。得到
。
基于特征分塊貝葉斯分類(lèi)器設(shè)計(jì)
每個(gè)基于特征分塊的貝葉斯分類(lèi)器,利用了所對(duì)應(yīng)的圖像塊包含的判別信息,為得到性能更好的分類(lèi)器,需要將這些分類(lèi)器融合給出最終的判別結(jié)果??梢杂卸喾N辦法實(shí)現(xiàn)分類(lèi)器融合,如加權(quán)求和、相乘等。本文采取加權(quán)求和的方法:
其中
表示兩幅圖像
的相似度,L是貝葉斯分類(lèi)器(FBBC)的總數(shù)(這里是9),
是與的第b個(gè)特征塊之間的差值。
是由第b個(gè)貝葉斯分類(lèi)器計(jì)算出的類(lèi)條件概率密度。是第b個(gè)貝葉斯分類(lèi)器對(duì)應(yīng)的權(quán)值。
不同的特征塊對(duì)應(yīng)的貝葉斯分類(lèi)器對(duì)最終判別結(jié)果貢獻(xiàn)是不相同的,本文采取的是基于子分類(lèi)器分類(lèi)準(zhǔn)確率分配權(quán)值的方法:將各子分類(lèi)器重新放回其訓(xùn)練集,計(jì)算其在訓(xùn)練集上的識(shí)別率,利用這些識(shí)別率,采用下式計(jì)算第b個(gè)子分類(lèi)器的權(quán)值:
圖1人臉圖像的預(yù)處理
圖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í)別。我自己做的是模式分類(lèi),但是對(duì)于曲線(xiàn)擬合應(yīng)該也是一樣的。
利用聚類(lèi)算法確定中心,可以利用的聚類(lèi)算法較多,最普通的就是K—均值聚類(lèi)算法,還有最近鄰、模糊聚類(lèi)、支撐向量基等方法,這些方法都是先確定中心,然后輸出層權(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ò)隱層聚類(lèi)的初始化過(guò)程如下[10]:
(1)隱層節(jié)點(diǎn)數(shù)u=s。假設(shè)每個(gè)類(lèi)收斂于一個(gè)聚類(lèi)中心,再根據(jù)情況具體調(diào)整。
(2)隱層第 k 個(gè)神經(jīng)元的中心為 k 類(lèi)特征矢量的均值。,k=1,2,…,u,
(3)計(jì)算從均值 到屬于類(lèi)k 的最遠(yuǎn)點(diǎn)的歐氏距離
(4)計(jì)算各個(gè)j聚類(lèi)中心到k聚類(lèi)中心的距離,j=1,2,…,s, j≠k
(5) 包含規(guī)則:若且,則類(lèi)k包含于類(lèi)中,類(lèi)應(yīng)被
RBF神經(jīng)網(wǎng)絡(luò)的算法
網(wǎng)絡(luò)學(xué)習(xí)就是通過(guò)調(diào)整連接權(quán) 、隱層中心和寬度,以減小輸出誤差。
1、連接權(quán)值的調(diào)整
定義誤差函數(shù)為:
,
,其中
是第個(gè)訓(xùn)練樣本的實(shí)際輸出值和理想輸出值。通過(guò)線(xiàn)性最小二乘法求解最佳權(quán)值。
2、隱層中心及寬度調(diào)整
W固定,采用梯度下降法,經(jīng)推導(dǎo)可得和的迭代計(jì)算公式為:
其中,
分別為隱層中心
寬度的學(xué)習(xí)速率
,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)滿(mǎn)足誤差容限或訓(xùn)練次數(shù),停止訓(xùn)練。在測(cè)試過(guò)程中,依據(jù)競(jìng)爭(zhēng)選擇的辦法做出識(shí)別判斷。
本文重點(diǎn)研究人臉圖像的32子塊權(quán)值選取情況如下:
表1 人臉圖像劃分不同子塊數(shù)的識(shí)別結(jié)果
表2 賦予人臉圖像32子塊不同權(quán)值的識(shí)別結(jié)果
實(shí)驗(yàn)結(jié)果表明,基于人臉面部骨骼特征、以及眼睛分布、鼻子形狀等結(jié)構(gòu)特征,是鑒別人臉的主要依據(jù)。通過(guò)子塊權(quán)值的合理分布,突出人臉骨骼特征,而對(duì)嘴部和皮膚折皺等表情變化部分特征給予弱化或剔除,這與人類(lèi)識(shí)別人臉時(shí)的模式相近,識(shí)別效果較好。但是,子塊不宜過(guò)多,否則增加RBF神經(jīng)網(wǎng)絡(luò)計(jì)算負(fù)擔(dān),識(shí)別率也會(huì)有所下降。
結(jié)論
本文提出了基于圖像分塊奇異值壓縮,融合RBF神經(jīng)網(wǎng)絡(luò)和貝葉斯分類(lèi)器的人臉識(shí)別方法,模擬人類(lèi)識(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í)別速度。
評(píng)論