文/張伊喬 黃麗蓮 周賞
人臉識別技術具有非接觸性和不易復制性,使其廣泛應用于身份鑒定和人機交互方面。其中人臉特征描述與像素級人臉特征提取的方法成為人臉識別算法的兩項重要內容。人臉特征描述的方法主要有局部二值模式(Local Binary Pattern,LBP)、Gabor 變換、方向梯度直方圖法(Histogram of Oriented Gradient,HOG)。LBP 所具有旋轉不變性使其在人臉圖像的表達中復雜度較高,因而此模式識別速度受到較大影響。Gabor 變換在分析人臉圖像時會使特征向量具有很高的維度,影響分類效率。在人臉圖像中,HOG 能夠描述其輪廓信息。子空間方法用于提取基于像素的人臉特征。其主要方法包括主成分分析法(Principal Component Analysis,PCA)、獨立成分分析法(Independent Component Analysis,ICA)、線 性判別法(Linear Discriminant Analysis,LDA)等。PCA 可以將高維圖像通過主要特征進行有效降維,減弱了圖像像素與特征維度之間的關聯程度。但是由于非均勻光照、表情姿態及局部遮擋等干擾因素,其算法性能嚴重下降。ICA認為觀測信號是被線性耦合到若干個解混過程復雜的獨立分量上,且識別速度較慢。通過利用Fisher 鑒別準則函數,LDA 求解得到一組空間變換關系,其類內與類間散布比值最大,但采用LDA 處理人臉高維信息時的識別率偏低。
很多情況下因為光照變化引起的圖像變化要比因為不同身份引起的圖像變化更為顯著,因此光照變化問題是基于灰度圖像的三維目標識別中難度最大的問題。目前非均勻光照處理方法主要照明錐法、球諧函數子空間法和自商圖像法(Self Quotient Image,SQI)。照 明錐法通過改變光源方向生成任意光源下的虛擬圖像,但重建人臉圖像特征性不強,不利于廣范圍的人臉識別。球諧函數法是利用9 個球面諧波基圖像張成的子空間表示任意光照下勃朗凹表面的圖像,光照處理效果較好。但在識別過程中增加識別對象,延長識別時間。自商圖像法利用原圖像與高斯濾波圖像的逐點除法運算,能夠有效勾勒出圖像的邊緣信息,并且統一圖像明暗程度。
以上傳統的特征提取技術所提取的人臉圖像特征判別性不強,且特征的表達方式中介入了較多主觀因素,特征提取的結果更多的是依賴于人工選擇。2006年深度學習(Deep Learning)的概念被Hinton 首次提出,它模擬大腦的學習過程,組合低層特征以形成更為有效的高層表示。作為一種典型的深度學習方法,深度信念網絡(Deep Belief Network,DBN)采用自下而上的方法來自動學習不同層次的抽象特征,進一步得到特征的非線性描述,是一種自動提取不依賴于人為的特征的過程。但是以像素級的人臉特征作為深度信念網絡的輸入,深度信念網絡會因光照、姿態及遮擋等因素,學習到不利的特征表達,并且識別速度緩慢。
本文使用主成分分析法將自商圖處理的人臉圖像降維至低維子空間,并且作為深度信念網絡的輸入,自下而上,層層學習更抽象的人臉特征,并在頂層進行分類。經驗證,本文算法比傳統算法PCA 和LBP 等更能提取與表征判別性高的人臉圖像特征信息。在具有遮擋性人臉庫進行識別的時候,采用遮擋分割法識別出每個子塊的所屬類別,根據遮擋權值得到最終識別率。本文設計算法不僅在ORL、Yale、Yale-B、及AR 人臉庫具有較高的識別率,也顯著的縮短了識別時間。
自商圖像定義為輸入圖像與其平滑圖像之比。自商圖像定義為:
為了保存反射率信息,并且降低在階梯性邊緣附近的光暈效應,使用閾值τ 將卷積區域分為兩個子區域M1和M2,并對權值Q 賦值。計算公式為:

若在卷積區域內存在邊緣,那么閾值將沿著邊緣將局部圖像分成M1和M2兩個部分,其中區域M1有更多像素點,濾波核將僅對M1求卷積,能夠減輕光暈效應。各向異性濾波器只平滑卷積區域的主要部分也就是邊緣區域的一側。最后使用非線性變換函數將R 變換到D,進而降低因逐點除法運算而被放大的高頻噪聲。在式D=T(R)中,T 是非線性變換。
在原圖像經過自商圖處理后使用PCA 算法進行降維處理。樣本的主成分是指對于n 維樣本集,其協方差矩陣的前n'個較大特征值對應的特征向量矩陣。n'的值遠小于n,即將原高維圖像的主要特征使用低維特征向量矩陣表示。
將樣本集圖像按照像素首尾相連組成n 維數據,將含有m 個類別的樣本集D=(x(1),x(2),...,x(m))進行中心化:

