
基于OpenCV的人臉檢測
摘要
人臉檢測是指使用計算機在動態的場景或復雜的背景中檢測出人臉的存在,并確
定所有人臉的位置與大小的過程。人臉檢測技術不僅是人臉識別、表情識別、人臉跟
蹤等技術的重要前提條件,同時在模式識別、人機交互、智能監控、視頻檢索等領域
也引起了廣泛的重視。
本論文簡單介紹了國內外人臉識別技術研究及應用的發展現狀及其難點分析。在
第二章中介紹了包括基于知識的方法、特征不變量方法、模板匹配方法、基于外觀的
方法四類檢測方法;在第三章簡單介紹了四種經典的檢測方法,包括特征臉、神經網
絡、隱馬爾可夫模型方法、支持向量機。
在第四章重點分析了AdaBoost算法中集成機器學習的一個重要機制:多個弱分
類器集成的方法,機器學習中的弱學習到強學習,集成的關鍵是投票,最簡單的方法
是“絕對多數”的方法。在第五章詳細分析了AdaBoost算法檢測速度快、可以檢測
任意尺度的圖像的特點。
在這個理論基礎上,本文中人臉算法的研究基于OpenCV開源代碼,在OpenCV開
源代碼中設計了一些基礎的數據類型和一些幫助數據類型。由于OpenCV的源代碼完
全開放,本文的研究中利用這套代碼在PC上以VisualC++集成開發環境做平臺搭建了
一個基于OpenCV的人臉檢測系統,進行了人臉檢測仿真,并對其結果進行分析。
關鍵詞:人臉檢測;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章人臉檢測........................................................................................................................................5
1.1背景..............................................................................................................................................5
1.2目前的研究狀況..........................................................................................................................6
1.3概念..............................................................................................................................................6
1.4人臉檢測及其合成技術的應用領域..........................................................................................6
1.5人臉檢測評價標準......................................................................................................................7
第2章檢測方法........................................................................................................................................9
2.1基于知識的方法..........................................................................................................................9
2.2特征不變量方法..........................................................................................................................9
2.3模板匹配方法............................................................................................................................10
2.4基于外觀的方法........................................................................................................................11
第3章經典方法概述..............................................................................................................................13
3.1特征臉........................................................................................................................................13
3.2神經網絡....................................................................................................................................13
3.3隱馬爾可夫模型方法................................................................................................................14
3.4支持向量機................................................................................................................................14
第4章Adaboost算法.............................................................................................................................16
4.1概述............................................................................................................................................16
4.1.1Adaboost算法簡介.......................................................................................................16
4.1.2Adaboost人臉檢測算法...............................................................................................17
4.2弱學習與強學習........................................................................................................................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使用積分圖計算............................................................................................................25
5.4Haar特征值計算.......................................................................................................................27
第6章人臉檢測的實現..........................................................................................................................31
6.1OpenCV概述...............................................................................................................................31
6.1.1OpenCV簡介.................................................................................................................31
4
6.1.2應用領域........................................................................................................................31
6.1.3OpenCV的起源.............................................................................................................32
6.1.4OpenCV的基本結構.....................................................................................................32
6.1.5OpenCV的特征.............................................................................................................33
6.2OpenCV在檢測中的應用...........................................................................................................34
6.2.1編譯OpenCV.................................................................................................................34
6.2.1為VC++2008Express配置OpenCV環境.................................................................36
6.3實驗結果....................................................................................................................................37
6.4結論:........................................................................................................................................39
參考文獻......................................................................................................................................................40
致謝.........................................................................................................................................................42
附錄一人臉檢測源程序..........................................................................................................................43
附錄二外文翻譯........................................................................................................................................48
5
第1章人臉檢測
1.1背景
人臉檢測問題最初來源于人臉識別,任何一個自動的人臉識別系統首先必須對人臉
進行準確的定位,因此實時而有效的人臉檢測顯得尤為重要。跟其他生物特征識別方法
相比,人臉識別具有更加直接、方便、友好的特點,因其非侵犯性更容易被用戶所接受。
而且,通過對人臉的表情、姿勢等作分析,還能獲得其他識別系統難以獲得的信息,因
此人臉識別成為最有潛力的生物身份驗證手段。早期的人臉識別研究主要針對具有較強
約束條件的人臉圖像(如無背景的圖像),因此假設人臉容易獲得或在手工交互下運用,
而人臉檢測問題并未得到重視。
近年來,隨著信號處理理論和計算機的出現及其發展,人們開始用攝像機獲取環境
圖像并將其轉換成數字信號,用計算機實現對視覺信息的處理,這就形成了計算機視覺。
計算機視覺是當前計算機科學中的一個非常活躍的領域,其基本假設是:可以用計算的
方式來模擬人類的視覺機制。
人臉的自動識別是一種重要的生物特征識別技術,與其它身份識別方法相比,人臉
識別具有直接、方便、友好等特點,因而人臉自動識別問題的研究不僅具有重要的應用
價值,而且具有重要的理論意義。現在,隨著科學技術和電子商務的發展,人臉檢測的
應用背景已經遠遠超出了人臉識別系統的范疇,在基于內容的檢索、數字視頻處理、計
算機視覺、人機交互等方面都有著重要的應用價值。
人臉識別通過計算機提取人臉的特征,并根據這些特征進行身份驗證。人臉與人
體的其他生物特征(指紋、虹膜等)一樣與生俱來不可改變,它們所具有的唯一性和不
易被復制的良好特性為身份鑒別提供了必要的前提,同其他生物特征識別技術相比,
人臉識別技術具有操作簡單、結果直觀、隱蔽性好的優越性。人臉識別一般包括三個
步驟:人臉檢測、人臉特征提取和人臉的識別與驗證。其處理流程如圖1-1所示。
圖1-1人臉識別的一般步驟
輸入
圖像
人臉
圖像
人臉
特征
輸出
結果
人臉
檢測
特征
提取
身份識別
驗證
6
1.2目前的研究狀況
人臉檢測是一個復雜的極具挑戰性的模式檢測,其主要的難點有兩方面:一方面
是由于人臉內在的變化所引起:
(1)人臉具有很復雜的細節變化,不同的外貌特征如臉形、膚色等,不同的表情
如眼、嘴的開與閉等;
(2)其他物體對人臉的遮擋,如眼鏡、頭發和頭部飾物以及其他外部物體等;
另外一方面由于外在條件變化所引起:
(3)成像角度的不同也能造成人臉的多姿態,如平面內旋轉、深度旋轉以及上下
旋轉,其中深度旋轉影響較大;
(4)光照的影響,如圖像中的亮度、對比度的變化和陰影等;
(5)圖像的成像條件,如攝像設備的焦距、成像距離,圖像獲得的途徑等等。
這些困難都為解決人臉問題造成了難度。如果能找到一些相關的算法并使其能在
應用過程中達到實時,將為成功構造出具有實際應用價值的人臉檢測系統提供保證。
目前,國外對人臉檢測問題的研究有很多,比較著名的有MIT,CMU等;國內的
清華大學、北京工業大學、中科院計算所和自動化所等都有人員從事人臉檢測相關的
研究。而且,MPEG7標準組織已經成立了人臉識別草案小組,人臉檢測算法也是一
項征集的內容。隨著人臉檢測研究的深入,國際上發表的有關論文數量也在大幅度增
長,如IEEE的FG、ICIPCVPR等重要國際會議上每年都有大量關于人臉檢測的論
文,占有關人臉研究論文的1/3之多。由此可見世界范圍的學者對人臉檢測技術的重
視。
1.3概念
人臉檢測是指對于任意一幅給定的圖像,采用一定的策略進行搜索來確定其中是
否含有人臉,如果是,就返回人臉的位置、大小和姿態。
人臉檢測是自動人臉識別系統中的一個關鍵環節。隨著電子商務等應用的發展,
人臉識別成為最有潛力的生物身份驗證手段,這種應用背景要求自動人臉識別系統能
夠對一般圖像具有一定的識別能力,由此所面臨的一系列問題使得人臉檢測開始作為
一個獨立的課題受到研究者的重視。現在,人臉檢測的應用背景已經遠遠超出了人臉
識別系統的范疇,在基于內容的檢索、數字視頻處理、視頻檢測等方面有著重要的應
用價值。
1.4人臉檢測及其合成技術的應用領域
近年來,視頻人臉檢測及其合成技術受到越來越多研究者的關注,這主要由于兩方
7
面原因:一方面,計算機計算和存儲成本的大幅度下跌使得以視頻速率或近似視頻速率
采集存儲圖像序列成為可能;另一方面,視頻跟蹤識別技術的極為廣闊的市場應用前景
也是推動此研究的主要動力。主要應用在一下五個領域:
(1)身份認證與安全防護
最通俗的例子就是門禁控制。門禁控制是為了有效的控制人員的出入,并且記錄
所有進出的詳細情況,實現對出入的安全管理。人臉門禁系統是一種基于人臉識別技
術的新型訪問控制系統,將具有訪問權限的訪問者的人臉信息存放在人臉數據庫中,
對人臉信息進行學習訓練。通過攝像機動態捕獲人臉,將人臉信息同數據庫中人臉信
息進行檢索比對,只有圖像信息符合的人才可以進入,否則拒絕進入,并對強行進入
者發出報警。
在這個世界上,只要有門的地方幾乎都帶有一把鎖。當然,在許多安全級別要求
較高的區域,例如金融機構、機關辦公大樓、運動場館、甚至重要設施的工地,都需
要對大量的人員進行基于身份認證的門禁管理。手機、筆記本電腦等個人電子用品,
在開機和使用中經常要用到身份驗證功能。
(2)媒體與娛樂
人們的許多娛樂活動都是跟臉部有關的。最著名的娛樂節目之一就是川劇的變臉。
在網絡虛擬世界里,通過人臉的變化,可以產生大量的娛樂節目和效果。手機、數碼相
機等消費電子產品中,基于人臉的娛樂項目越來越豐富。QQ、MSN等即時通信工具以
及虛擬化身網絡游戲也是人臉合成技術的廣闊市場。
另外還有家庭娛樂。家庭娛樂是指能夠識別主人身份的智能玩具,家政機器人,具
有真實面像的虛擬游戲玩家等。隨著電子技術水平的提高,家庭娛樂會得到廣泛的應用,
其中的關鍵技術之一也是人臉的跟蹤識別。
(3)圖像搜索
目前,Google的圖像搜索其實還是文字搜索。基于人臉圖像識別技術的搜索引擎
將會具有廣泛的應用前景。
(4)協助調查
目前,在銀行、金庫發生搶劫事件已經屢見不鮮。發生這樣的事件不是一時就能
夠制止的,但是可以通過人臉檢測的設備來提取并記錄罪犯的人臉,提供給公安機關
以幫助破案。
(5)信息安全
信息安全是指計算機和網絡的登錄、文件的加密和解密。在信息安全中,人臉的識
別也是其中的一個關鍵技術。
1.5人臉檢測評價標準
人臉檢測系統性能主要評價標準有:檢測率,誤檢率,檢測速度以及魯棒性:
8
(1)檢測率
被正確檢測到的人臉數與圖像內包含的人臉數的比值。檢測率越高,說明檢測系統
對人臉的接受能力越強。
(2)誤檢率
也稱虛警率,誤報率。被誤檢為人臉的非人臉子窗口數與圖像內被檢測的所有非人
臉子窗口數的比值。設圖像內被檢測的所有非人臉子窗口數為N2,被誤檢為人臉的非
人臉子窗口數為從,則誤檢率為Nl/N2。再設圖像內被檢測的所有子窗口數為N,圖像
內包含的人臉數為Nl,N=Nl。當N>Nl時,誤檢率近似于Nl/N。
檢測率無法反映系統對非人臉的排除能力,有可能出現這種情況:所有人臉都被檢
測到,但同時很多非人臉區域被誤認為是人臉。因此引入誤檢率來衡量系統對非人臉的
排除能力。誤檢率越低,說明檢測系統對非人臉的排除能力越強。
(3)檢測速度
大部分應用領域需要在線實時地檢測人臉,如人臉識別、人臉跟蹤,視頻監控等。
在檢測率和誤檢率達到滿意的前提下,檢測速度越快越好。
(4)魯棒性
即在各種條件下,檢測系統的適應能力。如復雜背景的干擾,人臉姿態的影響,光
照條件的影響,以及遮擋等因素的影響。
這四個標準有些是相互制約的,比如誤檢率隨著檢測率的提高而提高,檢測率隨著
誤檢率的降低而降低。
9
第2章檢測方法
人臉檢測經歷了較長的發展過程,期間涌現出了很多的檢測方法,本文以
M.H.Yang在2002年發表的關于人臉檢測方法的分類方法把人臉檢測方法分為以下四
種:基于知識的方法(Knowledge-badMethods)、特征不變量方法(FeatureInvariant
Approaches)、模板匹配方法(TemplateMatchingMethods)、基于外觀的方法
(Appearance-badMethods)。
當然,有許多人臉檢測的方法并不能簡單地歸于上述中的某一類,而是幾類的組合。
也可以將人臉檢測的方法簡單地分為兩類:基于特征的和基于圖像的。基于特征的方法
指以某種特征為最小處理單元的方法;基于圖像的方法指以圖像中的像素為處理單元的
方法。
2.1基于知識的方法
此方法是把人臉面部器官之間關系編碼并準則化的人臉檢測方法。這是一種自頂而
下的方法,根據人臉面部器官的對稱性、灰度差異等先驗知識,制定一系列的準則。當
圖像中的待測區域符合準則,即被檢測為人臉。
人臉及器官具有典型的邊沿和形狀特征,通常人們利用采用Laplacian,Sobel和
Canny等算子來提取邊沿特征,將這些特征用于人臉的定位。邊沿和形狀對于光照條件
的變化具有很好的魯棒性,灰度特征對光照比較敏感。
每一個人臉都有固定的紋理特征,利用這種特征來區分不同的對象,Skufca和
Augusteijn共同努力研究了一種通過鑒別類似于人臉的紋理推斷人臉的存在的方法。
Nakano和Dai也將SGLD模型用于檢測人臉,取得了很好的效果。
Yang等首先提出了基于知識規則的由粗到細的三級結構來檢測人臉。通過平均和
采樣的方法得到原圖像在不同分辨率下的圖像,那些低分辨率的圖像被稱為鑲嵌圖
(MosaicImage)。針對不同分辨率的圖像采用不同的準則進行判定,在低分辨率圖像里
的準則主要體現了人臉的大體輪廓,而在高分辨率圖像里的準則主要體現了人臉的細節
特征。雖然,Yang的方法在檢測性能方面并不突出,但由粗至細的檢測思想對以后的研
究工作產生了積極的影響。
但是人臉的類型有千差萬別,如果制定的規則太細,真正的人臉可能會被漏掉;如
果制定的規則太籠統,有可能造成較高的虛警率。
2.2特征不變量方法
這個方法的目標是尋找那些即使當姿勢、視角和光線條件變化時仍然存在的結構特
10
征,并利用這些特征來定位人臉。由于人類能夠毫不費勁地“看到”在不同光線和姿態
下的人臉和物體,因此研究人員認為有一個潛在的假設:存在一些關于人臉的不依賴于外
在條件的屬性或者特征。有許多方法就是按照這個潛在假設,首先去尋找這種臉部特征(通
過大量樣本學習的方法),然后用尋找到的特征去檢測人臉。對比基于知識的自上而下
的方法,這種基于特征的方法是自下而上的。
Sirohey提出了用橢圓擬合人臉區域的方法。Graf等人提出了利用某些形態學的方法
進行人臉的檢測方法。Leung等人提出一種利用人臉五個特征來定義和檢測人臉的方法。
Han等人提出了一種通過形態學眼部分割的方法來進行人臉檢測的方法。
與基于知識規則的方法相比,該類方法主要是企圖尋找人臉不變化的特征來對人
臉進行檢測,特征不變量方法的根本假設是:在所有的人臉檢測過程中存在著圖像空
域或者頻域不變量,而且這種不變量是唯一的。于是人臉檢測過程就是在圖像中全局
搜索這種不變量。該類方法中所采用的特征不變量主要有:面部特征、紋理。皮膚顏
色和多種特征的融合。該類方法中所采用的一個主要問題是:圖像特征極大的收到光
照、遮擋和其它噪聲的影響,當陰影存在時,面部的特征辯解將被減弱,而陰影的邊
界將被增強,此時導致邊緣感知分組無效。
Sirohey提出了一種從復雜背景中分割定位人臉的方法,該方法使用人臉邊緣圖
信息和橢圓擬合方法檢測人臉。Augusterjn提出了一種通過面部相似性紋理信息的人
臉檢測方法,通過在?1616大小的子圖像上計算二階統計特征紋理信息。在許多的人
臉檢測應用中,膚色被認為是人臉檢測中一種有效的特征,因為顏色信息和運動信息
是一種有效減少搜索空間的特征。最近,人臉檢測最常采用的主要方法是聯合幾種不
同的特征方法檢測。它們首先利用全局特征,如膚色和形狀大小等信息尋找人臉候選
區域,再根據局部特征,如眼睛、鼻子和頭發等信息來確認候選區域是人臉區域。
在實際的檢測情況下,由于噪聲和遮擋等問題的存在,人臉的某些特征可能被破壞,
這將嚴重影響此算法的檢測效果。
2.3模板匹配方法
該方法大多是用歸一化去互相關,在圖像灰度層次上直接比較目標模板和候選圖
像區域之間的相似性,得到表示相似程度的值,然后與相應閾值比較判斷候選圖像區
域是否為人臉區域。其中較為典型的例子就是Yullietlo等提出的基于彈性模板匹配的
人臉檢測方法。由于模板本身比較粗略,所以模板匹配的人臉檢測方法往往精度不是
很高,而且計算量較大,速度較慢。
模板匹配通常被用于人臉檢測的驗證,這樣可以更進一步提高人臉檢測系統的準
確率,它的主要思想是利用模板與待檢測圖像之間的相關程度來對圖像中的入臉進行
判斷。可變形模板和預先定義的模板是人臉檢測常用的模板。Venkatraman和
GovindarajuI使用小波延伸的方法用于圖像的邊緣提取。Tsukamoto等提出一個人臉
模式的定性模型(QMF)。QMF方法將每一個樣本圖像分割成一些塊,再對各個塊估算
11
其定性特征。
主動形狀模型(ASM)和主動外觀模型(AAM)是近年來流行的一種對象形狀提取
算法,其核心思想是在某種局部點模型匹配的基礎上,利用統計模型對待識別的人臉
的形狀進行約束,從而轉化為一個最優化求解問題,并期望最終收斂到實際的人臉形
狀上去。
而且,在實際的檢測中,由于人臉的尺度、形狀等的變化較大時往往檢測效果較
差,此種方法也沒有獲得較廣泛的應用。
2.4基于外觀的方法
基于外觀的方法也可以稱為基于統計的人臉檢測方法也可以稱為基于分布特征的
檢測方法,它是利用統計分析和機器學習等方法來獲得人臉和非人臉特征,利用這些特
征和判決函數來進行人臉檢測的方法。
MIT的Sung和Poggio提出了一種基于分布特征的人臉檢測方法。他們建立了一個
分布模型,指出通過對圖像正例和反例樣本的學習可以獲得人臉的分布模型。該系統由
兩個部分組成,人臉模式和非人臉模式的分布模型及一個多層感知器分類器。每一個人
臉和非人臉的學習樣本首先進行預處理,包括歸一化,直方圖均衡等,然后處理為19
×19的圖像,將這個圖像作為361維的矢量。接下來將這些矢量采用改進的K均值聚
類算法分成6個人臉和6個非人臉的聚類。每一類用它們的均值圖像和協方差矩陣表示成
一個高維的高斯函數。見圖2-1所示。
圖
2-1Sung和Poggio提出的人臉非人臉聚類模型
12
值得強調的是,為了解決人臉檢測中“非人臉”樣本的選取問題,Sung等人采
用“自舉(bootstrap)”方法:首先建立一個只使用“人臉”樣本和少量“非人臉”
樣本訓練的初始分類器對一組圖像進行檢測,將所有錯檢非人臉為人臉的圖像加入“非
人臉”樣本庫;然后把得到的“人臉”和“非人臉”樣本訓練構成一個新的分類器進行
重新檢測。將以上過程不斷循環,直到收集到了足夠的“非人臉”樣本。這種循環檢測
來得到非人臉的收集方法后來得到許多研究者的使用。
由于人臉圖像的復雜性,只使用基本特征與簡單規則很難有效地描述人臉與背景的
本質區別,因此基于統計和學習的方法越來越受到重視。這類方法是把人臉區域看作一
類模式,利用統計分析與機器學習的方法對大量人臉樣本和非人臉樣本進行學習得到各
自的統計特征,然后根據這些特征構造分類器,通過判別圖像中所有可能區域屬于哪類
模式的方法實現人臉檢測。實際上,人臉檢測問題被轉化為統計模式識別的二分類問題。
該類方法主要包括:線性子空間法、神經網絡、隱馬爾可夫模型、支持向量機、基于
AdaBoost算法等方法。
13
第3章經典方法概述
人臉檢測的方法多于牛毛,基于各種數學模型的方法估計有近百種。本節簡單描述
了用于人臉檢測的幾個經典方法,以便管中窺豹,這幾個方法在人臉檢測歷史上都發揮
過各自的作用。
3.1特征臉
最早用特征向量來進行人臉檢測的是Kohonen,他構建了一個簡單的神經網絡來實
現規范化了的人臉圖像的識別。這個神經網絡用圖像的自相關矩陣的特征向量近似計算
了對人臉的描述。這些特征向量后來就發展成了特征臉(Eigenface)方法。
特征臉是基于從主成分分析(PCA)的一種人臉檢測,它根據一組人臉訓練樣本構
造主元子空間,檢測時,將測試圖像投影到主元子空間上,得到一組投影系數,再和各
個己知的人臉圖像模式比較,從而得到檢測結果。
在傳統特征臉的基礎上,研究者注意到特征值大的特征人臉向量(特征臉)并不一
定分類性能好,而因此發展了多種特征(子空間)選擇方法,如Belhumeur的FisherFace
方法等。事實上,特征臉方法是一種顯式主元分析人臉建模的方法,而一些線性自聯想、
線性壓縮型BP網則為隱式的主元分析方法,它們都是把人臉表示為一些向量的加權和,
這些向量是訓練集叉積陣的主特征向量。特征臉方法是一種簡單、快速、實用的基于變
換系數特征的算法,但由于它在本質上依賴于訓練集和測試集圖像的灰度相關性,所以
還有著很大的局限性。
3.2神經網絡
人工神經網絡(ArtificialNeuralNetwork,ANN)方法是通過訓練一個網絡結構,把
模式的統計信息隱含在神經網絡的結構和參數之中。在人工神經網絡的方法中,Rowley
的工作較為突出。
Rowley等提出基于神經網絡的人臉檢測系統。他們的系統分為兩個階段:第一階
段是基于神經網絡的分類器。該分類器的輸入是規定尺寸的檢測區域,輸出為l到.1
的數,由此來判斷檢測區域是否是人臉(輸出接近1為人臉,接近.1為非人臉):第二階
段是合并重復檢測并判別。由于訓練樣本以及分類器等因素,在圖像中以人臉為中心的
一定區域內會產生重復檢測。此階段使用了一個單層的神經網絡對重復檢測進行合井,
并使用一個多層的神經網絡對檢測結果進行判決。以上所述方法局限性在于,僅能檢測
正面垂直的人臉。1998年,Rowley等增加了一級神經網絡用以檢測平面內旋轉的人臉
角度,在對原圖像進行反旋轉后,送到正面人臉檢測器中進行檢測,使得該系統可以檢
14
測圖像中按任意的角度旋轉的人臉。
圖3-1Rowley的帶有圖像預處理的神經網絡系統
用神經網絡進行人臉檢測的好處是很容易訓練一個用于檢測人臉模式的系
統。但是,缺點是網絡結構需要大范圍的調整(層數、結點數、學習速率等等)
才能獲得期望的性能。
3.3隱馬爾可夫模型方法
隱馬爾科夫模型(HiddenMarkovModel,HMM)是用于描述信號統計特性
的一組統計模型。前提假設是模型可被定義為一個參數化的進程。該進程的參數可通過
精確的方法估計出來。HMM使用馬爾科夫鏈來模擬信號統計特征的變化,而這種變
化又是間接地通過觀察序列來描述的,因此,隱馬爾科夫過程是一個雙重的隨機過程。
在HMM中,節點表示狀態,有向邊表示狀態之間的轉移,一個狀態可以具有特征空
間中的任意特征,對同一特征,不同狀態表現出這一特征的概率不同。由于HMM是
一個統計模型,對于同一特征序列,可能會對應于許多狀態序列,特征序列與狀態序列
之間的對應關系是非確定的。這種模型對于狀態序列來說是隱的,故稱為隱馬爾科夫模
型。
Nefian等均各人臉從上到下劃分為五個互有重疊的區域(頭發、額頭、眼、鼻、嘴)。
根據這個劃分構造了一個包含五個狀態的一維連續HMM用以表示人臉。接著對各塊進行
KL變換,取每塊若干最大的特征向量作為觀測值對HMM進行訓練。此后,Nefian等還提
出基于嵌入式HMM的人臉檢測方法。該方法同時考慮到人臉由左到右各個特征的自然順
序,使用二維HMM,并采用二維DCT變換的系數作為觀察向量。
3.4支持向量機
支持矢量機(SupportVectorMachines)是由與其領導的貝爾實驗室的
小組一起開發出來的一種新的機器學習技術。SVM的理論基礎來自于Vapnik等提出
15
的統計學習理論,它的基本思想是,對于一個給定的具有有限數量訓練樣本的學習任
務,如何在準確性(對于給定訓練集)和機器容量(機器可無錯誤地學習任意訓練集
的能力)進行折中,以得到最佳的推廣(Generalization)性能。
與傳統統計學相比,統計學習理論(StatisticalLearningTheory或SLT)是一種專
門研究小樣本情況下機器學習規律的理論。該理論針對小樣本統計問題建立了一套新
的理論體系,在這種體系下的統計推理規則不僅考慮了對漸近性能的要求,而且追求
在現有有限信息的條件下得到最優結果。Vapnik等人從六、七十年代開始致力于此
方面研究,到九十年代中期,隨著其理論的不斷發展和成熟,也由于神經網絡等學習
方法在理論上缺乏實質性進展,統計學習理論開始受到越來越廣泛的重視。
目前將該理論已經得到了一些應用,比如在光學字符識別等方面,并且獲得了比
較好的效果,不過由于建立完整的理論體系時間不長,該方法用于人臉檢測的很少,
盡管SVM算法的性能在許多實際問題的應用中得到了驗證,但是該算法在計算上存
在著一些問題,包括訓練算法速度慢、算法復雜而難以實現以及檢測階段運算量大等
等。Osuna等人介紹了一種具體的算法并對人臉識別問題進行了實驗。他將樣本集分
為兩個集合B和N,集合B作為子問題工作樣本集進行SVM訓練,并給出了兩階
多項式分類器在人臉識別問題中的應用結果。試驗結果表明該方法比Sung等提出的
基于分布特征的學習方法的檢測率有所提高,同時計算復雜度下降,提高了檢測速度。
16
第4章Adaboost算法
4.1概述
4.1.1Adaboost算法簡介
Adaboost是一種迭代算法,其核心思想是針對同一個訓練集訓練不同的分類器
(弱分類器),然后把這些弱分類器集合起來,構成一個更強的最終分類器(強分類器)。
其算法本身是通過改變數據分布來實現的,它根據每次訓練集之中每個樣本的分類是
否正確,以及上次的總體分類的準確率,來確定每個樣本的權值。將修改過權值的新
數據集送給下層分類器進行訓練,最后將每次訓練得到的分類器最后融合起來,作為
最后的決策分類器。使用Adaboost分類器可以排除一些不必要的訓練數據特徵,并
將關鍵放在關鍵的訓練數據上面。Adaboost算法是1995年提出的一種快速人臉檢測
算法,是人臉檢測領域里程碑式的進步,這種算法根據弱學習的反饋,適應性地調整
假設的錯誤率,使在效率不降低的情況下,檢測正確率得到了很大的提高。
Adaboost算法是目前在人臉檢測方面檢測速度較快、檢測效果較好的一種檢測方
法,它是一種把弱分類器采用級聯的方式訓練成為強分類器的方法。這些弱分類器只需
要滿足比隨機猜測好一點,就能通過不斷的修正每個弱分類器的權值,即挑選那些比較
好的分類器,拋棄不好的分類器,從而最終形成由這些弱分類器組成的強分類器,相比
較其他的方法而言,Adaboost方法對每個弱分類器的權值的形成都是無人值守的,完全
自動化的,因而Adaboost算法有著比較好的易用性。大量的實驗證明,Adaboost算法是
有效的將多弱分類器強化成為強分類器的一種方法,經過訓練的分類器具有比較好的分
類效果,而且速度較快。圖4.1給出了Adaboost人臉檢測算法進行訓練和檢測的流程圖,
本文也將分訓練和檢測兩個方面介紹Adaboost算法。
17
圖4.1Adaboost訓練過程
4.1.2Adaboost人臉檢測算法
人體檢測屬模式識別范疇。模式識別方法多種多樣,模式識別系統的最終目標是
要在表示空間和解釋空間之間找到一種映射關系。這種映射可以是一個分類,也可以
是回歸或者描述方案。在這里,我們用分類來敘述。分類方法總得來說可以分為兩種:
監督學習和非監督學習。后來又在前兩者的基礎上發展出了半監督學習方法,這種
方法的本質仍屬于監督學習。
統計分類是模式識別發展過程中建立起來的比較經典的方法,其表達方式有著堅
實的理論基礎。它主要基于用概率統計模型得到各類別的特征向量分布,以取得分類
的功能。特征向量的取得是基于一個類別已知的訓練樣本集合。因此,這是一種監督
學習的模式識別方法。在這個意義上,分類器是概念驅動的,用已知類別標簽的樣本
訓練分類器從而得知如何分類。繼而對新的樣本集達到分類的效果,統計分類方法有
很多具體的方法,它們取決于是否采用一個已知的、參數型的分布模型。
Adaboost算法是統計分類方法中一個經典算法,它由Boosting算法發展而來,是
由Freund和Schapire在1995年提出的,該算法解決了以前Boosting算法在實踐中存
人臉
非人臉
Adaboost訓練
分類器
檢測結果
Adaboost檢測
輸
入
圖
像
訓
練
過
程
檢
測
過
程
18
在的各種問題。實驗表明,Adaboost算法能夠顯著提高學習精度。
利用Adaboost算法與haar特征(本文將會在第五章詳細介紹haar特征)相結合
的方法進行人臉檢測。Haar特征是一種基于積分圖像的特征,主要在灰度圖像中使用,
該特征計算簡單,提取速度較快。Adaboost算法首先提取圖像中的haar特征,再將
訓練得到的haar特征轉換成弱分類器,最后將得到的弱分類器進行優化組合用于人臉
檢測。
Viola等人在2001年提出使用AdaBoost學習算法的快速人臉檢測方法,實現了
實時的正面人臉檢測系統。Viola的系統中主要有三個核心思想:首先,提出了一種
稱為“積分圖像”的圖像表示方法,這種表示法能夠快速計算出檢測器用到的特征;
其次,利用基于AdaBoost的學習算法,從一個較大的特征集中選擇少量的關鍵視覺
特征,產生一個高效的分類器;最后,再用級聯的方式將單個的分類器合成為一個更
加復雜的分類器,使圖像的背景區域可以被快速地丟棄,而在有可能存在目標(人臉)
的區域花費更多的計算。該人臉檢測系統在實時正面人臉檢測中能夠達到15幀/秒
的速率。由于該方法能夠達到較高的檢測率并且具有目前最好的實時性,因此激發了
更多研究人員在基于類Haar特征和Boost學習算法的實時人臉檢測算法方面的研究。
Intel實驗室的RainerLienhart擴展了類Haar特征,在Viola提出的類Haar特征
的基礎上添加了旋轉45度的類Haar特征,在與Viola系統相同檢測率的情況下,降
低了10%的誤檢率。微軟研究院的研究小組把floating搜索的方法引入到
AdaBoost算法中來,并設計了一個金字塔式的檢測器結構用于多視角的人臉檢測。
4.2弱學習與強學習
弱分類器的設計是集成機器學習的重要內容之一,與一般機器學習算法區別在于弱
分類器設計無需考慮線性不可分問題,這是集成機器學習吸引大量應用研究者關注的主
要原因。
弱分類器的概念來源于Valiant在1984年提出的PAC學習理論,之后Kearns和Valiantl又
提出了強PAC學習和弱PAC學習的概念。在PAC學習模型中,若存在一個多項式級學習
算法來識別一組概念,并且識別正確率很高,那么這組概念是強可學習的;而如果學習
算法識別一組概念的正確率僅比隨機猜測略好,那么這組概念是弱可學習的。
隨機猜測一個是或否的問題,將會有50%的正確率。如果一個假設能夠稍微地提高
猜測正確的概率,那么這個假設就是弱學習算法,得到這個算法的過程稱為弱學習。可
以使用半自動化的方法為好幾個任務構造弱學習算法,構造過程需要數量巨大的假設集
合,這個假設集合是基于某些簡單規則的組合和對樣本集的性能評估而生成的。如果一
個假設能夠顯著地提高猜測正確的概率,那么這個假設就稱為強學習。
弱分類器就是根據某些單一依據來就行粗略分類的分類器,其分來的準確度要求
很低,只要達到50%以上即可。雖然弱分類器的分類效果很差,但是試想如果將很多
個這樣的弱分類器按照一定的規則組合起來便可以形成一個高度準確的強分類器,這
19
也就是級聯分類器。
實際上每一個haar特征都可以對應一個弱分類器,每一個弱分類器都是根據它所對
應的haar特征的參數來定義的。如果將所有的haar特征都用來對應一個弱分類器,那么
其總個數將超過數十萬個。要想從這樣龐大數目的弱分類器中訓練出最優弱分類器將是
一個非常巨大的工程,其訓練時間也將達到數天之長。因此,這是該進Adaboost性能的
一個關鍵點所在。
通常情況下,弱學習算法比強學習算法更容易獲得。Keams和vallant提出了弱學習
算法與強學習算法間的等價問題,即能否把弱學習算法轉化為強學習算法。如果兩者等
價,那么在學習概念時,只需要找到一個比隨機猜測略好的弱學習算法,就可以直接將
其提升為強學習算法。
Keams和vallant證明:只要有足夠的數據,弱學習算法就通過集成的方式生成任意
高精度的假設(強學習方法)。
4.3PAC基本模型
4.3.1概述
PAC(ProbablyApproximatelyCorrect)模型是計算學習理論中常用的模型,是
由Valiant于1984年首先提出來的,由統計模式識別、決策理淪提出了一些簡單的概念并
結合了計算復雜理論的方法而提出的學習模型。它是研究學習及泛化問題的一個概率框
架,不僅可用于神經網絡分類問題,而且可廣泛用于人工智能中的學習問題。
PAC學習的實質就是在樣本訓練的基礎上,使算法的輸出以概率接近未知的目標概
念。PAC學習模型是考慮樣本復雜度及計算復雜度的一個基本框架,成功的學習被定義
為形式化的概率理論。
4.3.2基本概念
實例空間指學習器能見到的所有實例,用xn指示每個大小為n的學習問題的實例集,
每個xX?為一個實例,X=Un>1Xn為實例空間。概念空間指目標慨念可以從中選取
的所有概念的集合,學習器的目標就是要產生目標概念的一個假設,使其能準確地分類
每個實例,對每個n≥1,定義每個2n
X
n
C?為Xn上的一系列概念,1CUnCn??為X上
的概念空間,也稱為概念類。似設空間指算法所能輸出的聽有假設h的集合,用H表示。
對每個目標概念
n
cC?和實例xXn?,()cx為實例x上的分類值,即()1cx?當且僅當
on
xCC?的任一似設h指的是規則,即對給出的xXn?,算法在多項式時間內為()cx輸
出一預測值。樣本復雜度(samplecomplexity)指學習器收斂到成功假設時至少所需的訓
練樣本數。計算復雜度(computationalcomplexity)指學習器收斂到成功假設時所需的計
20
算量。出錯界限指在成功收斂到一個假設前,學習器對訓練樣本的錯誤分類的次數。在
某一特定的假設空間中,對于給定的樣本,若能找到一似設h,使得對該概念類的任何
概念都一致,且該算法的樣本復雜度仍為多項式,則該算法為一致算法。
實例空間為{0,1}nX?,概念空間和假設空間均為{0,1}n的子集,對任意給定的準
確度(012)????及任意給定的置信度
(01)????
,實例空間上的所有分布D及目標
空間中的所有目標函數t,若學習器L只需多項式(,1,1)pn??個樣本及在多項式
(,1,1)pn??時間內,最終將以至少
(1)??
的概率輸出一假設hH?,使得隨機樣本被
錯分類的概率(,)[:()()]
Dr
errorhtPxXhxtx?????,則稱學習器L足PAC學習的。它
是考慮樣本復雜度及計算復雜度的一個基本框架,成功的學習被定義為形式化的概率
理淪,其模型如圖所示。
圖4-1PAC學習模型
從圖中知PAC模型是與分布無關的,因對學習器來說,實例上的分布是未知的。該
定義不要求學習器輸出零錯誤率的假設,而只要求其錯誤率被限定在某常數ε的范圍內
(ε可以任意小);同時也不要求學習器對所有的隨機抽取樣本序列都能成功,只要其失
敗的概率被限定在某個常數δ的范圍內(δ也可取任意小)即可。這樣將學習到一個可能
近似正確的假設。
4.3.3PAC模型的不足
在實際的機器學習中,PAC模型的不足有:模型中強調最壞情況,它用最壞情況模
型來測量學習算法的計算復雜度及對概念空間中的每個目標概念和實例空間上的每個
分布,用最壞情況下所需要的隨機樣本數作為其樣本復雜度的定義,使得它在實際中不
可用;定義中的目標概念和無噪聲的訓練數據在實際中是不現實的。
樣本復雜度的最壞情況定義意味著即使能準確地計算出某一算法的樣本復雜度,仍
對
手
學
習
器
樣本
產生
器EX
分布DcC?及目標概念
概念類C
準確度
?
置信度?
樣本請求
帶標記隨機實例
21
然得過高估計假設的出錯率,這是因為它不是計算某一算法的樣本復雜度(即使存在一
個簡單的一致算法),而是對任意一致算法都成立的一個樣本復雜度的上界。這就使得
基本的PAC模型不能預測學習曲線(1earningcurve)。
4.4Boosting方法
Boosting原意為提升、加強。現在一般指的是將弱學習算法提升為強學習算法的
一類算法。Boosting算法是在Kearns和Valiant證明后才真正成熟起來的。
1990年,Schapire最先構造出一種多項式級的算法,即最初的Boosting算法。這
種算法可以將弱分類規則轉化成強分類規則。一年后,Freund提出了一種效率更高的
Boosting算法。1993年,Drucker和Schapire第一次以神經網絡作為弱學習器,應用
Boosting算法來解決實際的OCR問題。
Boosting算法在分類、建模、圖像分割、數據挖掘等領域均已得到簡單而有效的
應用。1995年,Freund和Schapire提出的Adaboost,是對Boosting算法的一大提高。
4.5Adaboost算法性能分析
強分類器H(x)對訓練樣本集的誤判率稱為訓練誤判率,記為
?
,則有:
1
1
[()]
R
i
EDHxyN
N
?
?
????
其中,
()
1
{
0
()
Hxy
if
ii
R
ifHxy
ii
?
?
?
對于AdaBoost算法,Freund和Schapire給出了關于訓練誤判率的重要理論結果。定理:
假設運行Adaboost算法經過T輪訓練后生成的弱分類器分別
1,
h,……
T
h,其對樣本集誤
判率分別
t
?
,則訓練誤判率有上界:0.5
t
??。詳細的證明過程可參見文獻。在定理中,
如果每個0.5
t
??,令0.5
t
t????則最終強分類器
()Hx
的訓練誤判率上界可改寫為:
2
1
2
2
1
14
T
t
t
T
t
t
e
?
???
?
?
?
????
由此可見,訓練誤判率:隨訓練輪數T的增大呈指數級的減小。特別的,如果所有的弱
分類器誤判率都相等,即
1t
???,
1t
???上式可簡化為:
2
1exp(2)T????
可見,強分類器誤判率隨著弱分類器數量增多和弱分類器誤判率的降低而迅速下
降。只要有足夠多的弱分類器,就可以使強分類器達到任意低的誤判率。對于兩分類問
22
題,只需要弱學習算法的準確性略好于隨機猜測,便可以保證Adaboost算法收斂。
第5章矩形特征與積分圖
5.1引言
本章節將描述對AdaBoost人臉檢測訓練算法速度很重要的兩方面,特征的選取
和特征值的計算。
把矩形作為人臉檢測的特征向量,稱為矩形特征。本算法選取了最簡單的5個矩
形特征模板進行訓練,以得到一套用于人臉檢測的最適合的矩形特征,事實證明,這
種特征選取方法的訓練速度雖然不快,但是檢測效率很高。
Viola提出將積分圖(integralimage)應用到特征值的計算之中。積分圖的引用,可
以只對圖像進行一次遍歷計算,就能夠在用常量時間完成每個特征值的計算,這使得
訓練和檢測的速度大大提升。
5.2矩形特征
5.2.1概述
將矩形特征作為對輸入圖像的人臉檢測的特征向量,稱為矩形特征。在給定有限
的數據情況下,基于特征的檢測能夠編碼特定區域的狀態,而且基于特征的系統比基
于象素的系統要快得多。
矩形特征對一些簡單的圖形結構,比如邊緣、線段,比較敏感,但是其只能描述
特定走向(水平、垂直、對角)的結構,因此比較粗略。如下圖5-1,臉部一些特征
能夠由矩形特征簡單地描繪,例如,通常,眼睛要比臉頰顏色更深;鼻梁兩側要比鼻
梁顏色要深;嘴巴要比周圍顏色更深。
對于一個24×24檢測器,其內的矩形特征數量超過160,000個,必須通過特定
算法甄選合適的矩形特征,并將其組合成強分類器才能檢測人臉。
23
圖5-1矩形特征在人臉上的特征匹配
(上行是24×24子窗口內選出的矩形特征,
下行是子窗口檢測到的與矩形特征的匹配)
5.2.2特征模板
我們將使用簡單矩形組合作為我們的特征模板。這類特征模板都是由兩個或多個
全等的矩形相鄰組合而成,特征模板內有白色和黑色兩種矩形(定義左上角的為白色,
然后依次交錯),并將此特征模板的特征值定義為白色矩形像素和減去黑色矩形像素
和。本算法選取了最簡單的5個矩形特征模板進行訓練,以得到一套用于人臉檢測的
最合適的矩形特征,事實證明,這種特征選取方法的訓練速度雖然不快,但是檢測效
率很高。
通過改變特征模板的大小和位置,可在圖像子窗口中窮舉出大量的特征。為了描
述的方便,本文將圖5-1的特征模板稱為“特征原型”;特征原型在圖像子窗口中擴
展(平移伸縮)得到的矩形特征數值(featurevalue)稱為“特征值”。
最簡單的5個矩形特征模板:
24
(a)(b)(c)(d)
(e)
圖5-2人臉檢測使用的矩形特征值
矩形特征值是指圖像中兩個或多個形狀大小相同的矩形內所有像素的灰度值之
和的差值。對于圖5-2中的a、b和e這類特征,特征數值計算公式為:
vSumSum??
白黑
(5.1)
而對于c、d來說,計算公式如下:
2vSumSum???
黑
白
(5.2)
公式(5.2)將黑色區域像素和乘以2,是為了使兩種矩形區域中的像素數目一致。
假設訓練或者檢測窗口的大小為WH?個像素,w,h分別為特征原型的長、寬,
圖5-2所示五種特征原型對應的wh分別為:21,12,31,13,22。
令
[]
W
X
w
?
,
[]
H
Y
h
?
,“[]”表示取整。一個
wh?
的特征原型在
WH?
子窗口產
生的矩形特征數量可用下面的公式計算:
11
(1)(1)
22
XY
XYWwHh
??
???????
(5.3)
5.3積分圖
5.3.1積分圖的概念
積分圖像就是將原圖像中任一點的左上方的全部像素相加作為當前點像素值所
得到的圖像。通過積分圖像可以方便的計算出原圖像中任意矩形區域內的像素點的和
的值,而不用每次都重新計算,從而達到加快計算的目的。
一個簡單的微積分類比:如果我們要經常計算()
b
a
fxdx?,那我們會先計算
()()Fxfxdx??,那么()()()
b
a
fxdxFbFa???。見下圖5-3。積分圖的含義與此類似。
25
圖5-3“積分圖”與積分的類比
只需要對每個像素進行少量的計算工作,就能得到一幅圖像的“積分圖”。“積分
圖”能夠在多種尺度下,使用相同的時間來計算不同的特征,因此大大提高了檢測速度。
5.3.2使用積分圖計算
由于訓練樣本通常有近萬個,并且矩形特征的數量特別龐大,如果每次計算特征值
都需要統計矩形內所有像素之和,將會大大降低訓練和檢測的速度。PaulViola等引入
了一種新的圖像的表示方法一積分圖像,利用它可以快速計算矩形特征。對于輸入圖像
I,像素點
(,)xy
處的積分圖
(,)iixy
定義如下:
(,)(,)
xxyy
iixyIxy
??
??
??
???
其中(,)Ixy
??
為圖像在點(,)xy
??
處的像素值,如圖5-4積分圖(,)iixy的像素值等于圖中
灰色部分的所有像素值的和。
5-4積分圖
為了得到輸入圖像I的積分圖像,需要逐點掃描圖像一次。設(,)Ixy為輸入圖像各
y
y-1
x-1x
S(x,y)
ii(x-1,y)ii(x,y)
26
點的像素灰度值,
(,)(,)
yy
SxyIxy
?
?
?
??為輸入圖像中像素點(x,y)所在列縱坐標不超過該
點的所有像素灰度值之和(圖5-4中淺灰色區域),則圖像I的積分圖可按如下遞推公式
計算:
?(,)(,1)(,)
(,)(1,)(,)
SxySxyixy
iixyiixySxy
???
???
(5.4)
其中x和y從0開始,定義
(,1)0,(1,)0sxiiy????
。
在得到圖像I的積分圖像后,就可以方便快捷的計算圖像I中任意矩形內所有像素灰
度積分,如圖5-4中,點1的積分圖像
1
ii的值為:
1
ii=區域A的像素值(5.5)
圖5-5點(x,y)處的積分圖像值
下面是積分圖矩陣的實現代碼片斷:
for(intx=0;x
for(inty=0;y
{
doubley_yuv=(double)((uchar*)(mar->+mat->step*x))[y];
//如設該點亮度值為d,則該點左側點的亮度和為c,該點上側點的亮度和
為b,左上側點的亮度和為a,則該點的亮度和為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);
//設置該點的亮度和
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特征值計算
Haar型特征是Viola等提出的一種簡單矩形特征,因類似于Haar小波而得名。如
圖2所示,Haar型特征的定義是黑色矩形和白色矩形在圖像子窗口中對應的區域的灰
度級總和之差,可見,它反映了圖像局部的灰度變化。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特征是用積分圖像的特點來計算某一矩形區域內的特征值。如計算下圖中D區
域內的像素之和:
圖5-8應用積分圖像計算區域像素值
假設已經求出某一圖像的積分圖像,根據積分圖像的特點,可以迅速計算出原圖像
中D區域內的像素的和的值。
1423D
Sffff????
其中
D
S是原圖像中D區域內的像素的和的值,
1
f、
2
f、
3
f和
4
f分別是積分圖像中
點1和2、3和4的值。
從上式我們可以看出,利用積分圖像來計算任意區域內的像素點的和的值的過程
快速且計算時間固定。利用這一特點設計出的haar特征提取快速且機器計算時間固定。
29
正是由于haar特征提取速度夠快,才使得Adaboost檢測算法稱為當前最快的檢測算法之
一。
我們將使用簡單矩形組合作為我們的特征模板。這類特征模板是由兩個或多個全
等的矩形相鄰組合而成,特征模板內有黑色和白色兩種矩形,并且兩種顏色依次交錯。
為了計算特征模板的特征值,我們事先規定白色像素點值為+1,黑色像素點值為-1,那
么特征模板的特征值計算為模板內白色矩形像素和加上黑色矩形像素和。下面列舉了幾
種最常用的特征模板:
(1)邊緣特征(2)擴展的邊緣特征
(3)線形特征(4)擴展的線形特征
(5)中心特征(6)擴展的中心特征
圖5-8幾種常見的特征模板
下面以特征模板(5)為例利用積分圖像計算特征值,過程如下:
區域(A)特征值為:
41238567
()(())iiiiiiiiiiiiiiii???????
區域(B)特征值為:
8567
()iiiiiiii???
綜合上面兩個式子可以得到特征模板(5)的特征值為:
1?區域(A)特征值+(-1)?區域(B)特征值
=
41238567
()(())iiiiiiiiiiiiiiii????????
(
8567
()iiiiiiii???)
41238567
(())2(())iiiiiiiiiiiiiiii????????
30
圖5-8特征模板(5)的特征值計算
由上述計算過程可以看出,利用積分圖像的矩形特征的特征值計算只與特征頂點的
積分圖值有關,而與圖像坐標值無關。因此,不論此矩形特征的尺度如何,特征值的計
算所消耗的時間都是一個常量,而且都只是簡單的加減運算。正是這個原因,大大提高
了Adaboost分類器的檢測速度。
56
78
A
B
(1,1)
31
第6章人臉檢測的實現
6.1OpenCV概述
6.1.1OpenCV簡介
OpenCV是Intel公司支持的開源計算機視覺庫。它輕量級而且高效——由一系
列C函數和少量C++類構成,實現了圖像處理和計算機視覺方面的很多通用算法。
1999年在俄羅斯設立的軟件開發中心“SoftwareDevelopmelltCellter¨開發的。
OpenCV采用C/C++語言編寫,可以運行在Linux/Windows/Mac等操作系統上。
OpenCV還提供了Python、Ruby、MATLAB以及其他語言的接口。OpenCV的設計目
標是執行速度盡量快,主要關注實時應用。它采用優化的C代碼編寫,能夠充分利用
多核處理器的優勢。如果是希望在Intel平臺上得到更快的處理速度,可以購買Intel
的高性能多媒體函數庫IPP(IntegratedPerformancePrimitives)。IPP庫包含許多從底層
優化的函數,這些函數涵蓋多個應用領域。如果系統已經安裝了IPP庫,OpenCV會
在運行時自動使用相應的IPP庫。
OpenCV的一個目標是構建一個簡單易用的計算機視覺框架,以幫助開發人員更
便捷地設計更復雜的計算機視覺相關應用程序。OpenCV包含的函數有500多個,覆
蓋了計算機視覺的許多應用領域,如工廠產品檢測、醫學成像、信息安全、用戶界面、
攝像機標定、立體視覺和機器人等。因為計算機視覺和機器學習密切相關,所以
OpenCV還提供了MLL(MachineLearningLibrary)機器學習庫。該機器學習庫側重于
統計方面的模式識別和聚類(clustering)。MLL除了用在視覺相關的任務中,還可以方
便地應用于其他的機器學習場合。
6.1.2應用領域
自從OpenCV在1999年1月發布alpha版本開始,它就被廣泛用在許多應用領域、
產品和研究成果中。相關應用包括衛星地圖和電子地圖的拼接,掃描圖像的對齊,醫
學圖像去噪(消噪或濾波),圖像中的物體分析,安全和入侵檢測系統,自動監視和安
全系統,制造業中的產品質量檢測系統,攝像機標定,軍事應用,無人飛行器,無人
汽車和無人水下機器人。將視覺識別技術用在聲譜圖上,OpenCV可以進行聲音和音
樂識別。在斯坦福大學的Stanley機器人項目中,OpenCV是其視覺系統的關鍵部分。
Stanley在DARPA機器人沙漠挑戰賽中,贏得了二百萬美元獎金。
32
6.1.3OpenCV的起源
OpenCV誕生于Intel研究中心,其目的是為了促進CPU密集型應用。為了達到
這一目的,Intel啟動了多個項目,包括實時光線追蹤和三維顯示墻。一個在Intel工
作的OpenCV作者在訪問一些大學時,注意到許多頂尖大學中的研究組(如MIT媒體
實驗室)擁有很好的內部使用的開放計算機視覺庫——(在學生們之間互相傳播的
代碼),這會幫助一個新生從高的起點開始他/她的計算機視覺研究。這樣一個新生可
以在以前的基礎上繼續開始研究,而不用從底層寫基本函數。
因此,OpenCV的目的是開發一個普遍可用的計算機視覺庫。在Intel的性能庫團
隊的幫助下,OpenCV實現了一些核心代碼以及算法,并發給Intel俄羅斯的庫團隊。
這就是OpenCV的誕生之地:在與軟件性能庫團隊的合作下,它開始于Intel的研究
中心,并在俄羅斯得到實現和優化。
俄羅斯團隊的主要負責人是VadimPisarevsky,他負責管理項目、寫代碼并優化
OpenCV的大部分代碼,在OpenCV中很大一部分功勞都屬于他。跟他一起,Victor
Eruhimov幫助開發了早期的架構,ValeryKuriakin管理俄羅斯實驗室并提供了很大的
支持。在開始時,OpenCV有以下三大目標:
(1)為基本的視覺應用提供開放且優化的源代碼,以促進視覺研究的發展。能有
效地避免“閉門造車”。
(2)通過提供一個通用的架構來傳播視覺知識,開發者可以在這個架構上繼續開
展工作,所以代碼應該是非常易讀的且可改寫。
(3)本庫采用的協議不要求商業產品繼續開放代碼,這使得可移植的、性能被優
化的代碼可以自由獲取,可以促進基于視覺的商業應用的發展。
這些目標說明了OpenCV的緣起。計算機視覺應用的發展會增加對快速處理器的
需求。與單獨銷售軟件相比,促進處理器的升級會為Intel帶來更多收入。這也許是
為什么這個開放且免費的庫出現在一家硬件生產企業中,而不是在一家軟件公司中。
從某種程度上說,在一家硬件公司里,在軟件方面會有更多創新的空間。
6.1.4OpenCV的基本結構
OpenCV主體分為五個模塊,其中四個模塊如圖6-1所示。OpenCV的CV模塊
包含基本的圖像處理函數和高級的計算機視覺算法。ML是機器學習庫,包含一些基于
統計的分類和聚類工具。HighGUI包含圖像和視頻輸入/輸出的函數。CXCore包含
OpenCV的一些基本數據結構和相關函數。
33
圖6-1OpenCV的基本結構
圖6-1中并沒有包含CvAux模塊,該模塊中一般存放一些即將被淘汰的算法和
函數(如基于嵌入式隱馬爾可夫模型的人臉識別算法),同時還有一些新出現的實驗性
的算法和函數(如背景和前景的分割)。
6.1.5OpenCV的特征
OpenCV的主要特征有以下幾個方面:
(1)圖像數據的操作(分配、釋放、復制、設置和轉換)。
(2)圖像是視頻的輸入輸出I/O(文件與攝像頭的輸入、圖像和視頻文件輸出)。
(3)矩陣和向量的操作以及線性代數的算法程序(矩陣積、解方程、特征值以及奇異
值等)。
(4)各種動態數據結構(列表、隊列、集合、樹、圖等)。
(5)基本的數字圖像處理(濾波、邊緣檢測、角點檢測、采樣與差值、色彩轉換、形
態操作、直方圖、圖像金字塔等)。
(6)結構分析(連接部件、輪廓處理、距離變換、各自距計算、模板匹配、Hough變
換、多邊形逼近、直線擬合、橢圓擬合、Delaunay三角劃分等)。
(7)攝像頭定標(發現與跟蹤定標模式、定標、基本矩陣估計、齊次矩陣估計、立體
對應)。
(8)運動分析(光流、運動分割、跟蹤)。
(9)目標識別(特征法、隱馬爾可夫模型:HMM)。
(10)基本的GUI(圖像與視頻顯示、鍵盤和鼠標事件處理、滾動條)。
(11)圖像標注(線、二次曲線、多邊形、畫文字)
MLL
統計分類器
CV
圖像處理和視覺算法
HighGUI
GUI
圖像和視頻輸入/輸
出
CXCORE
基本結構和算法、XML支持、繪圖函數
34
6.2OpenCV在檢測中的應用
6.2.1編譯OpenCV
(1)用CMake導出VC++項目文件
①運行cmake-gui,設置路徑為OpenCV安裝路徑(本文檔安裝位置為:
D:ProgramFilesOpenCV2.0),并創建子目錄D:Program
FilesOpenCV2.0vc2008,用于存放編譯結果。
②然后點configure,在彈出的對話框內選擇VisualStudio92008。
③因為是VC++2008的Express版本,不支持OpenMP,所以需要取消
ENABLE_OPENMP選項。
(2)編譯OpenCVDebug和Relea版本庫
完成上一步驟后,將在D:ProgramFilesOpenCV2.0vc2008目錄下生成
的VCSolutionFile,用VC++2008Express打開,然后執行如
下操作:
①在Debug下,選擇SolutionExplorer里的SolutionOpenCV,點右鍵,運行
"RebuildSolution"(見圖6-2);如編譯無錯誤,再選擇INSTALL項目,運行
"Build"(見圖6-3)。
②在Relea下,選擇SolutionExplorer里的SolutionOpenCV,點右鍵,運行
"RebuildSolution"(見圖6-4);如編譯無錯誤,再選擇INSTALL項目,運行
"Build"。(見圖6-5)
此時,OpenCV的*文件(fordebug)和*.dll文件(forrelea)將出現在
D:ProgramFilesOpenCV2.0vc2008bin目錄中;OpenCV的*文件(fordebug)和
*.lib文件(forrelea)將出現在D:ProgramFilesOpenCV2.0vc2008lib目錄;頭文
件*.h出現在D:ProgramFilesOpenCV2.0vc2008includeopencv中。
可以被VC++2008Express調用的OpenCV動態庫生成完畢。
35
圖6-2在Debug下運行"RebuildSolution"
圖6-3在Debug下編譯無誤,運行"Build"
36
圖6-4在Relea下運行"RebuildSolution"
圖6-5在Relea下運行無誤,運行"Build"
6.2.1為VC++2008Express配置OpenCV環境
(1)打開VC++2008Express,菜單Tools->Options->ProjectsandSolutions->VC++
37
Directories
①Showdirectoriesfor選擇includefiles,加入目錄D:Program
FilesOpenCV2.0vc2008includeopencv
②Showdirectoriesfor選擇libraryfiles,加入目錄D:Program
FilesOpenCV2.0vc2008lib
關閉VC++2008Express。
(2)使用OpenCV2.0編程
①打開VC++2008Express,創建一個Win32控制臺程序opencvhello;
②選擇SolutionExplorer里的opencvhello項目,點擊鼠標右鍵,選擇Properties;
③為項目的Debug配置增加依賴的庫:
④為項目的Relea配置增加依賴的庫:
⑤編譯運行附錄里的例程(需要將文件放在項目目錄下)。
6.3實驗結果
(1)單個人臉檢測
總數1/漏檢0/錯檢0
(2)多個人臉檢測
38
總數10/漏檢3/錯檢0
(3)多個人臉檢測
總數2/漏檢0/錯檢0
39
6.4結論
從實驗結果可以看出,這種檢測人臉的方法的漏檢率還是比較高的。從有限的
實驗結果來分析,漏檢的原因主要在于待檢測的人臉中眼睛部分不夠清晰。這主要是
因為訓練集數量太少,而且非人臉樣本比重偏低。事實上,世界上的非人臉樣式要遠
遠大于人臉樣式,因此有足夠多的非人臉樣本,才能夠讓分類器對非人臉圖案的“分
辨”能力大大提高。
40
參考文獻
[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張學工譯。
統計學習理論的本質。北京:清華大學出版社,2000
[14]OsuuaE,FreundR,ngsupportvectormachines:Anapplicationtoface
eedingsofIEEEConferenceonComputerVision,pages555-562,1998
[15]楊濤.人臉檢測與跟蹤[D],西北工業大學,2004年3月.
[16]HuangFJ,ChenT.Trackingofmultiplefacesforhuman—computerinterfacesand
virtualenvironments[C].IEEEIntl.Conf.onMultimediaandExpo.NewYork,July2000.
[17]周德華,毛敏峰,徐浩.一種多人臉跟蹤算法的研究與實現[J],電視技術,2005,275(5):
88~90.
41
[18]李剛,高政、人臉自動識別方法綜述、計算機應用研究、2003,Vol8:4-9
[19]ViolaP.,JonesM.J.、RobustReal-timeObjectDetection、CambridgeRearchLaboratory,
TechnicalReportSeries、CRL2001/01
[20]高建坡,王煜堅,楊浩等.一種基于KL變換的橢圓模型膚色檢測方法[J].電子與信息學
報.2007,V01.29,No.7.
[21]邢果,戚文芽.彩色空間的膚色分割及其在人臉檢測中的應用[J].視頻技術應用與工
程.2006.
[22]高建坡.視頻序列中的人臉檢測與跟蹤算法研究.東南大學博士學位論文.2007,3.
42
致謝
在我做畢業設計及寫論文期間都是在趙菊敏老師的全面、具體指導下進行完成的。雖然趙老
師平時工作繁忙,有很多事情要處理,但還是時常抽出時間來關心我的畢業設計,給予我指導,
督促我抓緊時間完成課題。趙老師淵博的學識、敏銳的思維、民主而嚴謹的作風使我受益非淺,
并終生難忘。
感謝王宏彬師兄在畢業設計工作中給予的幫助,他悉心的指引論文寫作的方向和架構,并對
本論文初稿進行逐字批閱,指正出其中誤謬之處,使我有了思考的方向,使我的論文更加成熟。
論文的順利完成,也離不開其它各位老師、同學和朋友的關心和幫助。在整個的論文寫作中,
各位老師、同學和朋友積極的幫助我查資料和提供有利于論文寫作的建議和意見,在他們的幫助
下,論文得以不斷的完善,最終幫助我完整的寫完了整個論文。另外,要感謝在大學期間所有傳
授我知識的老師,是你們的悉心教導使我有了良好的專業課知識,這也是論文得以完成的基礎。
通過此次的論文,我學到了很多知識,跨越了傳統方式下的教與學的體制束縛,在論文的寫
作過程中,通過查資料和搜集有關的文獻,培養了自學能力和動手能力。并且由原先的被動的接
受知識轉換為主動的尋求知識,這可以說是學習方法上的一個很大的突破。在以往的傳統的學習
模式下,我們可能會記住很多的書本知識,但是通過畢業論文,我們學會了如何將學到的知識轉
化為自己的東西,學會了怎么更好的處理知識和實踐相結合的問題。
在論文的寫作過程中也學到了做任何事情所要有的態度和心態,首先我明白了做學問要一絲
不茍,對于出現的任何問題和偏差都不要輕視,要通過正確的途徑去解決,在做事情的過程中要
有耐心和毅力,不要一遇到困難就打退堂鼓,只要堅持下去就可以找到思路去解決問題的。在工
作中要學會與人合作的態度,認真聽取別人的意見,這樣做起事情來就可以事倍功半。
總之,此次論文的寫作過程,我收獲了很多。此次論文的完成既為大學四年劃上了一個完美
的句號,也為將來的人生之路做好了一個很好的鋪墊。
最后再次感謝在大學傳授給我知識以及給我幫助和鼓勵的老師,同學和朋友,謝謝你們!
43
附錄一人臉檢測源程序
#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
人臉檢測方法綜述
摘要:人臉圖像處理包括人臉檢測、人臉識別、人臉跟蹤、姿態估計和表情識別
等。為了構造自動處理人臉圖像的信息系統,首先需要魯棒、有效的人臉檢測算法。分
析了有關人臉檢測問題的研究方法,并對其進行了分類和評價。從基于知識的方法、特
征不變方法、模板匹配方法和基于外觀的方法等四個方面介紹了相關的算法和理論,分
析了各種方法的優缺點,并提出了關于人臉檢測問題的進一步研究方向。
關鍵詞:人臉檢測;人臉識別;基于視覺的識別;統計模式識別;機器學習
1引言
近年來,人臉和面部表情識別已經吸引了更多科研人員的注意。任何人臉處理系統
的第一步都是檢測人臉在圖像中的位置。然而,從一幅圖像中檢測人臉是一項極具挑戰
性的任務,因為其尺度、位置、方向和位姿都是變化的,面部表情、遮擋和光照條件也
是變化的。
人臉檢測是指在輸入圖像中確定所有人臉(如果存在)的位置、大小和位姿的過
程。人臉檢測作為人臉信息處理中的一項關鍵技術,近年來已成為模式識別與計算機
視覺領域內一項受到普遍重視,研究十分活躍的課題。
人臉識別或辨認、人臉定位以及人臉追蹤等都與人臉檢測密切相關。人臉定位
的目的是確定圖像中人臉的位置。假設一幅圖像中只存在一張臉,則面部特征檢測的
目的是檢測特征的存在和位置,如眼睛、鼻子(鼻孔)(眉毛)(嘴)(嘴唇)耳朵等。
人臉識別或辨認是將輸入圖像與數據庫中的圖像比對,如果存在,報告匹配結果。人臉
識別的目的是檢驗輸入圖像中的個體的身份,而人臉追蹤方法是實時地、連續地估計
在圖像序列中的人臉的位置和可能的方向。面部表情識別涉及識別人類的情感狀態
(高興、悲傷、厭惡等)。很明顯,在任何解決上述問題的自動識別系統中,人臉檢測
是第一步。
從一幅圖像中檢測人臉的方法可以分為以下四種:
(1)基于知識的方法它將典型的人臉形成規則庫對人臉進行編碼。通常,通過面部特
征之間的關系進行人臉定位。
(2)特征不變方法該算法的目的是在姿態、視角或光照條件改變的情況下找到存
在的結構特征,然后使用這些特征確定人臉。
(3)模板匹配方法存儲幾種標準的人臉模式,用來分別描述整個人臉和面部特征;
計算輸入圖像和存儲的模式間的相互關系并用于檢測。
(4)基于外觀的方法與模板匹配方法相反,從訓練圖像集中進行學習從而獲得模型
(或模板),并將這些模型用于檢測。
2基于知識的方法
基于知識的方法是基于規則的人臉檢測方法,規則來源于研究者關于人臉的先驗知
識。一般比較容易提出簡單的規則來描述人臉特征和它們的相互關系,如在一幅圖像中
出現的人臉,通常具有互相對稱的兩只眼睛、一個鼻子和一張嘴。特征之間的相互關系
可以通過它們的相對距離和位置來描述。在輸入圖像中首先提取面部特征,確定基于編
碼規則的人臉候選區域。
59
這種方法存在的問題是很難將人類知識轉換為明確定義的規則。如果規則是詳細的
(嚴格的),由于不能通過所有的規則檢測可能失敗;如果規則太概括(通用),可能會
有較高的錯誤接收率。此外,很難將這種方法擴展到在不同的位姿下檢測人臉,因為列
舉所有的情況是一項很困難的工作。
Yang和Huang使用分層的基于知識的人臉檢測方法,他們的系統由三級規則組
成。在最高級,通過掃描輸入圖像的窗口和應用每個位置的規則集找到所有可能的人
臉候選區。較高級的規則通常描述人臉看起來像什么,而較低級的規則依賴于面部特
征的細節。多分辨率的分層圖像通過平均和二次采樣生成,如圖1所示。編碼規則通
常在較低的分辨率下確定人臉的候選區,包括人臉的中心部分(圖2中較淺的陰影部
分),其中有四個基本上相同的灰度單元。
在人臉的上層周圍部分具有相同的灰度。人臉的中心部分和上層周圍的灰度不同。
最低分辨率的(Lever1)圖像用于搜索人臉的候選區并在后面較精細的分辨率下作進
一步處理。在Lever2完成人臉候選區的局部直方圖均衡化,并進行邊緣檢測。繼續存
在的候選區在Lever3用其他的人臉特征,如眼睛、嘴等對應的規則進行檢查。這種方法
的特點是用從粗—細的策略來減少所需要的計算,雖然它沒有很高的檢測率,但采用多
分辨率分層的思想和指導搜索的規則已經用到后面的人臉檢測工作中。
Kotropoulos和Pitas提出了一種基于規則的定位方法。用投影方法確定面部特
征,I(x,y)是m×n圖像中(x,y)位置的灰度值,圖像的水平和垂直投影定義為
HI(x)=Σny=1I(x,y)和VI(y)=Σmx=1I(x,y)。通過在HI中的急
劇變化檢測到兩個局部最小點,它對應于頭部的左右兩邊,獲得輸入圖像的水平輪廓。類
似地,獲得垂直的輪廓,局部最小點的確定用于定位嘴唇、鼻尖和眼睛。這些檢測到的
特征組成了面部候選區。
李華勝等人提出通過區域增長從人臉圖像中分割出人臉,再利用邊緣檢測、Hough
變換、模板匹配和方差投影技術可以快速有效地提取出人臉面部器官,如眼睛、鼻子和
60
嘴巴等特征。實驗結果表明其所采用的方法具有較高的準確率(95.5%)和光照魯棒
性。
姜軍等人提出了一種基于知識的快速人臉檢測方法。采用符合人臉生理結構特征
的人臉鑲嵌圖模型。在分析了足夠多的人臉圖像樣本基礎上,針對人臉圖像的灰度和邊
緣信息,建立了一種較為完備的知識庫;為加快檢測速度,采用了多級檢測步驟。實驗
結果表明,其方法具有較強的魯棒性,能夠很好地解決復雜背景下的多人臉檢測問題。
盧春雨等人對鑲嵌圖方法進行了改進,按照人臉器官的分布將人臉劃分為3×3
個馬賽克塊,在檢測中自適應地調整各塊的大小,使用一組基于各塊灰度和梯度統計特
征的知識規則檢驗該區域是否為人臉,取得了較好的實驗結果。
3基于特征的方法
基于特征的方法不僅可以從已有的面部特征而且可以從它們的幾何關系進行人臉
檢測。與基于知識的方法相反,它是尋找人臉的不變特征用于人臉檢測。人們已經提出
了許多先檢測人臉面部特征,后推斷人臉是否存在的方法。面部特征,如眉毛、眼睛、
鼻子、嘴和發際,一般利用邊緣檢測器提取,根據提取的特征,建立統計模型描述特征
之間的關系并確定存在的臉。基于特征的算法存在的問題是,由于光照、噪聲和遮擋等
使圖像特征被嚴重地破壞,人臉的特征邊界被弱化,陰影可能引起很強的邊緣,而這些邊
緣可能使得算法難以使用。
Sirohey提出了從復雜的背景中分割人臉進行人臉識別的定位方法。它使用邊緣
圖和啟發式算法來去除和組織邊緣,而只保存一個邊緣輪廓,然后用一個橢圓擬合頭部
區域和背景間的邊界。Graf等人提出定位灰度圖像的面部特征和人臉的檢測方法。在
濾波以后,用形態學的方法增強具有高亮度、含有某些形狀(如眼睛)的區域。Leung
等人提出一種基于局部特征檢測器和任意圖匹配的概率方法,在復雜場景中定位人臉
其目標是找到確定的面部特征的排列。典型的人臉用五個特征(兩只眼睛、兩個鼻孔
和鼻子與嘴唇的連接處)來描述。Yow和Cipolla提出了一種基于特征的方法。在第一階
段,應用了二階微分Gaussian濾波器,在濾波器響應的局部最大點檢測感興趣的點,
指出人臉特征可能的位置;第二階段,檢查感興趣點周圍的邊緣并將它們組成區域。這
種方法的優點是可以在不同的方向和位姿上檢測人臉。Han等人提出了一種基于形態學
的技術進行眼部分割進而實現人臉檢測的方法。他們認為眼睛和眼眉是人臉最突出和穩
定的特征,特別適合人臉檢測。
彭進業等人提出了一種在圖像的反對稱雙正交小波分解數據域中,實現多尺度對稱
變換的方法,并將它應用于臉部圖像中主要特征點的定位。王延江等人提出了一種快速
的彩色圖像中復雜背景下人臉檢測方法。其方法首先計算對彩色圖像中與人的膚色相似
的像素進行聚類和區域分割,然后利用小波分解對每一個候選區域進行人臉特征分析,
如所檢測到的區域特征分布與某一預先定義的人臉模型相似,則確認該區域代表人臉。
在人臉檢測和手的跟蹤等許多應用中,已經使用了人類的皮膚顏色作為特征。雖然
不同的人有不同的皮膚顏色,研究表明主要的不同在于它們的亮度而不是它們的色度。
標注皮膚像素的顏色空間包括RGB、規格化的RGB,HSV(或HIS),YcrCb,YIQ,YES,CIE
XYZ和CIELUV。人們已經提出了許多方法用于構建顏色模型。最簡單的模型是使用Cr,
Cb值定義一個皮膚色調像素區域,也就是R(Cr,Cb),從皮膚顏色像素得到樣本。仔
細選擇閾值[Cr1,Cr2]和[Cb1,Cb2],如果像素值(Cr,Cb)滿足Cr1≤Cr
≤Cr2,Cb1≤Cb≤Cb2,就被分類到皮膚色調中。
皮膚顏色通常不能獨自進行人臉檢測和追蹤。近年來,人們已經提出幾種使用形狀
61
分析、顏色分割和運動信息結合的模塊化系統在圖像序列中用于定位和追蹤頭部和人臉
的方法。
4模板匹配
Sakai等人使用眼睛、鼻子、嘴和人臉輪廓等子模板建模,檢測照片中的正面人臉。
每一個子模板按照線分割定義。基于最大梯度變化提取輸入圖像的線,然后與子模板匹
配。計算子圖像和輪廓模板之間的相互關系去檢測人臉的候選區域,完成用其他子模板
在候選區域的匹配。
Craw等人提出了一種基于正面人臉的形狀模板(也就是人臉的外形)定位方法。
用Sobel濾波器提取邊緣,將邊緣組織在一起,根據幾個約束條件去搜索人臉模板。在
頭輪廓定位以后,用相同的過程以不同的尺度重復定位眼睛、眼眉和嘴唇等特征。
Govindaraju等人提出兩個階段的人臉檢測方法。人臉模型根據邊緣定義的特征構
成,這些特征描述了正面人臉的左邊、發際和右邊的曲線。人臉必須是垂直、無遮擋和
正面的。
Miao等人提出了用于人臉檢測的層次模板匹配方法。在第一階段,為了處理旋轉圖
像,輸入圖像從-20°~20°旋轉,每次旋轉5°。多分辨率圖像層次形成和邊緣提取使
用Laplacian操作符。人臉模板通過六個人臉成分產生的邊緣組成:兩個眼眉、兩只眼
睛、一個鼻子和一張嘴。最后,應用啟發式確定人臉的存在。實驗結果表明在圖像含有
單個人臉要比圖像中含有多個人臉的結果好。
梁路宏等人使用了直接的平均臉模板匹配方法。其方法考慮到眼睛在人類辨識人
臉過程中的特殊作用,使用雙眼模板首先進行粗篩選,然后使用不同長寬比的人臉模板
進行匹配,最后使用馬賽克規則進行驗證。
周激流等人提出了一種全新的人臉臉部輪廓提取算法,即運用先驗模板及交替補償
機制的方法提取臉部輪廓。實驗證明,其提出的特征提取算法高效且魯棒性能好。
5基于外觀的方法
模板匹配中的模板是由專家預定義的,與模板匹配中的方法不同,基于外觀方法中
的“模板”是從圖像中的樣本學習的。通常,基于外觀的方法依靠統計分析和機器學習
技術找到相應的人臉和非人臉圖像的特征。學習的特征由分布模型或判別函數形成,用
于人臉檢測,同時,由于計算效率和檢測有效性的原因通常需要降維。
許多基于外觀的方法可以被理解為概率結構。從圖像中提取的特征向量可以看作
是一個任意的變量x,此隨機變量通過類條件概率密度函數p(x|face)和p(x|non
face)描述人臉和非人臉。可以用Bayesian分類器或最大似然函數將一個候選圖像位
置分類為人臉或非人臉。不幸的是,x的高維度使簡單實現Bayesian分類器是不可行的,
因為p(x|face)和p(x|nonface)是多峰的,p(x|face)和p(x|nonface)是
否存在自然參數化的形式還不清楚。因此,在基于外觀的方法中,大多數工作涉及的
是由經驗確定的參數或用非參數方法近似p(x|face)和p(x|nonface)。在這方
面人們主要研究了特征臉(Eigenfaces)方法和基于分布的方法(Distribution-bad
Methods)用于人臉檢測。另一種方法是在人臉和非人臉之間找到判別函數。通常將圖
像模式投影到較低的維數空間,然后形成判別函數進行分類,或者利用多層神經元網絡
形成非線性的決策面。使用神經元網絡進行人臉檢測的優點是使訓練一個系統來獲得人
臉模式的復雜類條件密度成為可行;而缺點是必須大范圍地調整網絡結構(如層的個
數、節點的個數、學習速度等)以獲得非凡的性能。
62
隱藏Markov模型(HiddenMarkovModel,HMM)也被人們用于人臉檢測。在HMM用
于模式識別問題時,需要確定許多隱藏的狀態形成一個模式,然后,訓練HMM從樣本中學
習傳統狀態間的概率,其每個樣本被表示為觀察序列。訓練HMM的目的是通過HMM模型中
的參數調整最大化觀察的訓練數據的概率。訓練HMM模型以后,觀察的輸出概率確定了其
所屬的類別。近年來,人們又提出了支持向量機(SupportVectorMachines,SVMs)和
其他的核函數方法。這些方法將模式投影到較高維數空間,然后在投影的人臉和非人臉
模式之間形成一個決策面。SVMs分類器是線性分類器,所選擇的分類超平面使未知測試
樣本的分類錯誤最小。最優超平面是通過權值結合訓練向量的小子集(稱為支持向量)
來定義的,然而,其時間和內存的計算量是很大的。
6討論
本文將人臉檢測方法分為四個主要類別:基于知識的方法、特征不變方法、模板
匹配方法和基于外觀的方法。實際上有一些方法也可以被分類到不止一種方法中,例
如,模板匹配方法通常使用人臉模型和子模板提取人臉特征,然后利用這些特征定位
和檢測人臉。所以,近年來人們提出了基于混合方法的人臉檢測方法。基于混合的方
法結合了兩種或更多種前面提到的方法,進而形成更準確和魯棒的人臉檢測系統。如
人們已經提出了基于顏色和運動的融合方法,運動、顏色、形狀信息融合方法,顏色
分割、運動檢測、形狀分析的融合方法等進行人臉檢測。基于混合方法的優點是實現
了信息的融合,混合方法的優勢是使一種方法的缺點被另一種方法的優點補償。因此,
混合方法將是未來人臉檢測研究領域的主要課題。目前復雜背景圖像中的人臉檢測方
法多針對正面端正的人臉。多姿態人臉的檢測(特別是側面人臉的檢測)還存在很大
的困難,有效的方法還不多。這方面的研究也將是一個重點。
本文發布于:2023-03-05 18:58:38,感謝您對本站的認可!
本文鏈接:http://m.newhan.cn/zhishi/a/1678013919125598.html
版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。
本文word下載地址:人臉識別論文.doc
本文 PDF 下載地址:人臉識別論文.pdf
| 留言與評論(共有 0 條評論) |