崔鵬,張汝波
(1.哈爾濱工程大學計算機科學與技術學院,黑龍江 哈爾濱150001;2.哈爾濱理工大學 計算機科學與技術學院,黑龍江哈爾濱150080)
主成分分析(principal component analysis,PCA)與線性判別分析(linear discriminant analysis, LDA)是基于子空間特征提取的2種重要方法,它們成功地用于人臉識別[1-4].然而PCA與LDA作用于圖像時,產生的向量空間通常有非常高的維數,使得PCA與LDA難于執行[5-8].此外,由于PCA屬于無監督學習,自動進行聚類,但其一旦偏離分類方向,會產生非常大的錯誤;LDA屬于監督學習,需要人工對未標記數據進行大量的標注,需要耗費大量的人力和物力.半監督學習的訓練樣本由少量的有標記樣本以及大量的無標記樣本組成.在學習過程中,根據少量有標記樣本選擇初始的約束條件,進行聚類或分類[9-12].離散余弦變換(discrete cosine transform,DCT)的一些特殊屬性使它成為人臉識別的一種有效變換,它能夠降低數據維數以避免奇異性,并減少PCA以及LDA的計算代價[13-16].本文提出了一種約束聚類最優DCT(constrained clustering-based optimal discrete cosine transform,CCODCT)系數選擇法,將每個DCT系數與判別系數(discriminant coefficient,DC)聯系起來,通過選取較大DC值對應的DCT系數,得到最優DCT系數陣,實現數據降維.
本文提出的半監督CCODCT系數選擇法的人臉識別的過程如下:
1)將圖像數據庫隨機劃分為訓練集與測試集;
2)計算所有訓練圖像的DCT系數;
3)通過預掩模選擇圖像的DCT系數,選取中頻有效信息;
4)根據有標記的訓練樣本種子集,計算初始聚類中心,采用半監督約束聚類對圖像進行聚類;
5)根據獲得的分類,計算判別系數,得到判別系數(DC)陣;
6)對DC陣的列向量按照降序排列,分別選取前n(n為想要的特征數)個最大值,并標記它們相應的位置;
7)選取每個列向量前n個最大值對應的DCT系數,得到n×P的最優DCT系數陣,其中n?K;
8)對測試集用分類器計算識別率,文中采用的是最小歐式測度分類器.
DCT特征提取由2個階段組成.在第1階段,應用DCT到整個圖像以獲取DCT系數.然后,在第2階段選擇一些系數構建特征向量.DCT系數陣的維數與輸入圖像的維數相同.實際上,DCT自身并不能降低數據維數,它將大多數信號信息壓縮在一個比較小的百分比中.一張M×N圖像對應一個二維矩陣,其DCT系數陣可進行如下計算:

其中:

式中:A(m,n)是圖像陣在位置(m,n)處的灰度值,D(p,q)是DCT系數陣在位置(p,q)處的值.因而對整張圖像DCT變換,可以獲得相同維數的系數陣.
通常DCT系數分成3個頻帶,即低頻、中頻及高頻.低頻與光照條件相關,高頻表示噪聲及小的變化,中頻系數包含了有用信息及建立圖像的基本結構.圖1說明了一張典型的人臉圖像和它的DCT系數的頻率分布.圖1(b)為第1階段采用DCT變換后,DCT系數的頻帶分布.圖1(c)為帶狀(ZM)掩模,通過帶狀掩模與原始圖像相乘得到第2階段選擇的DCT系數,包括中頻有效信息.可看出中頻系數在人臉識別中是更適合的候選.

圖1 典型圖像DCT系數頻率分布以及ZM掩模Fig.1 DCT frequency distribution of a typical image and ZM masking
圖2為80×80圖像,對應DCT陣在不同ZM掩模提取的圖像.通過選擇適當的掩模,可以達到降低數據維數的目的.

圖2 80×80圖像在不同ZM掩模下提取的圖像Fig.2 80×80 image with different ZM maskings
在前面對圖像的DCT陣進行了預掩模,達到了維數的初步約簡,接下來要對圖像進行分類.本文采用半監督約束K-Means進行聚類.
1)首先計算各Sh的均值作為各個類別的初始聚類中心:

由式(2)得到k個初始類別中心.
2)數據集的K-Means聚類產生X的k個劃分,以使K-Means目標函數是局部最小的(極小值).根據K-Means產生X的k個劃分,每個劃分為一個類集分配每個數據點到聚類(h*為類別標簽):

3)根據得到k個劃分,可計算t+1次迭代的聚類中心:

4)設定約束K-Means的收斂條件:

