(1.遼寧師范大學 計算機與信息技術學院,遼寧 大連 116081;2.大連理工大學 電子信息與電氣工程學部,遼寧 大連 116024)
目前在國內外研究人臉識別技術的方法有很多,常用的方法有:基于三維數據的人臉識別方法、基于連接機制的人臉識別方法、基于代數特征的人臉識別方法以及基于幾何特征的人臉識別方法。基于特征方法的目標就是尋找人臉或人臉的部件可能具有在各種條件下都不會改變的特征或屬性(例如:形狀、膚色、紋理、邊緣信息等),并利用這些特征來定位信息。然而這類方法使用局限性很高,對人臉姿態、面部表情、旋轉縮放都不敏感,只有在特定的環境下或動作幅度差別很大才非常有效且檢測速度較高。由于人臉部件的提取通常都借助于邊緣算子,因此,這類方法對圖像質量要求較高,對光照和背景等同樣有較高的要求,因為光照、噪音、陰影都極有可能破壞人臉部件的邊緣,從而影響算法的有效性[1]。可是在安保、門禁、身份鑒別、人口檢測等實際應用中,人臉識別的數據集常常擁有樣本量少、維數高等特點。因而通常使用神經網絡等算法結合維數約簡技術提高分類率。
近年來大批學者在機器學習領域展開了深入的探究,其中機器學習的核心理論流形學習也迅速地發展成熟起來。流形學習先是構造一個數據鄰接圖來描述數據分布或幾何結構,然后尋找一個最佳投影方向或映射來有效地維護結構?;诖搜芯咳藛T提出了基于流行學習的線性或非線性的降維算法,如拉普拉斯特征映射(laplacian eigenmaps,LE)[2],局部線性嵌入(locally linear embedding,LLE)[3],局部保持投影(locality preserving projection,LPP)[4]和鄰域保持嵌入(neighborhood preserving embedding,NPE)[5],甚至包括模式識別經典的線性降維算法——主成分分析法(principal component analysis,PCA)[6]和線性判別分析(linear discriminant analysis,LDA)[7],即Fisher線性判別(fisher linear discriminant,FLD)都具有一些共同的特征,均可以構造流形上樣本點的局部鄰域結構,然后用這些局部鄰域結構來將樣本點全局的映射到一個低維空間。
局部保持投影是HE等人[8]發現LE僅對獲取的少數人臉數據點進行定義和運算,算法的泛化能力比較弱而提出了線性逼近LE的一種線性化形式。該算法將LE的隱式非線性映射采用合適的手段轉換為顯式的線性映射來進行表示,因此新的人臉數據樣本可以直接得到低維嵌入空間中的映射點以達到相應的目的。在近幾年來的特征提取領域里面,不斷涌出了大量優秀的算法,但是LPP算法在人臉識別的領域中還是占有不可或缺的地位,屬于研究人臉識別的算法里面最基礎的算法之一。
2008年,張志偉等人[9]為了增強LPP算法對外部因素的抗干擾能力,提出了一種有監督的局部保持投影算法(SLPP),通過對LPP子空間進行判別分析,選擇基向量來構造子空間進行識別。2009年,支瑞聰等人[10]提出了基于線性判別的局部保持投影算法(DLPP),將判別分析的思想引入LPP,考慮樣本間和模式類之間的相鄰關系,從而得到最優投影方向。2010年,王國強等人[11]提出了圖像矩陣判別局部保持投影(IMDLPP)的線性降維算法,利用類間散度約束和類標簽信息,使求解的特征更具判別性。2012年,李曉曼等人[12]提出了基于改進鄰域的局部保持投影(Improved Locality Preserving Projections,簡稱ILPP)算法,采用構造近鄰圖的方式得到高維數據在低維空間的本質信息。同年,楊凡等人[13]基于DLPP算法提出了譜回歸判別局部保持投影算法(SRDLPP) 避免解決稠密矩陣特征分解時帶來的高昂內存和時間消耗。2016年,王博林等人[14]提出了基于流形學習的有監督稀疏排列的局部保持投影算法(SSLPP)減少人臉識別的時間復雜度,方便獲取到具有低維人臉圖像的特征信息。
LPP 算法是 LE 算法的一種線性逼近過程,避免了 LE 算法無法有效處理測試樣本的問題,提高了算法的泛化能力,對流形學習中的非線性數據進行處理和分析具有較大的優勢。它利用構建空間中各樣本對之間的遠近親疏關系方法建立關系映射,繼承了LE算法保持空間中原始數據局部鄰域關系的優勢,能夠進行普通線性學習算法所沒有的流形分析和學習,具有處理速度快,數據計算簡單,可以獲得新樣本點的低維投影的獨特特性等優勢。
設樣本X=(x1,x2,…,xn)為原始高維空間數據集,維數為D,來自于高維歐式空間RD,Y=(y1,y2,…,yn)為降維后數據集,維數為d,屬于低維空間Rd。為了求得最佳的投影方向矩陣A,需要在一定的約束條件下最小化下面的目標函數:
(1)
1)計算近鄰點
通過使用q0近鄰或者ε近鄰方法,找到高維空間中彼此相近的樣本點,構造一個近鄰圖。距離公式為:
d(xi,xj)=‖xi-xj‖
(2)
2)選擇權重值
(3)
其中:Wij為對稱關聯矩陣,表示近鄰樣本點i和j之間的相似程度。優先選用近鄰或近鄰方法檢索出高維空間兩兩接近的樣本點,通過式(3)計算近鄰點之間的高斯加權值作為樣本間相似性的度量。如果xi和xj經過映射后相距較遠,則會令對應的Wij的值也會很小來作為懲罰項進行平衡。
3)計算特征矢量
XLXTa=λXDXTa
(4)

