王 海 燕
(四川文理學院智能制造學院 四川 達州 635000)
人臉識別領域的研究人員一直在基于子空間判別分析或統計學習來表示和識別人臉[1],人臉識別由于其在安全和監控方面的廣泛應用,在過去的二十年中引起了廣泛的研究興趣[2-3]。人臉識別可以不受干擾地執行,而不需要用戶的知識或明確的合作,然而,在不受控制的環境中拍攝的面部圖像可以具有不同的姿態、面部表情、照明和偽裝。由于對于給定圖像的變化類型是未知的,因此設計一個能夠處理不同影響因素的人臉識別算法變得至關重要[4-6]。
目前,人臉識別方法主要分為幾類:幾何特征、基于模型、神經網絡、深度學習和多分類器等。文獻[7]中提出了使用自組織映射從幾何面部特征中識別情感的方法,使用擴展Kohonen自組織映射(KSOM)的綜合數據驅動模型,其輸入是包括眼睛、嘴唇和眉毛等特征點的26維面部幾何特征向量,提高了識別精度。文獻[8]將幾何特征與SVM結合,提出基于顯著幾何特征和支持向量機的面部表情識別。文獻[9]在隱馬爾科夫模型基礎上,在待識別頭像預處理過程中增加了光照補償操作,提出一種改進的隱馬爾科夫模型的人臉識別方法。
LBP也是常用的人臉識別方法,文獻[10-11]對LBP進行改進,分別提出自適應LBP人臉識別算法和增強局部量化模式(ELQP)的人臉識別算法。
隨著深度學習的發展,其在計算機視覺領域取得很多成果,更是有研究將深度學習應用到人臉識別。文獻[12]中提出了一個深度殘差學習框架來減輕網絡訓練,該算法明確地將層重新定義為參照層輸入學習殘差函數,而不是學習未引用的函數。文獻[13]提出了一種中心丟失的深度人臉識別方法,該方法在中心損失同時學習每個類深層特征的中心,并懲罰深層特征與其相應類中心之間的距離,提出的中心損失函數是可訓練的并且易于在CNN中優化。文獻[14]提出一個綜合的深度學習框架,用多模態信息聯合學習人臉表征。所提出的深度學習結構由一組精心設計的卷積神經網絡和三層堆疊自動編碼器組成。該組CNN從多模式數據中提取補充面部特征。然后,將提取的特征串聯起來形成高維特征向量,其維數由堆疊自動編碼器壓縮。
在研究了現有人臉識別方法的基礎上,提出了一種基于Logistic回歸和神經網絡的二值人臉圖像識別算法。該算法是將彩色圖像轉換為二進制圖像,應用局部窗口標準差來增強局部變化在面部區域和自適應閾值捕捉局部變化,可獲得高質量的二值圖像。以這種方式生成的二值圖像具有突出的面部邊界并可以方便地用于定位面部區域的特征。然后,采用基于規則的人臉檢測方法,基于形態學得到二值圖像的垂直和水平輪廓,通過去除原始圖像中的非面部區域來提取檢測到的面部區域。通過應用最近鄰插值方法,將二值人臉圖像的尺寸減小,用分類器來分類屬于每個人的所有圖像,并為每一類圖像獲得一個決策邊界。實驗結果表明,本文方法能夠高度準確地實現人臉識別。
二進制圖像的分析比灰色或彩色圖像更易操作和費時更少,大多數人臉識別方法都是基于顏色和灰度圖像,因為獲得高質量的二值圖像是一項具有挑戰性的任務。本文提出的是處理從FEI數據庫中提取的二值圖像,對尺寸為640×480的快照圖像進行實驗,其人臉區域檢測算法流程如圖1所示。

圖1 圖像二值化和人臉區域檢測的流程圖
圖像二值化和人臉區域檢測過程中,首先將顏色轉換為灰度圖像,之后通過應用局部窗口標準差LWSD(Local Window Standard Deviation)和自適應閾值處理來獲得二值去噪圖像。使用尺寸為M×N的滑動窗口的圖像X的局部窗口標準偏差可以計算為:
(1)

為了獲得像素值為0和1的二值圖像,使用了采用低通濾波器的自適應閾值方法。將接近1的某個值用作閾值,并且將濾波圖像與其相乘以獲得閾值圖像,將閾值圖像與原始圖像進行像素比較,并且將大于閾值圖像中的對應像素的原始圖像中的像素值設置為1,否則將其設置為0。通過應用Y=(X*F)>τ從Y灰度圖像生成二值圖像X,其中*代表濾波操作,F代表平滑濾波器,τ為閾值,本文由經驗取值為0.978 5。
圖2(a)顯示了一個灰度圖像,其相應的二值圖像使用局部窗口標準差和自適應閾值獲得如圖2(b)所示,由此獲得的二值圖像由不同維度的面部區域和非面部區域組成。