式中:ε為一個接近0的正數,重復執行2)~4)直至算法收斂.經過半監督約束聚類,對每個數據點進行了分類,類別標簽為h.
傳統系數選擇法如Zigzag,ZM掩模以及對它們的修改選擇DCT系數陣的固定元素,雖然它們很簡單,但并不一定對所有數據庫都高效.本文提出一種判別系數(DC)選擇法,能夠根據判別系數大小選擇DCT系數,從而提高正確識別率.目的是要找到數據庫的這些判別系數,并統計分析數據庫中與每個DCT系數相關聯的所有圖像,稱此方法為基于判別系數最優 DCT(optimal discrete cosine transform,ODCT)系數選擇法.判別系數的特征是有最小的類內變化,最大的類間變化.ODCT與PCA、LDA等不同,它利用類間與類內方差.PCA與LDA試圖獲得變換域中能最大化特征判別的變換,而ODCT搜索原始域中最好的判別特征.DC選擇法與預掩模組合使其對有限數量的訓練樣本健壯.ODCT沒有基于LDA法中常見的奇異性問題.ODCT可作為一種獨立的降低特征維數算法與其他方法組合,ODCT-PCA、ODCTLDA是PCA、LDA的2種改進方法.
定義DC值依賴于2種屬性:類間的大變化與類內的小變化,可通過將類間方差與類內方差來估計DC值,其中圖像類別為半監督聚類確定的類別.在此方式下,希望能估計判別系數的較大值.大小為M×N圖像的DCT矩陣如下:
訓練集的每個DCT系數aij(i=1,2,…,M,j= 1,2,…,N)的DC值,可進行如下估計.
1)將每張DCT圖像由2D進行1D向量化,得到訓練圖像庫的(M×N)×P維DCT陣T:

2)計算類內方差和:

3)計算所有訓練樣本的方差:

4)計算位置(i,j)判別系數:

式中:d(i,j)表示判別系數陣M在位置(i,j)處的DC值.
5)判別系數陣M標準化:

式中:min(M(∶))表示M陣中的最小值,max(M(∶))表示M陣中的最大值.DC的高值意味著高判別能力,它們的值被標準化為0~1.
由于DC系數選擇法是一種統計分析,訓練樣本數影響其有效性.當每類有足夠的樣本數可用時,DC是一種優化的DCT系數選擇法.
在前面提到DCT域被分為3個頻帶.在這些頻帶中,中頻適合正確的識別.圖3為在不同數據庫中取前60個最大DC值對應的掩模.可以看出高DC值主要分布在低頻以及中頻部分,高頻部分很少,這與DCT系數的分布相同.根據3個頻帶的屬性,限定DC的搜索區域,避免由少量訓練樣本產生不合理結果.限定搜索區域會降低計算代價,在搜索區域取值1,其余位置取0,得到一個基于DC值的掩模,將掩模與DCT陣相乘,就可得到基于DC值的最優DCT系數陣.圖3為ORL數據庫圖像以及在不同DCT掩模下的重構圖像.
圖4為ORL數據庫圖像以及在不同DCT掩模下的重構圖像.

圖3 不同數據庫上選取前60個最大DC值對應的掩模Fig.3 Masking on different database with top 60 largest DC

圖4 ORL數據庫圖像及在不同DCT掩模下重構的圖像Fig.4 Images in ORL and reconstructed image with different DCT masking
圖5為Yale數據庫圖像以及在不同DCT掩模下的重構圖像.

圖5 Yale數據庫圖像在不同DCT掩模下重構的圖像Fig.5 Images in Yale and reconstructed image with different DCT masking
為評估提出的方法,將提出的方法在人臉數據庫上進行了仿真.實驗用MATLAB7.0編程;在所有的仿真中采用了交叉校驗的方法,將數據庫分為訓練集與測試集,在50組可能的訓練與測試集下進行了仿真,結果為50輪運行結果的平均.為表示訓練樣本數量對不同方法的影響,每種方法使用不同訓練圖像數量執行仿真.
4.1.1 ORL人臉數據庫
ORL數據庫包含400張人臉圖像,40個人每人10張圖像.每人圖像在表情、細節、姿勢與尺寸等方面有變化.選取每人m(1≤m≤9)張圖像,共40m張圖像作為訓練集圖像;其余的40(10-m)張圖像作為測試集.
4.1.2 Yale人臉數據庫
Yale人臉數據庫包含有重要變化的圖像,包括對象戴眼鏡、光照以及表情變化.數據庫包括165張正面人臉圖像,15個人每人11張圖像.選取每人n (1≤n≤10)張圖像,共15n張圖像作為訓練集圖像;其余的15(11-n)張圖像作為測試集.
4.2.1 不同系數選擇法的比較
傳統方法系數選擇法如Zigzag、ZM非常流行,比較了Zigzag以及ZM與ODCT法組合的6種方法識別率.ODCT為最優DCT系數選擇法;ZM-ODCT先對DCT圖像先進行 ZM預掩模,然后再進行ODCT系數選擇;CCODCT為基于約束聚類最優DCT系數選擇;ZM-CCODCT先對圖像DCT陣進行ZM預掩模,然后進行CCODCT系數選擇;Zigzag-CCODCT先進行Zigzag預掩模,然后進行CCODCT系數選擇.
圖6為6種不同方法在ORL與Yale人臉數據庫上的識別率.由圖6(a)可以看到Zigzag選擇法的識別率最低.ODCT與ZM-ODCT的識別率較高,最高識別率達到95.5%.CCODCT與ZM-CCODCT在DCT數較少時,識別率稍低于ODCT與ZM-ODCT,但當DCT數達到60以上時,獲得了接近ODCT的識別率.Zigzag-CCODCT表現不夠穩定,在DCT數為20時達到最高識別率,而后隨著DCT數增加,識別率反而下降.由圖6(b)可以看出CCODCT的識別率優于其他方法,而采用Zigzag法以及Zigzag-CCODCT的識別率相對較低,這是由于Zigzag沒有考慮到圖像的先驗信息;ZM-ODCT、ODCT以及ZMCCODCT也獲得較好的識別率.