4)通過式子(4)計算廣義特征向量求得投影方向A=(A1,A2,…,AL)。根據它們的特征值大小進行排序,0≤λ1≤λ2≤…≤λm,然后通過Y=aTx計算出Y。
LPP雖然嚴格地保留了人臉數據樣本原始的局部鄰域結構,但卻忽略了人臉圖像數據的類別信息,在不同種類樣本受到光照、姿態、表情等非可控條件的影響后容易出現類間距離小的數據之間的重疊。為了盡可能地減少外在不可抗拒條件對結果的影響,改善識別性能,本文在LPP算法基礎上選擇把類別信息上給出的數據標簽具體化,進而提出了一種改進LPP的方法,稱為RLPP(Reformation Locality Preserve Projections)。首先利用訓練樣本的類別信息來構造吸引向量,并將高維樣本點繪制到低維數據吸引點的子空間中。
改進的局部保持投影算法構造了數據樣本的鄰接圖矩陣,通過投影變換將數據樣本映射到低維空間,可以獲取數據樣本全局的幾何結構信息,亦可較好地反應出樣本數據流形結構,處理速度快,數據計算簡單,提高算法的泛化能力。RLPP算法優勢體現在:可以在不破壞局部鄰域關系的前提下進行降維,能提取出原始人臉圖像數據的本質特征;充分利用LE算法能夠保持原始數據局部鄰域關系的優勢,將LE算法結合非線性映射等手段轉換為顯式的線性映射進行改進,保留人臉圖像空間結構并可以較大程度避免干擾人臉圖像識別等許多要素的降維方法,以達到即使對數據進行降維處理后仍能保留數據內部原始非線性狀態的目的;重視了人臉圖像數據的類別信息,改善類內距離較大類間距離較小的數據點之間不便于區分的問題。RLPP模型可以表示形式如下:
假設有一組訓練樣本矩陣X=(x1,x2,…,xc)∈Rm×n,xi∈RM,其中M是高維空間中訓練樣本的維數,N是訓練樣本的總數,C是數據樣本類別個數。對于每一個訓練樣本,我們利用其類別信息構造一個吸引向量hi∈RC。如果yi=c,那么,hi樣本中的第C類樣本的結果為1,其他項樣本為零。因此,屬于同一類的訓練樣本被具有相同的吸引點的矢量匯聚在一起。從而將子空間中的每個樣本都能被歸類到與它屬性相同的吸引向量上。
為了使低維坐標點的幾何特征與類別信息進行制約,我們尋求一個最佳投影矩陣V∈Rm×C,它可以將訓練點投影到一個相對低維的特征子空間中。假設V為所求的投影向量,那么在子空間樣本矩陣可以表示y=vTx,從而YT=VTX,即Y=(Y1,Y2,…,YC)T是數據集X的低維表示形式,yi∈{1,2,…,c}。
基于LPP算法,引入吸引向量得到下列目標式子:
(5)
式(5)中,β∈[0,+∞]是一個用于平衡類別信息重要性的控制參數。
將式子(5)進行推導,其中左式R1結合y=vTx優先推導如下:
VTX(D-W)XTV=VTXLXTV
(6)


