宋召青,鄭 蘇,李志成
(海軍航空工程學(xué)院 a.控制工程系;b.研究生管理大隊(duì),山東 煙臺(tái) 264001)
人臉識(shí)別[1](Face Recognition)是指基于已知的人臉樣本庫(kù),利用圖像處理和模式識(shí)別技術(shù)從靜態(tài)或動(dòng)態(tài)場(chǎng)景中,識(shí)別或驗(yàn)證一個(gè)或多個(gè)人臉。隨著高性能計(jì)算機(jī)的發(fā)展,人臉模式識(shí)別方法有了較大的突破,目前已提出了多種機(jī)器全自動(dòng)識(shí)別系統(tǒng)。一個(gè)典型的人臉識(shí)別系統(tǒng)主要由人臉圖像輸入、人臉圖像預(yù)處理、人臉圖像特征提取、人臉圖像特征匹配這4個(gè)部分組成。
圖像邊緣是人臉圖像的基本特征之一,它是圖像局部特征不連續(xù)(或突變)的結(jié)果,例如灰度的突變或者紋理的突變等。邊緣主要存在于目標(biāo)與目標(biāo)、目標(biāo)與背景、區(qū)域與區(qū)域(包括不同色彩)之間,是圖像分割、紋理特征和形狀特征等圖像分析的重要基礎(chǔ)。圖像邊緣包含豐富的圖像分類信息,它不僅在分析人臉圖像時(shí)大幅度減少了要處理的信息量,而且還保護(hù)了人臉的邊界結(jié)構(gòu)。
邊緣檢測(cè)是所有基于邊界的圖像分割方法的第一步[2],它是利用在圖像特性上的差異來實(shí)現(xiàn)的,這種差異包括灰度、顏色或者紋理[3]。兩個(gè)具有不同灰度值的相鄰區(qū)域之間總存在灰度邊緣?;叶冗吘壥腔叶戎挡贿B續(xù)的結(jié)果,這種不連續(xù)??衫们笠浑A和二階導(dǎo)數(shù)來檢測(cè)。
在人臉識(shí)別方法中,比較經(jīng)典的是Turk 與Penland 提出的特征臉法[4]和Belhumeur 等提出的Fisher 臉法[5]。支持向量機(jī)(SVM)是在統(tǒng)計(jì)學(xué)習(xí)理論基礎(chǔ)上發(fā)展起來的機(jī)器學(xué)習(xí)方法,它基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,是一種泛化能力很強(qiáng)的分類器,在許多應(yīng)用中的表現(xiàn)優(yōu)于傳統(tǒng)學(xué)習(xí)機(jī)器,因而被引入到人臉識(shí)別領(lǐng)域中來。1997年,Osuna 等提出了基于支持向量機(jī)(SVM)的人臉識(shí)別[6],在人臉的識(shí)別過程中取得了較好的效果。學(xué)者對(duì)基于支持向量機(jī)的人臉識(shí)別展開了廣泛和深入的研究,涌現(xiàn)出許多有效的改進(jìn)算法。有基于遺傳算法和支持向量機(jī)的自動(dòng)人臉識(shí)別[7]、基于核主元分析和支持向量機(jī)的人臉識(shí)別[8-9]、基于非線性特征提取和SVM的人臉識(shí)別[10]等。
本文研究人臉圖像的邊緣檢測(cè)方法以及基于最小二乘支持向量機(jī)的圖像分類識(shí)別。首先,對(duì)人臉圖像進(jìn)行邊緣檢測(cè)預(yù)處理;然后,提取圖像的不變矩特征;最后,采用最小二乘支持向量機(jī)的分類算法對(duì)圖像進(jìn)行分類識(shí)別。
人臉識(shí)別通常包括兩個(gè)部分:人臉的檢測(cè)定位和人臉特征識(shí)別。一個(gè)自動(dòng)人臉識(shí)別系統(tǒng)首先要通過人臉檢測(cè)子系統(tǒng)檢測(cè)出圖像中人臉的位置,提取出人臉,然后再通過識(shí)別子系統(tǒng)對(duì)檢測(cè)出的人臉進(jìn)行識(shí)別。人臉識(shí)別系統(tǒng)識(shí)別人臉的流程如圖1所示。