圖6 6種不同系數選擇法在ORL和Yale上的識別率Fig.6 Recognition rate of 6 different methods on ORL and Yale
4.2.2 系數選擇法與PCA組合
傳統的PCA是無監督學習,將系數選擇法與其組合,得到4種組合方法,避免了小樣本問題以及求解特征值的奇異性問題.ODCT-PCA先應用ODCT選擇最優DCT系數,然后采用PCA投影;ZM-ODCTPCA先應用ZM預掩模選擇DCT陣,并求最優DCT系數,然后應用PCA投影;Zigzag-PCA先應用Zigzag進行DCT系數選擇,然后應用PCA投影;ZMCCODCT-PCA先應用ZM預掩模選擇DCT系數,再應用CCODCT選擇最優DCT系數,最后應用PCA投影.
圖7為ODCT與PCA組合法在ORL與Yale人臉數據庫上的識別率.由圖7(a)中所示,Zigzag-PCA的識別率最差;ODCT的識別率最高,其在DCT數為5時,識別率就達到了82%,在20處就達到了峰值95%;ODCT-PCA、ZM-ODCT-PCA以及ZM-CCODCTPCA也獲得了較高的識別率.在圖7(b)中考慮了光照問題,Zigzag法放棄特征向量的前3個系數,ZM預掩模放棄DCT陣的前2行2列.在5種方法中,ZM-ODCT-PCA的識別率要優于其他方法;ZMCCODCT-PCA、ODCT-PCA以及ODCT的識別率接近最優;Zigzag-PCA的識別率最差,在DCT數5時僅為68%,峰值達到90%.

圖7 ODCT與PCA組合法在ORL和Yale上的識別率Fig.7 Recognition rate of ODCT and PCA combination methods on ORL and Yale
4.2.3 系數選擇法與LDA組合
傳統的LDA是監督學習,需要有所有訓練樣本的類別標記信息.對LDA組合法在人臉數據庫上進行了測試.ODCT-LDA先應用ODCT系數選擇,然后進行LDA投影;ZM-ODCT-LDA先應用ZM預掩模,接著利用ODCT系數選擇,然后LDA投影;ZMCCODCT-LDA先應用 ZM 預掩模,接著應用CCODCT,然后進行LDA投影;Zigzag-LDA先應用Zigzag進行系數選擇,然后進行LDA投影.
圖8為ODCT與LDA組合法在ORL與Yale人臉數據庫上的識別率.如圖8(a)所示,ODCT在DCT數為5時,獲得82%的識別率高于其他4種LDA法,當DCT數為20時,識別率達到95%,并隨著DCT數的增加,識別率穩定在95%左右.ODCTLDA、ZM-ODCT-LDA以及Zigzag-LDA的初始識別率在70%左右,隨著DCT數增加它們的識別率最高達到99%左右,當DCT數高100時,識別率開始下降,在DCT數30~105范圍內,它們的識別率最高.ZM-CCODCT的初始階段識別率為72%,當DCT數為50時,識別率達到95%,并隨著DCT數增加,其識別率與ODCT接近在95%左右.由圖8(b)可以看到ZM-CCODCT-LDA在開始階段獲得了較高的識別率,而ODCT隨著DCT數增加,其識別率要優于其他方法;Zigzag-LDA的識別率最差,其最高達到85%左右;ZM-ODCT-LDA與ODCT-LDA的識別率最高達到88%左右.

圖8 ODCT與LDA組合法在ORL和Yale上的識別率Fig.8 Recognition rate of ODCT and LDA combination methods on ORL and Yale

表1 不同方法在ORL數據庫上的識別率Table 1 Recognition rate of different methods on ORL%

