?

復雜光線環境下局部二值模式的CNN人臉識別方法

2023-12-28 08:35張國祥孫運卓
關鍵詞:均衡化直方圖人臉識別

張國祥,孫運卓

(湖北師范大學 物理與電子科學學院, 湖北 黃石 435002)

0 引言

隨著社會的發展和科技的進步,基準數據庫的增大、高級網絡結構和各種損失函數[1]的廣泛使用,基于深度學習的人臉識別技術取得了顯著的進步,在某些基準數據庫上的識別能力已經超越了人類[2]。廣泛的應用與日常生活中掃臉支付,火車站、機場入站口通過人臉識別進站乘車等。然而,現實生活中的人臉識別時復雜的光線環境,不同姿態與表情,使得采集到的人臉圖像與注冊圖像存在極大差異,直接導致類內距離大于類間距離,從而影響最終識別結果。

通過光照歸一化處理可以對不同光照圖像中人臉的灰度進行歸一[3],可以較好地解決光照問題。因此,文中提出基于局部二值模式(LBP)的卷積神經網絡(CNN)人臉識別方法,定義為LBP-HE-CNN首先利用直方圖均衡化[4](HistogramEqualization)將原人臉圖片進行預處理,增強整幅圖片的動態范圍,提高局部對比度而不影響整體,然后利用旋轉不變的LBP算子[5]對光照不敏感的優點對處理過的圖片進行特征采集,同時減輕CNN特征提取壓力,最后將采集到的特征作為CNN網絡[6]的輸入進行訓練,修改每一個卷積層卷積核數量和網絡層數,得到本研究的最優模型。通過與LBP、CNN、Fisherface[7]等方法在3組人臉數據集上進行分類對比實驗,驗證該方法的合理性。

1 基本原理

1.1 直方圖均衡化

直方圖均衡是一種增強圖像對比度(ImageContrast)的方法,其主要思想是將一副圖像的直方圖分布通過累積分布函數變成近似均勻分布,從而增強圖像的對比度。

(1)

其中ci指當前灰度級經過累積分布函數映射后的值,n是圖像中像素的總和,nj是當前灰度級的像素個數。原圖像與灰度均衡化后的圖像分別如圖1、圖2所示。

圖1 原圖像

圖2 直方圖均衡化后圖像

原圖像和直方圖均衡化后圖像灰度直方圖如圖3、圖4所示:

圖3 原圖像灰度直方圖

圖4 直方圖均衡化后圖像灰度直方圖

對比圖1和圖2,可得經過直方圖均衡化后的人臉圖像陰影部分得到了改善,整體圖像更亮,對比度更高,面部特征更清晰。對比圖3和圖4,可以看出原圖像灰度直方圖灰度分布范圍更集中,而均衡化后的圖像灰度分布更寬,更均勻。由此可得直方圖均衡化在一定程度上改善了光照問題。

1.2 局部二值模式LBP

LBP是較為常用的特征提取算法之一,其主要優點為對光照有較強的魯棒性,原理簡單,容易實現。計算原理為給定一個3×3的正方形,以中心點的像素值為基準,將其鄰域八個點的像素值分別和其進行比較,若大于中心點像素值則為1,反之則為零,將得到的值進行順序組合得到一個8位二進制編碼,轉為十進制就是該點的LBP值。

(2)

(3)

式中,ic表示中心像素(xc,yc)的灰度值,in表示中心像素8鄰域內的像素灰度值。圖5為8鄰域的LBP計算示例,將鄰域值和中心值進行比較得到的二進制編碼為10110110(順時針排列),LBP值為182.

圖5 LBP計算示例

傳統LBP方法在面對旋轉時魯棒性較低,因此選用圓形LBP算子用像素點的圓形鄰域來描述局部二進制模式[8],這樣能夠增強對不同尺度的圖片進行紋理結構提取,如下面圖6所示。

圖6 圓形LBP算法鄰域

圖7 旋轉不變LBP算法的編碼方式

這樣可對于給定的中心點(xc,yc),其鄰域像素位置為(xp,yp),p∈P,(xp,yp)用如下公式計算:

(4)

其中,R是窗口半徑,p是采集的中心像素點周圍的第p個像素,P是采集的中心像素點周圍的像素點個數。由于不同的起點所產生的二進制組合不同,得到的LBP值也各不相同,因此Maenpaa等人對傳統的LBP模式進行了改進,提出了旋轉不變的LBP算子[9],對圓形鄰域進行旋轉計算,對比此過程得到的每一組LBP值,將最小值作為該像素點的LBP值。

