基于直方圖均衡化的人臉識別系統(tǒng)設計與實現(xiàn)
引 言
近年來,人臉識別受到各界的廣泛關注。該技術是一種非接觸式、簡便的生理特征識別技術。人臉識別主要采用幾何特征、模板匹配、統(tǒng)計學等方法實現(xiàn)。錢程采用深度多模型融合實現(xiàn)人臉識別 [1]。江偉等人對 Ada Boost 算法進行相應的改進 [2],使其檢測效果更佳。常云翔采用深度學習算法解決了復雜光照人臉識別模型問題 [3]。這些方法在理想狀態(tài)下已取得較好的效果,但仍有諸多問題急需解決。本文采用光照錐法進行光照補償,實現(xiàn)視頻流的人臉識別
1 系統(tǒng)整體框架
本文人臉識別抗光照系統(tǒng)流程為 :攝像頭采集數(shù)據(jù),將采集到的內(nèi)容逐幀輸入到人臉檢測模塊,對檢測出的人臉進行預處理。將預處理后的圖像傳送到人臉識別模塊,輸出識別結(jié)果。具體實現(xiàn)過程如圖 1 所示
2 人臉檢測
在人臉檢測前,首先應將視頻逐幀輸入的圖像轉(zhuǎn)化為灰度圖像,并使用雙線性插值法將其歸一化處理,以提高人臉檢測速率
人臉檢測模塊由訓練與檢測兩部分組成。本文使用 Ada Boost 算法,采用 OpenCV 函數(shù)庫中的 Haar 分類器,人臉檢測模塊利用如下函數(shù)
CascadeClassifier :CascadeClassifier(
CascadeClassifier :detectMultiScale(
3 圖像預處理
視頻圖像會受到光照等條件影響,本系統(tǒng)采用直方圖均衡化調(diào)整圖片的對比度,改善采集的數(shù)據(jù)質(zhì)量。
直方圖均衡化利用累計分布函數(shù)變換將直方圖從集中灰度分布映射成均勻灰度分布。具體步驟為 :
(1)經(jīng)灰度映射,獲取輸入圖像的二維直方圖。
(2)統(tǒng)計每個灰度級出現(xiàn)的頻率。
(3)通過調(diào)整灰度級直方圖改善圖像因過度曝光或曝光不足導致的前景背景過亮或過暗現(xiàn)象。
直方圖均衡化處理如圖 2、圖 3 所示。
4 人臉識別
4.1 人臉表征與光照錐
人臉識別算法主要包括 Eigenfaces 算法、Fisherfaces 算法與LBPHfaces 算法。Eigenfaces 算法將高維的人臉圖像降維映射到低維特征臉子空間,實現(xiàn)面部特征采集,該算法特征數(shù)據(jù)多、識別準確率高。Fisherfaces 算法在低維空間達到最大類間離散度與最小類內(nèi)離散度,對不同的數(shù)據(jù)集計算其相應的特征。LBPHfaces 算法采用局部特征值的描述方法通過提取圖像局部細節(jié)描述其紋理特征
本文設計選用 Eigenfaces 算法。該算法雖然具有較高的識別率,但對光照因素較為敏感,因此光照因素的存在導致系統(tǒng)具有較高的誤識率與拒識率。本文采用光照錐方法對圖像進行光照補償
光照錐即不同光源方向的圖像疊加形成的凸型錐體。光照錐方法基于光度立體視覺方法,使用前提是樣本為理想散射模型,即可在固定光照下的所有視場方向觀測到物體表面算法思想是在構建特征臉時利用光照錐生成新的圖像樣本
首先,加載用于訓練的圖像樣本,將圖像樣本轉(zhuǎn)換成矩陣向量形式與表示光源方向矩陣。其次,根據(jù)單一光源人臉表面的陰影計算出光源的反射率與表面法向量,由這些信息可以得到三維人臉重構圖像與光源方向的估計值。最后,通過改變光源的方向,計算出不同光源下的合成圖像。通過豐富特征臉的圖像光源信息,實現(xiàn)在構建特征臉階段減少光照對人臉識別系統(tǒng)的干擾
4.2 算法實現(xiàn)
人臉識別算法的具體步驟為
(1)采集人臉樣本,利用光照錐重構圖像,人臉重構模型如圖 4所示,原圖像與重構圖像如圖 5所示
(2)對樣本進行標準化處理,如圖 6 和圖 7 所示。
(3)計算不同人臉樣本集的平均臉,如圖 8 所示。
(4)計算離散度矩陣。將離散度矩陣進行特征值分解,選取其中最大的幾組特征值見表 1 所列,其相應的特征向量如圖 9 和圖 10 所示。
5 結(jié) 語
本文人臉檢測模塊選取傳統(tǒng)的 Harr 分類器,采集的人臉圖像經(jīng)顏色空間轉(zhuǎn)換與歸一化處理后,圖像基本標準化,又經(jīng)直方圖均衡化處理,使系統(tǒng)初具抗光照能力。在人臉識別模塊,選取經(jīng)典的 Eigenfaces 算法,并結(jié)合光照錐方法構造“征臉”,使得系統(tǒng)進一步削弱了光照對其的影響。在不同光照情況下采用該軟件對實驗室 45 名學生進行為時 1 min 的實驗,實驗結(jié)果見表 2 所列。
從實驗效果看,達到了滿足了不同光照情況下人臉實時識別效果。光照錐法可以有效解決經(jīng)典的 Eigenfaces 算法識別人臉存在的對光照敏感的問題。