鐘小莉
(青海民族大學 計算機學院,青海 西寧 810007)
從二維圖像中進行人臉姿態識別是圖像處理領域中的一個熱點課題,在人臉識別、人機交互中有很多應用[1]。然而,由于人臉圖像中存在多種環境因素的影響,如面部表情、光照和圖像分辨率等,對人臉姿態識別造成了很大的困難[2,3]。
目前,用于人臉姿態識別的主要技術有主動外觀模型(active appearance model,AAM)[4],其基于學習形狀和外觀變化來預測面部姿態。但是,AAM的有效使用需要面部特征精確定位,在圖像分辨率很低時難以實現。也有學者提出了一些基于回歸的方法來進行姿態識別,例如利用支持向量回歸(support vector regression,SVR)[5]來估計姿態,或者利用流形嵌入技術和回歸方法的混合來進行姿態預測[6,7]。但是,這些方法容易遭受數據集中不規則分布的數據和噪聲的影響。文獻[8]提出了Gabor結合各向異性擴散(Gabor anisotropic diffusion,Gabor-AD)的方法。文獻[9]提出了一種熵加權Gabor結合主動形狀統計模型(active shape and statistical model,ASSM)的方法(Gabor-ASSM),在姿態變化較大的人臉數據庫上可取得較高的識別率。然而,這些方法的計算復雜度比較高。
針對上述分析,提出一種主動輪廓模型(active shape model,ASM)融合字典學習優化的人臉識別方法。提出的方法主要創新點如下:
(1)利用ASM對人臉姿態進行矯正,可以明顯提高對姿態變化人臉圖像的魯棒性;
(2)利用字典學習優化,可以更好地保留有用特征;
(3)在判斷所識別圖像是否為正確類別后,及時地對訓練樣本特征空間進行了更新操作,一定程度上提升了訓練系統的識別能力。
實驗結果表明,提出的方法能夠準確地識別出人臉姿態,具有很好的魯棒性。
基于ASM、Gabor小波變換[10]、核主成分分析(kernel principal component analysis,KPCA)[11]和稀疏表示(sparse representation,SR)[12],提出了一種姿態識別方法。其基本思想是利用ASM提取人臉圖像局部特征,對人臉進行矯正對齊。通過Gabor小波和KPCA構建一個人臉姿態特征字典,并進行字典學習優化[13],以此構建稀疏分類器。然而,由于訓練圖像的數量很大,并且存在可能影響最終分類結果的大量冗余姿態和噪聲。為此,設計了一種更新方法,即用錯誤分類的面部圖像來對訓練集外觀基礎特征空間進行更新。提出的方法過程如圖1所示。

圖1 提出的方法框架
首先,利用ASM進行人臉姿態矯正,利用點集坐標向量將人臉目標形狀定義為

(1)
S可表示為平均形狀S0,根據基向量的線性組合改寫為
S=T(s,R,T;S0+Ψip)
(2)

(3)
為了使可變形模型與測試圖像吻合,利用ASM對人臉圖像進行擬合。優化T(s,R,T;·)的參數和基礎Ψ的參數向量p,減小S每點處在斑塊中計算的特征,并利用訓練圖像構建模型特征之間的差異,從原始灰度圖像的斑塊、圖像梯度和局部二值模式中提取人臉特征。提出的方法對相關系數進行歸一化處理,并利用ASM得到面部特征的擬合人臉形狀,如圖2所示[9]。

圖2 利用ASM得到的擬合人臉形狀
Gabor小波是一種加Gauss窗口的Fourier變換,由多尺度和多方向的濾波器組成[10]。Gabor小波變換是分析圖像的一種有效方法,可用來表達圖像的在各個方向和尺度上的變化,且對光照變化具有很好的魯棒性[14]。為此,以直方圖序列形式將人臉圖像轉換為特征向量,應用Gabor濾波器在頻域上獲得初始特征。Gabor濾波器定義如下
(4)

在上述Gabor小波變換后,對獲得的小波系數進行降維以獲得最終的特征。使用KPCA來對小波系數進行處理,建立基礎Ψ,提取高階統計特征。KPCA是傳統PCA在高維特征空間的應用,使其能夠捕獲高維空間的非線性信息,以此提高性能。KPCA的特征值可通過式(5)計算[11]

(5)
vφ的所有λ≠0的解都位于φ(x1),…,φ(xn)范圍內,存在系數αi如
(6)
定義N×N核矩陣K,有
Ki,j=φ(xi)·φ(xj)
(7)
將式(6)乘以φ(xj),代入式(7),得到
NλKα=K2α
(8)
該特征值求解問題可表示為更簡單的特征值問題
Nλα=Kα
(9)
特征空間的投影由下式執行

(10)
可見,只需利用核函數就可以從原始圖像中提取出k個非線性主成分,無需較大的計算量。
得到最優矩陣K∈RN×N后,利用優化程序對每個原子項進行優化,令dj∈Rm為K的第j原子項,假設xj*∈R1×N的行向量為K的第j行,固定K和所有原子項,構建下面的優化問題[13]