經過以上的運算后,旋轉不變LBP算法不僅擁有灰度不變,同時對圖像旋轉有了良好魯棒性。但由于計算過程中需要對每個像素點遍歷后進行對比取最小值,因此面對較大數據量時,該方法特征計算所需要的時間較長,識別效率較低。

1.3 CNN模型

卷積神經網絡[9](Convolutionl Neurl Networks,CNN)[10]是一個具有層次結構的多層感知器。如圖8所示:基礎的CNN網絡組成單元分別是輸入層、卷積層、激活層、池化層、全連接層以及輸出層。

圖8 卷積神經網絡結構示意圖

卷積層的主要作用是對圖像進行特征提取;激活函數的目的是增強原本線性數據的泛化能力,使之能擬合各種曲線。常用的有sigmod函數、tanh函數和relu函數[11~14],sigmod函數和tanh函數在一定程度上提高模型的非線性表達能力,但都存在梯度消失的情況。而relu函數不僅能解決梯度消失的問題且能大大提高模型的訓練速度。因此本文選用relu函數作為激活函數。

池化層的目的是降低數據維度,該文采用最大池化方法,用給定區域內的像素最大值代表該區域的整體特征,提高了計算效率;全連接層常見與最后一層,目的是把分布式特征映射到樣本標記空間。全連接層的每一個節點的輸入是前幾層特征提取的結果值。添加損失函數是為了計算預測值的偏差大小,同時能夠與真實值對比,不斷調整網絡訓練的方向,使之更貼近于理想值。

為了優化損失函數,提高模型對人臉特征的辨識能力,該文采用λ系數來平衡softmax損失函數與centerloss損失函數的方法,由文獻[15]結果知λ為0.03時不僅能夠提高人臉類間差距,還能夠降低人臉類內差距。

(5)

2 系統設計

人臉識別系統主要分為三大結構:人臉錄入、人臉訓練以及人臉識別。其整體的結構邏輯步驟如圖9示,在人臉識別系統首界面上選擇視頻識別或者人臉錄入后,便可進行對應選擇的后續訓練模式和人臉識別模式。

圖9 人臉識別系統的整體邏輯步驟

首先,需要輸入錄入者的身份信息。信息錄入成功后,調用本地攝像頭進行人像采集。在此過程中,系統會將圖像轉換成灰度圖進而簡化矩陣,這將有利于提高運算的速度,進而更快地識別出圖像中的人臉。隨后將抓拍檢測到的人臉圖像,并與錄入的信息保存到數據庫中。完成錄入后便可執行訓練模式或繼續進行人臉錄入。

開始訓練前,系統將采樣的100張人臉圖像作為數據進行圖像訓練。若收集到的圖像少于100張,則訓練失敗。若被抓拍的人臉達到所對應的要求,則系統將進行訓練模式。首先加載抓取成功的圖像并進行灰度轉化,將圖像矩陣簡化,從而提高圖像的計算能力;再將其經過直方圖均衡化調節灰度分布,增強圖像對比度。然后通過旋轉不變的LBP算法對數據進行特征采集,將采集到的特征送入CNN網絡中進行訓練,使機器更好地理解圖像的人臉,從而強化機器對人臉的識別。最后將訓練的結果保存在相應的文件中。

系統通過調用攝像頭對識別者進行人臉匹配,識別出畫面中的人臉后,再將其人臉圖像與數據庫中的人臉信息進行匹配,進而確定其身份。若識別成功,則用綠框框選人臉并標注出識別者的姓名;若識別失敗,則用紅框框選人臉并標注為陌生人臉。

3 實驗結果與分析

3.1 實驗數據

該文的實驗數據集為三組不同人臉數據,共同測試該文所提出的方法可行性與有效性。實驗在PC機上進行,配置為Intel Core i5-9500、Intel(R)UHD Graphies630和8 GB內存。Colorferet包含了1 000多人的10 000多張照片,每個人包括了不同表情、光照、姿態和年齡的照片。FERET數據是美國軍方的FERET人臉數據庫,共1 400幅圖片。包括200個人,每人7幅,對應不同的姿態,表情和光照條件,圖像大小80×80.ORL數據是由英國劍橋的Olivetti研究實驗室創建,共包含40個不同人的400張圖像,圖像大小92×112,此數據集下包含40個目錄,每個目錄下有10張圖像,每個目錄表示一個不同的人。三個數據集部分數據樣例如圖10所示。

圖10 Colorferet數據、FERET數據、ORL數據樣例

3.2 網絡模型調參