圖1 人臉識(shí)別系統(tǒng)流程圖
梯度對(duì)應(yīng)一階導(dǎo)數(shù),梯度算子是一階導(dǎo)數(shù)算子。常用的基于一階導(dǎo)數(shù)的邊緣檢測(cè)算子[11]有Roberts算子、Prewitt算子、Sobel算子等。算子運(yùn)算時(shí)采取類似卷積的方式,將模板在圖像上移動(dòng)并在每個(gè)位置計(jì)算對(duì)應(yīng)中心像素的梯度值,對(duì)一幅灰度圖求梯度所得的結(jié)果是一幅梯度圖。
Robert算子是一種利用局部差分算子尋找邊緣的算子,兩個(gè)卷積核分別為:

以1為范數(shù)計(jì)算梯度:

Robert算子檢測(cè)邊緣如圖2所示:

圖2 Robert算子邊緣檢測(cè)
Prewitt算子的兩個(gè)卷積核分別為:

以∞為范數(shù)計(jì)算梯度:

Prewitt算子檢測(cè)邊緣如圖3所示:

圖3 Prewitt算子邊緣檢測(cè)
Sobel算子是邊緣檢測(cè)器中最常用的算子之一,Sobel算子檢測(cè)邊緣如圖4所示:
兩個(gè)卷積核分別為:

與Prewitt算子一樣,以∞為范數(shù)計(jì)算梯度。

圖4 Sobel算子邊緣檢測(cè)
常用的二階導(dǎo)數(shù)的邊緣檢測(cè)算子[2]有拉普拉斯算子、坎尼算子、高斯—拉普拉斯算子等。用二階導(dǎo)數(shù)算子檢測(cè)階梯狀邊緣需將算子與圖像卷積并確定過零點(diǎn)。
拉普拉斯算子是一種常用的二階導(dǎo)數(shù)算子。一階導(dǎo)數(shù)的局部最大值對(duì)應(yīng)著二階導(dǎo)數(shù)的零交點(diǎn),拉普拉斯算子就是通過去除一階導(dǎo)數(shù)中的非局部最大值,也就是通過尋找圖像梯度的二階導(dǎo)數(shù)的零交叉點(diǎn),就能檢測(cè)出更精確的邊緣。它是一種不依賴于邊緣方向的二階微分算子,是標(biāo)量而不是矢量,而且具有旋轉(zhuǎn)不變即各向同性的性質(zhì)。對(duì)一個(gè)連續(xù)函數(shù) f (x,y),它在位置(x,y)的拉普拉斯值定義為:

表示為卷積模板:

拉普拉斯算子很少用于檢測(cè)邊緣,而主要用于已知邊緣后確定該像素在圖像的暗區(qū)或明區(qū)一邊。
Canny算子[12]方法的實(shí)質(zhì)是用一個(gè)準(zhǔn)高斯函數(shù)作平滑運(yùn)算,然后以帶方向的一階微分算子定位導(dǎo)數(shù)最大值,它可用高斯函數(shù)的梯度來近似,以此來尋找圖像梯度的局部極大值。
Canny算子的算法步驟:
1)用高斯濾波器平滑圖像;
2)計(jì)算濾波后圖像梯度的幅值和方向;
3)對(duì)梯度幅值應(yīng)用非極大值抑制,其過程為找出圖像梯度中的局部極大值點(diǎn),把其他非局部極大值點(diǎn)置零以得到細(xì)化的邊緣;
4)用雙閾值算法檢測(cè)和連接邊緣,使用兩個(gè)閾值 T1和 T2(T1> T2)。T1用來找到每條線段,認(rèn)為所有灰度大于 T1的像素都肯定是邊緣像素;T2用來在這些線段的兩個(gè)方向上延伸尋找邊緣的斷裂處并連接這些邊緣,即對(duì)于灰度大于 T2的像素,看它們是否與大于 T1的像素結(jié)合在一起(鄰接),如果相鄰則也認(rèn)為是邊緣像素。這個(gè)方法可減弱噪聲對(duì)最終邊緣圖像的影響。
盡管坎尼算子計(jì)算邊緣幅度的一階導(dǎo)數(shù),但它本質(zhì)上是一種基于二階導(dǎo)數(shù)的算子。
先用高斯函數(shù)對(duì)圖像進(jìn)行濾波,再對(duì)濾波后的圖像進(jìn)行拉普拉斯運(yùn)算,算得的值等于0的點(diǎn)是邊界點(diǎn)。Gauss-Laplacian算子檢測(cè)邊緣如圖5所示:

圖5 Gauss-Laplacian算子邊緣檢測(cè)
圖6給出了幾種一階和二階導(dǎo)數(shù)算子的邊緣檢測(cè)效果,由結(jié)果可以看出,后3種算子檢測(cè)出的邊緣更加明顯,靈敏度更高。Prewitt算子與Sobel算子的檢測(cè)結(jié)果比較接近,Gauss-Laplacian算子檢測(cè)出的邊緣更加細(xì)化,其中白色代表真正的邊緣。

