基于概率態受限玻爾茲曼機級聯的人臉檢測方法
【技術領域】
[0001] 本發明屬于生物特征識別及信息安全的技術領域,特別涉及一種基于概率態受限 玻爾茲曼機(P-RBM)級聯的人臉檢測方法。
【背景技術】
[0002] 人臉檢測一直是計算機視覺和模式識別領域一個非常活躍的研究課題,它具有不 易被觀測對象發現的顯著優勢。伴隨著視頻網絡的覆蓋程度迅速增長,視頻人臉檢測由于 在視頻監控、智能化設備、智慧城市以及安全等領域所具有的應用價值受到越來越多的關 注。但是由于視頻圖像是在自然環境下采集的,因此檢測背景多變,且人臉在豎直或水平方 向具有一定的旋轉角度,這給基于視頻幀的人臉檢測帶來了一定的困難。而在現有的人臉 檢測算法中,基于機器學習的檢測算法雖然不會受到人為選定先驗知識或者匹配特征所帶 來的局限性的影響,但是傳統的淺層機器學習網絡在有限樣本和計算能力的限制下,如果 設計的相對簡單,則有較好的魯棒性,但分類正確率不高;如果采用復雜結構,可以實現較 高的正確率但魯棒性差。
[0003] 多隱藏層神經網絡模仿人類的學習層次,通過建立類似于人腦分層次分析問題的 機制,對輸入數據逐級提取從底層到高層的特征,從而建立從底層信號到高層語義的映射 關系。同時,多隱藏層神經網絡通過學習隱藏在數據內部的關系,從而使得學習到的特征更 具有推廣性和表達力。逐層貪婪學習算法的提出使得以受限玻爾茲曼機為核心的多隱藏層 神經網絡得以實現。目前多層受限玻爾茲曼機神經網絡已經在語音識別,圖像識別,自然語 言處理,搜索廣告點擊率預估等領域取得了較好的研究成果,但是根據已經公開的文獻資 料,多層受限玻爾茲曼機神經網絡還未在人臉檢測上面得到應用,并且受限玻爾茲曼機中 神經元對信號的響應狀態和人腦神經元的真實響應狀態并不十分相符。
【發明內容】
[0004] 本發明的目的就是根據人腦神經元的激活響應狀態,提出一種基于概率態受限玻 爾茲曼機(P-RBM)級聯的人臉檢測方法,本發明方法以概率態受限玻爾茲曼機(P-RBM)為 核心,構建級聯型P-RMB神經網絡,并將其應用于人臉檢測領域。
[0005] 本發明具體包括如下步驟:
[0006] 步驟1、根據人腦對圖像分層次學習過程,以P-RBM為基礎,構建一個具有一層可 視層、四層隱藏層和一層分類層的級聯型P-RBM神經網絡,其中可視層與隱藏層構成一個 P-RBM、相鄰的隱藏層亦構成三個P-RBM,從而組成四層級聯P-RBM結構;
[0007] 步驟2、利用逐層貪婪學習算法和對比差異算法訓練四層級聯P-RBM結構;然后 利用交叉熵和共輒梯度法訓練分類層,最后再利用交叉熵和共輒梯度法優化整個級聯型 P-RBM神經網絡;
[0008] 步驟3、利用膚色橢圓擬合算法提取人臉候選區域,再將候選區域逐個輸入至級聯 型P-RBM神經網絡,根據分類層的分類結果完成候選區域的人臉分類,從而實現人臉檢測。
[0009] 步驟1所述級聯型P-RBM神經網絡由一層可視層、四層隱藏層以及一層分類層組 成;其中可視層神經元數為輸入圖片維數;第一隱藏層神經元數大于可視層神經元數,且 之后相鄰的隱藏層的神經元數逐層遞減;分類層為兩個神經元。
[0010] 步驟2所述的利用逐層貪婪學習算法和對比差異算法訓練四層級聯P-RBM結構; 具體如下:
[0011] 2-1、將訓練樣本輸入四層級聯P-RBM結構,即將輸入圖像的像素值歸一化后逐個 賦給可視層神經元,作為其初始激活狀態;
[0012] 2-2、根據單個P-RBM的性質獲得隱藏層神經元被激活的概率P:
[0014] 其中卜表示隱藏層第j個神經元;V表示可視層;b^表示隱藏層中第j個神經元 的偏置;Wj表示相鄰層連接權值W的第j列;
[0015] 所述的P-RBM的性質為同一層神經元彼此之間條件獨立的性質;
[0016] 2-3、采用對比差異算法調整網絡參數,完成單個P-RBM訓練,網絡參數的更新公 式具體如下:
[0017]Δ¥^=momentum*ΔwiS+ε(<vihj>P〇-<vihj>P1-wcost*wis)
[0018] Wij=wΔ
[0019]Λbj=momentum*Λbj+ε(<hj>p0-〈hj>P1)
[0020] bj=bj+Δbj
[0021] Δ〇;=momentum*Δc;+ε(<vi>P〇-<vi>P1)
[0022] cx=cx+Δcx
[0023] 其中ΛWlj,Λbj,ΛCl分別表示相鄰層連接權值W的第i行第j列的更新量,隱藏 層中第j個神經元的偏置的更新量,可視層中第i個神經元的偏置的更新量;Vl表示可視層 第i個神經元;Cl表示可視層第i個神經元的偏置;表示數據在Pi下的均值;ε表示 學習率;momentum表示動量因子;weC]St表示權重衰減因子;
[0024] 2-4、在獲得單個P-RBM最優參數情況下,求得第一隱藏層神經元的概率值,然后 把該概率值作為第二個P-RBM的輸入數據,即在此時,第一隱藏層變為了第二隱藏層的輸 入層,然后按照第一個P-RBM的訓練方式訓練該P-RBM,直至訓練完四個P-RBM。
[0025] 步驟2所述的利用交叉熵和共輒梯度法訓練分類層,具體如下:
[0026] 2-5、獲取第四隱藏層神經元的概率,并將第四隱藏層作為分類層的輸入層,具體 的:采用sigmoid函數作為傳遞函數,將第四隱藏層的數據傳遞至分類層;然后根據分類結 果和真實結果的交叉熵來判斷該神經網絡的分類性能;交叉熵的值越小則表示分類準確率 越尚;
[0027] 2-6、采用共輒梯度法來調整分類層參數,從而使交叉熵最小即神經網絡分類性能 最優,具體如下:
[0028] 1)、從初始化參數值X(1) =(Wdm, 開始,計算交叉熵/y(Kih在該參數值下的 梯度gl=(#-廠,)(々-,>"-!);
[0030]2)、若I|gl||〈σ,則X(1)為所求的極小值點,即此時的網絡參數是最優參數,結束 調整;否則在最優搜索步長λJ沿負梯度方向d⑴=-g遛索到點X(2) =X(1)+λlCl(1);
[0031]3)、計算交叉熵if(pj)在點x(2)下的梯度g2 =((>-;
[0032] 若||g2||〈σ,則x(2)為所求的極小值點,即此時的網絡參數是最優參數,結束 調整;否則在最優搜索步長λ2下沿d(1)的共輒方向d(2)= _g2+i32d(1)搜索到點X(3)= X⑵+A2d⑵;
[0033]重復步驟3),直至滿足條件或者完成所要求的迭代次數Ν;當超過迭代次數Ν時, 結束調整,并將第Ν次迭代時的調整結果最為最優參數;
[0034] 表示第k次搜索時的最優搜索步長; ,. 子;σ表示所要求的精度;w^ss表示分類層與第四隱藏層的連接權值,B^ss表示分類層偏 置W表示數據的真實結果,!>表示數據的分類結果,H4表示第四隱藏層。
[0035] 步驟2所述的利用交叉熵和共輒梯度法優化整個級聯型P-RBM神經網絡,即將訓 練獲得的P-RBM和分類層單個最優參數優化為整個神經網絡的最優參數;具體如下:
[0036] 1)、從初始化參數值X-(Wclass?^classJW4,B4,W3,B3,W2,B2,Wu開始,計算交叉熵 mp力在該參數值下的梯度& = ((A-ff);
[0037] 2)、若I|gl| |〈〇,則χ