對樣本的協方差矩陣進行特征值分解,取出n'個相對應的特征向量對所有特征向量進行標準化,組成特征向量矩陣W。對樣本集中每個樣本x(i),用式轉化到低維子空間,得到降維后的樣本集根據全部成分的n 個特征向值和主成分的n'個特征向量值通過式(4)計算主成分比重t:


圖1:RBM 模型

圖2:SPD 算法流程圖

圖3:自商圖處理結果

圖4:遮擋分割結果
對于圖像來說,一幅圖像的協方差矩陣的特征向量表示的是圖像的整體信息,并且圖像的大部分信息都集中在特征值較大的前K個特征向量中。主成分分析法僅需以方差對信息量進行權衡,不被數據集采集之外的成分影響,且各主成分之間相互正交,原始數據成分之間的互相影響的因素能夠被很好的抵消。但是主成分分析法的數據壓縮會使數據信息少量缺失,因此自商圖處理后再進行降維可以增強樣本特征的解釋性。
深度信念網絡(DBN)是深度學習的一類方法,屬于一種概率生成模型。DBN 是由多個受限波爾茲曼機(RBM)組成,每個RBM模型是一個二部圖,其可視層(v)和隱含層(h)外層互相相連,內層無相連關系,并且可視層輸入節點的相關性可由隱含層節點取得。其RBM 模型如圖1所示。
DBN 含有L 層隱藏單元,其可視單元與隱藏單元的聯合分布公式如下:

其中,v=h(0)為DBN可視單元,為第k 層隱藏單元,而第k 層和第k+1 層隱藏單元滿足:


同時,若已知隱含層h,可視層節點的條件獨立公式如式(9):

因此,當輸入v 時,可以通過p(h|v)計算出隱含層,而得到隱含層后通過p(v|h)重構可視層。調整參數使可見層v 和由重構得到的可視層v1相同,從而隱含層作為可視層的另一種表達方式,也可被認為是可視層輸入數據的特征。DBN 的學習過程主要是預訓練和微調。
1.2.1 預訓練
預訓練的過程是從底層到高層的非監督學習過程。由于RBM 無法對最初特性建模,必須借助更高層次的網絡對圖像特征實行二維建模工作,所以利用非監督貪婪逐層訓練,并且這種逐層學習模式能有效提升其訓練參數。由于波爾茲曼機是一種能量表達模式,因此其可視層與隱含層之間能夠使用能量函數式來表示。

式中,可視層節點的模式由vi表示,隱含層節點的模式由hj表示,它們所表示的參數值為0 或1;aj和bi代表其相應的偏置,wij表達了相連權重。生成可視層模型二維矢量的聯合概率為:

可視層和隱含層的條件計算概率如式(12):

為了獲取更穩定的RBM 模型權重數據的升級更新,利用對數概率來求偏導:

1.2.2 微調
微調是經過預訓練之后的關鍵環節,也就是把所有受限波爾茲曼按先前訓練好的順序串聯起來經過初始化之后,就會形成一個深層信念網絡的模型。依其輸入的參數數據和重構的參數數據來調節訓練過程,利用反向算法求得各個層次的偏差信號,進行重新整合網絡的參數數據和重構參數的損耗函數。

DBN 原型依據人腦組織結構,能夠由由低級到高級地提取輸入數據特征,以便于利用頂層的Softmax 分類函數獲得輸入數據的類標值從而得到輸入數據與其對應的類標值的非線性映射關系。借助DBN 這種方法,計算機可以自動地從輸入數據中學習抽象特征,而不需要手動選擇。
將像素級人臉的特征輸入到DBN 中,可以學習隱藏在DBN 圖像中的抽象特征。但是DBN 無法學習人臉圖像的局部結構特征的向量。并且原圖像較為稀疏,使深度網絡在學習中處理較大計算量,降低了實時性。因此利用SQI 處理人臉圖像,對非均勻光照等干擾成分具有良好的抗干擾能力,使圖像的暗點、亮點、邊緣等微模式更具結構性和層次性。再使用主成分分析法將人臉的高維圖像降維到低維子空間中,減小算法的復雜程度。最后將低維子空間的數據特征作為DBN 的可視層輸入數據,能夠讓深度信念網絡更加直接的獲取人臉圖像的局部特征信息。深度信念網絡的聯合概率分布為:

式中H 為人臉圖像經過SQI 處理并經過PCA 降維后的低維數據,為深度信念網絡對其輸入特征H 學習到的不同層次的高級特征。
網絡訓練的質量好壞決定了DBN 學習SQI-PCA 紋理特征的準確性。在人臉圖像分類時,只有得到DBN 全局最佳參數才能與淺層網絡的分類性能相似。訓練DBN 過程如下:
(1)SQI-PCA 紋理特征輸入第一層RBM 以進行無監督訓練,獲得最佳參數;
(2)高層RBM 以低一層RBM 輸出數據為輸入,獲得RBM 網絡最佳參數;
(3)最后利用全局訓練的方法對各層參數進行微調,使得DBN 收斂到全局最佳。
此訓練方式避免了全局訓練的復雜性,利用快速散度算法(CD,Contrastive Divergence)訓練RBM 得到DBN 各層的最佳參數,加強了網絡數據預測能力。當人臉圖像中出現墨鏡、圍巾等局部遮擋因素,會使DBN 學習到不利的特征而使識別率下降。因此先識別出人臉圖像的遮擋部分,并且按遮擋部分對原圖像進行分塊。對各個子塊進行SQI-PCA 處理,并且作為DBN 的輸入,再按照各個子塊的識別權重,得到最終的識別率。本文提出的SPD 人臉識別算法流程圖如圖2所示。
本文通過SQI-PCA 和DBN 研究人臉識別,算法過程如下:
(1)識別圖像是否具有遮擋,并對有遮擋人臉圖像進行分塊。
(2)將測試樣本和訓練樣本通過SQI 處理。
(3)對測試樣本和訓練樣本使用PCA 降維至30 到100 維之間。
(4)在DBN 可視層輸入訓練樣本的SQI-PCA 紋理特征,逐層訓練深度網絡以獲取最佳的網絡參數。文中DBN 層數為2 層,學習效率為0.00001,迭代次數為30。
(5)完成深度網絡訓練后,在DBN 的可視層輸入測試樣本的SQI-PCA 紋理特征,利用本算法優化后的網絡自下而上的多層次地學習測試樣本的抽樣特征,在頂層網絡使用Softmax 回歸分類,獲得樣本的類標識后計算識別率。
為了驗證本文算法的實用性,將其在ORL、Yale、Yale-B 及AR 人臉數據庫進行識別實驗。選用的ORL、Yale 和Yale-B 人臉庫為無遮擋類型,AR 人臉庫具有圍巾和墨鏡遮擋。各個人臉庫圖像背景為非彩色,其中人臉有部分細節改變,如光照、表情等。由于Yale-B 人臉庫中每人64 幅圖像中有49 幅人臉圖像光源的方位角小于 ,垂直角小于 ,剩余的15 幅人臉圖像研究價值不高,舍棄這些人臉圖像。各人臉庫人數、每人圖片數、人臉圖像像素和外部條件影響程度等都存在一定的差異。所選用的人臉庫信息如表1所示。
在ORL 和Yale 人臉庫中每個類別人臉圖像隨機抽取5 張作為訓練樣本集,其余作為測試樣本集。在Yale-B 人臉庫中隨機抽取15 張圖像作為訓練集,剩余作為測試集。在AR 人臉庫中每人選取14 張無遮擋人臉圖像作為訓練集,將具有局部遮擋的12 張人臉圖像作為測試集。

表1:選用人臉庫信息

表2:各人臉庫識別結果

表3:各人臉庫不同算法識別率及總時間

