
基于OpenCV的人臉檢測(cè)
摘要
人臉檢測(cè)是指使用計(jì)算機(jī)在動(dòng)態(tài)的場(chǎng)景或復(fù)雜的背景中檢測(cè)出人臉的存在,并確
定所有人臉的位置與大小的過程。人臉檢測(cè)技術(shù)不僅是人臉識(shí)別、表情識(shí)別、人臉跟
蹤等技術(shù)的重要前提條件,同時(shí)在模式識(shí)別、人機(jī)交互、智能監(jiān)控、視頻檢索等領(lǐng)域
也引起了廣泛的重視。
本論文簡(jiǎn)單介紹了國(guó)內(nèi)外人臉識(shí)別技術(shù)研究及應(yīng)用的發(fā)展現(xiàn)狀及其難點(diǎn)分析。在
第二章中介紹了包括基于知識(shí)的方法、特征不變量方法、模板匹配方法、基于外觀的
方法四類檢測(cè)方法;在第三章簡(jiǎn)單介紹了四種經(jīng)典的檢測(cè)方法,包括特征臉、神經(jīng)網(wǎng)
絡(luò)、隱馬爾可夫模型方法、支持向量機(jī)。
在第四章重點(diǎn)分析了AdaBoost算法中集成機(jī)器學(xué)習(xí)的一個(gè)重要機(jī)制:多個(gè)弱分
類器集成的方法,機(jī)器學(xué)習(xí)中的弱學(xué)習(xí)到強(qiáng)學(xué)習(xí),集成的關(guān)鍵是投票,最簡(jiǎn)單的方法
是“絕對(duì)多數(shù)”的方法。在第五章詳細(xì)分析了AdaBoost算法檢測(cè)速度快、可以檢測(cè)
任意尺度的圖像的特點(diǎn)。
在這個(gè)理論基礎(chǔ)上,本文中人臉?biāo)惴ǖ难芯炕贠penCV開源代碼,在OpenCV開
源代碼中設(shè)計(jì)了一些基礎(chǔ)的數(shù)據(jù)類型和一些幫助數(shù)據(jù)類型。由于OpenCV的源代碼完
全開放,本文的研究中利用這套代碼在PC上以VisualC++集成開發(fā)環(huán)境做平臺(tái)搭建了
一個(gè)基于OpenCV的人臉檢測(cè)系統(tǒng),進(jìn)行了人臉檢測(cè)仿真,并對(duì)其結(jié)果進(jìn)行分析。
關(guān)鍵詞:人臉檢測(cè);AdaBoost;分類器;OpenCV
2
FaceDetectionBadonOpenCV
Abstract
Humanfacedetectionmeansthatforagivenimageorvideo,todeterminewhetherit
containsfaceregions,ifso,determinesthenumber,theexactlocationandthesizeofallthe
faces.Humanfacedetectionisnotonlyanecessarypreconditionoffacerecognition,
expressionrecognitiontechnology,facetracking,butalso,itplaysailimportantrolein
applicationslikeintheintelligenthuman-computerinteraction,videoconferencing,
intelligentsurveillance,videoretrievalandsoon.Therefore,facedetectiontechnology
attractedwidespreadattentioninpatternrecognition,computervision,human-computer
interactionandotherfields.
Thispaperdescribesthenationalandinternationalrecognitiontechnologyapplications
econdchapterto
includeKnowledge-badMethods,FeatureInvariantApproaches,TemplateMatching
Methods,hirdchapterdescribesthefourclassical
detectionmethods,includingEigenface,ArtificialNeuralNetwork,HiddenMarkovModel,
SupportVectorMachines.
Inchapter4ontheanalysisoftheAdaBoostalgorithmsintegrationofmachineryto
studyofanimportantmechanism:moreintegratedapproachintheclassificationofthe
studyofstudyatthelearningandintegrationisthekeytothevote,thesimplestmethodis
terfivedetailedanalysisAdaBoostalgorithmtestspeed,you
candetectanyscaletheimagequality.
Thispaper’srearchisbadontheOpenCVsourcecode,inwhichsomebasicdata
typeandhelpingdatatypewerecreated,andbecauoftheopermessofthecode,webuild
ahumanfacedetectionsystemintheVisualC++environment.
Keywords:facedetection;AdaBoost;classifier;openCV
3
目錄
摘要...........................................................................................................................................................1
Abstract..........................................................................................................................................................2
第1章人臉檢測(cè)........................................................................................................................................5
1.1背景..............................................................................................................................................5
1.2目前的研究狀況..........................................................................................................................6
1.3概念..............................................................................................................................................6
1.4人臉檢測(cè)及其合成技術(shù)的應(yīng)用領(lǐng)域..........................................................................................6
1.5人臉檢測(cè)評(píng)價(jià)標(biāo)準(zhǔn)......................................................................................................................7
第2章檢測(cè)方法........................................................................................................................................9
2.1基于知識(shí)的方法..........................................................................................................................9
2.2特征不變量方法..........................................................................................................................9
2.3模板匹配方法............................................................................................................................10
2.4基于外觀的方法........................................................................................................................11
第3章經(jīng)典方法概述..............................................................................................................................13
3.1特征臉........................................................................................................................................13
3.2神經(jīng)網(wǎng)絡(luò)....................................................................................................................................13
3.3隱馬爾可夫模型方法................................................................................................................14
3.4支持向量機(jī)................................................................................................................................14
第4章Adaboost算法.............................................................................................................................16
4.1概述............................................................................................................................................16
4.1.1Adaboost算法簡(jiǎn)介.......................................................................................................16
4.1.2Adaboost人臉檢測(cè)算法...............................................................................................17
4.2弱學(xué)習(xí)與強(qiáng)學(xué)習(xí)........................................................................................................................18
4.3PAC基本模型..........................................................................................................................19
4.3.1概述................................................................................................................................19
4.3.2基本概念........................................................................................................................19
4.3.3PAC模型的不足...........................................................................................................20
4.4Boosting方法...........................................................................................................................21
4.5Adaboost算法性能分析...........................................................................................................21
第5章矩形特征與積分圖......................................................................................................................22
5.1引言............................................................................................................................................22
5.2矩形特征....................................................................................................................................22
5.2.1概述................................................................................................................................22
5.2.2特征模板........................................................................................................................23
5.3積分圖........................................................................................................................................24
5.3.1積分圖的概念................................................................................................................24
5.3.2使用積分圖計(jì)算............................................................................................................25
5.4Haar特征值計(jì)算.......................................................................................................................27
第6章人臉檢測(cè)的實(shí)現(xiàn)..........................................................................................................................31
6.1OpenCV概述...............................................................................................................................31
6.1.1OpenCV簡(jiǎn)介.................................................................................................................31
4
6.1.2應(yīng)用領(lǐng)域........................................................................................................................31
6.1.3OpenCV的起源.............................................................................................................32
6.1.4OpenCV的基本結(jié)構(gòu).....................................................................................................32
6.1.5OpenCV的特征.............................................................................................................33
6.2OpenCV在檢測(cè)中的應(yīng)用...........................................................................................................34
6.2.1編譯OpenCV.................................................................................................................34
6.2.1為VC++2008Express配置OpenCV環(huán)境.................................................................36
6.3實(shí)驗(yàn)結(jié)果....................................................................................................................................37
6.4結(jié)論:........................................................................................................................................39
參考文獻(xiàn)......................................................................................................................................................40
致謝.........................................................................................................................................................42
附錄一人臉檢測(cè)源程序..........................................................................................................................43
附錄二外文翻譯........................................................................................................................................48
5
第1章人臉檢測(cè)
1.1背景
人臉檢測(cè)問題最初來源于人臉識(shí)別,任何一個(gè)自動(dòng)的人臉識(shí)別系統(tǒng)首先必須對(duì)人臉
進(jìn)行準(zhǔn)確的定位,因此實(shí)時(shí)而有效的人臉檢測(cè)顯得尤為重要。跟其他生物特征識(shí)別方法
相比,人臉識(shí)別具有更加直接、方便、友好的特點(diǎn),因其非侵犯性更容易被用戶所接受。
而且,通過對(duì)人臉的表情、姿勢(shì)等作分析,還能獲得其他識(shí)別系統(tǒng)難以獲得的信息,因
此人臉識(shí)別成為最有潛力的生物身份驗(yàn)證手段。早期的人臉識(shí)別研究主要針對(duì)具有較強(qiáng)
約束條件的人臉圖像(如無背景的圖像),因此假設(shè)人臉容易獲得或在手工交互下運(yùn)用,
而人臉檢測(cè)問題并未得到重視。
近年來,隨著信號(hào)處理理論和計(jì)算機(jī)的出現(xiàn)及其發(fā)展,人們開始用攝像機(jī)獲取環(huán)境
圖像并將其轉(zhuǎn)換成數(shù)字信號(hào),用計(jì)算機(jī)實(shí)現(xiàn)對(duì)視覺信息的處理,這就形成了計(jì)算機(jī)視覺。
計(jì)算機(jī)視覺是當(dāng)前計(jì)算機(jī)科學(xué)中的一個(gè)非常活躍的領(lǐng)域,其基本假設(shè)是:可以用計(jì)算的
方式來模擬人類的視覺機(jī)制。
人臉的自動(dòng)識(shí)別是一種重要的生物特征識(shí)別技術(shù),與其它身份識(shí)別方法相比,人臉
識(shí)別具有直接、方便、友好等特點(diǎn),因而人臉自動(dòng)識(shí)別問題的研究不僅具有重要的應(yīng)用
價(jià)值,而且具有重要的理論意義?,F(xiàn)在,隨著科學(xué)技術(shù)和電子商務(wù)的發(fā)展,人臉檢測(cè)的
應(yīng)用背景已經(jīng)遠(yuǎn)遠(yuǎn)超出了人臉識(shí)別系統(tǒng)的范疇,在基于內(nèi)容的檢索、數(shù)字視頻處理、計(jì)
算機(jī)視覺、人機(jī)交互等方面都有著重要的應(yīng)用價(jià)值。
人臉識(shí)別通過計(jì)算機(jī)提取人臉的特征,并根據(jù)這些特征進(jìn)行身份驗(yàn)證。人臉與人
體的其他生物特征(指紋、虹膜等)一樣與生俱來不可改變,它們所具有的唯一性和不
易被復(fù)制的良好特性為身份鑒別提供了必要的前提,同其他生物特征識(shí)別技術(shù)相比,
人臉識(shí)別技術(shù)具有操作簡(jiǎn)單、結(jié)果直觀、隱蔽性好的優(yōu)越性。人臉識(shí)別一般包括三個(gè)
步驟:人臉檢測(cè)、人臉特征提取和人臉的識(shí)別與驗(yàn)證。其處理流程如圖1-1所示。
圖1-1人臉識(shí)別的一般步驟
輸入
圖像
人臉
圖像
人臉
特征
輸出
結(jié)果
人臉
檢測(cè)
特征
提取
身份識(shí)別
驗(yàn)證
6
1.2目前的研究狀況
人臉檢測(cè)是一個(gè)復(fù)雜的極具挑戰(zhàn)性的模式檢測(cè),其主要的難點(diǎn)有兩方面:一方面
是由于人臉內(nèi)在的變化所引起:
(1)人臉具有很復(fù)雜的細(xì)節(jié)變化,不同的外貌特征如臉形、膚色等,不同的表情
如眼、嘴的開與閉等;
(2)其他物體對(duì)人臉的遮擋,如眼鏡、頭發(fā)和頭部飾物以及其他外部物體等;
另外一方面由于外在條件變化所引起:
(3)成像角度的不同也能造成人臉的多姿態(tài),如平面內(nèi)旋轉(zhuǎn)、深度旋轉(zhuǎn)以及上下
旋轉(zhuǎn),其中深度旋轉(zhuǎn)影響較大;
(4)光照的影響,如圖像中的亮度、對(duì)比度的變化和陰影等;
(5)圖像的成像條件,如攝像設(shè)備的焦距、成像距離,圖像獲得的途徑等等。
這些困難都為解決人臉問題造成了難度。如果能找到一些相關(guān)的算法并使其能在
應(yīng)用過程中達(dá)到實(shí)時(shí),將為成功構(gòu)造出具有實(shí)際應(yīng)用價(jià)值的人臉檢測(cè)系統(tǒng)提供保證。
目前,國(guó)外對(duì)人臉檢測(cè)問題的研究有很多,比較著名的有MIT,CMU等;國(guó)內(nèi)的
清華大學(xué)、北京工業(yè)大學(xué)、中科院計(jì)算所和自動(dòng)化所等都有人員從事人臉檢測(cè)相關(guān)的
研究。而且,MPEG7標(biāo)準(zhǔn)組織已經(jīng)成立了人臉識(shí)別草案小組,人臉檢測(cè)算法也是一
項(xiàng)征集的內(nèi)容。隨著人臉檢測(cè)研究的深入,國(guó)際上發(fā)表的有關(guān)論文數(shù)量也在大幅度增
長(zhǎng),如IEEE的FG、ICIPCVPR等重要國(guó)際會(huì)議上每年都有大量關(guān)于人臉檢測(cè)的論
文,占有關(guān)人臉研究論文的1/3之多。由此可見世界范圍的學(xué)者對(duì)人臉檢測(cè)技術(shù)的重
視。
1.3概念
人臉檢測(cè)是指對(duì)于任意一幅給定的圖像,采用一定的策略進(jìn)行搜索來確定其中是
否含有人臉,如果是,就返回人臉的位置、大小和姿態(tài)。
人臉檢測(cè)是自動(dòng)人臉識(shí)別系統(tǒng)中的一個(gè)關(guān)鍵環(huán)節(jié)。隨著電子商務(wù)等應(yīng)用的發(fā)展,
人臉識(shí)別成為最有潛力的生物身份驗(yàn)證手段,這種應(yīng)用背景要求自動(dòng)人臉識(shí)別系統(tǒng)能
夠?qū)σ话銏D像具有一定的識(shí)別能力,由此所面臨的一系列問題使得人臉檢測(cè)開始作為
一個(gè)獨(dú)立的課題受到研究者的重視。現(xiàn)在,人臉檢測(cè)的應(yīng)用背景已經(jīng)遠(yuǎn)遠(yuǎn)超出了人臉
識(shí)別系統(tǒng)的范疇,在基于內(nèi)容的檢索、數(shù)字視頻處理、視頻檢測(cè)等方面有著重要的應(yīng)
用價(jià)值。
1.4人臉檢測(cè)及其合成技術(shù)的應(yīng)用領(lǐng)域
近年來,視頻人臉檢測(cè)及其合成技術(shù)受到越來越多研究者的關(guān)注,這主要由于兩方
7
面原因:一方面,計(jì)算機(jī)計(jì)算和存儲(chǔ)成本的大幅度下跌使得以視頻速率或近似視頻速率
采集存儲(chǔ)圖像序列成為可能;另一方面,視頻跟蹤識(shí)別技術(shù)的極為廣闊的市場(chǎng)應(yīng)用前景
也是推動(dòng)此研究的主要?jiǎng)恿?。主要?yīng)用在一下五個(gè)領(lǐng)域:
(1)身份認(rèn)證與安全防護(hù)
最通俗的例子就是門禁控制。門禁控制是為了有效的控制人員的出入,并且記錄
所有進(jìn)出的詳細(xì)情況,實(shí)現(xiàn)對(duì)出入的安全管理。人臉門禁系統(tǒng)是一種基于人臉識(shí)別技
術(shù)的新型訪問控制系統(tǒng),將具有訪問權(quán)限的訪問者的人臉信息存放在人臉數(shù)據(jù)庫(kù)中,
對(duì)人臉信息進(jìn)行學(xué)習(xí)訓(xùn)練。通過攝像機(jī)動(dòng)態(tài)捕獲人臉,將人臉信息同數(shù)據(jù)庫(kù)中人臉信
息進(jìn)行檢索比對(duì),只有圖像信息符合的人才可以進(jìn)入,否則拒絕進(jìn)入,并對(duì)強(qiáng)行進(jìn)入
者發(fā)出報(bào)警。
在這個(gè)世界上,只要有門的地方幾乎都帶有一把鎖。當(dāng)然,在許多安全級(jí)別要求
較高的區(qū)域,例如金融機(jī)構(gòu)、機(jī)關(guān)辦公大樓、運(yùn)動(dòng)場(chǎng)館、甚至重要設(shè)施的工地,都需
要對(duì)大量的人員進(jìn)行基于身份認(rèn)證的門禁管理。手機(jī)、筆記本電腦等個(gè)人電子用品,
在開機(jī)和使用中經(jīng)常要用到身份驗(yàn)證功能。
(2)媒體與娛樂
人們的許多娛樂活動(dòng)都是跟臉部有關(guān)的。最著名的娛樂節(jié)目之一就是川劇的變臉。
在網(wǎng)絡(luò)虛擬世界里,通過人臉的變化,可以產(chǎn)生大量的娛樂節(jié)目和效果。手機(jī)、數(shù)碼相
機(jī)等消費(fèi)電子產(chǎn)品中,基于人臉的娛樂項(xiàng)目越來越豐富。QQ、MSN等即時(shí)通信工具以
及虛擬化身網(wǎng)絡(luò)游戲也是人臉合成技術(shù)的廣闊市場(chǎng)。
另外還有家庭娛樂。家庭娛樂是指能夠識(shí)別主人身份的智能玩具,家政機(jī)器人,具
有真實(shí)面像的虛擬游戲玩家等。隨著電子技術(shù)水平的提高,家庭娛樂會(huì)得到廣泛的應(yīng)用,
其中的關(guān)鍵技術(shù)之一也是人臉的跟蹤識(shí)別。
(3)圖像搜索
目前,Google的圖像搜索其實(shí)還是文字搜索。基于人臉圖像識(shí)別技術(shù)的搜索引擎
將會(huì)具有廣泛的應(yīng)用前景。
(4)協(xié)助調(diào)查
目前,在銀行、金庫(kù)發(fā)生搶劫事件已經(jīng)屢見不鮮。發(fā)生這樣的事件不是一時(shí)就能
夠制止的,但是可以通過人臉檢測(cè)的設(shè)備來提取并記錄罪犯的人臉,提供給公安機(jī)關(guān)
以幫助破案。
(5)信息安全
信息安全是指計(jì)算機(jī)和網(wǎng)絡(luò)的登錄、文件的加密和解密。在信息安全中,人臉的識(shí)
別也是其中的一個(gè)關(guān)鍵技術(shù)。
1.5人臉檢測(cè)評(píng)價(jià)標(biāo)準(zhǔn)
人臉檢測(cè)系統(tǒng)性能主要評(píng)價(jià)標(biāo)準(zhǔn)有:檢測(cè)率,誤檢率,檢測(cè)速度以及魯棒性:
8
(1)檢測(cè)率
被正確檢測(cè)到的人臉數(shù)與圖像內(nèi)包含的人臉數(shù)的比值。檢測(cè)率越高,說明檢測(cè)系統(tǒng)
對(duì)人臉的接受能力越強(qiáng)。
(2)誤檢率
也稱虛警率,誤報(bào)率。被誤檢為人臉的非人臉子窗口數(shù)與圖像內(nèi)被檢測(cè)的所有非人
臉子窗口數(shù)的比值。設(shè)圖像內(nèi)被檢測(cè)的所有非人臉子窗口數(shù)為N2,被誤檢為人臉的非
人臉子窗口數(shù)為從,則誤檢率為Nl/N2。再設(shè)圖像內(nèi)被檢測(cè)的所有子窗口數(shù)為N,圖像
內(nèi)包含的人臉數(shù)為Nl,N=Nl。當(dāng)N>Nl時(shí),誤檢率近似于Nl/N。
檢測(cè)率無法反映系統(tǒng)對(duì)非人臉的排除能力,有可能出現(xiàn)這種情況:所有人臉都被檢
測(cè)到,但同時(shí)很多非人臉區(qū)域被誤認(rèn)為是人臉。因此引入誤檢率來衡量系統(tǒng)對(duì)非人臉的
排除能力。誤檢率越低,說明檢測(cè)系統(tǒng)對(duì)非人臉的排除能力越強(qiáng)。
(3)檢測(cè)速度
大部分應(yīng)用領(lǐng)域需要在線實(shí)時(shí)地檢測(cè)人臉,如人臉識(shí)別、人臉跟蹤,視頻監(jiān)控等。
在檢測(cè)率和誤檢率達(dá)到滿意的前提下,檢測(cè)速度越快越好。
(4)魯棒性
即在各種條件下,檢測(cè)系統(tǒng)的適應(yīng)能力。如復(fù)雜背景的干擾,人臉姿態(tài)的影響,光
照條件的影響,以及遮擋等因素的影響。
這四個(gè)標(biāo)準(zhǔn)有些是相互制約的,比如誤檢率隨著檢測(cè)率的提高而提高,檢測(cè)率隨著
誤檢率的降低而降低。
9
第2章檢測(cè)方法
人臉檢測(cè)經(jīng)歷了較長(zhǎng)的發(fā)展過程,期間涌現(xiàn)出了很多的檢測(cè)方法,本文以
M.H.Yang在2002年發(fā)表的關(guān)于人臉檢測(cè)方法的分類方法把人臉檢測(cè)方法分為以下四
種:基于知識(shí)的方法(Knowledge-badMethods)、特征不變量方法(FeatureInvariant
Approaches)、模板匹配方法(TemplateMatchingMethods)、基于外觀的方法
(Appearance-badMethods)。
當(dāng)然,有許多人臉檢測(cè)的方法并不能簡(jiǎn)單地歸于上述中的某一類,而是幾類的組合。
也可以將人臉檢測(cè)的方法簡(jiǎn)單地分為兩類:基于特征的和基于圖像的?;谔卣鞯姆椒?/p>
指以某種特征為最小處理單元的方法;基于圖像的方法指以圖像中的像素為處理單元的
方法。
2.1基于知識(shí)的方法
此方法是把人臉面部器官之間關(guān)系編碼并準(zhǔn)則化的人臉檢測(cè)方法。這是一種自頂而
下的方法,根據(jù)人臉面部器官的對(duì)稱性、灰度差異等先驗(yàn)知識(shí),制定一系列的準(zhǔn)則。當(dāng)
圖像中的待測(cè)區(qū)域符合準(zhǔn)則,即被檢測(cè)為人臉。
人臉及器官具有典型的邊沿和形狀特征,通常人們利用采用Laplacian,Sobel和
Canny等算子來提取邊沿特征,將這些特征用于人臉的定位。邊沿和形狀對(duì)于光照條件
的變化具有很好的魯棒性,灰度特征對(duì)光照比較敏感。
每一個(gè)人臉都有固定的紋理特征,利用這種特征來區(qū)分不同的對(duì)象,Skufca和
Augusteijn共同努力研究了一種通過鑒別類似于人臉的紋理推斷人臉的存在的方法。
Nakano和Dai也將SGLD模型用于檢測(cè)人臉,取得了很好的效果。
Yang等首先提出了基于知識(shí)規(guī)則的由粗到細(xì)的三級(jí)結(jié)構(gòu)來檢測(cè)人臉。通過平均和
采樣的方法得到原圖像在不同分辨率下的圖像,那些低分辨率的圖像被稱為鑲嵌圖
(MosaicImage)。針對(duì)不同分辨率的圖像采用不同的準(zhǔn)則進(jìn)行判定,在低分辨率圖像里
的準(zhǔn)則主要體現(xiàn)了人臉的大體輪廓,而在高分辨率圖像里的準(zhǔn)則主要體現(xiàn)了人臉的細(xì)節(jié)
特征。雖然,Yang的方法在檢測(cè)性能方面并不突出,但由粗至細(xì)的檢測(cè)思想對(duì)以后的研
究工作產(chǎn)生了積極的影響。
但是人臉的類型有千差萬別,如果制定的規(guī)則太細(xì),真正的人臉可能會(huì)被漏掉;如
果制定的規(guī)則太籠統(tǒng),有可能造成較高的虛警率。
2.2特征不變量方法
這個(gè)方法的目標(biāo)是尋找那些即使當(dāng)姿勢(shì)、視角和光線條件變化時(shí)仍然存在的結(jié)構(gòu)特
10
征,并利用這些特征來定位人臉。由于人類能夠毫不費(fèi)勁地“看到”在不同光線和姿態(tài)
下的人臉和物體,因此研究人員認(rèn)為有一個(gè)潛在的假設(shè):存在一些關(guān)于人臉的不依賴于外
在條件的屬性或者特征。有許多方法就是按照這個(gè)潛在假設(shè),首先去尋找這種臉部特征(通
過大量樣本學(xué)習(xí)的方法),然后用尋找到的特征去檢測(cè)人臉。對(duì)比基于知識(shí)的自上而下
的方法,這種基于特征的方法是自下而上的。
Sirohey提出了用橢圓擬合人臉區(qū)域的方法。Graf等人提出了利用某些形態(tài)學(xué)的方法
進(jìn)行人臉的檢測(cè)方法。Leung等人提出一種利用人臉五個(gè)特征來定義和檢測(cè)人臉的方法。
Han等人提出了一種通過形態(tài)學(xué)眼部分割的方法來進(jìn)行人臉檢測(cè)的方法。
與基于知識(shí)規(guī)則的方法相比,該類方法主要是企圖尋找人臉不變化的特征來對(duì)人
臉進(jìn)行檢測(cè),特征不變量方法的根本假設(shè)是:在所有的人臉檢測(cè)過程中存在著圖像空
域或者頻域不變量,而且這種不變量是唯一的。于是人臉檢測(cè)過程就是在圖像中全局
搜索這種不變量。該類方法中所采用的特征不變量主要有:面部特征、紋理。皮膚顏
色和多種特征的融合。該類方法中所采用的一個(gè)主要問題是:圖像特征極大的收到光
照、遮擋和其它噪聲的影響,當(dāng)陰影存在時(shí),面部的特征辯解將被減弱,而陰影的邊
界將被增強(qiáng),此時(shí)導(dǎo)致邊緣感知分組無效。
Sirohey提出了一種從復(fù)雜背景中分割定位人臉的方法,該方法使用人臉邊緣圖
信息和橢圓擬合方法檢測(cè)人臉。Augusterjn提出了一種通過面部相似性紋理信息的人
臉檢測(cè)方法,通過在?1616大小的子圖像上計(jì)算二階統(tǒng)計(jì)特征紋理信息。在許多的人
臉檢測(cè)應(yīng)用中,膚色被認(rèn)為是人臉檢測(cè)中一種有效的特征,因?yàn)轭伾畔⒑瓦\(yùn)動(dòng)信息
是一種有效減少搜索空間的特征。最近,人臉檢測(cè)最常采用的主要方法是聯(lián)合幾種不
同的特征方法檢測(cè)。它們首先利用全局特征,如膚色和形狀大小等信息尋找人臉候選
區(qū)域,再根據(jù)局部特征,如眼睛、鼻子和頭發(fā)等信息來確認(rèn)候選區(qū)域是人臉區(qū)域。
在實(shí)際的檢測(cè)情況下,由于噪聲和遮擋等問題的存在,人臉的某些特征可能被破壞,
這將嚴(yán)重影響此算法的檢測(cè)效果。
2.3模板匹配方法
該方法大多是用歸一化去互相關(guān),在圖像灰度層次上直接比較目標(biāo)模板和候選圖
像區(qū)域之間的相似性,得到表示相似程度的值,然后與相應(yīng)閾值比較判斷候選圖像區(qū)
域是否為人臉區(qū)域。其中較為典型的例子就是Yullietlo等提出的基于彈性模板匹配的
人臉檢測(cè)方法。由于模板本身比較粗略,所以模板匹配的人臉檢測(cè)方法往往精度不是
很高,而且計(jì)算量較大,速度較慢。
模板匹配通常被用于人臉檢測(cè)的驗(yàn)證,這樣可以更進(jìn)一步提高人臉檢測(cè)系統(tǒng)的準(zhǔn)
確率,它的主要思想是利用模板與待檢測(cè)圖像之間的相關(guān)程度來對(duì)圖像中的入臉進(jìn)行
判斷??勺冃文0搴皖A(yù)先定義的模板是人臉檢測(cè)常用的模板。Venkatraman和
GovindarajuI使用小波延伸的方法用于圖像的邊緣提取。Tsukamoto等提出一個(gè)人臉
模式的定性模型(QMF)。QMF方法將每一個(gè)樣本圖像分割成一些塊,再對(duì)各個(gè)塊估算
11
其定性特征。
主動(dòng)形狀模型(ASM)和主動(dòng)外觀模型(AAM)是近年來流行的一種對(duì)象形狀提取
算法,其核心思想是在某種局部點(diǎn)模型匹配的基礎(chǔ)上,利用統(tǒng)計(jì)模型對(duì)待識(shí)別的人臉
的形狀進(jìn)行約束,從而轉(zhuǎn)化為一個(gè)最優(yōu)化求解問題,并期望最終收斂到實(shí)際的人臉形
狀上去。
而且,在實(shí)際的檢測(cè)中,由于人臉的尺度、形狀等的變化較大時(shí)往往檢測(cè)效果較
差,此種方法也沒有獲得較廣泛的應(yīng)用。
2.4基于外觀的方法
基于外觀的方法也可以稱為基于統(tǒng)計(jì)的人臉檢測(cè)方法也可以稱為基于分布特征的
檢測(cè)方法,它是利用統(tǒng)計(jì)分析和機(jī)器學(xué)習(xí)等方法來獲得人臉和非人臉特征,利用這些特
征和判決函數(shù)來進(jìn)行人臉檢測(cè)的方法。
MIT的Sung和Poggio提出了一種基于分布特征的人臉檢測(cè)方法。他們建立了一個(gè)
分布模型,指出通過對(duì)圖像正例和反例樣本的學(xué)習(xí)可以獲得人臉的分布模型。該系統(tǒng)由
兩個(gè)部分組成,人臉模式和非人臉模式的分布模型及一個(gè)多層感知器分類器。每一個(gè)人
臉和非人臉的學(xué)習(xí)樣本首先進(jìn)行預(yù)處理,包括歸一化,直方圖均衡等,然后處理為19
×19的圖像,將這個(gè)圖像作為361維的矢量。接下來將這些矢量采用改進(jìn)的K均值聚
類算法分成6個(gè)人臉和6個(gè)非人臉的聚類。每一類用它們的均值圖像和協(xié)方差矩陣表示成
一個(gè)高維的高斯函數(shù)。見圖2-1所示。
圖
2-1Sung和Poggio提出的人臉非人臉聚類模型
12
值得強(qiáng)調(diào)的是,為了解決人臉檢測(cè)中“非人臉”樣本的選取問題,Sung等人采
用“自舉(bootstrap)”方法:首先建立一個(gè)只使用“人臉”樣本和少量“非人臉”
樣本訓(xùn)練的初始分類器對(duì)一組圖像進(jìn)行檢測(cè),將所有錯(cuò)檢非人臉為人臉的圖像加入“非
人臉”樣本庫(kù);然后把得到的“人臉”和“非人臉”樣本訓(xùn)練構(gòu)成一個(gè)新的分類器進(jìn)行
重新檢測(cè)。將以上過程不斷循環(huán),直到收集到了足夠的“非人臉”樣本。這種循環(huán)檢測(cè)
來得到非人臉的收集方法后來得到許多研究者的使用。
由于人臉圖像的復(fù)雜性,只使用基本特征與簡(jiǎn)單規(guī)則很難有效地描述人臉與背景的
本質(zhì)區(qū)別,因此基于統(tǒng)計(jì)和學(xué)習(xí)的方法越來越受到重視。這類方法是把人臉區(qū)域看作一
類模式,利用統(tǒng)計(jì)分析與機(jī)器學(xué)習(xí)的方法對(duì)大量人臉樣本和非人臉樣本進(jìn)行學(xué)習(xí)得到各
自的統(tǒng)計(jì)特征,然后根據(jù)這些特征構(gòu)造分類器,通過判別圖像中所有可能區(qū)域?qū)儆谀念?/p>
模式的方法實(shí)現(xiàn)人臉檢測(cè)。實(shí)際上,人臉檢測(cè)問題被轉(zhuǎn)化為統(tǒng)計(jì)模式識(shí)別的二分類問題。
該類方法主要包括:線性子空間法、神經(jīng)網(wǎng)絡(luò)、隱馬爾可夫模型、支持向量機(jī)、基于
AdaBoost算法等方法。
13
第3章經(jīng)典方法概述
人臉檢測(cè)的方法多于牛毛,基于各種數(shù)學(xué)模型的方法估計(jì)有近百種。本節(jié)簡(jiǎn)單描述
了用于人臉檢測(cè)的幾個(gè)經(jīng)典方法,以便管中窺豹,這幾個(gè)方法在人臉檢測(cè)歷史上都發(fā)揮
過各自的作用。
3.1特征臉
最早用特征向量來進(jìn)行人臉檢測(cè)的是Kohonen,他構(gòu)建了一個(gè)簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò)來實(shí)
現(xiàn)規(guī)范化了的人臉圖像的識(shí)別。這個(gè)神經(jīng)網(wǎng)絡(luò)用圖像的自相關(guān)矩陣的特征向量近似計(jì)算
了對(duì)人臉的描述。這些特征向量后來就發(fā)展成了特征臉(Eigenface)方法。
特征臉是基于從主成分分析(PCA)的一種人臉檢測(cè),它根據(jù)一組人臉訓(xùn)練樣本構(gòu)
造主元子空間,檢測(cè)時(shí),將測(cè)試圖像投影到主元子空間上,得到一組投影系數(shù),再和各
個(gè)己知的人臉圖像模式比較,從而得到檢測(cè)結(jié)果。
在傳統(tǒng)特征臉的基礎(chǔ)上,研究者注意到特征值大的特征人臉向量(特征臉)并不一
定分類性能好,而因此發(fā)展了多種特征(子空間)選擇方法,如Belhumeur的FisherFace
方法等。事實(shí)上,特征臉方法是一種顯式主元分析人臉建模的方法,而一些線性自聯(lián)想、
線性壓縮型BP網(wǎng)則為隱式的主元分析方法,它們都是把人臉表示為一些向量的加權(quán)和,
這些向量是訓(xùn)練集叉積陣的主特征向量。特征臉方法是一種簡(jiǎn)單、快速、實(shí)用的基于變
換系數(shù)特征的算法,但由于它在本質(zhì)上依賴于訓(xùn)練集和測(cè)試集圖像的灰度相關(guān)性,所以
還有著很大的局限性。
3.2神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN)方法是通過訓(xùn)練一個(gè)網(wǎng)絡(luò)結(jié)構(gòu),把
模式的統(tǒng)計(jì)信息隱含在神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)之中。在人工神經(jīng)網(wǎng)絡(luò)的方法中,Rowley
的工作較為突出。
Rowley等提出基于神經(jīng)網(wǎng)絡(luò)的人臉檢測(cè)系統(tǒng)。他們的系統(tǒng)分為兩個(gè)階段:第一階
段是基于神經(jīng)網(wǎng)絡(luò)的分類器。該分類器的輸入是規(guī)定尺寸的檢測(cè)區(qū)域,輸出為l到.1
的數(shù),由此來判斷檢測(cè)區(qū)域是否是人臉(輸出接近1為人臉,接近.1為非人臉):第二階
段是合并重復(fù)檢測(cè)并判別。由于訓(xùn)練樣本以及分類器等因素,在圖像中以人臉為中心的
一定區(qū)域內(nèi)會(huì)產(chǎn)生重復(fù)檢測(cè)。此階段使用了一個(gè)單層的神經(jīng)網(wǎng)絡(luò)對(duì)重復(fù)檢測(cè)進(jìn)行合井,
并使用一個(gè)多層的神經(jīng)網(wǎng)絡(luò)對(duì)檢測(cè)結(jié)果進(jìn)行判決。以上所述方法局限性在于,僅能檢測(cè)
正面垂直的人臉。1998年,Rowley等增加了一級(jí)神經(jīng)網(wǎng)絡(luò)用以檢測(cè)平面內(nèi)旋轉(zhuǎn)的人臉
角度,在對(duì)原圖像進(jìn)行反旋轉(zhuǎn)后,送到正面人臉檢測(cè)器中進(jìn)行檢測(cè),使得該系統(tǒng)可以檢
14
測(cè)圖像中按任意的角度旋轉(zhuǎn)的人臉。
圖3-1Rowley的帶有圖像預(yù)處理的神經(jīng)網(wǎng)絡(luò)系統(tǒng)
用神經(jīng)網(wǎng)絡(luò)進(jìn)行人臉檢測(cè)的好處是很容易訓(xùn)練一個(gè)用于檢測(cè)人臉模式的系
統(tǒng)。但是,缺點(diǎn)是網(wǎng)絡(luò)結(jié)構(gòu)需要大范圍的調(diào)整(層數(shù)、結(jié)點(diǎn)數(shù)、學(xué)習(xí)速率等等)
才能獲得期望的性能。
3.3隱馬爾可夫模型方法
隱馬爾科夫模型(HiddenMarkovModel,HMM)是用于描述信號(hào)統(tǒng)計(jì)特性
的一組統(tǒng)計(jì)模型。前提假設(shè)是模型可被定義為一個(gè)參數(shù)化的進(jìn)程。該進(jìn)程的參數(shù)可通過
精確的方法估計(jì)出來。HMM使用馬爾科夫鏈來模擬信號(hào)統(tǒng)計(jì)特征的變化,而這種變
化又是間接地通過觀察序列來描述的,因此,隱馬爾科夫過程是一個(gè)雙重的隨機(jī)過程。
在HMM中,節(jié)點(diǎn)表示狀態(tài),有向邊表示狀態(tài)之間的轉(zhuǎn)移,一個(gè)狀態(tài)可以具有特征空
間中的任意特征,對(duì)同一特征,不同狀態(tài)表現(xiàn)出這一特征的概率不同。由于HMM是
一個(gè)統(tǒng)計(jì)模型,對(duì)于同一特征序列,可能會(huì)對(duì)應(yīng)于許多狀態(tài)序列,特征序列與狀態(tài)序列
之間的對(duì)應(yīng)關(guān)系是非確定的。這種模型對(duì)于狀態(tài)序列來說是隱的,故稱為隱馬爾科夫模
型。
Nefian等均各人臉從上到下劃分為五個(gè)互有重疊的區(qū)域(頭發(fā)、額頭、眼、鼻、嘴)。
根據(jù)這個(gè)劃分構(gòu)造了一個(gè)包含五個(gè)狀態(tài)的一維連續(xù)HMM用以表示人臉。接著對(duì)各塊進(jìn)行
KL變換,取每塊若干最大的特征向量作為觀測(cè)值對(duì)HMM進(jìn)行訓(xùn)練。此后,Nefian等還提
出基于嵌入式HMM的人臉檢測(cè)方法。該方法同時(shí)考慮到人臉由左到右各個(gè)特征的自然順
序,使用二維HMM,并采用二維DCT變換的系數(shù)作為觀察向量。
3.4支持向量機(jī)
支持矢量機(jī)(SupportVectorMachines)是由與其領(lǐng)導(dǎo)的貝爾實(shí)驗(yàn)室的
小組一起開發(fā)出來的一種新的機(jī)器學(xué)習(xí)技術(shù)。SVM的理論基礎(chǔ)來自于Vapnik等提出
15
的統(tǒng)計(jì)學(xué)習(xí)理論,它的基本思想是,對(duì)于一個(gè)給定的具有有限數(shù)量訓(xùn)練樣本的學(xué)習(xí)任
務(wù),如何在準(zhǔn)確性(對(duì)于給定訓(xùn)練集)和機(jī)器容量(機(jī)器可無錯(cuò)誤地學(xué)習(xí)任意訓(xùn)練集
的能力)進(jìn)行折中,以得到最佳的推廣(Generalization)性能。
與傳統(tǒng)統(tǒng)計(jì)學(xué)相比,統(tǒng)計(jì)學(xué)習(xí)理論(StatisticalLearningTheory或SLT)是一種專
門研究小樣本情況下機(jī)器學(xué)習(xí)規(guī)律的理論。該理論針對(duì)小樣本統(tǒng)計(jì)問題建立了一套新
的理論體系,在這種體系下的統(tǒng)計(jì)推理規(guī)則不僅考慮了對(duì)漸近性能的要求,而且追求
在現(xiàn)有有限信息的條件下得到最優(yōu)結(jié)果。Vapnik等人從六、七十年代開始致力于此
方面研究,到九十年代中期,隨著其理論的不斷發(fā)展和成熟,也由于神經(jīng)網(wǎng)絡(luò)等學(xué)習(xí)
方法在理論上缺乏實(shí)質(zhì)性進(jìn)展,統(tǒng)計(jì)學(xué)習(xí)理論開始受到越來越廣泛的重視。
目前將該理論已經(jīng)得到了一些應(yīng)用,比如在光學(xué)字符識(shí)別等方面,并且獲得了比
較好的效果,不過由于建立完整的理論體系時(shí)間不長(zhǎng),該方法用于人臉檢測(cè)的很少,
盡管SVM算法的性能在許多實(shí)際問題的應(yīng)用中得到了驗(yàn)證,但是該算法在計(jì)算上存
在著一些問題,包括訓(xùn)練算法速度慢、算法復(fù)雜而難以實(shí)現(xiàn)以及檢測(cè)階段運(yùn)算量大等
等。Osuna等人介紹了一種具體的算法并對(duì)人臉識(shí)別問題進(jìn)行了實(shí)驗(yàn)。他將樣本集分
為兩個(gè)集合B和N,集合B作為子問題工作樣本集進(jìn)行SVM訓(xùn)練,并給出了兩階
多項(xiàng)式分類器在人臉識(shí)別問題中的應(yīng)用結(jié)果。試驗(yàn)結(jié)果表明該方法比Sung等提出的
基于分布特征的學(xué)習(xí)方法的檢測(cè)率有所提高,同時(shí)計(jì)算復(fù)雜度下降,提高了檢測(cè)速度。
16
第4章Adaboost算法
4.1概述
4.1.1Adaboost算法簡(jiǎn)介
Adaboost是一種迭代算法,其核心思想是針對(duì)同一個(gè)訓(xùn)練集訓(xùn)練不同的分類器
(弱分類器),然后把這些弱分類器集合起來,構(gòu)成一個(gè)更強(qiáng)的最終分類器(強(qiáng)分類器)。
其算法本身是通過改變數(shù)據(jù)分布來實(shí)現(xiàn)的,它根據(jù)每次訓(xùn)練集之中每個(gè)樣本的分類是
否正確,以及上次的總體分類的準(zhǔn)確率,來確定每個(gè)樣本的權(quán)值。將修改過權(quán)值的新
數(shù)據(jù)集送給下層分類器進(jìn)行訓(xùn)練,最后將每次訓(xùn)練得到的分類器最后融合起來,作為
最后的決策分類器。使用Adaboost分類器可以排除一些不必要的訓(xùn)練數(shù)據(jù)特徵,并
將關(guān)鍵放在關(guān)鍵的訓(xùn)練數(shù)據(jù)上面。Adaboost算法是1995年提出的一種快速人臉檢測(cè)
算法,是人臉檢測(cè)領(lǐng)域里程碑式的進(jìn)步,這種算法根據(jù)弱學(xué)習(xí)的反饋,適應(yīng)性地調(diào)整
假設(shè)的錯(cuò)誤率,使在效率不降低的情況下,檢測(cè)正確率得到了很大的提高。
Adaboost算法是目前在人臉檢測(cè)方面檢測(cè)速度較快、檢測(cè)效果較好的一種檢測(cè)方
法,它是一種把弱分類器采用級(jí)聯(lián)的方式訓(xùn)練成為強(qiáng)分類器的方法。這些弱分類器只需
要滿足比隨機(jī)猜測(cè)好一點(diǎn),就能通過不斷的修正每個(gè)弱分類器的權(quán)值,即挑選那些比較
好的分類器,拋棄不好的分類器,從而最終形成由這些弱分類器組成的強(qiáng)分類器,相比
較其他的方法而言,Adaboost方法對(duì)每個(gè)弱分類器的權(quán)值的形成都是無人值守的,完全
自動(dòng)化的,因而Adaboost算法有著比較好的易用性。大量的實(shí)驗(yàn)證明,Adaboost算法是
有效的將多弱分類器強(qiáng)化成為強(qiáng)分類器的一種方法,經(jīng)過訓(xùn)練的分類器具有比較好的分
類效果,而且速度較快。圖4.1給出了Adaboost人臉檢測(cè)算法進(jìn)行訓(xùn)練和檢測(cè)的流程圖,
本文也將分訓(xùn)練和檢測(cè)兩個(gè)方面介紹Adaboost算法。
17
圖4.1Adaboost訓(xùn)練過程
4.1.2Adaboost人臉檢測(cè)算法
人體檢測(cè)屬模式識(shí)別范疇。模式識(shí)別方法多種多樣,模式識(shí)別系統(tǒng)的最終目標(biāo)是
要在表示空間和解釋空間之間找到一種映射關(guān)系。這種映射可以是一個(gè)分類,也可以
是回歸或者描述方案。在這里,我們用分類來敘述。分類方法總得來說可以分為兩種:
監(jiān)督學(xué)習(xí)和非監(jiān)督學(xué)習(xí)。后來又在前兩者的基礎(chǔ)上發(fā)展出了半監(jiān)督學(xué)習(xí)方法,這種
方法的本質(zhì)仍屬于監(jiān)督學(xué)習(xí)。
統(tǒng)計(jì)分類是模式識(shí)別發(fā)展過程中建立起來的比較經(jīng)典的方法,其表達(dá)方式有著堅(jiān)
實(shí)的理論基礎(chǔ)。它主要基于用概率統(tǒng)計(jì)模型得到各類別的特征向量分布,以取得分類
的功能。特征向量的取得是基于一個(gè)類別已知的訓(xùn)練樣本集合。因此,這是一種監(jiān)督
學(xué)習(xí)的模式識(shí)別方法。在這個(gè)意義上,分類器是概念驅(qū)動(dòng)的,用已知類別標(biāo)簽的樣本
訓(xùn)練分類器從而得知如何分類。繼而對(duì)新的樣本集達(dá)到分類的效果,統(tǒng)計(jì)分類方法有
很多具體的方法,它們?nèi)Q于是否采用一個(gè)已知的、參數(shù)型的分布模型。
Adaboost算法是統(tǒng)計(jì)分類方法中一個(gè)經(jīng)典算法,它由Boosting算法發(fā)展而來,是
由Freund和Schapire在1995年提出的,該算法解決了以前Boosting算法在實(shí)踐中存
人臉
非人臉
Adaboost訓(xùn)練
分類器
檢測(cè)結(jié)果
Adaboost檢測(cè)
輸
入
圖
像
訓(xùn)
練
過
程
檢
測(cè)
過
程
18
在的各種問題。實(shí)驗(yàn)表明,Adaboost算法能夠顯著提高學(xué)習(xí)精度。
利用Adaboost算法與haar特征(本文將會(huì)在第五章詳細(xì)介紹haar特征)相結(jié)合
的方法進(jìn)行人臉檢測(cè)。Haar特征是一種基于積分圖像的特征,主要在灰度圖像中使用,
該特征計(jì)算簡(jiǎn)單,提取速度較快。Adaboost算法首先提取圖像中的haar特征,再將
訓(xùn)練得到的haar特征轉(zhuǎn)換成弱分類器,最后將得到的弱分類器進(jìn)行優(yōu)化組合用于人臉
檢測(cè)。
Viola等人在2001年提出使用AdaBoost學(xué)習(xí)算法的快速人臉檢測(cè)方法,實(shí)現(xiàn)了
實(shí)時(shí)的正面人臉檢測(cè)系統(tǒng)。Viola的系統(tǒng)中主要有三個(gè)核心思想:首先,提出了一種
稱為“積分圖像”的圖像表示方法,這種表示法能夠快速計(jì)算出檢測(cè)器用到的特征;
其次,利用基于AdaBoost的學(xué)習(xí)算法,從一個(gè)較大的特征集中選擇少量的關(guān)鍵視覺
特征,產(chǎn)生一個(gè)高效的分類器;最后,再用級(jí)聯(lián)的方式將單個(gè)的分類器合成為一個(gè)更
加復(fù)雜的分類器,使圖像的背景區(qū)域可以被快速地丟棄,而在有可能存在目標(biāo)(人臉)
的區(qū)域花費(fèi)更多的計(jì)算。該人臉檢測(cè)系統(tǒng)在實(shí)時(shí)正面人臉檢測(cè)中能夠達(dá)到15幀/秒
的速率。由于該方法能夠達(dá)到較高的檢測(cè)率并且具有目前最好的實(shí)時(shí)性,因此激發(fā)了
更多研究人員在基于類Haar特征和Boost學(xué)習(xí)算法的實(shí)時(shí)人臉檢測(cè)算法方面的研究。
Intel實(shí)驗(yàn)室的RainerLienhart擴(kuò)展了類Haar特征,在Viola提出的類Haar特征
的基礎(chǔ)上添加了旋轉(zhuǎn)45度的類Haar特征,在與Viola系統(tǒng)相同檢測(cè)率的情況下,降
低了10%的誤檢率。微軟研究院的研究小組把floating搜索的方法引入到
AdaBoost算法中來,并設(shè)計(jì)了一個(gè)金字塔式的檢測(cè)器結(jié)構(gòu)用于多視角的人臉檢測(cè)。
4.2弱學(xué)習(xí)與強(qiáng)學(xué)習(xí)
弱分類器的設(shè)計(jì)是集成機(jī)器學(xué)習(xí)的重要內(nèi)容之一,與一般機(jī)器學(xué)習(xí)算法區(qū)別在于弱
分類器設(shè)計(jì)無需考慮線性不可分問題,這是集成機(jī)器學(xué)習(xí)吸引大量應(yīng)用研究者關(guān)注的主
要原因。
弱分類器的概念來源于Valiant在1984年提出的PAC學(xué)習(xí)理論,之后Kearns和Valiantl又
提出了強(qiáng)PAC學(xué)習(xí)和弱PAC學(xué)習(xí)的概念。在PAC學(xué)習(xí)模型中,若存在一個(gè)多項(xiàng)式級(jí)學(xué)習(xí)
算法來識(shí)別一組概念,并且識(shí)別正確率很高,那么這組概念是強(qiáng)可學(xué)習(xí)的;而如果學(xué)習(xí)
算法識(shí)別一組概念的正確率僅比隨機(jī)猜測(cè)略好,那么這組概念是弱可學(xué)習(xí)的。
隨機(jī)猜測(cè)一個(gè)是或否的問題,將會(huì)有50%的正確率。如果一個(gè)假設(shè)能夠稍微地提高
猜測(cè)正確的概率,那么這個(gè)假設(shè)就是弱學(xué)習(xí)算法,得到這個(gè)算法的過程稱為弱學(xué)習(xí)???/p>
以使用半自動(dòng)化的方法為好幾個(gè)任務(wù)構(gòu)造弱學(xué)習(xí)算法,構(gòu)造過程需要數(shù)量巨大的假設(shè)集
合,這個(gè)假設(shè)集合是基于某些簡(jiǎn)單規(guī)則的組合和對(duì)樣本集的性能評(píng)估而生成的。如果一
個(gè)假設(shè)能夠顯著地提高猜測(cè)正確的概率,那么這個(gè)假設(shè)就稱為強(qiáng)學(xué)習(xí)。
弱分類器就是根據(jù)某些單一依據(jù)來就行粗略分類的分類器,其分來的準(zhǔn)確度要求
很低,只要達(dá)到50%以上即可。雖然弱分類器的分類效果很差,但是試想如果將很多
個(gè)這樣的弱分類器按照一定的規(guī)則組合起來便可以形成一個(gè)高度準(zhǔn)確的強(qiáng)分類器,這
19
也就是級(jí)聯(lián)分類器。
實(shí)際上每一個(gè)haar特征都可以對(duì)應(yīng)一個(gè)弱分類器,每一個(gè)弱分類器都是根據(jù)它所對(duì)
應(yīng)的haar特征的參數(shù)來定義的。如果將所有的haar特征都用來對(duì)應(yīng)一個(gè)弱分類器,那么
其總個(gè)數(shù)將超過數(shù)十萬個(gè)。要想從這樣龐大數(shù)目的弱分類器中訓(xùn)練出最優(yōu)弱分類器將是
一個(gè)非常巨大的工程,其訓(xùn)練時(shí)間也將達(dá)到數(shù)天之長(zhǎng)。因此,這是該進(jìn)Adaboost性能的
一個(gè)關(guān)鍵點(diǎn)所在。
通常情況下,弱學(xué)習(xí)算法比強(qiáng)學(xué)習(xí)算法更容易獲得。Keams和vallant提出了弱學(xué)習(xí)
算法與強(qiáng)學(xué)習(xí)算法間的等價(jià)問題,即能否把弱學(xué)習(xí)算法轉(zhuǎn)化為強(qiáng)學(xué)習(xí)算法。如果兩者等
價(jià),那么在學(xué)習(xí)概念時(shí),只需要找到一個(gè)比隨機(jī)猜測(cè)略好的弱學(xué)習(xí)算法,就可以直接將
其提升為強(qiáng)學(xué)習(xí)算法。
Keams和vallant證明:只要有足夠的數(shù)據(jù),弱學(xué)習(xí)算法就通過集成的方式生成任意
高精度的假設(shè)(強(qiáng)學(xué)習(xí)方法)。
4.3PAC基本模型
4.3.1概述
PAC(ProbablyApproximatelyCorrect)模型是計(jì)算學(xué)習(xí)理論中常用的模型,是
由Valiant于1984年首先提出來的,由統(tǒng)計(jì)模式識(shí)別、決策理淪提出了一些簡(jiǎn)單的概念并
結(jié)合了計(jì)算復(fù)雜理論的方法而提出的學(xué)習(xí)模型。它是研究學(xué)習(xí)及泛化問題的一個(gè)概率框
架,不僅可用于神經(jīng)網(wǎng)絡(luò)分類問題,而且可廣泛用于人工智能中的學(xué)習(xí)問題。
PAC學(xué)習(xí)的實(shí)質(zhì)就是在樣本訓(xùn)練的基礎(chǔ)上,使算法的輸出以概率接近未知的目標(biāo)概
念。PAC學(xué)習(xí)模型是考慮樣本復(fù)雜度及計(jì)算復(fù)雜度的一個(gè)基本框架,成功的學(xué)習(xí)被定義
為形式化的概率理論。
4.3.2基本概念
實(shí)例空間指學(xué)習(xí)器能見到的所有實(shí)例,用xn指示每個(gè)大小為n的學(xué)習(xí)問題的實(shí)例集,
每個(gè)xX?為一個(gè)實(shí)例,X=Un>1Xn為實(shí)例空間。概念空間指目標(biāo)慨念可以從中選取
的所有概念的集合,學(xué)習(xí)器的目標(biāo)就是要產(chǎn)生目標(biāo)概念的一個(gè)假設(shè),使其能準(zhǔn)確地分類
每個(gè)實(shí)例,對(duì)每個(gè)n≥1,定義每個(gè)2n
X
n
C?為Xn上的一系列概念,1CUnCn??為X上
的概念空間,也稱為概念類。似設(shè)空間指算法所能輸出的聽有假設(shè)h的集合,用H表示。
對(duì)每個(gè)目標(biāo)概念
n
cC?和實(shí)例xXn?,()cx為實(shí)例x上的分類值,即()1cx?當(dāng)且僅當(dāng)
on
xCC?的任一似設(shè)h指的是規(guī)則,即對(duì)給出的xXn?,算法在多項(xiàng)式時(shí)間內(nèi)為()cx輸
出一預(yù)測(cè)值。樣本復(fù)雜度(samplecomplexity)指學(xué)習(xí)器收斂到成功假設(shè)時(shí)至少所需的訓(xùn)
練樣本數(shù)。計(jì)算復(fù)雜度(computationalcomplexity)指學(xué)習(xí)器收斂到成功假設(shè)時(shí)所需的計(jì)
20
算量。出錯(cuò)界限指在成功收斂到一個(gè)假設(shè)前,學(xué)習(xí)器對(duì)訓(xùn)練樣本的錯(cuò)誤分類的次數(shù)。在
某一特定的假設(shè)空間中,對(duì)于給定的樣本,若能找到一似設(shè)h,使得對(duì)該概念類的任何
概念都一致,且該算法的樣本復(fù)雜度仍為多項(xiàng)式,則該算法為一致算法。
實(shí)例空間為{0,1}nX?,概念空間和假設(shè)空間均為{0,1}n的子集,對(duì)任意給定的準(zhǔn)
確度(012)????及任意給定的置信度
(01)????
,實(shí)例空間上的所有分布D及目標(biāo)
空間中的所有目標(biāo)函數(shù)t,若學(xué)習(xí)器L只需多項(xiàng)式(,1,1)pn??個(gè)樣本及在多項(xiàng)式
(,1,1)pn??時(shí)間內(nèi),最終將以至少
(1)??
的概率輸出一假設(shè)hH?,使得隨機(jī)樣本被
錯(cuò)分類的概率(,)[:()()]
Dr
errorhtPxXhxtx?????,則稱學(xué)習(xí)器L足PAC學(xué)習(xí)的。它
是考慮樣本復(fù)雜度及計(jì)算復(fù)雜度的一個(gè)基本框架,成功的學(xué)習(xí)被定義為形式化的概率
理淪,其模型如圖所示。
圖4-1PAC學(xué)習(xí)模型
從圖中知PAC模型是與分布無關(guān)的,因?qū)W(xué)習(xí)器來說,實(shí)例上的分布是未知的。該
定義不要求學(xué)習(xí)器輸出零錯(cuò)誤率的假設(shè),而只要求其錯(cuò)誤率被限定在某常數(shù)ε的范圍內(nèi)
(ε可以任意小);同時(shí)也不要求學(xué)習(xí)器對(duì)所有的隨機(jī)抽取樣本序列都能成功,只要其失
敗的概率被限定在某個(gè)常數(shù)δ的范圍內(nèi)(δ也可取任意小)即可。這樣將學(xué)習(xí)到一個(gè)可能
近似正確的假設(shè)。
4.3.3PAC模型的不足
在實(shí)際的機(jī)器學(xué)習(xí)中,PAC模型的不足有:模型中強(qiáng)調(diào)最壞情況,它用最壞情況模
型來測(cè)量學(xué)習(xí)算法的計(jì)算復(fù)雜度及對(duì)概念空間中的每個(gè)目標(biāo)概念和實(shí)例空間上的每個(gè)
分布,用最壞情況下所需要的隨機(jī)樣本數(shù)作為其樣本復(fù)雜度的定義,使得它在實(shí)際中不
可用;定義中的目標(biāo)概念和無噪聲的訓(xùn)練數(shù)據(jù)在實(shí)際中是不現(xiàn)實(shí)的。
樣本復(fù)雜度的最壞情況定義意味著即使能準(zhǔn)確地計(jì)算出某一算法的樣本復(fù)雜度,仍
對(duì)
手
學(xué)
習(xí)
器
樣本
產(chǎn)生
器EX
分布DcC?及目標(biāo)概念
概念類C
準(zhǔn)確度
?
置信度?
樣本請(qǐng)求
帶標(biāo)記隨機(jī)實(shí)例
21
然得過高估計(jì)假設(shè)的出錯(cuò)率,這是因?yàn)樗皇怯?jì)算某一算法的樣本復(fù)雜度(即使存在一
個(gè)簡(jiǎn)單的一致算法),而是對(duì)任意一致算法都成立的一個(gè)樣本復(fù)雜度的上界。這就使得
基本的PAC模型不能預(yù)測(cè)學(xué)習(xí)曲線(1earningcurve)。
4.4Boosting方法
Boosting原意為提升、加強(qiáng)。現(xiàn)在一般指的是將弱學(xué)習(xí)算法提升為強(qiáng)學(xué)習(xí)算法的
一類算法。Boosting算法是在Kearns和Valiant證明后才真正成熟起來的。
1990年,Schapire最先構(gòu)造出一種多項(xiàng)式級(jí)的算法,即最初的Boosting算法。這
種算法可以將弱分類規(guī)則轉(zhuǎn)化成強(qiáng)分類規(guī)則。一年后,F(xiàn)reund提出了一種效率更高的
Boosting算法。1993年,Drucker和Schapire第一次以神經(jīng)網(wǎng)絡(luò)作為弱學(xué)習(xí)器,應(yīng)用
Boosting算法來解決實(shí)際的OCR問題。
Boosting算法在分類、建模、圖像分割、數(shù)據(jù)挖掘等領(lǐng)域均已得到簡(jiǎn)單而有效的
應(yīng)用。1995年,F(xiàn)reund和Schapire提出的Adaboost,是對(duì)Boosting算法的一大提高。
4.5Adaboost算法性能分析
強(qiáng)分類器H(x)對(duì)訓(xùn)練樣本集的誤判率稱為訓(xùn)練誤判率,記為
?
,則有:
1
1
[()]
R
i
EDHxyN
N
?
?
????
其中,
()
1
{
0
()
Hxy
if
ii
R
ifHxy
ii
?
?
?
對(duì)于AdaBoost算法,F(xiàn)reund和Schapire給出了關(guān)于訓(xùn)練誤判率的重要理論結(jié)果。定理:
假設(shè)運(yùn)行Adaboost算法經(jīng)過T輪訓(xùn)練后生成的弱分類器分別
1,
h,……
T
h,其對(duì)樣本集誤
判率分別
t
?
,則訓(xùn)練誤判率有上界:0.5
t
??。詳細(xì)的證明過程可參見文獻(xiàn)。在定理中,
如果每個(gè)0.5
t
??,令0.5
t
t????則最終強(qiáng)分類器
()Hx
的訓(xùn)練誤判率上界可改寫為:
2
1
2
2
1
14
T
t
t
T
t
t
e
?
???
?
?
?
????
由此可見,訓(xùn)練誤判率:隨訓(xùn)練輪數(shù)T的增大呈指數(shù)級(jí)的減小。特別的,如果所有的弱
分類器誤判率都相等,即
1t
???,
1t
???上式可簡(jiǎn)化為:
2
1exp(2)T????
可見,強(qiáng)分類器誤判率隨著弱分類器數(shù)量增多和弱分類器誤判率的降低而迅速下
降。只要有足夠多的弱分類器,就可以使強(qiáng)分類器達(dá)到任意低的誤判率。對(duì)于兩分類問
22
題,只需要弱學(xué)習(xí)算法的準(zhǔn)確性略好于隨機(jī)猜測(cè),便可以保證Adaboost算法收斂。
第5章矩形特征與積分圖
5.1引言
本章節(jié)將描述對(duì)AdaBoost人臉檢測(cè)訓(xùn)練算法速度很重要的兩方面,特征的選取
和特征值的計(jì)算。
把矩形作為人臉檢測(cè)的特征向量,稱為矩形特征。本算法選取了最簡(jiǎn)單的5個(gè)矩
形特征模板進(jìn)行訓(xùn)練,以得到一套用于人臉檢測(cè)的最適合的矩形特征,事實(shí)證明,這
種特征選取方法的訓(xùn)練速度雖然不快,但是檢測(cè)效率很高。
Viola提出將積分圖(integralimage)應(yīng)用到特征值的計(jì)算之中。積分圖的引用,可
以只對(duì)圖像進(jìn)行一次遍歷計(jì)算,就能夠在用常量時(shí)間完成每個(gè)特征值的計(jì)算,這使得
訓(xùn)練和檢測(cè)的速度大大提升。
5.2矩形特征
5.2.1概述
將矩形特征作為對(duì)輸入圖像的人臉檢測(cè)的特征向量,稱為矩形特征。在給定有限
的數(shù)據(jù)情況下,基于特征的檢測(cè)能夠編碼特定區(qū)域的狀態(tài),而且基于特征的系統(tǒng)比基
于象素的系統(tǒng)要快得多。
矩形特征對(duì)一些簡(jiǎn)單的圖形結(jié)構(gòu),比如邊緣、線段,比較敏感,但是其只能描述
特定走向(水平、垂直、對(duì)角)的結(jié)構(gòu),因此比較粗略。如下圖5-1,臉部一些特征
能夠由矩形特征簡(jiǎn)單地描繪,例如,通常,眼睛要比臉頰顏色更深;鼻梁兩側(cè)要比鼻
梁顏色要深;嘴巴要比周圍顏色更深。
對(duì)于一個(gè)24×24檢測(cè)器,其內(nèi)的矩形特征數(shù)量超過160,000個(gè),必須通過特定
算法甄選合適的矩形特征,并將其組合成強(qiáng)分類器才能檢測(cè)人臉。
23
圖5-1矩形特征在人臉上的特征匹配
(上行是24×24子窗口內(nèi)選出的矩形特征,
下行是子窗口檢測(cè)到的與矩形特征的匹配)
5.2.2特征模板
我們將使用簡(jiǎn)單矩形組合作為我們的特征模板。這類特征模板都是由兩個(gè)或多個(gè)
全等的矩形相鄰組合而成,特征模板內(nèi)有白色和黑色兩種矩形(定義左上角的為白色,
然后依次交錯(cuò)),并將此特征模板的特征值定義為白色矩形像素和減去黑色矩形像素
和。本算法選取了最簡(jiǎn)單的5個(gè)矩形特征模板進(jìn)行訓(xùn)練,以得到一套用于人臉檢測(cè)的
最合適的矩形特征,事實(shí)證明,這種特征選取方法的訓(xùn)練速度雖然不快,但是檢測(cè)效
率很高。
通過改變特征模板的大小和位置,可在圖像子窗口中窮舉出大量的特征。為了描
述的方便,本文將圖5-1的特征模板稱為“特征原型”;特征原型在圖像子窗口中擴(kuò)
展(平移伸縮)得到的矩形特征數(shù)值(featurevalue)稱為“特征值”。
最簡(jiǎn)單的5個(gè)矩形特征模板:
24
(a)(b)(c)(d)
(e)
圖5-2人臉檢測(cè)使用的矩形特征值
矩形特征值是指圖像中兩個(gè)或多個(gè)形狀大小相同的矩形內(nèi)所有像素的灰度值之
和的差值。對(duì)于圖5-2中的a、b和e這類特征,特征數(shù)值計(jì)算公式為:
vSumSum??
白黑
(5.1)
而對(duì)于c、d來說,計(jì)算公式如下:
2vSumSum???
黑
白
(5.2)
公式(5.2)將黑色區(qū)域像素和乘以2,是為了使兩種矩形區(qū)域中的像素?cái)?shù)目一致。
假設(shè)訓(xùn)練或者檢測(cè)窗口的大小為WH?個(gè)像素,w,h分別為特征原型的長(zhǎng)、寬,
圖5-2所示五種特征原型對(duì)應(yīng)的wh分別為:21,12,31,13,22。
令
[]
W
X
w
?
,
[]
H
Y
h
?
,“[]”表示取整。一個(gè)
wh?
的特征原型在
WH?
子窗口產(chǎn)
生的矩形特征數(shù)量可用下面的公式計(jì)算:
11
(1)(1)
22
XY
XYWwHh
??
???????
(5.3)
5.3積分圖
5.3.1積分圖的概念
積分圖像就是將原圖像中任一點(diǎn)的左上方的全部像素相加作為當(dāng)前點(diǎn)像素值所
得到的圖像。通過積分圖像可以方便的計(jì)算出原圖像中任意矩形區(qū)域內(nèi)的像素點(diǎn)的和
的值,而不用每次都重新計(jì)算,從而達(dá)到加快計(jì)算的目的。
一個(gè)簡(jiǎn)單的微積分類比:如果我們要經(jīng)常計(jì)算()
b
a
fxdx?,那我們會(huì)先計(jì)算
()()Fxfxdx??,那么()()()
b
a
fxdxFbFa???。見下圖5-3。積分圖的含義與此類似。
25
圖5-3“積分圖”與積分的類比
只需要對(duì)每個(gè)像素進(jìn)行少量的計(jì)算工作,就能得到一幅圖像的“積分圖”。“積分
圖”能夠在多種尺度下,使用相同的時(shí)間來計(jì)算不同的特征,因此大大提高了檢測(cè)速度。
5.3.2使用積分圖計(jì)算
由于訓(xùn)練樣本通常有近萬個(gè),并且矩形特征的數(shù)量特別龐大,如果每次計(jì)算特征值
都需要統(tǒng)計(jì)矩形內(nèi)所有像素之和,將會(huì)大大降低訓(xùn)練和檢測(cè)的速度。PaulViola等引入
了一種新的圖像的表示方法一積分圖像,利用它可以快速計(jì)算矩形特征。對(duì)于輸入圖像
I,像素點(diǎn)
(,)xy
處的積分圖
(,)iixy
定義如下:
(,)(,)
xxyy
iixyIxy
??
??
??
???
其中(,)Ixy
??
為圖像在點(diǎn)(,)xy
??
處的像素值,如圖5-4積分圖(,)iixy的像素值等于圖中
灰色部分的所有像素值的和。
5-4積分圖
為了得到輸入圖像I的積分圖像,需要逐點(diǎn)掃描圖像一次。設(shè)(,)Ixy為輸入圖像各
y
y-1
x-1x
S(x,y)
ii(x-1,y)ii(x,y)
26
點(diǎn)的像素灰度值,
(,)(,)
yy
SxyIxy
?
?
?
??為輸入圖像中像素點(diǎn)(x,y)所在列縱坐標(biāo)不超過該
點(diǎn)的所有像素灰度值之和(圖5-4中淺灰色區(qū)域),則圖像I的積分圖可按如下遞推公式
計(jì)算:
?(,)(,1)(,)
(,)(1,)(,)
SxySxyixy
iixyiixySxy
???
???
(5.4)
其中x和y從0開始,定義
(,1)0,(1,)0sxiiy????
。
在得到圖像I的積分圖像后,就可以方便快捷的計(jì)算圖像I中任意矩形內(nèi)所有像素灰
度積分,如圖5-4中,點(diǎn)1的積分圖像
1
ii的值為:
1
ii=區(qū)域A的像素值(5.5)
圖5-5點(diǎn)(x,y)處的積分圖像值
下面是積分圖矩陣的實(shí)現(xiàn)代碼片斷:
for(intx=0;x
for(inty=0;y
{
doubley_yuv=(double)((uchar*)(mar->+mat->step*x))[y];
//如設(shè)該點(diǎn)亮度值為d,則該點(diǎn)左側(cè)點(diǎn)的亮度和為c,該點(diǎn)上側(cè)點(diǎn)的亮度和
為b,左上側(cè)點(diǎn)的亮度和為a,則該點(diǎn)的亮度和為d+b+c-a
if(x>0&&y>0)
y_yuv=y_yuv-mymDoubleGet(smat,x-1,y-1);
if(x>0)
y_yuv=y_yuv+mymDoubleGet(smat,x-1,y);
if(y>0)
y_yuv=y_yuv+mymDoubleGet(smat,x,y-1);
//設(shè)置該點(diǎn)的亮度和
mymDoubleGet(smat,x,y,y_yuv);
(x,y)
27
}
for(inti=0;i
{
inth=0;
doublefeature=featureValue(&(Sclissifier->sc[i],smat);
if(feature*Sclissifier->sc[i].p
h=1;
doublealpha=log10(1.0/Sclissifier->bt[i]);
sumLeft+=alpha*(double)h;
sumRight+=alpha*thresh;
}
myReleaMat(smat0;
if(sumLeft>=sumRight)
return1;
el
return0;
5.4Haar特征值計(jì)算
Haar型特征是Viola等提出的一種簡(jiǎn)單矩形特征,因類似于Haar小波而得名。如
圖2所示,Haar型特征的定義是黑色矩形和白色矩形在圖像子窗口中對(duì)應(yīng)的區(qū)域的灰
度級(jí)總和之差,可見,它反映了圖像局部的灰度變化。Viola等用到的Haar型特征共
有4種(圖5-7.a~d),我們又增加了8種(圖2-7.e~l)。
圖像子窗口
28
圖特征。(a,b,g,h)兩矩形特征;(c,f)
三矩形特征;(d)四矩形特征;(e)“回”字形特征;(i,
j,k,l)“L”形特征。
Haar特征是用積分圖像的特點(diǎn)來計(jì)算某一矩形區(qū)域內(nèi)的特征值。如計(jì)算下圖中D區(qū)
域內(nèi)的像素之和:
圖5-8應(yīng)用積分圖像計(jì)算區(qū)域像素值
假設(shè)已經(jīng)求出某一圖像的積分圖像,根據(jù)積分圖像的特點(diǎn),可以迅速計(jì)算出原圖像
中D區(qū)域內(nèi)的像素的和的值。
1423D
Sffff????
其中
D
S是原圖像中D區(qū)域內(nèi)的像素的和的值,
1
f、
2
f、
3
f和
4
f分別是積分圖像中
點(diǎn)1和2、3和4的值。
從上式我們可以看出,利用積分圖像來計(jì)算任意區(qū)域內(nèi)的像素點(diǎn)的和的值的過程
快速且計(jì)算時(shí)間固定。利用這一特點(diǎn)設(shè)計(jì)出的haar特征提取快速且機(jī)器計(jì)算時(shí)間固定。
29
正是由于haar特征提取速度夠快,才使得Adaboost檢測(cè)算法稱為當(dāng)前最快的檢測(cè)算法之
一。
我們將使用簡(jiǎn)單矩形組合作為我們的特征模板。這類特征模板是由兩個(gè)或多個(gè)全
等的矩形相鄰組合而成,特征模板內(nèi)有黑色和白色兩種矩形,并且兩種顏色依次交錯(cuò)。
為了計(jì)算特征模板的特征值,我們事先規(guī)定白色像素點(diǎn)值為+1,黑色像素點(diǎn)值為-1,那
么特征模板的特征值計(jì)算為模板內(nèi)白色矩形像素和加上黑色矩形像素和。下面列舉了幾
種最常用的特征模板:
(1)邊緣特征(2)擴(kuò)展的邊緣特征
(3)線形特征(4)擴(kuò)展的線形特征
(5)中心特征(6)擴(kuò)展的中心特征
圖5-8幾種常見的特征模板
下面以特征模板(5)為例利用積分圖像計(jì)算特征值,過程如下:
區(qū)域(A)特征值為:
41238567
()(())iiiiiiiiiiiiiiii???????
區(qū)域(B)特征值為:
8567
()iiiiiiii???
綜合上面兩個(gè)式子可以得到特征模板(5)的特征值為:
1?區(qū)域(A)特征值+(-1)?區(qū)域(B)特征值
=
41238567
()(())iiiiiiiiiiiiiiii????????
(
8567
()iiiiiiii???)
41238567
(())2(())iiiiiiiiiiiiiiii????????
30
圖5-8特征模板(5)的特征值計(jì)算
由上述計(jì)算過程可以看出,利用積分圖像的矩形特征的特征值計(jì)算只與特征頂點(diǎn)的
積分圖值有關(guān),而與圖像坐標(biāo)值無關(guān)。因此,不論此矩形特征的尺度如何,特征值的計(jì)
算所消耗的時(shí)間都是一個(gè)常量,而且都只是簡(jiǎn)單的加減運(yùn)算。正是這個(gè)原因,大大提高
了Adaboost分類器的檢測(cè)速度。
56
78
A
B
(1,1)
31
第6章人臉檢測(cè)的實(shí)現(xiàn)
6.1OpenCV概述
6.1.1OpenCV簡(jiǎn)介
OpenCV是Intel公司支持的開源計(jì)算機(jī)視覺庫(kù)。它輕量級(jí)而且高效——由一系
列C函數(shù)和少量C++類構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。
1999年在俄羅斯設(shè)立的軟件開發(fā)中心“SoftwareDevelopmelltCellter¨開發(fā)的。
OpenCV采用C/C++語(yǔ)言編寫,可以運(yùn)行在Linux/Windows/Mac等操作系統(tǒng)上。
OpenCV還提供了Python、Ruby、MATLAB以及其他語(yǔ)言的接口。OpenCV的設(shè)計(jì)目
標(biāo)是執(zhí)行速度盡量快,主要關(guān)注實(shí)時(shí)應(yīng)用。它采用優(yōu)化的C代碼編寫,能夠充分利用
多核處理器的優(yōu)勢(shì)。如果是希望在Intel平臺(tái)上得到更快的處理速度,可以購(gòu)買Intel
的高性能多媒體函數(shù)庫(kù)IPP(IntegratedPerformancePrimitives)。IPP庫(kù)包含許多從底層
優(yōu)化的函數(shù),這些函數(shù)涵蓋多個(gè)應(yīng)用領(lǐng)域。如果系統(tǒng)已經(jīng)安裝了IPP庫(kù),OpenCV會(huì)
在運(yùn)行時(shí)自動(dòng)使用相應(yīng)的IPP庫(kù)。
OpenCV的一個(gè)目標(biāo)是構(gòu)建一個(gè)簡(jiǎn)單易用的計(jì)算機(jī)視覺框架,以幫助開發(fā)人員更
便捷地設(shè)計(jì)更復(fù)雜的計(jì)算機(jī)視覺相關(guān)應(yīng)用程序。OpenCV包含的函數(shù)有500多個(gè),覆
蓋了計(jì)算機(jī)視覺的許多應(yīng)用領(lǐng)域,如工廠產(chǎn)品檢測(cè)、醫(yī)學(xué)成像、信息安全、用戶界面、
攝像機(jī)標(biāo)定、立體視覺和機(jī)器人等。因?yàn)橛?jì)算機(jī)視覺和機(jī)器學(xué)習(xí)密切相關(guān),所以
OpenCV還提供了MLL(MachineLearningLibrary)機(jī)器學(xué)習(xí)庫(kù)。該機(jī)器學(xué)習(xí)庫(kù)側(cè)重于
統(tǒng)計(jì)方面的模式識(shí)別和聚類(clustering)。MLL除了用在視覺相關(guān)的任務(wù)中,還可以方
便地應(yīng)用于其他的機(jī)器學(xué)習(xí)場(chǎng)合。
6.1.2應(yīng)用領(lǐng)域
自從OpenCV在1999年1月發(fā)布alpha版本開始,它就被廣泛用在許多應(yīng)用領(lǐng)域、
產(chǎn)品和研究成果中。相關(guān)應(yīng)用包括衛(wèi)星地圖和電子地圖的拼接,掃描圖像的對(duì)齊,醫(yī)
學(xué)圖像去噪(消噪或?yàn)V波),圖像中的物體分析,安全和入侵檢測(cè)系統(tǒng),自動(dòng)監(jiān)視和安
全系統(tǒng),制造業(yè)中的產(chǎn)品質(zhì)量檢測(cè)系統(tǒng),攝像機(jī)標(biāo)定,軍事應(yīng)用,無人飛行器,無人
汽車和無人水下機(jī)器人。將視覺識(shí)別技術(shù)用在聲譜圖上,OpenCV可以進(jìn)行聲音和音
樂識(shí)別。在斯坦福大學(xué)的Stanley機(jī)器人項(xiàng)目中,OpenCV是其視覺系統(tǒng)的關(guān)鍵部分。
Stanley在DARPA機(jī)器人沙漠挑戰(zhàn)賽中,贏得了二百萬美元獎(jiǎng)金。
32
6.1.3OpenCV的起源
OpenCV誕生于Intel研究中心,其目的是為了促進(jìn)CPU密集型應(yīng)用。為了達(dá)到
這一目的,Intel啟動(dòng)了多個(gè)項(xiàng)目,包括實(shí)時(shí)光線追蹤和三維顯示墻。一個(gè)在Intel工
作的OpenCV作者在訪問一些大學(xué)時(shí),注意到許多頂尖大學(xué)中的研究組(如MIT媒體
實(shí)驗(yàn)室)擁有很好的內(nèi)部使用的開放計(jì)算機(jī)視覺庫(kù)——(在學(xué)生們之間互相傳播的
代碼),這會(huì)幫助一個(gè)新生從高的起點(diǎn)開始他/她的計(jì)算機(jī)視覺研究。這樣一個(gè)新生可
以在以前的基礎(chǔ)上繼續(xù)開始研究,而不用從底層寫基本函數(shù)。
因此,OpenCV的目的是開發(fā)一個(gè)普遍可用的計(jì)算機(jī)視覺庫(kù)。在Intel的性能庫(kù)團(tuán)
隊(duì)的幫助下,OpenCV實(shí)現(xiàn)了一些核心代碼以及算法,并發(fā)給Intel俄羅斯的庫(kù)團(tuán)隊(duì)。
這就是OpenCV的誕生之地:在與軟件性能庫(kù)團(tuán)隊(duì)的合作下,它開始于Intel的研究
中心,并在俄羅斯得到實(shí)現(xiàn)和優(yōu)化。
俄羅斯團(tuán)隊(duì)的主要負(fù)責(zé)人是VadimPisarevsky,他負(fù)責(zé)管理項(xiàng)目、寫代碼并優(yōu)化
OpenCV的大部分代碼,在OpenCV中很大一部分功勞都屬于他。跟他一起,Victor
Eruhimov幫助開發(fā)了早期的架構(gòu),ValeryKuriakin管理俄羅斯實(shí)驗(yàn)室并提供了很大的
支持。在開始時(shí),OpenCV有以下三大目標(biāo):
(1)為基本的視覺應(yīng)用提供開放且優(yōu)化的源代碼,以促進(jìn)視覺研究的發(fā)展。能有
效地避免“閉門造車”。
(2)通過提供一個(gè)通用的架構(gòu)來傳播視覺知識(shí),開發(fā)者可以在這個(gè)架構(gòu)上繼續(xù)開
展工作,所以代碼應(yīng)該是非常易讀的且可改寫。
(3)本庫(kù)采用的協(xié)議不要求商業(yè)產(chǎn)品繼續(xù)開放代碼,這使得可移植的、性能被優(yōu)
化的代碼可以自由獲取,可以促進(jìn)基于視覺的商業(yè)應(yīng)用的發(fā)展。
這些目標(biāo)說明了OpenCV的緣起。計(jì)算機(jī)視覺應(yīng)用的發(fā)展會(huì)增加對(duì)快速處理器的
需求。與單獨(dú)銷售軟件相比,促進(jìn)處理器的升級(jí)會(huì)為Intel帶來更多收入。這也許是
為什么這個(gè)開放且免費(fèi)的庫(kù)出現(xiàn)在一家硬件生產(chǎn)企業(yè)中,而不是在一家軟件公司中。
從某種程度上說,在一家硬件公司里,在軟件方面會(huì)有更多創(chuàng)新的空間。
6.1.4OpenCV的基本結(jié)構(gòu)
OpenCV主體分為五個(gè)模塊,其中四個(gè)模塊如圖6-1所示。OpenCV的CV模塊
包含基本的圖像處理函數(shù)和高級(jí)的計(jì)算機(jī)視覺算法。ML是機(jī)器學(xué)習(xí)庫(kù),包含一些基于
統(tǒng)計(jì)的分類和聚類工具。HighGUI包含圖像和視頻輸入/輸出的函數(shù)。CXCore包含
OpenCV的一些基本數(shù)據(jù)結(jié)構(gòu)和相關(guān)函數(shù)。
33
圖6-1OpenCV的基本結(jié)構(gòu)
圖6-1中并沒有包含CvAux模塊,該模塊中一般存放一些即將被淘汰的算法和
函數(shù)(如基于嵌入式隱馬爾可夫模型的人臉識(shí)別算法),同時(shí)還有一些新出現(xiàn)的實(shí)驗(yàn)性
的算法和函數(shù)(如背景和前景的分割)。
6.1.5OpenCV的特征
OpenCV的主要特征有以下幾個(gè)方面:
(1)圖像數(shù)據(jù)的操作(分配、釋放、復(fù)制、設(shè)置和轉(zhuǎn)換)。
(2)圖像是視頻的輸入輸出I/O(文件與攝像頭的輸入、圖像和視頻文件輸出)。
(3)矩陣和向量的操作以及線性代數(shù)的算法程序(矩陣積、解方程、特征值以及奇異
值等)。
(4)各種動(dòng)態(tài)數(shù)據(jù)結(jié)構(gòu)(列表、隊(duì)列、集合、樹、圖等)。
(5)基本的數(shù)字圖像處理(濾波、邊緣檢測(cè)、角點(diǎn)檢測(cè)、采樣與差值、色彩轉(zhuǎn)換、形
態(tài)操作、直方圖、圖像金字塔等)。
(6)結(jié)構(gòu)分析(連接部件、輪廓處理、距離變換、各自距計(jì)算、模板匹配、Hough變
換、多邊形逼近、直線擬合、橢圓擬合、Delaunay三角劃分等)。
(7)攝像頭定標(biāo)(發(fā)現(xiàn)與跟蹤定標(biāo)模式、定標(biāo)、基本矩陣估計(jì)、齊次矩陣估計(jì)、立體
對(duì)應(yīng))。
(8)運(yùn)動(dòng)分析(光流、運(yùn)動(dòng)分割、跟蹤)。
(9)目標(biāo)識(shí)別(特征法、隱馬爾可夫模型:HMM)。
(10)基本的GUI(圖像與視頻顯示、鍵盤和鼠標(biāo)事件處理、滾動(dòng)條)。
(11)圖像標(biāo)注(線、二次曲線、多邊形、畫文字)
MLL
統(tǒng)計(jì)分類器
CV
圖像處理和視覺算法
HighGUI
GUI
圖像和視頻輸入/輸
出
CXCORE
基本結(jié)構(gòu)和算法、XML支持、繪圖函數(shù)
34
6.2OpenCV在檢測(cè)中的應(yīng)用
6.2.1編譯OpenCV
(1)用CMake導(dǎo)出VC++項(xiàng)目文件
①運(yùn)行cmake-gui,設(shè)置路徑為OpenCV安裝路徑(本文檔安裝位置為:
D:ProgramFilesOpenCV2.0),并創(chuàng)建子目錄D:Program
FilesOpenCV2.0vc2008,用于存放編譯結(jié)果。
②然后點(diǎn)configure,在彈出的對(duì)話框內(nèi)選擇VisualStudio92008。
③因?yàn)槭荲C++2008的Express版本,不支持OpenMP,所以需要取消
ENABLE_OPENMP選項(xiàng)。
(2)編譯OpenCVDebug和Relea版本庫(kù)
完成上一步驟后,將在D:ProgramFilesOpenCV2.0vc2008目錄下生成
的VCSolutionFile,用VC++2008Express打開,然后執(zhí)行如
下操作:
①在Debug下,選擇SolutionExplorer里的SolutionOpenCV,點(diǎn)右鍵,運(yùn)行
"RebuildSolution"(見圖6-2);如編譯無錯(cuò)誤,再選擇INSTALL項(xiàng)目,運(yùn)行
"Build"(見圖6-3)。
②在Relea下,選擇SolutionExplorer里的SolutionOpenCV,點(diǎn)右鍵,運(yùn)行
"RebuildSolution"(見圖6-4);如編譯無錯(cuò)誤,再選擇INSTALL項(xiàng)目,運(yùn)行
"Build"。(見圖6-5)
此時(shí),OpenCV的*文件(fordebug)和*.dll文件(forrelea)將出現(xiàn)在
D:ProgramFilesOpenCV2.0vc2008bin目錄中;OpenCV的*文件(fordebug)和
*.lib文件(forrelea)將出現(xiàn)在D:ProgramFilesOpenCV2.0vc2008lib目錄;頭文
件*.h出現(xiàn)在D:ProgramFilesOpenCV2.0vc2008includeopencv中。
可以被VC++2008Express調(diào)用的OpenCV動(dòng)態(tài)庫(kù)生成完畢。
35
圖6-2在Debug下運(yùn)行"RebuildSolution"
圖6-3在Debug下編譯無誤,運(yùn)行"Build"
36
圖6-4在Relea下運(yùn)行"RebuildSolution"
圖6-5在Relea下運(yùn)行無誤,運(yùn)行"Build"
6.2.1為VC++2008Express配置OpenCV環(huán)境
(1)打開VC++2008Express,菜單Tools->Options->ProjectsandSolutions->VC++
37
Directories
①Showdirectoriesfor選擇includefiles,加入目錄D:Program
FilesOpenCV2.0vc2008includeopencv
②Showdirectoriesfor選擇libraryfiles,加入目錄D:Program
FilesOpenCV2.0vc2008lib
關(guān)閉VC++2008Express。
(2)使用OpenCV2.0編程
①打開VC++2008Express,創(chuàng)建一個(gè)Win32控制臺(tái)程序opencvhello;
②選擇SolutionExplorer里的opencvhello項(xiàng)目,點(diǎn)擊鼠標(biāo)右鍵,選擇Properties;
③為項(xiàng)目的Debug配置增加依賴的庫(kù):
④為項(xiàng)目的Relea配置增加依賴的庫(kù):
⑤編譯運(yùn)行附錄里的例程(需要將文件放在項(xiàng)目目錄下)。
6.3實(shí)驗(yàn)結(jié)果
(1)單個(gè)人臉檢測(cè)
總數(shù)1/漏檢0/錯(cuò)檢0
(2)多個(gè)人臉檢測(cè)
38
總數(shù)10/漏檢3/錯(cuò)檢0
(3)多個(gè)人臉檢測(cè)
總數(shù)2/漏檢0/錯(cuò)檢0
39
6.4結(jié)論
從實(shí)驗(yàn)結(jié)果可以看出,這種檢測(cè)人臉的方法的漏檢率還是比較高的。從有限的
實(shí)驗(yàn)結(jié)果來分析,漏檢的原因主要在于待檢測(cè)的人臉中眼睛部分不夠清晰。這主要是
因?yàn)橛?xùn)練集數(shù)量太少,而且非人臉樣本比重偏低。事實(shí)上,世界上的非人臉樣式要遠(yuǎn)
遠(yuǎn)大于人臉樣式,因此有足夠多的非人臉樣本,才能夠讓分類器對(duì)非人臉圖案的“分
辨”能力大大提高。
40
參考文獻(xiàn)
[1]M.F.AugusteijnandT.L.Skujca,“IdentificationofHumanFacesthroughTexture·BadFeature
RecognitionandNeuralNetworkTechnology,”Proc.IEEEConf.NeuralNetworks,PP.392-398,1993.
[2]ViolaP,JonesM.Rapidobjectdetectionusingaboostedcascadeofsimplefeature[c].In:
ProceedingsofIEEEConferenceonComputerVisionandPatternRecognition,Kauai,Hawaii,USA,
2001,1:I-51l-518.
[3],nf
onComputerVisionandPatternRecognition,Kauai,Hawaii,USA:IEEEComputerSociety,2001.
[4]M.Venkatraman,v.Govindamju,“Zerocrossingsofanon-orthogonalwavelettransformforobject
location”,icip,v01.3,PP.3057,1995
[5]A.Tsukamoto,C.-W.Lee,andS.Tsuji,“DetectionandTrackingofHumanFacewith
SynthesizedTemplates,”Proc.FirstAsianConf.ComputerVision,PP.183-186,1993.
[6]A.Tsukamoto,C.-W.Lee,andS.Tsuji,“DetectionandPoEstimationofHumanFacewith
SynthesizedImageModels,”Proc.Int’lConf.PatternRecognition,PP.754-757,1994.
[7]TFCootes,CJTaylor,DHCooper,eta1.Activeshapemodel—theirtrainingand
application[J].ComputerVisionandImageUnderstanding,1995,6l(1):38—59
[8]ViolaP.,JonesM.J.、RobustReal-TimeFaceDetection、InternationalJournalofComputerVision
57(2),137-154,2004
[9]
Disrtation,MassachuttsInstituteofTechnology,1996
[10]SungKK,cal
ReportAIMemo1521,MITAILab,1994
[11]SungKK,
TransactionsonPatternAnalysisandMachineIntelligence,1998,20(1):38-51
[12]R.Lienhart.J.Maydt.AnExtendedSetofHaar-1ikeFeaturesforRapidObject
Detection[C].IEEEICIP.2002(1):900-903.
[13]ureofStatisticalLearningTheory,NY:Apringer-Verlag,1995張學(xué)工譯。
統(tǒng)計(jì)學(xué)習(xí)理論的本質(zhì)。北京:清華大學(xué)出版社,2000
[14]OsuuaE,FreundR,ngsupportvectormachines:Anapplicationtoface
eedingsofIEEEConferenceonComputerVision,pages555-562,1998
[15]楊濤.人臉檢測(cè)與跟蹤[D],西北工業(yè)大學(xué),2004年3月.
[16]HuangFJ,ChenT.Trackingofmultiplefacesforhuman—computerinterfacesand
virtualenvironments[C].IEEEIntl.Conf.onMultimediaandExpo.NewYork,July2000.
[17]周德華,毛敏峰,徐浩.一種多人臉跟蹤算法的研究與實(shí)現(xiàn)[J],電視技術(shù),2005,275(5):
88~90.
41
[18]李剛,高政、人臉自動(dòng)識(shí)別方法綜述、計(jì)算機(jī)應(yīng)用研究、2003,Vol8:4-9
[19]ViolaP.,JonesM.J.、RobustReal-timeObjectDetection、CambridgeRearchLaboratory,
TechnicalReportSeries、CRL2001/01
[20]高建坡,王煜堅(jiān),楊浩等.一種基于KL變換的橢圓模型膚色檢測(cè)方法[J].電子與信息學(xué)
報(bào).2007,V01.29,No.7.
[21]邢果,戚文芽.彩色空間的膚色分割及其在人臉檢測(cè)中的應(yīng)用[J].視頻技術(shù)應(yīng)用與工
程.2006.
[22]高建坡.視頻序列中的人臉檢測(cè)與跟蹤算法研究.東南大學(xué)博士學(xué)位論文.2007,3.
42
致謝
在我做畢業(yè)設(shè)計(jì)及寫論文期間都是在趙菊敏老師的全面、具體指導(dǎo)下進(jìn)行完成的。雖然趙老
師平時(shí)工作繁忙,有很多事情要處理,但還是時(shí)常抽出時(shí)間來關(guān)心我的畢業(yè)設(shè)計(jì),給予我指導(dǎo),
督促我抓緊時(shí)間完成課題。趙老師淵博的學(xué)識(shí)、敏銳的思維、民主而嚴(yán)謹(jǐn)?shù)淖黠L(fēng)使我受益非淺,
并終生難忘。
感謝王宏彬師兄在畢業(yè)設(shè)計(jì)工作中給予的幫助,他悉心的指引論文寫作的方向和架構(gòu),并對(duì)
本論文初稿進(jìn)行逐字批閱,指正出其中誤謬之處,使我有了思考的方向,使我的論文更加成熟。
論文的順利完成,也離不開其它各位老師、同學(xué)和朋友的關(guān)心和幫助。在整個(gè)的論文寫作中,
各位老師、同學(xué)和朋友積極的幫助我查資料和提供有利于論文寫作的建議和意見,在他們的幫助
下,論文得以不斷的完善,最終幫助我完整的寫完了整個(gè)論文。另外,要感謝在大學(xué)期間所有傳
授我知識(shí)的老師,是你們的悉心教導(dǎo)使我有了良好的專業(yè)課知識(shí),這也是論文得以完成的基礎(chǔ)。
通過此次的論文,我學(xué)到了很多知識(shí),跨越了傳統(tǒng)方式下的教與學(xué)的體制束縛,在論文的寫
作過程中,通過查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和動(dòng)手能力。并且由原先的被動(dòng)的接
受知識(shí)轉(zhuǎn)換為主動(dòng)的尋求知識(shí),這可以說是學(xué)習(xí)方法上的一個(gè)很大的突破。在以往的傳統(tǒng)的學(xué)習(xí)
模式下,我們可能會(huì)記住很多的書本知識(shí),但是通過畢業(yè)論文,我們學(xué)會(huì)了如何將學(xué)到的知識(shí)轉(zhuǎn)
化為自己的東西,學(xué)會(huì)了怎么更好的處理知識(shí)和實(shí)踐相結(jié)合的問題。
在論文的寫作過程中也學(xué)到了做任何事情所要有的態(tài)度和心態(tài),首先我明白了做學(xué)問要一絲
不茍,對(duì)于出現(xiàn)的任何問題和偏差都不要輕視,要通過正確的途徑去解決,在做事情的過程中要
有耐心和毅力,不要一遇到困難就打退堂鼓,只要堅(jiān)持下去就可以找到思路去解決問題的。在工
作中要學(xué)會(huì)與人合作的態(tài)度,認(rèn)真聽取別人的意見,這樣做起事情來就可以事倍功半。
總之,此次論文的寫作過程,我收獲了很多。此次論文的完成既為大學(xué)四年劃上了一個(gè)完美
的句號(hào),也為將來的人生之路做好了一個(gè)很好的鋪墊。
最后再次感謝在大學(xué)傳授給我知識(shí)以及給我?guī)椭凸膭?lì)的老師,同學(xué)和朋友,謝謝你們!
43
附錄一人臉檢測(cè)源程序
#include"cv.h"
#include"highgui.h"
#include
#include
#include
#include
#include
#include
#include
#include
#include
#ifdef_EiC
#defineWIN32
#endif
staticCvMemStorage*storage=0;
staticCvHaarClassifierCascade*cascade=0;
voiddetect_and_draw(IplImage*image);
constchar*cascade_name=
"haarcascade_frontalface_";
/*"haarcascade_";*/
intmain(intargc,char**argv)
{
CvCapture*capture=0;
IplImage*frame,*frame_copy=0;
intoptlen=strlen("--cascade=");
constchar*input_name;
if(argc>1&&strncmp(argv[1],"--cascade=",optlen)==0)
{
cascade_name=argv[1]+optlen;
input_name=argc>2?argv[2]:0;
}
el
44
{
cascade_name="../../data/haarcascades/haarcascade_frontalface_";
input_name=argc>1?argv[1]:0;
}
cascade=(CvHaarClassifierCascade*)cvLoad(cascade_name,0,0,0);
if(!cascade)
{
fprintf(stderr,"ERROR:Couldnotloadclassifiercascaden");
fprintf(stderr,
"Usage:facedetect--cascade="
return-1;
}
storage=cvCreateMemStorage(0);
if(!input_name||(isdigit(input_name[0])&&input_name[1]=='0'))
capture=cvCaptureFromCAM(!input_name?0:input_name[0]-'0');
el
capture=cvCaptureFromAVI(input_name);
cvNamedWindow("result",1);
if(capture)
{
for(;;)
{
if(!cvGrabFrame(capture))
break;
frame=cvRetrieveFrame(capture);
if(!frame)
break;
if(!frame_copy)
frame_copy=cvCreateImage(cvSize(frame->width,frame->height),
IPL_DEPTH_8U,frame->nChannels);
if(frame->origin==IPL_ORIGIN_TL)
cvCopy(frame,frame_copy,0);
el
cvFlip(frame,frame_copy,0);
detect_and_draw(frame_copy);
if(cvWaitKey(10)>=0)
45
break;
}
cvReleaImage(&frame_copy);
cvReleaCapture(&capture);
}
el
{
constchar*filename=input_name?input_name:(char*)"";
IplImage*image=cvLoadImage(filename,1);
if(image)
{
detect_and_draw(image);
cvWaitKey(0);
cvReleaImage(&image);
}
el
{
/*assumeitisatextfilecontainingthe
listoftheimagefilenamestobeprocesd-oneperline*/
FILE*f=fopen(filename,"rt");
if(f)
{
charbuf[1000+1];
while(fgets(buf,1000,f))
{
intlen=(int)strlen(buf);
while(len>0&&isspace(buf[len-1]))
len--;
buf[len]='0';
image=cvLoadImage(buf,1);
if(image)
{
detect_and_draw(image);
cvWaitKey(0);
cvReleaImage(&image);
}
}
fclo(f);
}
}
46
}
cvDestroyWindow("result");
return0;
}
voiddetect_and_draw(IplImage*img)
{
staticCvScalarcolors[]=
{
{{0,0,255}},
{{0,128,255}},
{{0,255,255}},
{{0,255,0}},
{{255,128,0}},
{{255,255,0}},
{{255,0,0}},
{{255,0,255}}
};
doublescale=1.3;
IplImage*gray=cvCreateImage(cvSize(img->width,img->height),8,1);
IplImage*small_img=cvCreateImage(cvSize(cvRound(img->width/scale),
cvRound(img->height/scale)),
8,1);
inti;
cvCvtColor(img,gray,CV_BGR2GRAY);
cvResize(gray,small_img,CV_INTER_LINEAR);
cvEqualizeHist(small_img,small_img);
cvClearMemStorage(storage);
if(cascade)
{
doublet=(double)cvGetTickCount();
CvSeq*faces=cvHaarDetectObjects(small_img,cascade,storage,
1.1,2,
0/*CV_HAAR_DO_CANNY_PRUNING*/,
cvSize(30,30));
t=(double)cvGetTickCount()-t;
printf("detectiontime=%gmsn",t/((double)cvGetTickFrequency()*1000.));
for(i=0;i<(faces?faces->total:0);i++)
47
{
CvRect*r=(CvRect*)cvGetSeqElem(faces,i);
CvPointcenter;
intradius;
center.x=cvRound((r->x+r->width*0.5)*scale);
center.y=cvRound((r->y+r->height*0.5)*scale);
radius=cvRound((r->width+r->height)*0.25*scale);
cvCircle(img,center,radius,colors[i%8],3,8,0);
}
}
cvShowImage("result",img);
cvReleaImage(&gray);
cvReleaImage(&small_img);
}
48
附錄二外文翻譯
ASurveyofHumanFaceDetection
Abstract:Thefaceimageprocessing,includingfacedetection,facerecognition,face
tracking,tructtheautomatic
processingoffacialimageinformationsystems,firstofallneedrobustandefficientface
isoftheproblemoffacedetectionmethods,andclassification
nowledge-badapproach,featuresthesame
method,templatematchingmethodandmethodbadontheappearanceoffourintroduced
therelatedalgorithmsandtheoryoftheadvantagesanddisadvantagesofeachmethodand
prentstheproblemoffacedetectionfurtherrearch.
Keywords:facedetection;facerecognition;badonvisualidentification;statistical
patternrecognition;machinelearning
1Introduction
Inrecentyears,faceandfacialexpressionrecognitionhasattractedmoreattention
eprocessingsystem,thefirststepistodetectthefacepositionin
r,fromanimageinthedetectionofhumanfacesisachallengingtask
becauofitsscale,location,directionandposturearechanged,andfacialexpression,
occlusionandlightingconditionsalsochange.
Facedetectionisallintheinputimagetodeterminetheface(ifitexists)ofthe
location,tectionfaceinformationprocessingasa
keytechnologyinrecentyearshasbecomethefieldofpatternrecognitionandcomputer
vision,aattracteduniversalattention,thesubjectofactiverearch.
49
Facerecognitionoridentification,facedetectionandfacetrackingandfacedetectionare
pooffacedetectionistodeterminethelocationoftheimage
eanimagethereisonlyoneface,thefacialfeaturedetectionaimsto
detecttheprenceandlocationoffeaturessuchayes,no(nostrils)(eyebrows)(mouth)
(mouth)cognitionoridentificationistheinputimageanddataba
imagecomparison,cognitionisdesignedtotesttheinput
imageintheidentityoftheindividual,butthefacetrackingisreal-time,continuous
estimat
expressionrecognitioninvolvesidentifyinghumanemotionalstates(happy,sad,disgusted,
etc.).Clearly,anysolutiontotheproblemintheautomaticrecognitionsystem,face
detectionisthefirststep.
Fromafaceimagedetectionmethodcanbedividedintothefollowingfour:
(1)Knowledge-badMethodsItwillfacetheformationofatypicalrulebais
y,bytherelationshipbetweenfacialfeaturesface
detection.
(2)FeatureInvariantApproachesThealgorithmisaimedatattitude,perspectiveor
lightingconditionschangeinthecaofthestructuralfeaturesfoundthere,andthenu
thecharacteristicsdeterminetheface.
(3)TemplateMatchingMethodsStorageofveralstandardfacemodeltodescribethe
wholefaceandfacialfeatures;calculatetheinputimageandthestoredrelationship
betweenmodelandfortesting.
(4)Appearance-badMethodsTemplatematchingmethodwithcontrast,focuson
learningfromthetrainingimagestoobtainmodel(ortemplate),andthemodelsfor
testing.
2Knowledge-badapproach
50
Knowledge-badapproachisrule-badfacedetectionmethods,rules,rearchers
llyeasiertomakesimplerulesto
describethefacialfeaturesandtheirmutualrelations,suchastheimageappearsinaface,
usuallysymmetricalwitheachothertwoeyes,onships
fall,inthe
inputimageextractedfacialfeatures,determinetherules-badcodingoffacecandidate
regions.
Thisapproachisverydifficultproblemsofhumanknowledgeintowell-definedrules.
Iftherulesaredetailed(strict),becautherulescannotdetectallpossiblefailures;Ifthe
rulesaretoogeneral(common),tion,it
isdifficulttoextendthisapproachtounderdifferentpofacedetection,becauthelistall
thecasisaverydifficulttask.
YangandHuanguofhierarchicalknowledge-badfacedetectionmethod,their
ighestlevel,byscanningtheinputimagewindow
andapplicationoftherulestforeachlocationtofindallthepossiblefacecandidatearea.
Descriptionoftherulesusuallyhigherfacelookslikewhat,whilelower-levelrulesdepend
chicalmulti-resolutionimagesgeneratedbythe
averageandthecondsample,ngrulesareusuallyestablished
undertheresolutioninthelowerfaceofthecandidateareas,includingthecentralpartof
theface(Figure2,shadedlighter),ofwhichfourarebasicallythesamegrayscaleunits.
terofthefaceandupperpart
estresolution(Lever1)imageudtoarch
humanfacecandidateareaandtheresolutionofthelater,moresophisticatedtomakean
2completedinthecandidateregionfacelocalhistogram
tinuedexistenceofthecandidateareasinLever3
withotherfacialfeatures,suchayes,mouthandothercorrespondingrulestobechecked.
Characteristicofthismethodistoufromtherough-finestrategytoreducetherequired
51
calculation,althoughitisnotveryhighdetectionrate,butthemulti-resolutionhierarchical
thinkingandtodirectthearchoftheruleshavebeenudbehindthefacedetection
work.
tionmethod
udtodeterminefacialcharacteristics,I(x,y)ism×nimage(x,y)positiongrayvalue,
theimageofhorizontalandverticalprojectiondefinedHI(x)=Σny=1I(x,y)andVI(y)
=Σmx=1I(x,y).BydramaticchangesintheHIdetectedinthetwolocalminimum,
whichcorrespondstotheheadleftandrightsides,gettheleveloftheinputimagecontour.
Similarly,accesstotheverticalprofile,determinethelocalminimumpointforpositioning
thelips,haracteristicsformthedetectedfacecandidatearea.
LiHuasheng,andothersmadefromthefaceofregionalgrowthinthegmenttheface
image,andthenuedgedetection,Houghtransform,templatematchingandvariance
projectiontechnologycanquicklyandeffectivelyextractthefacialorganssuchayes,
ultsshowthattheapproachtheyhaveahigher
accuracyrate(95.5%)andilluminationrobustness.
JiangJun,tent
nalysisof
enoughsamplesoffaceimagesbadongray-scaleimagesofhumanfaceandedge
informationtobuildamorecompleteknowledgeba;tospeedupthedetectionrate,using
mentalresultsshowthatthemethodisrobust,cansolve
thecomplexbackgroundofmultiplefacesdetection.
LuChunetalonthemosaicmethodisimproved,accordingtothedistributionofface
tofaceorganisdividedinto3×3withmosaicpieces,thedetectionadaptivelyadjustthe
sizeofeachblock,usingatbadonthestatisticalcharacteristicsofintensityand
gradientblockofknowledgerulestestwhetherthehumanfaceoftheregion,achieved
goodresults.
52
3Feature-badmethods
Feature-badmethodcannotonlyfacialfeaturesfromtheexistingbutalsofromtheir
wledge-badapproachinstead,itistofindthe
ademanyfirstfacialfeaturedetection,
features,suchayebrows,
eyes,no,mouthandhair,thegeneraluoftheedgedetectorextractedbythefeature,
buildstatisticalmodelsdescribingtherelationshipbetweenfeaturesandtodeterminethe
e-badalgorithmproblemisthat,duetolight,noi
andocclusioncharacteristicssuchastheimagewasriouslydamaged,thecharacteristics
oftheboundaryfaceisweakened,theshadowmaycauastrongedge,theedgemaymake
thealgorithmsdifficulttou.
Siroheypropodgmentationfromcomplexbackgroundforrecognitionofface
theedgemapandtheheuristicalgorithmtoremoveand
organizationaledge,butonlytosaveacontour,andthenfittedwithanovalheadareaand
,whomadepositioningoffacialfeaturesandthegray
hefiltering,themethodincreadwiththemorphology
ofhighbrightness,withcertainshapes(suchastheeyes),whopropoda
detectorbadonlocalcharacteristicsandtheprobabilityofanygraphmatchingmethod,
listofindthefacialfeaturestodeterminethe
alfacewiththefivefeatures(twoeyes,twonostrilsandthenoand
lipsjunction)irststage,
theapplicationofthecondderivativeGaussianfilter,thefilterrespontodetectionof
localmaximumpointsofinterestthatmaybethelocationoffacialfeatures;thecond
stage,checktheinterestingpointsaroundtheedgeofthemcompositionoftheregion.
Advantage
etalpropodatechniquebadonmorphologicalgmentationandthusachievetheeye
53
inktheeyesandeyebrowsarethemostprominentfacial
characteristicsandstability,particularlysuitableforfacedetection.
Pengandothersintotheindustrymadeintheimageofasymmetricbiorthogonal
waveletcoefficientsdomain,symmetricmulti-scaletransformationmethod,andappliesit
-JiangWangandothers,afast
hodof
calculatingthefirstpersonofcolorimageswithsimilarpixelcolorclusteringand
gmentation,andthenusingwaveletdecompositionofacandidateregionforeachfacial
featureanalysis,suchastheregionalcharacteristicsofthedetecteddistributionofa
pre-definedmodelsimilartothehumanfaceisrecognizedreprentativeoftheregionface.
Inthefacedetectionandhandtracking,andmanyotherapplications,hasbeenudas
ghdifferentpeoplehavedifferentskincolor,
rearch
skinpixelcolorspace,includingRGB,normalizedRGB,HSV(orHIS),YcrCb,YIQ,YES,
simplestmodelistheuofCr,Cbvaluetodefineaskincolorpixelarea,thatis,R(Cr,
Cb),llychonthreshold[Cr1,Cr2]
and[Cb1,Cb2],ifthepixelvalue(Cr,Cb)tomeettheCr1≤Cr≤Cr2,Cb1≤Cb≤Cb2,
wasclassifiedintheskintones.
ntyears,
veralhavebeenpropodtoushapeanalysis,colorgmentationandmotion
informationcombinedwiththemodularsystemudintheimagequencetolocateand
tracktheheadandfacemethod.
4TemplateMatching
54
Sakaiandotherstoutheeyes,no,mouthandfacialcontoursub-template
modeling,b-linedividedaccordingtothe
ntbadonthemaximumextractionoftheinputimage
line,ingsub-imageandtherelationship
betweenthetemplatecontourtodetectthefacecandidateregion,completewiththeother
sub-templatematchinginthecandidateregion.
Craw,whopropodapositivefaceontheshapeofthetemplate(thatis,faceshape)
tedusingSobelfilteredge,theedgeorganizationstogether,
ositioninginthe
firstprofilewiththesameprocessrepeatedindifferentscaleslocatetheeyes,eyebrowsand
lipsandotherfeatures.
delaccordingto
thedefinitionofthecharacteristicsoftheedgeofcomposition,thefeaturesdescribethe
frontleftsideofface,stbevertical,noshelterand
positive.
Miao,
thefirstpha,inordertorotatetheimageprocessing,inputimagesfrom-20°~20°
rotation,everyrotation5°.Multi-resolutionimageformationandedgedetectionusing
mplatesgeneratedbysixfacetheedgeofthe
compositionofcomponents:twoeyebrows,twoeyes,y,the
ultsshowthatan
individualfacesintheimagecontainstheimagecontainsmorethantheresultofgood
personalface.
HongLiangLu,
approachtakesaccountoftheeyeinhumanfacerecognitionprocessofthespecialroleof
55
thetemplatetoubotheyesforcoarfilterfirst,thenfaceadifferentaspectratioto
matchthetemplate,thefinalvalidationrulestoumosaic.
ZHOUJietalpropodanewfacefacialcontourextractionalgorithm,thatis,apriori
templateandtheuofalternativecompensationmechanismstoextractthefacecontour.
Experimentalresultsshowthatthepropodfeatureextractionalgorithmefficientand
robustperformanceisgood.
Appearance-badmethods5
Templatematchingofthetemplateispredefinedbyexperts,andtemplatematching
methodsindifferentwaysbadontheappearanceofthe"template"imageofthesample
lly,themethodreliesontheappearanceofstatisticalanalysisand
machinelearningtechniquestofindthecorrespondingnon-faceimageoffaceandfeatures.
Studythecharacteristicsofthedistributionmodelordiscriminantfunctionformforface
detection,thesametime,computationalefficiencyandeffectivenessofthereasonsfor
testingoftenrequiresdimensionreduction.
Manyappearance-badmethodscanbeinterpretedastheprobabilityofthestructure.
Extractedfromtheimagefeaturevectorcanbeviewedasarandomvariablex,therandom
variablethroughtheclassconditionalprobabilitydensityfunctionp(x|face)andp(x|non
face)anclassifiercanbeudorthe
maximumlikelihoodfunctionofacandidatehumanfaceimagepositionclassificationor
unately,xofhighdimensiontomakeasimpleBayesianclassifierisnot
feasibletoachieve,becaup(x|face)andp(x|nonface)isamulti-peak,p(x|face)and
p(x|nonface)ore,the
appearance-badmethods,mostoftheworkinvolvedisdeterminedbytheexperienceof
usingnon-parametricmethodparametersorapproximatep(x|face)andp(x|nonface).
Inthisconnection,itisthemainfeatureoftheface(Eigenfaces)methodsandmethods
badondistribution(Distribution-badMethods)rwayisto
56
ytheimagepattern
projectedontoalowerdimensionspaceandthenformadiscriminantfunction
classification,ortheformationofneuralnetworksusingmultilayernonlineardecision
euralnetworksforfacedetectionhastheadvantageofasystemoftraining
togetpeoplefacethecomplexclassconditionaldensitymodelasfeasible;butthe
disadvantageistheneedtoadjustawiderangeofnetworkstructure(suchasthenumberof
layers,thenumberofnodes,learningspeed,etc.)forexceptionalperformance.
HiddenMarkovmodels(HiddenMarkovModel,HMM)wasthatpeopleudtoface
dinpatternrecognitionproblems,needtodeterminethenumberof
hiddenstatetoformapattern,then,thetrainingsamplestolearnfromthetraditionalHMM
stateprobabilitybetweentheirobrvationsofeachsamplewaxpresdasaquence.
ThepurpoofthetrainingHMMmodelbyadjustingparameterstomaximizethe
rainingHMMmodels,theoutput
ntyears,
propodthesupportvectormachine(SupportVectorMachines,SVMs)andotherkernel
ethodswillbeprojectedontoahigherdimensionmodelspace,
andthenintheprojectionofthehumanfaceandnonfaceadecisionbetweenthesurface
assifierisalinearclassifier,thechoiceofparatinghyperplanetothe
lhyperplaneisthe
combinationofweighttrainingthroughthesmallsubtofvectors(calledsupportvectors)
todefine,however,itscomputationtimeandmemoryisgreat.
6Discussion
Thisarticlewillfacedetectionmethodisdividedintofourmaincategories:
knowledge-badmethods,featureinvariantmethods,templatematchingand
therearesomemethodscanbeclassifiedintomore
thanonemethod,forexample,templatematchingmethodiscommonlyudmodelsand
childfacetemplateforfacefeatureextraction,andthenuthefeaturestolocateand
57
ore,inrecentyears,therehavebeenpropodbadonhybrid
approachbadonacombinationoftwoormore
speciesofthepreviouslymentionedmethods,andthenformamoreaccurateandrobust
eenpropod,suchascolorandmovementbadfusion
method,movement,color,shapeinformationfusion,colorgmentation,motiondetection,
ntheadvantagesofhybrid
approachistoachievetheintegrationofinformation,theadvantageofhybridmethodisa
waytomaketheshortcomingsoftheadvantagestobeanotherwayofcompensation.
Therefore,thehybridmethodwillbethefutureofrearchinthefieldoffacedetectionthe
tcomplexbackgroundimagefacedetectionmethodmorecorrectfor
-pofacedetection(especiallythesideofthefacedetection)
arestillverydifficult,chinthisareawillalsobeapriority.
58
人臉檢測(cè)方法綜述
摘要:人臉圖像處理包括人臉檢測(cè)、人臉識(shí)別、人臉跟蹤、姿態(tài)估計(jì)和表情識(shí)別
等。為了構(gòu)造自動(dòng)處理人臉圖像的信息系統(tǒng),首先需要魯棒、有效的人臉檢測(cè)算法。分
析了有關(guān)人臉檢測(cè)問題的研究方法,并對(duì)其進(jìn)行了分類和評(píng)價(jià)。從基于知識(shí)的方法、特
征不變方法、模板匹配方法和基于外觀的方法等四個(gè)方面介紹了相關(guān)的算法和理論,分
析了各種方法的優(yōu)缺點(diǎn),并提出了關(guān)于人臉檢測(cè)問題的進(jìn)一步研究方向。
關(guān)鍵詞:人臉檢測(cè);人臉識(shí)別;基于視覺的識(shí)別;統(tǒng)計(jì)模式識(shí)別;機(jī)器學(xué)習(xí)
1引言
近年來,人臉和面部表情識(shí)別已經(jīng)吸引了更多科研人員的注意。任何人臉處理系統(tǒng)
的第一步都是檢測(cè)人臉在圖像中的位置。然而,從一幅圖像中檢測(cè)人臉是一項(xiàng)極具挑戰(zhàn)
性的任務(wù),因?yàn)槠涑叨?、位置、方向和位姿都是變化?面部表情、遮擋和光照條件也
是變化的。
人臉檢測(cè)是指在輸入圖像中確定所有人臉(如果存在)的位置、大小和位姿的過
程。人臉檢測(cè)作為人臉信息處理中的一項(xiàng)關(guān)鍵技術(shù),近年來已成為模式識(shí)別與計(jì)算機(jī)
視覺領(lǐng)域內(nèi)一項(xiàng)受到普遍重視,研究十分活躍的課題。
人臉識(shí)別或辨認(rèn)、人臉定位以及人臉追蹤等都與人臉檢測(cè)密切相關(guān)。人臉定位
的目的是確定圖像中人臉的位置。假設(shè)一幅圖像中只存在一張臉,則面部特征檢測(cè)的
目的是檢測(cè)特征的存在和位置,如眼睛、鼻子(鼻孔)(眉毛)(嘴)(嘴唇)耳朵等。
人臉識(shí)別或辨認(rèn)是將輸入圖像與數(shù)據(jù)庫(kù)中的圖像比對(duì),如果存在,報(bào)告匹配結(jié)果。人臉
識(shí)別的目的是檢驗(yàn)輸入圖像中的個(gè)體的身份,而人臉追蹤方法是實(shí)時(shí)地、連續(xù)地估計(jì)
在圖像序列中的人臉的位置和可能的方向。面部表情識(shí)別涉及識(shí)別人類的情感狀態(tài)
(高興、悲傷、厭惡等)。很明顯,在任何解決上述問題的自動(dòng)識(shí)別系統(tǒng)中,人臉檢測(cè)
是第一步。
從一幅圖像中檢測(cè)人臉的方法可以分為以下四種:
(1)基于知識(shí)的方法它將典型的人臉形成規(guī)則庫(kù)對(duì)人臉進(jìn)行編碼。通常,通過面部特
征之間的關(guān)系進(jìn)行人臉定位。
(2)特征不變方法該算法的目的是在姿態(tài)、視角或光照條件改變的情況下找到存
在的結(jié)構(gòu)特征,然后使用這些特征確定人臉。
(3)模板匹配方法存儲(chǔ)幾種標(biāo)準(zhǔn)的人臉模式,用來分別描述整個(gè)人臉和面部特征;
計(jì)算輸入圖像和存儲(chǔ)的模式間的相互關(guān)系并用于檢測(cè)。
(4)基于外觀的方法與模板匹配方法相反,從訓(xùn)練圖像集中進(jìn)行學(xué)習(xí)從而獲得模型
(或模板),并將這些模型用于檢測(cè)。
2基于知識(shí)的方法
基于知識(shí)的方法是基于規(guī)則的人臉檢測(cè)方法,規(guī)則來源于研究者關(guān)于人臉的先驗(yàn)知
識(shí)。一般比較容易提出簡(jiǎn)單的規(guī)則來描述人臉特征和它們的相互關(guān)系,如在一幅圖像中
出現(xiàn)的人臉,通常具有互相對(duì)稱的兩只眼睛、一個(gè)鼻子和一張嘴。特征之間的相互關(guān)系
可以通過它們的相對(duì)距離和位置來描述。在輸入圖像中首先提取面部特征,確定基于編
碼規(guī)則的人臉候選區(qū)域。
59
這種方法存在的問題是很難將人類知識(shí)轉(zhuǎn)換為明確定義的規(guī)則。如果規(guī)則是詳細(xì)的
(嚴(yán)格的),由于不能通過所有的規(guī)則檢測(cè)可能失敗;如果規(guī)則太概括(通用),可能會(huì)
有較高的錯(cuò)誤接收率。此外,很難將這種方法擴(kuò)展到在不同的位姿下檢測(cè)人臉,因?yàn)榱?/p>
舉所有的情況是一項(xiàng)很困難的工作。
Yang和Huang使用分層的基于知識(shí)的人臉檢測(cè)方法,他們的系統(tǒng)由三級(jí)規(guī)則組
成。在最高級(jí),通過掃描輸入圖像的窗口和應(yīng)用每個(gè)位置的規(guī)則集找到所有可能的人
臉候選區(qū)。較高級(jí)的規(guī)則通常描述人臉看起來像什么,而較低級(jí)的規(guī)則依賴于面部特
征的細(xì)節(jié)。多分辨率的分層圖像通過平均和二次采樣生成,如圖1所示。編碼規(guī)則通
常在較低的分辨率下確定人臉的候選區(qū),包括人臉的中心部分(圖2中較淺的陰影部
分),其中有四個(gè)基本上相同的灰度單元。
在人臉的上層周圍部分具有相同的灰度。人臉的中心部分和上層周圍的灰度不同。
最低分辨率的(Lever1)圖像用于搜索人臉的候選區(qū)并在后面較精細(xì)的分辨率下作進(jìn)
一步處理。在Lever2完成人臉候選區(qū)的局部直方圖均衡化,并進(jìn)行邊緣檢測(cè)。繼續(xù)存
在的候選區(qū)在Lever3用其他的人臉特征,如眼睛、嘴等對(duì)應(yīng)的規(guī)則進(jìn)行檢查。這種方法
的特點(diǎn)是用從粗—細(xì)的策略來減少所需要的計(jì)算,雖然它沒有很高的檢測(cè)率,但采用多
分辨率分層的思想和指導(dǎo)搜索的規(guī)則已經(jīng)用到后面的人臉檢測(cè)工作中。
Kotropoulos和Pitas提出了一種基于規(guī)則的定位方法。用投影方法確定面部特
征,I(x,y)是m×n圖像中(x,y)位置的灰度值,圖像的水平和垂直投影定義為
HI(x)=Σny=1I(x,y)和VI(y)=Σmx=1I(x,y)。通過在HI中的急
劇變化檢測(cè)到兩個(gè)局部最小點(diǎn),它對(duì)應(yīng)于頭部的左右兩邊,獲得輸入圖像的水平輪廓。類
似地,獲得垂直的輪廓,局部最小點(diǎn)的確定用于定位嘴唇、鼻尖和眼睛。這些檢測(cè)到的
特征組成了面部候選區(qū)。
李華勝等人提出通過區(qū)域增長(zhǎng)從人臉圖像中分割出人臉,再利用邊緣檢測(cè)、Hough
變換、模板匹配和方差投影技術(shù)可以快速有效地提取出人臉面部器官,如眼睛、鼻子和
60
嘴巴等特征。實(shí)驗(yàn)結(jié)果表明其所采用的方法具有較高的準(zhǔn)確率(95.5%)和光照魯棒
性。
姜軍等人提出了一種基于知識(shí)的快速人臉檢測(cè)方法。采用符合人臉生理結(jié)構(gòu)特征
的人臉鑲嵌圖模型。在分析了足夠多的人臉圖像樣本基礎(chǔ)上,針對(duì)人臉圖像的灰度和邊
緣信息,建立了一種較為完備的知識(shí)庫(kù);為加快檢測(cè)速度,采用了多級(jí)檢測(cè)步驟。實(shí)驗(yàn)
結(jié)果表明,其方法具有較強(qiáng)的魯棒性,能夠很好地解決復(fù)雜背景下的多人臉檢測(cè)問題。
盧春雨等人對(duì)鑲嵌圖方法進(jìn)行了改進(jìn),按照人臉器官的分布將人臉劃分為3×3
個(gè)馬賽克塊,在檢測(cè)中自適應(yīng)地調(diào)整各塊的大小,使用一組基于各塊灰度和梯度統(tǒng)計(jì)特
征的知識(shí)規(guī)則檢驗(yàn)該區(qū)域是否為人臉,取得了較好的實(shí)驗(yàn)結(jié)果。
3基于特征的方法
基于特征的方法不僅可以從已有的面部特征而且可以從它們的幾何關(guān)系進(jìn)行人臉
檢測(cè)。與基于知識(shí)的方法相反,它是尋找人臉的不變特征用于人臉檢測(cè)。人們已經(jīng)提出
了許多先檢測(cè)人臉面部特征,后推斷人臉是否存在的方法。面部特征,如眉毛、眼睛、
鼻子、嘴和發(fā)際,一般利用邊緣檢測(cè)器提取,根據(jù)提取的特征,建立統(tǒng)計(jì)模型描述特征
之間的關(guān)系并確定存在的臉?;谔卣鞯乃惴ù嬖诘膯栴}是,由于光照、噪聲和遮擋等
使圖像特征被嚴(yán)重地破壞,人臉的特征邊界被弱化,陰影可能引起很強(qiáng)的邊緣,而這些邊
緣可能使得算法難以使用。
Sirohey提出了從復(fù)雜的背景中分割人臉進(jìn)行人臉識(shí)別的定位方法。它使用邊緣
圖和啟發(fā)式算法來去除和組織邊緣,而只保存一個(gè)邊緣輪廓,然后用一個(gè)橢圓擬合頭部
區(qū)域和背景間的邊界。Graf等人提出定位灰度圖像的面部特征和人臉的檢測(cè)方法。在
濾波以后,用形態(tài)學(xué)的方法增強(qiáng)具有高亮度、含有某些形狀(如眼睛)的區(qū)域。Leung
等人提出一種基于局部特征檢測(cè)器和任意圖匹配的概率方法,在復(fù)雜場(chǎng)景中定位人臉
其目標(biāo)是找到確定的面部特征的排列。典型的人臉用五個(gè)特征(兩只眼睛、兩個(gè)鼻孔
和鼻子與嘴唇的連接處)來描述。Yow和Cipolla提出了一種基于特征的方法。在第一階
段,應(yīng)用了二階微分Gaussian濾波器,在濾波器響應(yīng)的局部最大點(diǎn)檢測(cè)感興趣的點(diǎn),
指出人臉特征可能的位置;第二階段,檢查感興趣點(diǎn)周圍的邊緣并將它們組成區(qū)域。這
種方法的優(yōu)點(diǎn)是可以在不同的方向和位姿上檢測(cè)人臉。Han等人提出了一種基于形態(tài)學(xué)
的技術(shù)進(jìn)行眼部分割進(jìn)而實(shí)現(xiàn)人臉檢測(cè)的方法。他們認(rèn)為眼睛和眼眉是人臉最突出和穩(wěn)
定的特征,特別適合人臉檢測(cè)。
彭進(jìn)業(yè)等人提出了一種在圖像的反對(duì)稱雙正交小波分解數(shù)據(jù)域中,實(shí)現(xiàn)多尺度對(duì)稱
變換的方法,并將它應(yīng)用于臉部圖像中主要特征點(diǎn)的定位。王延江等人提出了一種快速
的彩色圖像中復(fù)雜背景下人臉檢測(cè)方法。其方法首先計(jì)算對(duì)彩色圖像中與人的膚色相似
的像素進(jìn)行聚類和區(qū)域分割,然后利用小波分解對(duì)每一個(gè)候選區(qū)域進(jìn)行人臉特征分析,
如所檢測(cè)到的區(qū)域特征分布與某一預(yù)先定義的人臉模型相似,則確認(rèn)該區(qū)域代表人臉。
在人臉檢測(cè)和手的跟蹤等許多應(yīng)用中,已經(jīng)使用了人類的皮膚顏色作為特征。雖然
不同的人有不同的皮膚顏色,研究表明主要的不同在于它們的亮度而不是它們的色度。
標(biāo)注皮膚像素的顏色空間包括RGB、規(guī)格化的RGB,HSV(或HIS),YcrCb,YIQ,YES,CIE
XYZ和CIELUV。人們已經(jīng)提出了許多方法用于構(gòu)建顏色模型。最簡(jiǎn)單的模型是使用Cr,
Cb值定義一個(gè)皮膚色調(diào)像素區(qū)域,也就是R(Cr,Cb),從皮膚顏色像素得到樣本。仔
細(xì)選擇閾值[Cr1,Cr2]和[Cb1,Cb2],如果像素值(Cr,Cb)滿足Cr1≤Cr
≤Cr2,Cb1≤Cb≤Cb2,就被分類到皮膚色調(diào)中。
皮膚顏色通常不能獨(dú)自進(jìn)行人臉檢測(cè)和追蹤。近年來,人們已經(jīng)提出幾種使用形狀
61
分析、顏色分割和運(yùn)動(dòng)信息結(jié)合的模塊化系統(tǒng)在圖像序列中用于定位和追蹤頭部和人臉
的方法。
4模板匹配
Sakai等人使用眼睛、鼻子、嘴和人臉輪廓等子模板建模,檢測(cè)照片中的正面人臉。
每一個(gè)子模板按照線分割定義。基于最大梯度變化提取輸入圖像的線,然后與子模板匹
配。計(jì)算子圖像和輪廓模板之間的相互關(guān)系去檢測(cè)人臉的候選區(qū)域,完成用其他子模板
在候選區(qū)域的匹配。
Craw等人提出了一種基于正面人臉的形狀模板(也就是人臉的外形)定位方法。
用Sobel濾波器提取邊緣,將邊緣組織在一起,根據(jù)幾個(gè)約束條件去搜索人臉模板。在
頭輪廓定位以后,用相同的過程以不同的尺度重復(fù)定位眼睛、眼眉和嘴唇等特征。
Govindaraju等人提出兩個(gè)階段的人臉檢測(cè)方法。人臉模型根據(jù)邊緣定義的特征構(gòu)
成,這些特征描述了正面人臉的左邊、發(fā)際和右邊的曲線。人臉必須是垂直、無遮擋和
正面的。
Miao等人提出了用于人臉檢測(cè)的層次模板匹配方法。在第一階段,為了處理旋轉(zhuǎn)圖
像,輸入圖像從-20°~20°旋轉(zhuǎn),每次旋轉(zhuǎn)5°。多分辨率圖像層次形成和邊緣提取使
用Laplacian操作符。人臉模板通過六個(gè)人臉成分產(chǎn)生的邊緣組成:兩個(gè)眼眉、兩只眼
睛、一個(gè)鼻子和一張嘴。最后,應(yīng)用啟發(fā)式確定人臉的存在。實(shí)驗(yàn)結(jié)果表明在圖像含有
單個(gè)人臉要比圖像中含有多個(gè)人臉的結(jié)果好。
梁路宏等人使用了直接的平均臉模板匹配方法。其方法考慮到眼睛在人類辨識(shí)人
臉過程中的特殊作用,使用雙眼模板首先進(jìn)行粗篩選,然后使用不同長(zhǎng)寬比的人臉模板
進(jìn)行匹配,最后使用馬賽克規(guī)則進(jìn)行驗(yàn)證。
周激流等人提出了一種全新的人臉臉部輪廓提取算法,即運(yùn)用先驗(yàn)?zāi)0寮敖惶嫜a(bǔ)償
機(jī)制的方法提取臉部輪廓。實(shí)驗(yàn)證明,其提出的特征提取算法高效且魯棒性能好。
5基于外觀的方法
模板匹配中的模板是由專家預(yù)定義的,與模板匹配中的方法不同,基于外觀方法中
的“模板”是從圖像中的樣本學(xué)習(xí)的。通常,基于外觀的方法依靠統(tǒng)計(jì)分析和機(jī)器學(xué)習(xí)
技術(shù)找到相應(yīng)的人臉和非人臉圖像的特征。學(xué)習(xí)的特征由分布模型或判別函數(shù)形成,用
于人臉檢測(cè),同時(shí),由于計(jì)算效率和檢測(cè)有效性的原因通常需要降維。
許多基于外觀的方法可以被理解為概率結(jié)構(gòu)。從圖像中提取的特征向量可以看作
是一個(gè)任意的變量x,此隨機(jī)變量通過類條件概率密度函數(shù)p(x|face)和p(x|non
face)描述人臉和非人臉??梢杂肂ayesian分類器或最大似然函數(shù)將一個(gè)候選圖像位
置分類為人臉或非人臉。不幸的是,x的高維度使簡(jiǎn)單實(shí)現(xiàn)Bayesian分類器是不可行的,
因?yàn)閜(x|face)和p(x|nonface)是多峰的,p(x|face)和p(x|nonface)是
否存在自然參數(shù)化的形式還不清楚。因此,在基于外觀的方法中,大多數(shù)工作涉及的
是由經(jīng)驗(yàn)確定的參數(shù)或用非參數(shù)方法近似p(x|face)和p(x|nonface)。在這方
面人們主要研究了特征臉(Eigenfaces)方法和基于分布的方法(Distribution-bad
Methods)用于人臉檢測(cè)。另一種方法是在人臉和非人臉之間找到判別函數(shù)。通常將圖
像模式投影到較低的維數(shù)空間,然后形成判別函數(shù)進(jìn)行分類,或者利用多層神經(jīng)元網(wǎng)絡(luò)
形成非線性的決策面。使用神經(jīng)元網(wǎng)絡(luò)進(jìn)行人臉檢測(cè)的優(yōu)點(diǎn)是使訓(xùn)練一個(gè)系統(tǒng)來獲得人
臉模式的復(fù)雜類條件密度成為可行;而缺點(diǎn)是必須大范圍地調(diào)整網(wǎng)絡(luò)結(jié)構(gòu)(如層的個(gè)
數(shù)、節(jié)點(diǎn)的個(gè)數(shù)、學(xué)習(xí)速度等)以獲得非凡的性能。
62
隱藏Markov模型(HiddenMarkovModel,HMM)也被人們用于人臉檢測(cè)。在HMM用
于模式識(shí)別問題時(shí),需要確定許多隱藏的狀態(tài)形成一個(gè)模式,然后,訓(xùn)練HMM從樣本中學(xué)
習(xí)傳統(tǒng)狀態(tài)間的概率,其每個(gè)樣本被表示為觀察序列。訓(xùn)練HMM的目的是通過HMM模型中
的參數(shù)調(diào)整最大化觀察的訓(xùn)練數(shù)據(jù)的概率。訓(xùn)練HMM模型以后,觀察的輸出概率確定了其
所屬的類別。近年來,人們又提出了支持向量機(jī)(SupportVectorMachines,SVMs)和
其他的核函數(shù)方法。這些方法將模式投影到較高維數(shù)空間,然后在投影的人臉和非人臉
模式之間形成一個(gè)決策面。SVMs分類器是線性分類器,所選擇的分類超平面使未知測(cè)試
樣本的分類錯(cuò)誤最小。最優(yōu)超平面是通過權(quán)值結(jié)合訓(xùn)練向量的小子集(稱為支持向量)
來定義的,然而,其時(shí)間和內(nèi)存的計(jì)算量是很大的。
6討論
本文將人臉檢測(cè)方法分為四個(gè)主要類別:基于知識(shí)的方法、特征不變方法、模板
匹配方法和基于外觀的方法。實(shí)際上有一些方法也可以被分類到不止一種方法中,例
如,模板匹配方法通常使用人臉模型和子模板提取人臉特征,然后利用這些特征定位
和檢測(cè)人臉。所以,近年來人們提出了基于混合方法的人臉檢測(cè)方法。基于混合的方
法結(jié)合了兩種或更多種前面提到的方法,進(jìn)而形成更準(zhǔn)確和魯棒的人臉檢測(cè)系統(tǒng)。如
人們已經(jīng)提出了基于顏色和運(yùn)動(dòng)的融合方法,運(yùn)動(dòng)、顏色、形狀信息融合方法,顏色
分割、運(yùn)動(dòng)檢測(cè)、形狀分析的融合方法等進(jìn)行人臉檢測(cè)。基于混合方法的優(yōu)點(diǎn)是實(shí)現(xiàn)
了信息的融合,混合方法的優(yōu)勢(shì)是使一種方法的缺點(diǎn)被另一種方法的優(yōu)點(diǎn)補(bǔ)償。因此,
混合方法將是未來人臉檢測(cè)研究領(lǐng)域的主要課題。目前復(fù)雜背景圖像中的人臉檢測(cè)方
法多針對(duì)正面端正的人臉。多姿態(tài)人臉的檢測(cè)(特別是側(cè)面人臉的檢測(cè))還存在很大
的困難,有效的方法還不多。這方面的研究也將是一個(gè)重點(diǎn)。
本文發(fā)布于:2023-03-05 18:58:38,感謝您對(duì)本站的認(rèn)可!
本文鏈接:http://www.newhan.cn/zhishi/a/1678013919125598.html
版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請(qǐng)勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)刪除。
本文word下載地址:人臉識(shí)別論文.doc
本文 PDF 下載地址:人臉識(shí)別論文.pdf
| 留言與評(píng)論(共有 0 條評(píng)論) |