張 穎, 馬承澤, 楊 平, 王新民
(1. 長春財經(jīng)學(xué)院 信息工程學(xué)院, 長春 130122; 2. 長春工業(yè)大學(xué) 數(shù)學(xué)與統(tǒng)計學(xué)院, 長春 130012)
人臉識別算法主要包括人臉特征的提取和識別兩部分, 其中特征提取是人臉識別過程中的重要部分, 提取到的特征是否合理直接關(guān)系到人臉識別系統(tǒng)識別準(zhǔn)確率的高低和速度的快慢. 由于受外部環(huán)境(如晝夜、光照等)和被拍者自身因素(如姿態(tài)、表情、是否配戴眼鏡等)的影響, 人臉特征提取不準(zhǔn)確會導(dǎo)致人臉識別效果較差[1]. 人臉特征提取要解決兩方面的問題, 即高頻和高維問題. 高頻是指圖像在采集、傳送過程中會受到噪聲的影響, 從而在圖像中留下印記; 高維是指圖像的數(shù)據(jù)維度大, 且存在彼此關(guān)聯(lián)的、冗余的信息[2].
對圖像頻率成分進(jìn)行分析, 傳統(tǒng)方法采用Fourier變換, 但Fourier變換缺少時域信息, 雖然改進(jìn)的STFT(short-time Fourier transform)可通過時間窗將圖像信號分割為一定時間內(nèi)平穩(wěn)的信號, 但同一個時間窗內(nèi)的頻率是固定的, 同樣會導(dǎo)致分析的精度不夠. 小波分析的特點(diǎn)是其可以將信號分割為不同空間的分量, 過濾出圖像中的高頻分量和低頻分量, 從而達(dá)到圖像的有效去噪[3]. 目前對圖像進(jìn)行降維的主要方法是主成分分析(principal component analysis, PCA)方法. PCA是以K-L變換(Karhunen-Loeve transform)為基礎(chǔ)的統(tǒng)計方法, 旨在用少量的特征表征樣本信息, 即可將原始數(shù)據(jù)從原來的R維空間投影到M維空間(R?M), 且在低維空間中保留了原有數(shù)據(jù)中的絕大部分特征信息.
本文通過對人臉圖像進(jìn)行小波分解、去噪, 利用改進(jìn)的PCA方法對圖像進(jìn)行主成分提取, 獲得了代表人臉特征的特征向量[4]. 實(shí)驗結(jié)果表明, 本文算法具有較強(qiáng)的魯棒性, 能有效提高人臉識別效果.
對于一維離散信號f(t), 其小波變換(分解)可表示為
其中Wf(a,b)為頻域信號,ψa,b(t)為小波函數(shù)序列,a為伸縮因子,b為轉(zhuǎn)移因子. 原始信號f(t)經(jīng)過與不同伸縮尺度a和不同轉(zhuǎn)移因子b的母小波函數(shù)ψ(t)卷積變換后得到原信號的頻域信號Wf(a,b),Wf(a,b)中的a體現(xiàn)了對原信號處理中的分辨(高低頻)特性,b體現(xiàn)了原信號中的時域特性.
對于人臉圖像數(shù)據(jù), 原信號f(x,y)可認(rèn)為是二維離散數(shù)據(jù), 處理時先按照一維小波分解的原理, 按行順序?qū)π羞M(jìn)行處理, 然后按列順序?qū)π刑幚淼慕Y(jié)果再進(jìn)行相同處理. 小波分解后的圖像包括子帶圖像低頻、水平高頻垂直低頻、水平低頻垂直高頻和高頻四部分. 其中低頻表示原始圖像的低頻信息, 是圖像的近似表示; 水平高頻垂直低頻表示圖像在水平方向上的奇異特性; 水平低頻垂直高頻表示圖像在垂直方向上的奇異特性; 高頻表示圖像的對角邊緣特性(水平、垂直都高頻). 人臉圖像的一級小波變換和二級小波變換分解如圖1所示.

圖1 人臉圖像的小波變換一級和二級分解原理Fig.1 First and second level decomposition principle of face image based on wavelet transform
研究表明, 人臉的光照、少許遮蓋、旋轉(zhuǎn)、扭曲和表情等只影響圖像中的高頻部分, 低頻部分較穩(wěn)定, 因此用經(jīng)過小波分解后的低頻部分代替原始的人臉圖像, 可降低光照、表情等客觀因素的影響, 同時降低計算復(fù)雜度, 且能較好地描述人臉的分類特征. 圖2為人臉圖像的Haar小波變換一級分解. 由圖2可見, 利用Haar小波對Olivetti Faces人臉庫中的圖像進(jìn)行一級小波分解, 圖像低頻部分保留了人臉的主要信息, 同時將人臉圖像數(shù)據(jù)降到原來的1/4, 從而減少了后續(xù)計算的復(fù)雜度.

圖2 人臉圖像的Haar小波變換一級分解Fig.2 First level decomposition of face image based on Haar wavelet transform
K-L變換是一種有效的線性變換, 其目的是快速找到一個原始多維數(shù)據(jù)的投影方向, 該方向能代表原始數(shù)據(jù), 通過變換實(shí)現(xiàn)對特征空間降維[5]. PCA就是一種以K-L變換為基礎(chǔ)的統(tǒng)計方法.
假設(shè)有一張大小為K×K像素的人臉圖像, 將該圖像視為一個長度為M維的列向量(M=K2), 訓(xùn)練樣本集共有N張圖像, 可表示為(x1,x2,…,xN), 其中每個x都是一個M維向量. 則這N張人臉的平均值向量表示為

