摘 要:考慮到人臉表情識(shí)別問(wèn)題在未來(lái)的科學(xué)應(yīng)用中可能出現(xiàn)的樣本分布不均勻的情況,,在提高識(shí)別率的基礎(chǔ)上,,針對(duì)這類(lèi)問(wèn)題進(jìn)行了實(shí)驗(yàn)研究,將一種改進(jìn)的AdaBoost算法與SVM結(jié)合運(yùn)用到表情分類(lèi)當(dāng)中,。實(shí)驗(yàn)結(jié)果表明,,在出現(xiàn)稀有樣本的情況下,相對(duì)于普通的AdaBoost訓(xùn)練SVM以及單純的SVM進(jìn)行多分類(lèi)的方法,,該算法在識(shí)別率方面有了很大提高,。
關(guān)鍵詞: 人臉表情識(shí)別;預(yù)處理,;Gabor變換,;IAdaBoost
對(duì)人類(lèi)面部的表情本質(zhì)信息進(jìn)行特征的提取分析,并利用人類(lèi)的認(rèn)知和思維方式對(duì)其歸類(lèi)及理解,,參考人們?cè)谇楦蟹矫嫠哂械南闰?yàn)知識(shí)讓計(jì)算機(jī)思考和推理,,從而據(jù)此從人們的面部表情中分析并理解他們的情緒,這就是人類(lèi)面部表情識(shí)別所要做的工作[1],。
本文采用一種改進(jìn)的AdaBoost算法[2]與支持向量機(jī)[3]組合的分類(lèi)方法,,使其能夠處理多分類(lèi)的表情問(wèn)題,采用該方法的最大優(yōu)點(diǎn)是能夠在實(shí)驗(yàn)的訓(xùn)練過(guò)程中考慮分布稀疏樣本的重要性,使得稀有類(lèi)別中的樣本也能具有較高權(quán)值,,并且采用了規(guī)則抽樣的方法,,使得其可以較大概率地被選中,這樣在之后的迭代過(guò)程中更容易被抽到,,從而可以有效避免分類(lèi)器忽視稀有類(lèi)這一現(xiàn)象的發(fā)生,,使稀有類(lèi)樣本正確劃分更有利。
之所以采用這種分類(lèi),,是因?yàn)樗芯康谋砬榉诸?lèi)問(wèn)題,,其最終目的還是要應(yīng)用到實(shí)際生活當(dāng)中,六類(lèi)表情在人們的生活當(dāng)中出現(xiàn)的概率肯定是不盡相同的,,像厭惡,、悲傷的表情還是要比高興少,當(dāng)出現(xiàn)樣本分布不均勻的分類(lèi)情況下,,本文研究的算法就可能體現(xiàn)出價(jià)值,。
1 系統(tǒng)概要
通常來(lái)說(shuō),把一個(gè)完善的人臉表情識(shí)別過(guò)程分成人臉的檢測(cè)過(guò)程,、人臉本質(zhì)特征的提取過(guò)程以及表情的分類(lèi)過(guò)程3個(gè)小環(huán)節(jié),。因此,如果建立一個(gè)正常的表情識(shí)別系統(tǒng),,第一步需要對(duì)人們的面部進(jìn)行檢測(cè)和定位[4],,其后通常還有一個(gè)預(yù)處理[5]的過(guò)程,進(jìn)行預(yù)處理的主要目的是盡量除去圖像因采集因素差異而造成的不同,,確保了圖像能有一個(gè)同等的實(shí)驗(yàn)環(huán)境,,這樣再進(jìn)行表情識(shí)別的研究,就可以有效地提高識(shí)別的效率,。第二步把靜態(tài)圖像或動(dòng)態(tài)的視頻序列中能表征人臉表情本質(zhì)的信息提取出來(lái),,其后通常有一個(gè)二次特征降維[6]的過(guò)程,來(lái)進(jìn)一步降低提取特征的維數(shù),。第三步進(jìn)行特征分類(lèi)[7],,即將輸入到系統(tǒng)的人臉表情正確地分類(lèi)到相應(yīng)的類(lèi)中。系統(tǒng)核心框架如圖1所示,。
1.1 人臉檢測(cè)
目前,,已有很多的人臉檢測(cè)算法,本文采用由Paul Viola等人提出的基于Haar小波基函數(shù)的的矩形特征與級(jí)聯(lián)的Boosted機(jī)器學(xué)習(xí)相結(jié)合的對(duì)象探測(cè)算法進(jìn)行人臉檢測(cè),。首先利用樣本(大約幾百幅樣本圖片)的Haar特征進(jìn)行分類(lèi)器的訓(xùn)練,,得到一個(gè)級(jí)聯(lián)Boosted分類(lèi)器,分類(lèi)器訓(xùn)練完以后,,就可以應(yīng)用于輸入圖像中的感興趣區(qū)域的檢測(cè),。為了檢測(cè)整幅圖像,,可以在圖像中移動(dòng)搜索窗口,檢測(cè)每一個(gè)位置來(lái)確定可能的目標(biāo),。為了搜索不同大小的目標(biāo)物體,,分類(lèi)器被設(shè)計(jì)為可以進(jìn)行尺寸改變,這樣,,為了在圖像中檢測(cè)未知大小的目標(biāo)物體,,掃描程序通常需要用不同比例大小的搜索窗口對(duì)圖像進(jìn)行多次掃描。
Intel開(kāi)源OpenCV計(jì)算機(jī)視覺(jué)庫(kù)已經(jīng)有效地實(shí)現(xiàn)了該算法,。本文利用OpenCV庫(kù)函數(shù)進(jìn)行人臉檢測(cè),,從輸入圖像中獲取人臉的位置和尺寸信息。為了有效地檢測(cè)到人臉位置,,又不致于使檢測(cè)掃描的次數(shù)過(guò)多影響系統(tǒng)運(yùn)行時(shí)間,本文在日本ATR女性表情數(shù)據(jù)庫(kù)(JAFFE)[8]和CMU的Cohn-KanadeAU表情數(shù)據(jù)庫(kù)[9]上進(jìn)行了人臉檢測(cè)的實(shí)驗(yàn),。首先對(duì)圖像庫(kù)待檢測(cè)的圖像進(jìn)行了分析計(jì)算,,以獲取圖像類(lèi)Haar特征[10],再利用訓(xùn)練好的AdaBoost算法來(lái)處理這些得到的類(lèi)Haar特征,,以檢測(cè)待測(cè)圖像,,最終顯示出了人臉的具體位置。在日本ATR女性表情數(shù)據(jù)庫(kù)(JAFFE)上所做實(shí)驗(yàn)的部分檢測(cè)結(jié)果如圖2所示,。
1.2 圖像預(yù)處理
因?yàn)椴杉O(shè)施的差異,、光照因素的不同以及環(huán)境背景的變換等因素會(huì)影響到所輸入到系統(tǒng)的圖像,因此,,在進(jìn)行表情特征提取前,,檢測(cè)獲取的人臉區(qū)域還需要進(jìn)行另外的一些處理,這就是通常所講的預(yù)處理操作,。
圖像的預(yù)處理步驟通常包括了尺寸的歸一化,、噪聲的去除以及灰度的均衡化等,正如前文所說(shuō),,這樣做的目的是盡量消除圖像采集因素間的差異,,以確保圖像能有一個(gè)同等的實(shí)驗(yàn)環(huán)境,這樣再進(jìn)行表情識(shí)別的研究,,就可以有效地提高識(shí)別的效率,。
本文采用的圖像預(yù)處理大致步驟如圖3所示。
2 特征提取和降維
2.1 Gabor特征提取
由Gabor函數(shù)經(jīng)過(guò)尺度的伸縮及旋轉(zhuǎn)而生成的一組復(fù)函數(shù)系,,稱為Gabor小波[11],,其具有的多分辨率特性以及良好的時(shí)頻局部化特征,使得它可以提取到待測(cè)圖像局部細(xì)微的變化,,因此,,它很適合于人臉表情特征提取,。此外,其對(duì)于光照的變化不敏感,,具有較好的光照性,。
被用作提取特征和表征圖像的方法,Gabor濾波器在圖像分析,、圖像識(shí)別等領(lǐng)域得到了很大程度的應(yīng)用,,這里關(guān)于它的原理就不再贅述,主要說(shuō)下本文的思路和實(shí)現(xiàn),。
假如對(duì)整個(gè)待測(cè)的圖片直接做Gabor變換[12],,經(jīng)過(guò)實(shí)驗(yàn)得到的維數(shù)是非常大的,因此為了便于后續(xù)的表情分類(lèi),,可以設(shè)想,,由于人們的每一種表情其實(shí)主要是在眉毛、眼和嘴部等這些個(gè)最能代表面部表情特征的區(qū)域進(jìn)行了較為集中的展現(xiàn),,因此就可以對(duì)第一步人臉檢測(cè)過(guò)程中,,通過(guò)圖像的預(yù)處理已經(jīng)定位出的表情區(qū)域進(jìn)行有目的的選擇,即選擇最能代表人臉表情本質(zhì)信息的區(qū)域,,并對(duì)這些個(gè)區(qū)域進(jìn)行一些網(wǎng)格化的處理,。這樣不但可以使特征向量的維數(shù)有效地減少,還保留了原始表情本質(zhì)信息的有效性,。經(jīng)過(guò)試驗(yàn)比對(duì),,最終選取了Gabor的核函數(shù)窗口為61×61,變換頻率總數(shù)為3,,變換方向總數(shù)為7的情況來(lái)獲得最佳的識(shí)別率,。而對(duì)于表情區(qū)域的網(wǎng)格化,則選取了眼部區(qū)域尺寸為35×42,,嘴部區(qū)域尺寸為28×63,,表情的子網(wǎng)格顆粒尺寸為7×7的情況來(lái)獲取最佳的識(shí)別率。Gabor濾波器提取表情特征的大致步驟如圖4所示,。
2.2 AdaBoost二次降維
雖然區(qū)域化選擇表情特征使得提取到的特征圖像維數(shù)有了一定程度的降低,,但是對(duì)于識(shí)別分類(lèi)的要求而言,其維數(shù)還是比較高的,,因此,,本文又選取了AdaBoost的修改算法進(jìn)行二次降維。在這個(gè)過(guò)程中,,令每一個(gè)弱分類(lèi)器僅僅對(duì)應(yīng)于1個(gè)特征,,并且由特征值大小來(lái)對(duì)分類(lèi)進(jìn)行判斷,這樣一來(lái),,Adaboost對(duì)于弱分類(lèi)器的挑選過(guò)程也就成了對(duì)于特征的挑選過(guò)程,。整個(gè)特征提取的過(guò)程如圖5所示,。
3 基于改進(jìn)的AdaBoost算法的表情分類(lèi)
3.1 AdaBoost算法
AdaBoost算法是一種分類(lèi)器算法。具體來(lái)說(shuō),,AdaBoost學(xué)習(xí)算法的核心思想是從一個(gè)很大的特征集中選擇很小的一部分關(guān)鍵的視覺(jué)特征,,從而產(chǎn)生一個(gè)及其有效的分類(lèi)器。它利用大量的分類(lèi)能力一般的簡(jiǎn)單分類(lèi)器通過(guò)一定的方法疊加(Boost)起來(lái),,構(gòu)成一個(gè)分類(lèi)能力很強(qiáng)的強(qiáng)分類(lèi)器,,再將若干個(gè)強(qiáng)分類(lèi)器串聯(lián)成為分級(jí)分類(lèi)器(Classifier Cascade)完成圖像搜索檢測(cè)。串聯(lián)的級(jí)數(shù)依賴于系統(tǒng)對(duì)錯(cuò)誤率和識(shí)別速度的要求,。這種用“Cascade”來(lái)不斷組合成更復(fù)雜的分類(lèi)器的方法可以使圖像的背景區(qū)域能夠很快地被排除掉,,而將更多的計(jì)算花費(fèi)在更有希望成為目標(biāo)的區(qū)域。對(duì)于每一種特征而言,,弱學(xué)習(xí)器決定弱分類(lèi)器的最佳的門(mén)限值,,使其具有最小的誤分樣本數(shù)。全部的檢測(cè)過(guò)程的形式就是這樣的一個(gè)退化的決策樹(shù),。
3.2 IAdaBoost算法
本文采用把AdaBoost應(yīng)用到SVM的多類(lèi)分類(lèi)方法,,不同之處是對(duì)AdaBoost中隨機(jī)抽樣的方法做了改進(jìn),采用了規(guī)則的抽樣方法來(lái)提高分類(lèi)器的泛化能力,,把按照這樣的方法改進(jìn)的AdaBoost算法叫做IAdaBoost算法[13]。
IAdaBoost是利用AdaBoost迭代的思想訓(xùn)練支持向量機(jī)的基分類(lèi)器,。AdaBoost本身用的是抽樣處理,,即把自助的樣本集從原始的數(shù)據(jù)集中提取出來(lái),并自適應(yīng)地進(jìn)行多輪迭代,,但該算法在建立稀有類(lèi)的分類(lèi)模型上有局限性,,而IAdaBoost可以很好地解決此類(lèi)問(wèn)題。它使用了規(guī)則抽樣,,并用樣本所在類(lèi)的規(guī)模來(lái)標(biāo)記樣本的初始權(quán)重,,賦予了稀有類(lèi)樣本比較高的權(quán)值,使得這些樣本能夠擁有較大的概率在規(guī)則抽樣中被選中,,并且在迭代過(guò)程中較容易被抽到,,從而使得分類(lèi)器忽視稀有類(lèi)的現(xiàn)象得以避免??梢?jiàn),,IAdaBoost算法在處理具有稀有類(lèi)的分類(lèi)問(wèn)題上,相比AdaBoost算法有了改進(jìn),。
4 實(shí)驗(yàn)與分析
在日本ATR女性表情數(shù)據(jù)庫(kù)和CMU的Cohn-KanadeAU表情數(shù)據(jù)庫(kù)上針對(duì)除中性之外的六種表情,,進(jìn)行了兩組對(duì)照試驗(yàn),即在表情數(shù)據(jù)庫(kù)上做每類(lèi)樣本大致相同時(shí)和某幾類(lèi)樣本明顯減少時(shí)的對(duì)照試驗(yàn)來(lái)檢測(cè)本文方法的可行性,。本文將悲傷和厭惡兩類(lèi)樣本作為了稀有樣本,,將其樣本數(shù)量減少至一半,,這也是主要考慮到在以后的社會(huì)應(yīng)用中,此類(lèi)樣本出現(xiàn)的概率肯定要比高興等其他表情要少,,凸顯了本文的研究目的,。在日本ATR女性表情數(shù)據(jù)庫(kù)上進(jìn)行的不同算法多次實(shí)驗(yàn)的平均識(shí)別水平如表1和2所示,在CMU的Cohn-KanadeAU表情數(shù)據(jù)庫(kù)上進(jìn)行的不同算法多次實(shí)驗(yàn)的平均識(shí)別水平如表3和4所示,。
本文針對(duì)人臉表情識(shí)別問(wèn)題在未來(lái)的科學(xué)應(yīng)用中可能出現(xiàn)的樣本分布不均勻的情況,,在提高識(shí)別率的基礎(chǔ)上,采用IAdaBoost訓(xùn)練SVM的多分類(lèi)方法很好地解決了這一問(wèn)題,,在實(shí)驗(yàn)中使用規(guī)則抽樣,,并用樣本所在類(lèi)的規(guī)模來(lái)標(biāo)記樣本的初始權(quán)重,賦予了稀有類(lèi)樣本比較高的權(quán)值,,使得這些樣本在規(guī)則抽樣中被選中的概率較大,,并且在迭代過(guò)程中較容易被抽到,從而使得分類(lèi)器忽視稀有類(lèi)的現(xiàn)象得以避免,,并達(dá)到了很好的效果,。
參考文獻(xiàn)
[1] 王志良,陳鋒軍,,薛為民.人臉表情識(shí)別方法綜述[J].計(jì)算機(jī)應(yīng)用與軟件,,2003,20(12):63-66.
[2] 武妍,,項(xiàng)恩寧.動(dòng)態(tài)權(quán)值預(yù)劃分實(shí)值A(chǔ)daboost人臉檢測(cè)算法[J].計(jì)算機(jī)工程,,2007,33(3):208-209.
[3] 應(yīng)自爐,,唐京海,,李景文.支持向量鑒別分析及在人臉表情識(shí)別中的應(yīng)用[J].電子學(xué)報(bào),2008,,36(4):725-730.
[4] 梁路宏,,艾海舟.人臉檢測(cè)研究綜述[J].計(jì)算機(jī)學(xué)報(bào),2002,,25(5):449-458.
[5] 孔凡芝,,張興周,謝耀菊.基于Adaboost的人臉檢測(cè)技術(shù)[J].應(yīng)用科技,,2005,,32(6):7-9.
[6] 王志良,劉芳,,王莉.基于計(jì)算機(jī)視覺(jué)的表情識(shí)別技術(shù)綜述[J].計(jì)算機(jī)工程,,2006,32(11):231-233.
[7] 章品正,,王征,,趙宏玉.面部表情特征抽取的研究進(jìn)展[J].計(jì)算機(jī)工程與應(yīng)用,,2006,38(9):38-42.
[8] LYONS M,, BUDYNEK J,, AKAMASTU S. Automatic classification of single facial images[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1999,, 21 (12): 1357-1362.
[9] KANADE T,, COHN J F, TIAN Y. Comprehensive database for facial expression analysis[C]. Proceedings of the Fourth International Conference of Face and Gesture Recognition,, Grenoble,, France, 2000: 46-53.
[10] LIENHART R,, MAYDT J. An extended set of Haar-like features for rapid object detection[C]. IEEE ICIP 2002,, 2002, 1: 900-903.
[11] 印勇,,史金玉,,劉丹平.基于Gabor小波的人臉表情識(shí)別[J].光電工程,2009,,36(5):111-1169.
[12] 王化勇,,李昕.基于改進(jìn)的Gabor和ADABOOST的人臉表情識(shí)別[J].遼寧工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版), 2010,,30(1):17-19.
[13] 李亞軍,,劉曉霞,陳平.改進(jìn)的AdaBoost算法與SVM的組合分類(lèi)器[J].計(jì)算機(jī)工程與應(yīng)用,,2008,44(32):140-142.