(a) 灰度圖像(b) 二值圖像圖2 灰度圖像和二值圖像
然而,非面部區域對于學習目的來說并不重要,必須移除它以便僅提取面部區域。首先通過去除像素的水平黑線去除可能的頭發區域來找到頭部的頂部,從左側和右側刪除黑色像素的垂直線,完成連接組件分析以檢測眉毛。選擇M×N的均勻尺寸以使得整個提取的圖像具有相同的像素尺寸。如果行數小于M或列數小于N,則只需在二進制圖像的底部和側面填充0或1即可。同樣,如果行數大于M或列數大于N,則從圖像的頂部和側面移除一行像素。在這里,選擇了M=190和N=170維,提取的二元人臉具有190×170的像素大小,如圖3所示。

圖3 連通分量分析前后的人臉區域檢測
特征提取是人臉識別系統的重要組成部分,因為成功率的高低取決于提取的特征如何表現不同類別的圖像獨特性及其對同一類別圖像的喜好程度。本文使用局部二值模式LBP(Local Binary Pattern)的特征提取方法進行人臉識別。
要使用全臉圖像代替局部特征,則必須輸入所有的圖像像素作為學習的特征向量。這里提取的二值人臉圖像具有190×170=32 300的像素大小,這對于訓練來說太大而不可行,為了減小復雜性并減少學習時間,本文使用最近鄰插值方法。通過最近鄰插值得到的縮小圖像具有m×n的大小,其中m和n是縮小圖像矩陣的行數和列數。通過將每一行逐個級聯,將縮小的圖像矩陣轉換成行向量,特征數據集X是通過堆疊圖像的每個行向量來形成的。
m×1維的列向量y與在X中的每個對應的圖像向量給出的標簽(目標值)一起形成,其中樣本數是樣本量。對同一個人的圖像給出相同的標簽號,以便將一個人作為一個類的圖像和另一個人的圖像作為另一個類,等等。在機器學習中,矩陣X將是輸入特征,向量是每個行的輸出標簽。
Logistic回歸允許兩類分類的非線性邊界模型不同于僅當兩個類可以通過線性分隔時才起作用的線性回歸。線性回歸分析用于人臉識別系統,如果這兩類樣本可以線性分離,也被應用于用于面部表情識別的平穩主成分分析。然而,即使當兩類樣本不能線性分離時,Logistic回歸也能起作用,從而產生更高的正確分類率的機會。 Logistic回歸使用一個邏輯函數(也稱為sigmoid函數),它在0和1之間的范圍內產生一個“S”形曲線。sigmoid函數g(z)可以表示為:
(2)

(3)
式中:j=1,2,…,n。在Logistic回歸中,假設函數hθ(x)作為一個閾值分類器,當hθ(x)≥0.5,預測y=1,當hθ(x)<0.5,預測y=0。假設函數將輸入特征分類為兩個類[0 1]。矩陣X經過轉置,使特征矩陣為列向量。
學習參數θ是一個(n+1)×1的列向量,初始化為0向量。學習參數θ將在每次迭代中改變其值以適應模型,假設函數可以計算為:
hθ(x)=g(θTx) s.t. 0≤hθ(x)≤1
(4)
式中:x是矩陣X的向量元素,θ是與特征矩陣中的每個像素值相關聯的學習參數值。在機器學習中,成本函數測量特定解決方案遠離最佳解決方案的程度,梯度下降是與梯度負值成最佳解決方案(或局部最小值)成比例的步驟。成本函數和梯度下降可迭代多次以從給定數據中學習并計算假設函數。
當有太多參數作為輸入特征時,可能會發生過度擬合,過度擬合會導致較差的預測性能,因為這會試圖適應外部噪聲參數和訓練數據的微小波動。為了防止模型過度擬合,使用正則化函數,其目標是使成本函數最小化θ,正則化成本函數計算如下:
(5)
式中:y(i)是y中第i行的輸出標簽,而λ是正則化參數,本文中使用λ=1來避免過度擬合。因為θ0對應于偏置輸入x0=1,所以參數θ0不被考慮用于正則化,則損失函數的梯度定義為:
(6)
為了得到一個非線性邊界的最優解,直到梯度下降到局部極小值,正則化的代價函數被迭代停止,為兩類分類生成的決策邊界如圖4所示。