表4:AR 人臉庫遮擋性識別結果
為了解決非均勻光照對人臉識別的影響,采用自商圖像法處理人臉圖像。在ORL、Yale及Yale-B 人臉數據中均不具有遮擋,且前兩個人臉庫受光照影響較小,Yale-B 人臉庫受光照影響程度比較大。AR 人臉庫具有遮擋且人臉圖像受光照影響較大。SQI 處理結果如圖3所示。
圖3第一幅圖像來自于Yale-B 人臉庫,圖像大部分處于陰影之中,使用SQI 處理后能夠清楚的對人臉進行分辨。第二幅和第三幅人臉圖像均來自于AR 人臉庫,其原圖像亮暗程度截然不同,經過自商圖像處理后能夠統一亮暗程度。自商圖像法采用閾值分區平滑,使得能夠勾勒出邊緣區域,并且使圖像的協方差矩陣的特征向量更能表示圖像的局部信息。因此,在人臉圖像受光照嚴重影響的時候,采用自商圖像法能夠提高圖像的識別率。并且使得人臉圖像輪廓清晰,提高主成分表達能力。
AR 人臉庫中人臉圖像具有墨鏡、圍巾等局部遮擋,為了使深度信念網絡學習到人臉特征而不受遮擋的影響,采取分塊識別方法。圖4為自動識別遮擋并分割的結果。
由于AR 人臉庫為灰度圖像,其遮擋部分和未遮擋部分的像素值差異較大,根據圖片所有行像素值的均值差異,可以劃分出遮擋部分。如圖4所示,將墨鏡遮擋分割為3 個部分,圍巾遮擋分割為2 個部分。遮擋性識別實驗中測試集全為遮擋,訓練集全為無遮擋。按照測試集中遮擋分割結果,將訓練集也按照其分割方式進行分割。然后在各個子塊中進行識別,得到各個子塊的識別結果。最后根據各個子塊的遮擋性權值和特征性權值,得到最終的識別率。遮擋性權值是指各個子塊中遮擋部分所占比例,特征性權值是指各個子塊對整個人臉特征描述的貢獻比率。比如墨鏡遮擋的1 子塊特征性權值較小,2 子塊遮擋性權值較大。
在進行無遮擋人臉識別實驗的時候,對ORL、Yale及Yale-B人臉庫采用兩種方法實驗,第一種方法是將原圖像降維至低維子空間作為深度信念網絡的輸入數據(PCA-DBN),得到識別結果。第二種方法是將原圖像經過自商圖處理后降維至低維子空間并作為深度信念網絡的輸入數據(SPD),得到識別率。識別結果如表2所示。
由于ORL 和Yale 人臉庫圖像受光照影響程度小,SPD 和PCA-DBN 相比識別率只提高3%左右,效果并不明顯。但由于Yale-B 人臉庫圖像受光照影響程度大,使得光照處理后識別率提高10%左右,顯著提高識別率。說明對于光照變化,本算法的頑健性較強。
本文對各種算法進行對比。DBN 為將原圖像組成列向量作為深度信念網絡的輸入數據,其維數為圖像的行列像素乘積。LBPDBN 是將原圖像經過均勻LBP 處理后作為深度信念網絡的輸入數據,其中LBP 選擇分塊為 ,每塊特征維度為59,圖像特征維數為944。PCA-DBN 和SPD 均降維至100 維。
如表3所示,總時間為訓練時間與識別時間相加,單位為秒。深度學習訓練過程可提前完成,其識別時間小于0.5秒。在各個人臉庫中,將人臉圖像以像素級作為DBN 的輸入,無法學習到人臉圖像的局部結構特征。由于原圖像維度太高,比如ORL 人臉庫維度為10304 維,Yale 人臉庫維度為10000 維,Yale-B 人臉庫維度為32256 維,使得訓練時間過長,且識別率較低。采用均勻LBP紋理特征處理原人臉圖像,會將原人臉圖像降維至944 維,提高識別率并且顯著減少訓練時間。將人臉圖像的協方差矩陣的特征值按大小排序并取前100 維,識別率有所降低,是因為主成分分析法會將少量人臉圖像的信息丟棄,但是通過自商圖處理后,顯著勾勒人臉輪廓,使人臉的重要信息在前100維特征向量中得以保存,得到較高的識別率并且縮短訓練時間。
在進行有遮擋人臉識別實驗的時候,對AR 人臉庫采用三種方法進行對比實驗。第一種方法是將原圖像降維至低維子空間并作為深度信念網絡的輸入數據(PCA-DBN)。第二種方法是將原圖像經過自商圖處理后降維至低維子空間并作為深度信念網絡的輸入數據(SPD)。第三種方法是將原圖像經自商圖處理后分塊降維至低維子空間并作為深度信念網絡的輸入數據(SE-SPD),得到識別率。
從表4的結果中可以得到,PCA-DBN 算法所描繪的人臉特征容易受到非均勻光照和遮擋兩種因素的影響,以至于識別率較低。SPD算法相比于PCA-DBN 算法能夠消除光照的影響,但無法消除局部遮擋影響,因此SPD 算法的識別率所提升。SE-SPD 算法采用分塊處理可以減弱遮擋特征對深度信念網絡的影響,使識別率大幅提升。每個子塊分別進行深度學習,使訓練時間增加,而識別時間為0.08 秒,滿足人臉識別的實時性要求。
本文提出一種自商圖、主成分分析法和深度學習相結合的SPD 人臉識別算法,首先對人臉圖像進行SQI 預處理,然后使用PCA 降維,最后使用DBN 進行識別。實驗證明,在ORL、Yale 和Yale-B 使用SPD 算法進行無遮擋性識別得到較好的識別效果及時間復雜度。在AR 人臉庫中進行有遮擋人臉識別,采用遮擋分割的方法,先識別出子塊所屬類別,再根據各子塊識別結果、遮擋性權值和特征性權值,得到整體識別結果。實驗證明,在AR 人臉庫中使用SE-SPD 算法進行有遮擋人臉識別得到較好的識別率,并且識別時間滿足實時性要求。