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