暫時先不考慮控制參數β,將式(5)右式推導如下:
[(I-H)Y]T[(I-H)Y]=YT(I-H)T(I-H)Y
=YTSY=VTXSXTV
(7)
其中:吸引矩陣H=(h1,h2,…,hn)∈RC×n,設矩陣S=(I-H)T(I-H)Y。
結合式(6)、(7)可以將目標式(5)最終化簡為:

VTXLXTV-βVTXSXTV=
VT(L1-βS1)V
(8)
對于式(8),對于構造出來的對角矩陣L∈Rn×n,實數矩陣H∈RC×n,L1=XLXT,S1=XSXT,β∈R+以及X∈Rm×n,限制條件為VTXXTV=1。

為驗證RLPP效果,本次實驗使用了3個著名的基準人臉圖像數據庫(Yale人臉庫、Yale B人臉庫和ORL人臉庫),并在每組數據庫中分別隨機選取每類樣本點的訓練個數與測試樣本數,進而將實驗結果與LPP,LPANMM 和RAF-GE算法進行比較得出不同維數下的識別率。本文所有的實驗都是在處理器為Inter(R) Core(TM) i5-3470 3.20 GHz、內存為4GB的64位操作系統機器上完成,編輯環境為matlab2016b。
本文將選用的數據集隨機生成的樣本點投射到一個二維空間中。在構造相鄰圖時,LPP、RLPP、LPANMM 和RAF-GE四種算法都具有鄰域參數k,此外,RLPP還涉及了控制參數β??刂茀郸碌娜≈翟诶碚撋蠈η度胪队暗慕Y果有影響,可以通過改變控制參數的取值來改善該算法的分類性能。且經多次實驗測驗,選取鄰域參數k=7時,實驗效果較為穩定。
在Yale、ORL人臉庫中本實驗隨機選取訓練個數為TN={2,4,6,8}的數值,剩余部分為測試集;在Yale B中隨機選擇TN={10,15,20,25}的訓練集個數。懲罰參數均為相同數值。RLPP算法與LPP算法,LPANMM算法[15],RAF-GE算法[16]在不同維數下的準確率曲線如圖2~4所示,數據集描述如表1所示,不同人臉圖像的部分訓練集如圖1所示[17]。
從圖2給出的4種算法在Yale人臉數據集上識別率的對比實驗可以看出,以原始LPP算法(空心點所在折線)的實驗數據折線走勢為基礎,實心黑點折線代表的LPANMM算法波動幅度很大,數據不穩定,倒三角折線代表的RAF-GE算法同LPANMM算法一樣走勢不穩定,

表1 數據集描述
穩定性能略差一些,實驗結果數據的波動幅度很大,我們反復多次進行試驗后,實驗數據中LPANMM算法和RAF-GE算法識別率走勢結果仍然顯示如此。但本文提出的RLPP算法的識別率一直最高。

圖1 不同人臉圖像的部分訓練集

圖2 4種算法在Yale人臉庫準確率曲線