表2 不同方法在Yale數據庫上的識別率Table 2 Recognition rate of different methods on Yale%
表1和表2為不同方法在ORL以及Yale數據庫上的識別率比較.可以看到Zigzag與Zigzag-PCA作為無監督學習方法,它們的識別率最低;ODCT、ZM-ODCT、ODCT-LDA、ZM-ODCT-LDA以及Zigzag-LDA為監督學習方法,它們的識別率最高; CCODCT、 ZM-CCODCT、 Zigzag-CCODCT、 ZMCCODCT-PCA以及ZM-CCODCT-LDA為半監督學習方法.在算法的執行時間上,雖然半監督學習方法的執行時間稍高于監督學習方法,但它們用較小的代價,獲得了與監督學習方法近似的識別率.
本文提出了一種CCODCT系數選擇法.其優點在于:
1)利用少量的標記信息作為約束集,減少了人工標記樣本的工作量.
2)對DCT陣進行預掩模,達到降低計算代價的目的.
3)通過計算判別系數,選擇少量的最優DCT系數,進一步降低數據維數;由于無需計算特征值問題,有效地解決了小樣本問題.
4)ODCT是數據依賴的,其性能優于傳統系數選擇法,能根據數據庫的不同,選擇不同的掩模.
5)將此系數選擇法與PCA和LDA進行組合,可用于解決任何特征提取問題.
由于CCODCT需要聚類,因而標記信息的選取、時間復雜度以及對不同數據庫的魯棒性問題都影響著算法的性能.今后的工作是降低算法的時間復雜度,并在有光照、表情以及姿態變化的大型人臉數據庫上對其進行評估,以使算法具有更好的魯棒性.
[1]KIRBY M,SIROVICH L.Application of the Karhunen-Loeve procedure for the characterization of human faces[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1990,12(1):103-108.
[2]牛星,席志紅,金子正秀.基于改進AAM的人臉特征點提取[J].應用科技,2011,38(4):35-38.
NIU Xing,XI Zhihong,MASAHIDE Kaneko.Face feature points extraction based on refined AAM[J].Applied Science and Technology,2011,38(4):35-38.
[3]TURK M,PENTLAND A.Eigenfaces for recognition[J].International Journal of Cognitive Neuroscience,1991,3 (1):71-86.
[4]蘇景龍,林天威,王科俊,等.視頻流下的人臉檢測與跟蹤[J].應用科技,2011,38(3):5-11.
SU Jinglong,LIN Tianwei,WANG Keijun,et al.Face detection and tracking in video[J].Applied Science and Technology,2011,38(3):5-11.
[5]ZHUANG X S,DAI D Q.Improved discriminant analysis for high-dimensional data and its application to face recognition[J].Pattern Recognition,2007,40(5):1570-1578.
[6]GAO Q X,ZHANG L,ZHANG D.Face recognition using FLDA with single training image per-person[J].Applied Mathematics and Computation,2008,205(12):726-734.
[7]ZHAO H T,YUEN P C.Incremental linear discriminant analysis for face recognition[J].IEEE Trans Syst Man Cybern B,2008,38(1):210-211.
[8]趙穎.基于改進的核判別分析的人臉識別算法研究[J].哈爾濱理工大學學報,2010,15(3):19-22.
ZHAO Ying.Research on the improved kernel discriminant analysis based on face recognition algorithm[J].Journal of Harbin University of Science and Technology,2010,15 (3):19-22.
[9]BASU S.Semi-supervised clustering:probabilistic models,algorithms and experiments[D].Austin:The University of Texas,2005:32-33.
[10]ZHU X J.Semi-supervised learning literature survey[R].Madison:University of Wisconsin-Madison,2005:28-31.
[11]ZHANG S W,LEI Y K,WU Y H.Semi-supervised locally discriminant projection for classification and recognition[J].Knowledge-Based Systems,2011,24(2):341-346.
[12]CAI D,HE X F,HAN J W.Semi-supervised discriminant analysis[C]//IEEE International Conference on Computer Vision.Rio de Janeiro,Brazil,2007:205-211.
[13]DABBAGHCHIAN S,GHAEMMAGHAMI M,AGHAGOLZADEH A.Feature extraction using discrete cosine transform and discrimination power analysis with a face recognition technology[J].Pattern Recognition,2010,43:1431-1440.
[14]CHEN W,ER M J,WU S.PCA and LDA in DCT domain[J].Pattern Recognition Letters,2005,26:2474-2482.
[15]JIANG J,FENG G.Robustness analysis on facial image description in DCT domain[J].Electronics Letters,2007,43(24):356-357.
[16]CHOI J,CHUNG Y S,KIM K H.Face recognition using energy probability in DCT domain[C]//IEEE International Conference on Multimedia and Expo.Toronto,2006: 1549-1552.