韋大歡 蘇燕
摘 要:文章提出一種基于BP神經網絡的人臉識別系統,該系統采取預處理方法來確保人臉識別準確率不會因圖像背景及光照條件等特征的變化而下降,同時通過直方圖平衡、橢圓遮罩以及濾波等處理方式,以使系統具備更高的人臉識別準確率。
關鍵詞:BP神經網絡;人臉識別;模式識別;圖像預處理
0? ? 引言
計算機技術的快速發展,使得各種新興技術不斷涌現,人臉識別技術便是其中之一。在人機交流、安全驗證以及公安系統等各個領域,人臉識別技術都有其巨大的應用價值。人們可以利用人臉識別來進行檔案管理、視頻會議乃至醫學醫療?,F階段,人們已普遍使用智能手機來進行購物、交流,這也促使人臉識別技術的應用場景不斷增多。但是,人們在用智能手機對人臉圖像進行掃描時,容易因背景及光照條件的變化而影響到人臉識別結果。對于該問題,需要采取人臉圖像的預處理措施來消除這種不利影響,并且以BP神經網絡為核心設計相應的人臉識別系統。
1? ? 預處理策略
1.1? viola-jones算法
在一幅圖像中,如果某個或多個區域中存在人臉時,便可通過人臉檢測技術來進行定位。對于人臉檢測技術來說,其主要采用viola-jones算法,viola-jones算法具有三大要點,分別是Haar-like特征、Cascade結構與AdaBoost算法。其中Haar-like特征通過積分圖像來對矩形區域中存在的差分信號進行快速計算,而AdaBoost算法則能夠對Stump函數進行結合,以便于選擇的弱分離器具有較強的區分能力,通過對這些弱分類器進行線性組合,以此提高分類性能。對于Cascade結構來說,其具有早期決策作用,這使其能夠對非人臉掃描窗口進行快速拋棄,采用viola-jones人臉檢測算法,能夠對圖像中存在的人臉進行快速定位,并且采取類似于人眼的方式來進行興趣區域處理,以此對人臉中的相關特征圖像進行截取。
1.2? 基于人眼識別的興趣區域處理
在人臉識別系統中,需以人眼識別為原理,將人臉圖像中的人臉作為興趣區域進行處理后,能夠對人臉區域中的人臉特征進行截圖,然后采取預處理方法來提取圖像特征,以使光照與背景變化給人臉識別準確率造成的不利影響得到有效消除。系統需要采取直方圖平衡化處理方式來進行圖像處理,這樣圖像的對比度能夠顯著提高,以使圖像能夠在更大范圍中進行灰度值取值,從而提高了圖像的清晰度。系統還可采取濾波處理來對圖像中的噪點進行清除,最后系統還能利用橢圓遮罩處理方法,使圖像中與人臉不相關的背景圖案被有效屏蔽[1]。
2? ? BP神經網絡
2.1? BP神經網絡模型的建立
對于BP神經網絡來說,其是一種多層前饋網絡,該網絡是以誤差逆傳播算法來開展訓練的。在BP神經網絡中包括3個層次,即輸入層、隱藏層與輸出層,并通過全連接來映射層和層之間的關系。這3層中的神經單元并未進行連接,通過層層處理,能夠使輸入向量X=(x1,x2…xn)在向量Y=(y1,y2...yn)中進行非線性映射。在人臉識別過程中應用BP神經網絡后,其網絡神經結構共包括3層,輸入層、隱藏層和輸出層的數量均為一層。
在BP神經網絡中的各個神經單元相當于獨立的感知設備,通過神經單元能夠使實數值向量轉化成輸入參數,通過對輸入的線性組合進行計算,并分析結果與某個閥值之間的大小。當結果比閥值大時,則輸出值為1反之則為-1。在本文中通過sigmoid壓縮函數來設置感知設備,輸入向量則通過sigmoid函數進行計算并輸出,以此獲得壓縮輸出值,從而確保整個BP神經網絡能夠快速收斂。
在BP神經網絡中,通過反向傳播算法的應用,利用反向傳播過程中產生的誤差值,以此對網絡各個神經單元所賦有的權重進行適當調整,這樣便可獲得神經網絡的穩定收斂權值,從而使訓練得以順利宛成。待訓練完畢時,在新的圖像中,其新的輸入向量X=(x1,x2,…,xn)能夠獲得具有唯一性的輸出向量,即Y=(y1,y2,…,yn),該向量Y能夠當作圖像的最終識別結果。
2.2? 設置沖量項
對于BP神經網絡來說,其在收斂訓練過程中需要應用到反向傳播算法,由于利用梯度下降算法會造成BP神經網絡的收斂速度降低或出現局部最優解問題,所以需要從思維理解上把梯度下降算法比喻成球是沿著誤差曲面進行向下滾落的,這樣沖量項的作用便相當于小球從一次迭代至下次迭代過程中的滾動方向是相同的。通過沖量能夠使球在誤差曲面中滾下時可能會產生局部最小值,由于其同樣發揮著增大搜索步長的作用,所以能夠加快BP神經網絡的收斂速度。通過對沖量項進行引入,并對反向傳播算法公式進行替換,便可得出算法主循環中經過n次迭代后的權值更新結果[2]。
3? ? 基于BP神經網絡的人臉識別系統
3.1? 系統設計
在基于BP神經網絡的人臉識別系統中,主要包含三大模塊,分別是圖像采集預處理模塊、神經網絡訓練模塊以及人臉識別模塊。其中,圖像采集預處理模塊能夠通過opencv來實現圖像采集,而攝像頭則是圖像信息采集的重要設備。此外,該模塊還對ROI算法進行了應用,以此實現圖像預處理,進而消除光照條件和背景變化給人臉識別率造成的不利影響。對于神經網絡訓練模塊來說,則能夠處理大量的訓練數據,該模塊能夠對BP神經網絡模型進行構建,以此確定不同因素的權值。對于人臉識別模塊來說,該模塊能夠將采集到的圖像信息錄入已構建完畢的BP神經網絡模型,以便于通過BP神經網絡模型來對圖像信息進行訓練與計算,并采用歐式距離來判定結果,以此獲得準確的識別結果。
3.2? 系統實驗
為了驗證基于BP神經網絡的人臉識別系統的應用效果,本文采用opencv筆記本攝像頭來對全班學生的人臉照片進行采集,全班共計45名學生。每名學生的人臉圖像采集數量為10張,其中八張用于BP神經網絡模型的訓練數據集,另外兩張則作為測試識別結果的數據集。獲得的訓練數據集數量為360張,而對于結果測試數據集,其數量則為90張。在人臉圖像中,每張圖像中的像素均為28×23,像素點數量為644個,該系統應用圖像預處理模塊,采取基于人眼識別的興趣區域處理策略,在人臉數據集被處理以后用于測試數據。
在基于BP神經網絡的人臉識別系統中,其系統模型共包括3層,在輸入層中共包含644個神經單元,這些神經單元均有對應的像素點輸入。而在隱藏層中的神經單元則共計20個,在輸入層中的神經單元數量為6個。在對BP神經網絡進行建立以后,需要應用反向傳播算法來進行訓練,以此獲得能夠對人臉進行準確識別的BP神經網絡模型。在識別人臉圖像過程中,針對輸出層中的輸出結果,其判定需要依據歐式距離來實現。比如在輸出層中的神經單元中,其輸出結果分別是0.1,0.2,0.1,0.2和0.9,然后針對該結果和全班所有同學的標準輸出對歐式距離進行依次計算,將歐式距離最小的目標作為對應的判定結果。通過計算可以得知,歐式距離最小的人臉圖像為一號同學的人臉[3]。
3.3? 結果分析
本文分別對圖像預處理模塊處理之前的數據集和處理之后的數據集進行了測試對比。經測試結果表明,系統利用圖像預處理模塊對圖像數據集進行處理以后,其處理效果要比未處理之前的效果好得多,這也使系統對人臉的識別準確率在原有基礎上提高了6%。
4? ? 結語
綜上所述,本文提出通過viola-jones算法和基于人眼識別的圖像興趣處理策略來實現系統的人臉識別功能,采取圖像采集預處理模塊、神經網絡訓練模塊以及人臉識別模塊這三大模塊的開發,以此消除光照條件和背景變化給人臉識別率造成的不利影響,提高系統的人臉識別準確率,從而使BP神經網絡模型能夠依據歐式距離來獲得準確的人臉判定結果。
[參考文獻]
[1]馮建洋,諶海云.基于人工神經網絡的人臉識別研究[J].自動化與儀器儀表,2017(5):24-26,29.
[2]王士東,陳標,李遠,等.基于彈性BP神經網絡的人臉識別系統[J].科技經濟導刊,2017(26):24-25.
[3]韓瑞瑞,張尤賽.基于PCA/ICA的人臉識別片上系統的設計與實現[J].自動化技術與應用,2019(2):129-134.
(編輯 傅金睿)