網絡模型的性能影響因素主要包括學習率、卷積層中卷積核的個數和網絡層數等重要的網絡參數。合適的學習率能夠提高反向傳播時的模型的收斂速度,提高模型訓練速度。根據已有研究[16],在實驗中將Colorferet數據、FERET數據及ORL數據對應的CNN 模型的學習率分別設置為0.001、0.01及0.001.

1)卷積核數量。第一步對比同一層中卷積核數量的改變是否會對模型訓練結果產生影響,同時確定最優卷積核數量。實驗開始預設CNN模型的網絡結構為2個卷積層、1個最大池化層和1個全連接層相組合,將第1個卷積層卷積核數量預設為4、8、16、32,逐一測試模型的識別準確率,實驗結果如表1所示,3組數據集中最優測試結果加粗表示。從表1中可知,不同數據集最優卷積核數量不同,因此后續模型測試時分別把Colorferet數據對應的模型第一層卷積核數量設為8、FERET數據為16、ORL數據為8.

表1 不同卷積核數識別的準確率

2)網絡層數。第二步調整不同網絡層數,對比得出使模型分類精度最優網絡層數,在第一步的基礎上設定每組數據集卷積層所對應的最優卷積核的數量,改變網絡層數為3、5、7,測試此時模型的識別準確率,3組網絡層數的測試結果如表2所示。從表2中可得,網絡層數并非越深越好,隨著網絡模型加深梯度消失的問題可能隨之而來,影響模型的識別準確率,因此統一將Colorferet數據、FERET數據及ORL數據對應的模型網絡層數設定為3.

表2 不同網絡層數識別的準確率

3.3 實驗結果與分析

為了更客觀地考量LBP-EH-CNN方法的識別準確度,實驗設計三種不同方法與之對照。將LBP-EH-CNN與傳統LBPH算法做對比,驗證該算法識別準確率。與傳統CNN做對比,驗證旋轉不變LBP算子的特征采集能力。為了對比直方圖均衡化是否降低了模型對光照的敏感性,添加LBP-CNN作為對比方法之一。同時還增加了Fisherface與SVM經典分類算法進行對比。評價指標采用20組人臉測試實驗得到的準確率取平均值。

表3為不同方法在三組數據集上的識別準確率,最優準確率用加粗數字表示,由表可得LBP-EH-CNN的識別準確率要明顯優于其余5種方法。綜上所述,實驗結論為:

表3 不同方法識別的準確率

1)LBP-CNN的組合識別準確率比單獨LBP或CNN高,證明LBP與CNN組合后,能夠提高對模型的分類精度。而LBP-EH-CNN方法在復雜光線下的識別準確率比LBP-CNN更高,證明了直方圖均衡化后的圖像可以提高模型對光照的魯棒性。

2)LBP-EH-CNN方法在三個數據集上的識別準確率均優于其他對比方法。對于Colorferet數據,LBP-EH-CNN的平均識別準確率為99.71%,相比LBP-CNN提高3.3%,相比LBP與CNN分別提高6.5%、5.86%;針對FERET數據,LBP-EH-CNN的平均識別準確率為99.78%,相比LBP-CNN提高2.7%,相比LBP與CNN分提高6.6%、5.86%;針對ORL數據,LBP-EH-CNN的平均識別準確率為99.15%,相比LBP-CNN提高2.3%,相比LBP與CNN或分別提高6.3%、7.02%.

4 結論

本文提出一種復雜光線下的局部二值模式的人臉識別方法,利用直方圖均衡化后改善灰度分布,降低了光照對特征提取的影響,旋轉不變LBP對光照、姿態等變化同樣具有良好的魯棒性,將LBP采集到的特征作為CNN網絡的輸入進行訓練。結合certerloss與softmax作為損失函數不斷調整訓練方向。在Colorferet、FERET、ORL數據集上進行驗證,由實驗結果可知,該方法對復雜光線下的人臉特征能做到有效提取,增強了對光照的魯棒性,優于現有其他方法。下一步將提高旋轉LBP的計算效率,深入改進特征提取方法。

猜你喜歡
均衡化直方圖人臉識別
統計頻率分布直方圖的備考全攻略
符合差分隱私的流數據統計直方圖發布
人臉識別 等
揭開人臉識別的神秘面紗
用直方圖控制畫面影調
制度變遷是資源均衡化的關鍵
基于直方圖平移和互補嵌入的可逆水印方案
基于類獨立核稀疏表示的魯棒人臉識別
直方圖均衡化技術在矢量等值填充圖中的算法及實現
基于K-L變換和平均近鄰法的人臉識別
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合