算法Yale2 個訓練集4個訓練集6個訓練集8個訓練集LPP78.65±8.6781.58±3.8482.89±4.9783.92±4.59RLPP90.64±2.0595.98±1.7792.16±2.5092.12±3.51LPANMM46.78±27.0476.17±6.5679.53±4.5677.49±3.45RAF-GE39.47±23.7977.63±6.7475.15±6.0578.22±5.39
從表2統計的平均值和相對誤差值結果可以看出,在Yale人臉數據集中,當訓練樣本個數選取為2時,數據樣本的平均識別率從LPP的78.65%提高到改進后的90.64%;當每類訓練樣本個數選取為6時,數據樣本的平均識別率從LPP的82.89%提高到改進后的92.16%;同時RLPP算法的相對誤差與其他算法相比略低一些,整個識別率曲線的波動相對不大,反應出RLPP算法在Yale人臉數據集里體現出很好的穩定性。

圖3 4種算法在YaleB人臉庫準確率曲線

算法Yale B10個訓練集15個訓練集20個訓練集25個訓練集LPP82.22±6.6483.77±4.3684.94±4.3282.02±6.48RLPP91.42±3.1297.62±1.1996.75±1.6497.34±1.22LPANMM71.11±3.0980.41±7.1677.34±6.2765.90±7.24RAF-GE73.89±7.1975.88±4.0678.36±4.7057.35±5.70
由圖3和表3數據分析可知在Yale B人臉庫中,4種算法的準確率曲線中RLPP算法的準確率浮動率介于90%~98%之間,比較穩定,且當訓練樣本數選取為8時,RLPP算法在Yale B人臉庫中的平均值最大、相對誤差最小,在本次測試樣本中優于其他3種算法;由圖4和表4數據分析可以看出,在ORL人臉庫中進行測試時,不同算法數據差異較大,準確率曲線波動明顯,整體數據準確率偏低。其中LPP算法數據不穩定較明顯且當訓練樣本數據為2、3、4時,識別率處在比較低的水平,這是由于LPP算法針對ORL人臉庫中部分人臉表情和細節變化,例如戴或不戴眼鏡,人臉姿態深度旋轉和平面旋轉一定度數,人臉尺寸略有變化等檢測不敏感。雖然如此,RLPP的準確率仍在LPP,LPANMM 和RAF-GE三種算法之上,平均較其他3種算法比較較為穩定,根據相對誤差數據進行分析顯示測試結果更為客觀。這是因為RLPP算法利用類別信息構造吸引向量,從而使用矢量來存儲特征的測量結果,進而保留局部鄰域結構使實驗結果更穩定。

圖4 4種算法在ORL人臉庫準確率曲線

算法ORL2個訓練集4個訓練集6個訓練集8個訓練集LPP4.63±0.75.10±0.8126.20±3.5445.11±17.89LPANMM23.7±9.4128.99±10.6237.50±6.9874.03±4.99RAF-GE37.82±7.4637.74±8.3851.26±11.9875.83±3.54RLPP65.65±7.2465.45±5.5876.48±9.4982.50±3.37
本文提出了一種改進的局部保持投影算法,在識別分類中,為了更好地利用類別信息,在保持樣本點的局部特征外,有效地從高維數據中提取出低維的人臉圖像信息并提高人臉圖像的識別率和識別速度,使分類達到一定優化,基于LPP算法結合流形學習思想,通過構造一種吸引向量的方法提出一種改進的局部保持投影算法RLPP。RLPP首先建立臨界圖在高維空間,然后找到權重鄰接圖矩陣。最后,RLPP利用類別信息和投影矩陣進行樣本從高維空間到低維空間投影。在標準人臉數據庫上的實驗結果中可以看到,改進后算法的識別率優于LPP算法、LPANMM算法和RAF-GE算法,具有較強的泛化能力和較高的識別率,因而,RLPP在人臉識別任務中具有優勢,可以提供更好的不同訓練次數下的算法效果樣本,是一種行之有效的降維算法。