圖4 Logistic回歸的二分類
應用給定的公式,可以訓練機器將其中一個類別分為多個類別,因此,對于給定數量的類,必須訓練分類數。使用迭代法計算代價函數和梯度下降,在一定的次數或收斂到最優解,數據的訓練產生一個預測輸出。
本文采用三層BPNN的人臉識別技術,該技術適用于在通過二值化和矢量化獲得的縮小二值人臉圖像,采用BPNN訓練80%的人臉數據庫和一個前饋神經網絡來測試剩余的20%。


圖5 前饋神經網絡模型
給出m個樣本和k個輸出標簽的訓練集,并給出正則化神經網絡的整體成本函數。
(7)


圖6 反向傳播神經網絡模型
采用的反向傳播算法如下所示:
(1) 將輸入層的值(a1)設置為第t個訓練樣本x(t), 執行前饋神經網絡,計算層2、3、4的激活(z(2),a(2),z(3),a(3),z(4),a(4)),在輸入和隱藏層添加+1的偏差;

(3) 對于隱藏層l=2,設置δ(3)=(Θ(2))Tδ(4)×(g′z(3));
(4) 對于隱藏層l=1,設置δ(2)=(Θ(2))Tδ(3)×(g′z(2));

通過以上算法,將獲得每個層的Θ1、Θ2和Θ3,這些層將在前饋技術中用輸入測試特征來計算,以預測測試數據屬于哪個類。
在本文中,使用FEI圖像數據庫進行研究,本文只考慮正面圖像和稍微傾斜的圖像以用于訓練和測試目的。來自FEI數據庫中選擇40個人,每個人5張圖像,訓練和測試比例為4∶1。圖7給出了一些訓練的例子和相應的測試數據集。

(a) 訓練圖像 (b) 測試圖像圖7 訓練圖像和測試圖像
在表1中給出了Logistic回歸和BPNN的訓練和測試準確度結果。

表1 使用Logistic回歸和BPNN在人臉圖像上的準確率
從表1可以看出,邏輯回歸和BPNN都為訓練和測試提供了很高的準確率,數據在所有尺寸縮小的情況下。在所有情況下,Logistic回歸都優于BPNN,Logistic回歸給出了100%的準確性,而當圖像大小減小到38×34時,BPNN將測試圖像錯誤歸類為97.5%的精度。Logistic回歸分別為培訓和測試分別提供100%和97.5%的準確性,當圖像尺寸進一步減小到19×17時,BPNN無法訓練網絡??梢缘贸?,當使用二值圖像進行人臉識別時,Logistic回歸優于BPNN。
將本文算法與其他算法進行比較識別準確度,圖像大小減小到38×34,結果見表2。

表2 不同算法人臉識別準確度
可以看出本文算法識別準確率達到100%和97.5%,而其他三種識別準確率分別為94.6%、95.3%和96.6%,說明本文算法優于其他三種二值人臉識別算法的性能。
為檢驗算法的普適性,在CAS-PEAL大規模中國人臉圖像數據庫上對本文算法進行驗證,該人臉庫包含1 040人的99 450幅人臉圖像,將本文算法與其他算法進行比較,人臉識別結果見圖8。

圖8 不同算法的人臉識別率
可以看出本文算法識別準確率達到97%和95%以上,而其他三種識別率低于本文算法,說明在CAS-PEAL大規模人臉數據庫上,本文算法優于其他三種二值人臉識別算法的性能。
本文提出了基于Logistic回歸和BPNN的二值人臉識別算法,該算法使用LWSD和自適應閾值將彩色圖像轉化為去噪二值圖像,生成的二值圖像具有突出的面部邊界并可以方便地用于定位面部區域的特征,減少人臉識別時間。然后采用基于規則的人臉檢測方法、形態學,得到二值圖像的垂直和水平輪廓,去除原始圖像中的非面部區域來提取檢測到的面部區域。將與檢測到的臉部區域對應的二值圖像用作訓練數據集。之后通過應用最近鄰插值方法,將二值人臉圖像的尺寸減小,然后使用Logistic回歸和BPNN來分類屬于每個人的所有圖像,并為每一類圖像獲得一個決策邊界。實驗結果表明,本文方法能實現二值人臉圖像識別,且在不同的縮小比例下,Logistic回歸和BPNN識別精度優于其他二值人臉識別算法,說明本文算法的可行性與有效性。