圖6 幾種一階和二階導(dǎo)數(shù)算子的對(duì)比
特征提取是生物特征識(shí)別的一個(gè)關(guān)鍵問題,由于在實(shí)際問題中常常不容易找到那些最重要的特征,或者受條件限制不能對(duì)它們進(jìn)行測(cè)量,這就使特征選擇和提取的任務(wù)復(fù)雜化而成為構(gòu)造模式識(shí)別系統(tǒng)最困難的任務(wù)之一。所謂特征提取在廣義上就是指一種變換,原始特征的數(shù)量可能很大,或者說樣本是處于一個(gè)高維空間中,通過這種變換的方法可以用低維空間向量來表示樣本。
不變矩[13]就是一種通過提取具有平移、旋轉(zhuǎn)和比例不變性的圖像特征,從而進(jìn)行識(shí)別的方法。Hu提出了矩不變量的概念,其中階數(shù)小于3的7個(gè)不變矩成為以后應(yīng)用的基礎(chǔ)。
對(duì)于二維連續(xù)圖像,令 f (x,y)為圖像函數(shù),則其(p + q)階矩為:

mpq不具有平移不變性,(p + q)階中心矩為:

對(duì)于離散數(shù)字圖像,用求和代替積分,mpq和μpq變?yōu)椋?/p>

中心矩僅僅具有平移不變性。為得到具有伸縮不變性的矩,定義歸一化中心矩為:

由歸一化的二階和三階中心矩得到以下7個(gè)對(duì)平移、旋轉(zhuǎn)和尺度變換不變的矩:

以上7個(gè)不變矩不僅對(duì)連續(xù)函數(shù)圖像發(fā)生平移、旋轉(zhuǎn)和放大縮小時(shí)都是不變的,而且對(duì)離散的圖像也具有良好的保守性。本文通過提取圖像的7個(gè)不變矩,得到人臉圖像的特征向量。
最小二乘支持向量機(jī)(Least Square Support Vector Machine,LS-SVM)本質(zhì)上是一種SVM 變形算法,它創(chuàng)造性地把標(biāo)準(zhǔn)SVM的線性不等式約束轉(zhuǎn)化成了等式約束,從而使得SVM的訓(xùn)練等價(jià)于一組線性方程組的求解[14]。類似于傳統(tǒng)SVM,LS-SVM 通過構(gòu)造最優(yōu)分類超平面實(shí)現(xiàn)分類。
給定一個(gè)訓(xùn)練樣本集

xi是第i個(gè)輸入樣本,yi是第i個(gè)樣本的類標(biāo),構(gòu)造最優(yōu)分類超平面為:

式中:ai∈ R,K (xi,x)為核函數(shù);sgn為符號(hào)函數(shù)。

LS-SVM 在優(yōu)化目標(biāo)中選取誤差iξ的平方項(xiàng)作為允許錯(cuò)分的松弛變量,并把標(biāo)準(zhǔn)SVM的不等式約束轉(zhuǎn)化成了一組等式約束,相當(dāng)于求解下面的最小值問題:

人臉圖像預(yù)處理及特征提取的過程包括:
1)圖像尺寸歸一化為92×112 像素大小,以減少圖像矩陣的維數(shù),簡(jiǎn)化計(jì)算。
2)圖像濾波增強(qiáng)。在此分別采用鄰域平均、高斯平滑和中值濾波,并對(duì)最后識(shí)別結(jié)果做出比較。
3)人臉邊緣檢測(cè)。提取圖像主要的分類信息,在分析圖像時(shí)大幅度減少了要處理的信息量,而且保護(hù)了目標(biāo)的邊界結(jié)構(gòu)。
預(yù)處理階段分別采用Robert算子、Prewitt算子、Sobel算子和Gauss-Laplacian算子對(duì)人臉圖像進(jìn)行邊緣檢測(cè)。
4)圖像二值化[15]。將具有多個(gè)灰度級(jí)的多值圖像轉(zhuǎn)換成灰度值僅為0、1的二值圖像,突出了圖像特征,便于進(jìn)行特征提取。
5)特征提取。提取Hu 矩的7個(gè)不變量,組成圖像的7 維特征向量,不變矩具有平移、旋轉(zhuǎn)和比例不變性,提取不變矩特征,減少了計(jì)算量。
人臉識(shí)別實(shí)驗(yàn)中采用自建的組合人臉庫(kù),20個(gè)人,每人4 張,共80 張圖片,含有背景和輕微的表情變化。每人取2 張共40 張圖片作為實(shí)驗(yàn)的訓(xùn)練集,取另外2 張共40 張圖片作為實(shí)驗(yàn)的測(cè)試集。識(shí)別階段用LS-SVM 訓(xùn)練人臉樣本,采用一對(duì)多算法,核函數(shù)采用徑向基核函數(shù):參數(shù)設(shè)置為實(shí)現(xiàn)了人臉圖像的分類。
結(jié)果如表1所示,并把采用不同算子的邊緣檢測(cè)的實(shí)驗(yàn)結(jié)果作比較??梢姡捎肧obel算子和Gauss-Laplacian算子檢測(cè)邊緣,最終的人臉識(shí)別率較高,識(shí)別效果較好。