(11)
設置E=Y-∑k≠jdkxk*,消除不相關項,上式可簡化為

(12)
由于H(dj)為凸,H(dj)關于dj的梯度設為零,得到最優解
(13)


A=[A1,A2,…,AM]
(14)
使用字典A,任何新的測試圖像y∈Rd×1可以由與其類m相關聯的訓練特征空間的線性度來近似表示
y=Amam
(15)
實際上,測試圖像y可能被部分破壞或遮擋。在這種情況下,式(15)中的模型可被重寫為

(16)


(17)


(18)

(19)
提出的姿態識別算法如算法1所示。
為了給KPCA提供合適的訓練集,對于每個類m,將訓練樣本劃分為兩個子集。第一個子集包含少量的人臉圖像nm,并且其通過Gabor小波變換和傳統PCA構建初始特征空間。第二個則被用于KPCA學習。所有姿態類的本征空間用于稀疏表示分類,作為過完備字典。然后,在稀疏表示分類器出現分類錯誤的情況下,通過應用KPCA,將新的訓練樣本添加到基礎特征空間中。因此,SR的字典會隨著每次錯誤分類而更新。結合不正確分類的姿態能夠改善稀疏表示分類器的適應能力,提高分類精度,特別是當圖像分辨率非常低或光照條件動態變化時。
算法1:提出的人臉姿態識別算法
(1)輸入:來自M類的訓練圖像矩陣I={I1,I2,…,IM},其中Im∈Rd×nm表示類m的圖像集,d為每個圖像的維度(以向量形式表示),nm為類m中圖像的數量。


(4)使用式(19),將重建殘差最小的類m來標記新訓練圖像。
(5)判斷新圖像是否用正確的類別標記?
是,則返回步驟(3);
否,繼續執行步驟(6)。
(6)通過KPCA更新訓練圖像所屬類的本征空間。
(7)返回步驟(3)。
在UMIST低分辨率姿態數據庫上進行實驗,以評估提出的方法對低分辨率圖像的魯棒性。然后,在CMU-PIE數據庫和戶外人臉(LFW)數據庫上進行實驗,評估其對姿態和光照變化的魯棒性,并將其與現有方法進行比較,提出的方法利用MATLAB和C語言混合編程。
為了測試所提出的方法對于低分辨率圖像的性能,在UMIST人臉數據庫上進行實驗。UMIST人臉庫由英國曼徹斯特大學創建,包括20人的564張人臉圖像。
利用人臉圖像的平面角度偏差,將臉部圖像分類為5個姿態類別(即正面人臉、全左臉、全右臉、1/4左臉、和1/4右臉)。正常面部圖像為36×36像素,為了進行低分辨率實驗,將原始圖像從36×36的像素向下采樣到30×30、24×24、18×18和9×9像素。UMIST數據庫中各種姿態的一些低分辨率圖像如圖3所示。

圖3 來自UMIST數據庫中的低分辨率姿態圖像
表1給出了人臉識別結果的混淆矩陣。其中,L、QL、F、QR、R分別表示全左臉、1/4左臉、正面人臉、全右臉、和1/4右臉。可以看出,提出的方法對各種人臉姿態的正確識別率都較高,分別達到了91.36%、91.55%、94.38%、90.53%和91.36%。整體準確率達到了91.84%。其中,L和QL,R和QR由于比較接近,所以誤分類相對較多。

表1 UMIST上不同分辨率人臉姿態分類的混淆矩陣/%
為了研究對不同分辨率臉部圖像的分類效果,在不同分辨率圖像集合下進行姿態分類實驗,獲得的平均分類率見表2。可以看出,提出的方法對于18×18和24×24分辨率的姿態圖像分別獲得了87.53%和88.24%的分類率,對于正常36×36分辨率獲得了90.21%的分類率。這個結果表明,在分辨率下降時,所提出的方法的分類率并沒有明顯降低,這驗證了其在低分辨率圖像上是有效的。

表2 不同圖像分辨率的分類率/%
為了評估提出的方法對光照和姿態變化的魯棒性,在CMU-PIE數據庫上進行實驗。CMU-PIE數據集包含70個不同的人在13種不同姿態、43種不同的光照以及4種不同的表情下的68張面部圖像。其使用了13個相機,每個相機定位在不同位置以提供特殊的相對姿態角,從而獲得不同姿態的人臉。從CMU-PIE數據庫中選擇出70個人的8260張圖像組成實驗數據集,如圖4所示。

圖4 CMU-PIE圖像
對于訓練,使用來自30個人(每人180個樣本)的不同姿態的圖像。將人臉區域下采樣到24×24的像素點。KPCA的初始特征空間由來自2個人的360張圖像(每個人包括9個姿態和20個光照)構建,然后通過應用KPCA將訓練集中的其它28個人的圖像添加到基礎本征空間中。對于9種不同姿態的分類混淆矩陣見表3。

