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

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

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

(3)


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

(5)

利用PCA進(jìn)行人臉特征提取的工作量主要是計(jì)算樣本集協(xié)方差矩陣C的特征值和特征向量. 由于C是一個(gè)M×M維的方陣, 當(dāng)維度M非常大, 例如M=10 000時(shí), 采用傳統(tǒng)的PCA算法提取主成分分量時(shí)系統(tǒng)運(yùn)行速度較慢, 甚至?xí)霈F(xiàn)內(nèi)存泄露的錯(cuò)誤. 因此, 本文采用一種改進(jìn)的PCA人臉特征提取算法.
對(duì)于求解大樣本矩陣, 可采用改進(jìn)PCA算法計(jì)算矩陣特征值所對(duì)應(yīng)的特征向量[8]. 設(shè)ΦN×M為每個(gè)樣本與樣本均值差的矩陣, 則總體散布矩陣為C=(ΦTΦ)M×M. 考慮矩陣R=(ΦΦT)N×N, 一般情況下由于樣本數(shù)量N遠(yuǎn)小于樣本維度M, 所以R的大小也遠(yuǎn)小于總體散布矩陣C的大小, 但其與C有相同的非零特征值, 所以求總體散布矩陣C的特征值和特征向量可通過(guò)求得R的特征值和特征向量間接求得.
假設(shè)n維列向量V是R的特征向量, 則有
(ΦΦT)V=λV.
(6)
將式(6)兩端同時(shí)左乘ΦT, 并應(yīng)用矩陣乘法的結(jié)合律得
(ΦTΦ)(ΦTV)=λ(ΦTV).
(7)
式(7)表明ΦTV為散布矩陣C=(ΦTΦ)M×M的特征向量. 因此可通過(guò)計(jì)算小矩陣R=(ΦΦT)N×N的特征向量V, 然后左乘ΦT得到散布矩陣C=(ΦTΦ)M×M的特征向量ΦTV.
實(shí)驗(yàn)采用美國(guó)紐約大學(xué)整理的Olivetti Faces人臉數(shù)據(jù)集, 該數(shù)據(jù)集共包括40個(gè)不同的對(duì)象, 每個(gè)人都有10張不同的人臉圖像, 總計(jì)400張圖像, 圖像大小為64×64像素. 在特征提取時(shí), 使用不同種類(lèi)、不同級(jí)的小波分解和改進(jìn)PCA降維預(yù)處理, 判斷對(duì)訓(xùn)練時(shí)間和識(shí)別率的影響. 分別選取每個(gè)人7張圖像, 總計(jì)280張圖像作為測(cè)試樣本; 其他3張總計(jì)120張圖像作為測(cè)試樣本. 經(jīng)過(guò)小波分解與重構(gòu)的圖像如圖3所示, 經(jīng)過(guò)改進(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
在分類(lèi)時(shí), 本文采用經(jīng)典的深度卷積神經(jīng)網(wǎng)絡(luò)VGG-16(visual geometry group network)模型作為人臉識(shí)別分類(lèi)器[9]. VGG-16模型包含13個(gè)卷積層、5個(gè)池化層和3個(gè)全連接層. 本文利用TensorFlow框架實(shí)現(xiàn)該VGG-16分類(lèi)器[10]. 訓(xùn)練時(shí)網(wǎng)絡(luò)的batch_size設(shè)為256, 使用L2懲罰, drop_out比例設(shè)置為0.5, 學(xué)習(xí)率初始值為0.1, 并隨著迭代進(jìn)行動(dòng)態(tài)更新.
表1為采用不同小波、不同分解級(jí)數(shù)和改進(jìn)PCA的實(shí)驗(yàn)數(shù)據(jù).

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