表1 不同邊緣檢測(cè)算子下的識(shí)別率
本文采用圖像邊緣檢測(cè)與支持向量機(jī)方法,研究了人臉的圖像識(shí)別,建立了一個(gè)完整的人臉識(shí)別系統(tǒng),分為預(yù)處理、特征提取、分類識(shí)別3個(gè)主要階段,對(duì)經(jīng)過預(yù)處理的人臉圖像,提取7個(gè)不變矩的圖像特征,通過實(shí)驗(yàn)實(shí)現(xiàn)了人臉識(shí)別。
從實(shí)驗(yàn)結(jié)果看,圖像預(yù)處理方法對(duì)識(shí)別效果的影響較大。采用不同的邊緣檢測(cè)方法,圖像的分割效果不盡相同,并直接體現(xiàn)在最終的識(shí)別率上。采用基于一階導(dǎo)數(shù)的Sobel算子和基于二階導(dǎo)數(shù)的Gauss-Laplacian算子檢測(cè)人臉邊緣,效果較好,識(shí)別率也較高。
應(yīng)當(dāng)看到,人臉識(shí)別需要充分考慮到幾何歸一化、噪聲源、背景飾物的變化以及提取特征的通用性,人工的干預(yù)和先驗(yàn)知識(shí)在所難免,如何提高人臉識(shí)別系統(tǒng)的智能化水平,應(yīng)當(dāng)作為今后繼續(xù)研究的重點(diǎn)。
[1]周德龍.人臉識(shí)別技術(shù)研究[D].西安:西北工業(yè)大學(xué),2001:5-8.
[2]章毓晉.圖像工程:圖像處理[M].2 版.北京:清華大學(xué)出版社,2006:81-85.
[3]盧春雨,張長(zhǎng)水,聞芳,等.基于區(qū)域特征的快速人臉檢測(cè)法[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,1999,39(1):101-105.
[4]TURK M,PENLAND A.Face recognition using eigenfaces[C]//IEEE Compute.Soc.Conf.On CVPR.1991:586-591.
[5]BELHUMEUR V,HESPANHA J,KRIEGMAN D.Eigenfaces VS fisherfaces:recognition using class specific linear projection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1997,19(7):711-720.
[6]OSUNA E,FREUND R,GIROSI F.Training support vector machines:an application to face detection[C]//Proceedings of Computer Vision and Pattern Recognition.1997:130-136.
[7]田雪,紀(jì)玉波,楊旭.基于支持向量機(jī)的自動(dòng)人臉識(shí)別[J].計(jì)算機(jī)工程,2005,31(5):191-193.
[8]何國(guó)輝,甘俊英.基于核主元分析和支持向量機(jī)的人臉識(shí)別[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(5):1190-1193.
[9]王輝.基于核主成分分析特征提取及支持向量機(jī)的人臉識(shí)別應(yīng)用研究[D].合肥:合肥工業(yè)大學(xué),2006:3-15.
[10]孫大瑞,吳樂南.基于非線性特征提取和SVM的人臉識(shí)別算法[J].電子與信息學(xué)報(bào),2004,26(2):307-311.
[11]KENNETH R CASTLEMAN.數(shù)字圖像處理[M].朱志剛,石定機(jī),譯.北京:電子工業(yè)出版社,2003:389-390.
[12]連靜,王珂.圖像邊緣特征提取算法研究及應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2008:24-27.
[13]RAFAEL C GONZALEZ.數(shù)字圖像處理:MATLAB版[M].阮秋琦,譯.北京:電子工業(yè)出版社,2005:353-356.
[14]SUYKENS J A K,VANDEWALLE J.Least squares support vector machine classifiers[J].Neural Processing Letters,1999,9:293-300.
[15]趙全友,潘保昌,鄭勝林,等.基于LoG算子的邊緣零交叉二值化方法[J].微型機(jī)與應(yīng)用,2005(8):46-49.