(3)


(4)
從而得到樣本集的偏差矩陣D=(Φ0,Φ1,…,ΦN-1)N×M, 進(jìn)一步可得樣本集的協(xié)方差矩陣C為

(5)

利用PCA進(jìn)行人臉特征提取的工作量主要是計算樣本集協(xié)方差矩陣C的特征值和特征向量. 由于C是一個M×M維的方陣, 當(dāng)維度M非常大, 例如M=10 000時, 采用傳統(tǒng)的PCA算法提取主成分分量時系統(tǒng)運(yùn)行速度較慢, 甚至?xí)霈F(xiàn)內(nèi)存泄露的錯誤. 因此, 本文采用一種改進(jìn)的PCA人臉特征提取算法.
對于求解大樣本矩陣, 可采用改進(jìn)PCA算法計算矩陣特征值所對應(yīng)的特征向量[8]. 設(shè)ΦN×M為每個樣本與樣本均值差的矩陣, 則總體散布矩陣為C=(ΦTΦ)M×M. 考慮矩陣R=(ΦΦT)N×N, 一般情況下由于樣本數(shù)量N遠(yuǎn)小于樣本維度M, 所以R的大小也遠(yuǎn)小于總體散布矩陣C的大小, 但其與C有相同的非零特征值, 所以求總體散布矩陣C的特征值和特征向量可通過求得R的特征值和特征向量間接求得.
假設(shè)n維列向量V是R的特征向量, 則有
(ΦΦT)V=λV.
(6)
將式(6)兩端同時左乘ΦT, 并應(yīng)用矩陣乘法的結(jié)合律得
(ΦTΦ)(ΦTV)=λ(ΦTV).
(7)
式(7)表明ΦTV為散布矩陣C=(ΦTΦ)M×M的特征向量. 因此可通過計算小矩陣R=(ΦΦT)N×N的特征向量V, 然后左乘ΦT得到散布矩陣C=(ΦTΦ)M×M的特征向量ΦTV.
實(shí)驗采用美國紐約大學(xué)整理的Olivetti Faces人臉數(shù)據(jù)集, 該數(shù)據(jù)集共包括40個不同的對象, 每個人都有10張不同的人臉圖像, 總計400張圖像, 圖像大小為64×64像素. 在特征提取時, 使用不同種類、不同級的小波分解和改進(jìn)PCA降維預(yù)處理, 判斷對訓(xùn)練時間和識別率的影響. 分別選取每個人7張圖像, 總計280張圖像作為測試樣本; 其他3張總計120張圖像作為測試樣本. 經(jīng)過小波分解與重構(gòu)的圖像如圖3所示, 經(jīng)過改進(jìn)PCA降維后的圖像如圖4所示.

圖3 人臉圖像各層低頻系數(shù)重構(gòu)結(jié)果Fig.3 Reconstruction results of face image with different layer low-frequency coefficients

圖4 變換及重構(gòu)圖片F(xiàn)ig.4 Transformation and reconstruction images
在分類時, 本文采用經(jīng)典的深度卷積神經(jīng)網(wǎng)絡(luò)VGG-16(visual geometry group network)模型作為人臉識別分類器[9]. VGG-16模型包含13個卷積層、5個池化層和3個全連接層. 本文利用TensorFlow框架實(shí)現(xiàn)該VGG-16分類器[10]. 訓(xùn)練時網(wǎng)絡(luò)的batch_size設(shè)為256, 使用L2懲罰, drop_out比例設(shè)置為0.5, 學(xué)習(xí)率初始值為0.1, 并隨著迭代進(jìn)行動態(tài)更新.
表1為采用不同小波、不同分解級數(shù)和改進(jìn)PCA的實(shí)驗數(shù)據(jù).

表1 采用不同小波、不同分解級數(shù)和改進(jìn)PCA的實(shí)驗數(shù)據(jù)
由表1可見, 對人臉圖像先進(jìn)行一級、二級小波變換和改進(jìn)PCA的混合特征預(yù)處理, 再經(jīng)過VGG-16分類器, 識別率較高, 可知原圖有效信息未嚴(yán)重丟失. 但對人臉圖像進(jìn)行三級小波變換的預(yù)處理后, 圖像識別率明顯下降, 表明數(shù)據(jù)丟失嚴(yán)重. 實(shí)驗結(jié)果表明, 經(jīng)過二級小波變換和改進(jìn)PCA特征提取后, 圖像識別時間明顯縮短, 提高了識別效率. 經(jīng)過sym6(Symlets 6)小波分解和改進(jìn)PCA特征提取后, 識別率和識別時間均優(yōu)于Haar和PCA、Db5(Daubechies 5)和PCA的組合特征提取算法, 效果最佳.
綜上所述, 本文提出了一種混合小波變換和改進(jìn)主成分分析的人臉特征預(yù)處理方法, 并將該方法應(yīng)用于Olivetti Faces人臉庫數(shù)據(jù)集. 實(shí)驗結(jié)果表明, 該混合算法處理后的圖像特征數(shù)據(jù), 利用VGG-16卷積神經(jīng)網(wǎng)絡(luò)模型算法分類時, 識別的準(zhǔn)確率和速度均較單純使用PCA算法進(jìn)行特征提取約提高10%和37%.