表3 在CMU PIE中對9種姿態人臉的分類混淆矩陣/%
從表3可以看出,提出的方法對不同光照下各種姿態圖像的分類率都較高,表明提出的方法利用ASM姿態矯正有助于提升姿態變化的魯棒性。
接著,將提出的方法與其它姿態識別方法進行比較,包括文獻[7]提出的基于姿態相似性特征空間和AdaBoost的方法(PSFS-AdaBoost),文獻[8]提出的Gabor結合各向異性擴散的方法(Gabor-AD),文獻[9]提出的熵加權Gabor結合ASSM的方法(Gabor-ASSM),在CMU-PIE數據庫上執行對比實驗,為了公平比較,借鑒文獻[7]的實驗設置,訓練集中包括15個人、4個對應于光源01、04、13和14的光照變化,且表情變化有平常、微笑和眨眼。來自53人的其它圖像用于測試。表4給出了幾種方法的識別率。

表4 CMU PIE數據庫上9個不同姿態人臉的識別率
從表4可以看出,在大部分圖像上,提出的方法具有較高的識別率,極少數圖片上低于其它幾種方法。比較平均識別率可以看出,提出的方法平均識別率最高。
LFW人臉數據庫[9]是無約束人臉識別最常用的數據庫之一,該數據庫中含有13 223張來自5729位對象的不同表情、不同姿態以及不同程度遮擋的人臉圖像。人臉識別性能以平均精度的形式給出,嚴格地只使用LFW樣本,不使用外部數據。圖5為LFW人臉庫上的圖像示例。

圖5 LFW人臉庫圖像
從LFW人臉數據庫中選取300個對象、每個對象10張人臉圖像進行實驗。實驗對偏航角大于10°且正鏡面臉偏航大于40°的樣本進行不可見區域填充。隨機選取5張用于訓練,剩余的5張用于測試,將幾種方法分別進行20次實驗,記錄每次實驗所得識別率,并計算標準差,幾種方法的識別結果見表5。
表5表明,相比PSFS-AdaBoost方法、Gabor-AD方法和Gabor-ASSM,提出的方法識別率最高。提出的方法利用ASM進行姿態矯正,可以明顯提高對姿態變化人臉圖像的魯棒性。利用字典學習優化,可以更好地保留有用特征。此外,提出的方法在判斷所識別圖像是否為正確類別后,及時地對訓練樣本特征空間進行了更新操作,一定程度上提升了訓練系統的識別能力。

表5 幾種方法在LFW上的識別結果
提出的方法在標準差方面與Gabor-AD相當,明顯低于Gabor-ASSM方法,略高于PSFS-AdaBoost方法。AdaBoost算法是一個非常穩定的分類算法,PSFS-AdaBoost方法將AdaBoost算法用于分類,故相對于其它分類算法具有更加穩定的性能。而Gabor-ASSM方法在分類過程中一定程度上依賴先驗分布和隨機過程,故在穩定性方面遜色于其它幾種方法。
僅在識別率方面優于其它幾種方法,不足以表明提出的方法的優越性,故記錄了幾種方法在LFW上的訓練總完成時間、測試1張圖像所需時間。在配有Intel酷睿i5雙核處理器、2.49 GHz主頻、4 GB RAM的PC機上進行實驗,采用MATLAB 7.0和C混合編程,結果見表6。

表6 幾種方法在LFW上的運行時間
從表6可以看出,提出的方法所需訓練總完成時間高于其它幾種方法,與Gabor-ASSM方法相當,明顯高于其它兩種方法。提出的方法所需步驟比較多,在ASM姿態矯正方面需要花費一定時間,測試完更新訓練系統的特征空間也需要花費一定時間。比較測試時間可以發現,提出的方法識別一個樣本僅需1.05 s,明顯低于其它幾種方法,且完全符合現實應用中的實時性需求。
通常人臉識別系統的訓練過程都是離線完成,故訓練時間多不會影響識別系統的性能。提出的方法訓練時間高于其它幾種方法,測試一個樣本所需時間均低于其它方法,表明提出的方法在識別方面更具優勢。
針對低分辨率、光照強度和人臉表情變化下的人臉姿態識別,提出了一種融合ASM姿態矯正和非約束字典學習優化的人臉識別方法。在UMIST、CMU-PIE及LFW人臉數據庫上進行了實驗,分析了低分辨率、不同光照、表情和姿態下人臉圖像對識別方法性能的影響。結果表明了提出的方法能夠有效應對這些環境變化,平均識別率都能達到90%以上,具有可行性和有效性。此外,提出的方法識別一個樣本僅需1.05 s,完全符合現實應用中的實時性需求。
未來會將提出的方法進行改進,應用于其它類型的圖像識別數據庫,例如人體動作識別、手勢識別等,并結合最前沿的深度學習、機器學習技術,進一步優化訓練系統和測試系統,降低所耗時間,在提高識別率的同時,更好地滿足實時性需求。