李晶惠++葉學(xué)義++夏胡云++葉楓
摘要:針對AdaBoost人臉檢測算法分類器訓(xùn)練時Haar特征數(shù)目過多,導(dǎo)致訓(xùn)練過程過于耗時的問題,提出了一種基于“大T”型區(qū)域的AdaBoost人臉檢測算法。通過提取500張人臉樣本中的主要特征區(qū)域,投影到20×20的模板中,對重疊區(qū)域取其并集求得“大T”型特征篩選區(qū)域,以此模板優(yōu)化Haar特征,使用于分類器訓(xùn)練的Haar特征集中于人臉面部的關(guān)鍵區(qū)域。實驗結(jié)果表明,在LFW、PKU數(shù)據(jù)庫中進行人臉檢測,在不降低原始AdaBoost算法檢測率的同時,對PKU數(shù)據(jù)庫中的多人臉檢測算法的漏檢率有所改善,同時優(yōu)化了算法訓(xùn)練時間。
關(guān)鍵詞:人臉檢測;AdaBoost算法;Haar特征;“大T”型特征篩選模板
DOIDOI:10.11907/rjdk.171551
中圖分類號:TP312文獻標(biāo)識碼:A文章編號:16727800(2017)010002205
0引言
AdaBoost算法最初由Freund等[1]提出,其關(guān)鍵思想是針對同一個訓(xùn)練集訓(xùn)練多個弱分類器,最后將這些弱分類器集成起來構(gòu)成最終的強分類器。人臉檢測是自動人臉識別系統(tǒng)中一個關(guān)鍵環(huán)節(jié)[2],它是指采用一定的策略對任意給定的圖片或視頻進行搜索,從而判斷其中是否存在人臉,如果存在則定位出每個人臉的位置、大小以及姿態(tài)的過程。Viola 等[3]提出的AdaBoost人臉檢測算法,在提高人臉識別準(zhǔn)確率的同時,極大加快了檢測速度。人臉的特征選取對于人臉檢測精度起著重要作用[4],基于AdaBoost的人臉檢測算法通常采用Haar特征來表示人臉的灰度變化,由于訓(xùn)練時Haar特征數(shù)目巨大導(dǎo)致訓(xùn)練過程過于耗時,而實際構(gòu)成人臉檢測分類器的Haar特征僅有幾千個。因此,有必要對Haar矩形特征進行優(yōu)化篩選以提升算法的整體訓(xùn)練速率。
針對Haar特征數(shù)目過多問題,文獻[5]介紹了兩種常用的優(yōu)化Haar特征數(shù)目方法:①采用限制最小Haar特征尺寸大小并調(diào)整Haar特征的偏移量方式,優(yōu)化訓(xùn)練時Haar矩形特征個數(shù)。該方法雖然可以有效減少Haar矩形特征數(shù)量,但同時也會漏掉一些分類效果較好的矩形特征,因此會影響訓(xùn)練生成的分類器檢測率;②通過限制Haar矩形特征在檢測窗口中的遍歷范圍優(yōu)化Haar特征的數(shù)目,但采用這種方式會漏掉部分有效的人臉邊緣特征,同時矩形區(qū)域內(nèi)也包含了部分臉狹部位等分類特征不太明顯的區(qū)域。介于此,本文提出基于“大T”型區(qū)域的AdaBoost人臉檢測算法,通過采用“大T”型區(qū)域?qū)λ蠬aar特征進行篩選,使得用于訓(xùn)練的Haar特征集中于人臉面部的關(guān)鍵區(qū)域,降低了訓(xùn)練時Haar特征數(shù)目,加快了分類器的訓(xùn)練速度。實驗結(jié)果表明,采用 “大T”型區(qū)域篩選后的Haar矩形特征訓(xùn)練生成的分類器,在LFW、PKU數(shù)據(jù)庫中進行人臉檢測時,在不降低原始AdaBoost算法檢測率的同時,能改善PKU數(shù)據(jù)庫中的多人臉檢測算法漏檢率,同時優(yōu)化了算法的訓(xùn)練時間。
1AdaBoost人臉檢測算法
1.1AdaBoost算法概述
基于AdaBoost算法的人臉檢測由Paul Viola和Michael Jones于2001年提出,通過從正負樣本中提取大量不同的Haar特征,并采用“積分圖”的計算方式求得對應(yīng)的特征值,對特征值遍歷找出分類錯誤率最低的特征值即對應(yīng)的最優(yōu)弱分類器,然后將訓(xùn)練樣本進行多次學(xué)習(xí),求出一系列最優(yōu)弱分類器線性組合成強分類器,最后將強分類器按照一定的規(guī)則組合成一個更加復(fù)雜的級聯(lián)分類器,并采用該級聯(lián)分類器進行人臉檢測。訓(xùn)練時若某個樣本被正確分類,則在下一次訓(xùn)練中該樣本的權(quán)重就會降低,相反分類錯誤的樣本在下一次訓(xùn)練中樣本權(quán)重就會增加。在不斷的循環(huán)中,弱分類器將其注意力集中至權(quán)重較大的分類器,根據(jù)檢測率和誤檢率要求,將簡單的弱分類器按照權(quán)重疊加成強分類器,并將強分類器級聯(lián)起來生成最需要的分類器[6],AdaBoost算法正是通過這種動態(tài)調(diào)整方式使訓(xùn)練生成的分類器更加關(guān)注于那些錯分的樣本。在進行人臉檢測時采用級聯(lián)分類器可快速排除圖像中明顯不是人臉的背景區(qū)域,進而在有可能存在人臉的區(qū)域更精細地檢測。
1.2Haar矩形特征
Viola構(gòu)建的人臉檢測分類器采用Haar矩形特征訓(xùn)練弱分類器,該特征是計算機視覺領(lǐng)域一種常用的特征描述算子,能較好地體現(xiàn)人臉的局部特征的灰度變化[7]。Haar矩形特征是由兩個或多個形狀大小相同的矩形組合而成,并采用黑白矩形塊反映人臉灰度變化差異。Haar矩形特征結(jié)構(gòu)簡單,計算方便。利用該特征訓(xùn)練生成的分類器,分類性能往往僅比隨機猜想的正確率略高,在實際應(yīng)用中難以起到較好的分類效果,屬于典型的弱分類器。本文選擇Viola提出的5種常用矩形特征原型進行實驗,具體的Haar特征原型如圖1所示。
Haar矩形特征可以在檢測窗口中以“任意”尺寸放置,每一種形態(tài)表示不同的特征,準(zhǔn)確計算檢測窗口中矩形特征的個數(shù)是弱分類器訓(xùn)練的基礎(chǔ),以大小為W*H像素的檢測窗口為例:令X=W/w」,Y=H/h」,其中.」表示取整操作,W和H分別表示檢測窗口的寬度和高度,w和h分別表示Haar矩形特征的寬度和高度,t和ht(x)分別表示檢測窗口橫向和縱向可放大的倍數(shù)。因此一個大小為w×h的矩形特征在檢測窗口為W×H中的特征個數(shù)由公式(1)計算求得:
X×Y×W+1-wX+12×H+1-hY+12(1)
采用公式(1)計算出每個Haar特征原型在檢測窗口中的特征個數(shù),本文選用5種Haar特征原型在檢測窗口大小為20×20的情況下,矩形特征總數(shù)超過7萬個,而AdaBoost人臉檢測級聯(lián)分類器所用的Haar矩形特征數(shù)目遠少于訓(xùn)練特征個數(shù)。因此有必要對大量的Haar特征進行篩選,選出關(guān)鍵區(qū)域的Haar特征進行分類器訓(xùn)練,提升算法的訓(xùn)練速率。
2訓(xùn)練特征優(yōu)化endprint
2.1分類器構(gòu)成分析
由于Haar矩形特征結(jié)構(gòu)簡單,應(yīng)用于人臉檢測時,可以根據(jù)人臉面部的灰度分布特點選擇不同的矩形特征原型,理論上影響訓(xùn)練時間的主要是訓(xùn)練樣本數(shù)目和參與訓(xùn)練的特征數(shù)目,為了使訓(xùn)練出的分類器具有很好的泛化能力,訓(xùn)練樣本數(shù)目不能太少,因此只能通過減少訓(xùn)練特征的數(shù)量來達到減少訓(xùn)練時間的目的[5]。AdaBoost算法是一種有效的特征選擇算法,通過從大量的特征中提取出對人臉檢測真正有用的特征,并從眾多特征中選擇最有效的弱分類器形成強分類器[8]。人臉的主要特征集中于面部中央位置,因此僅選擇該區(qū)域內(nèi)的Haar特征訓(xùn)練分類器以減少特征訓(xùn)練的數(shù)目,進而起到優(yōu)化訓(xùn)練時間的目的。
根據(jù)人臉檢測的先驗知識,人臉圖像有一些明顯的基本特征,如臉部區(qū)域通常包括雙眼、鼻子和嘴巴等臉部特征和這些部位的結(jié)構(gòu)關(guān)系[9],是生物特征識別的重要依據(jù)。對于人臉的檢測即對圖像中包含人臉面部的這些關(guān)鍵部位的檢測。AdaBoost人臉檢測算法通常采用Haar矩形特征訓(xùn)練弱分類器,本文通過實驗對訓(xùn)練生成的分類器進行分析發(fā)現(xiàn),矩形特征集中分布于人臉面部的關(guān)鍵位置,圖2給出部分弱分類器對應(yīng)的Haar矩形特征與人臉樣本的匹配關(guān)系,由此提出采用包含人臉面部關(guān)鍵部位的Haar矩形特征來訓(xùn)練AdaBoost人臉檢測分類器。
2.2“大T”型Haar特征篩選方法
由人臉檢測的先驗知識可知,正面人臉的面部器官分布結(jié)構(gòu)是相對固定的,且人臉樣本中的雙眼、鼻子和嘴巴的幾何分布近似位于一個“大T”型區(qū)域內(nèi)。該區(qū)域涵蓋了人臉面部特征的主要區(qū)域,根據(jù)圖2分類器構(gòu)造分析可知,弱分類器對應(yīng)的Haar矩形特征幾乎全部涵蓋了該區(qū)域,因此本文提出采用“大T”型區(qū)域來篩選Haar矩形特征,并選擇篩選后的矩形特征來訓(xùn)練AdaBoost級聯(lián)分類器。
本文主要針對正面人臉進行檢測,因此訓(xùn)練樣本集中人臉樣本的選擇主要包括正面人臉和旋轉(zhuǎn)角度小于45°的人臉圖片。圖3是在人臉樣本中標(biāo)記出對應(yīng)的“大T”型區(qū)域示意圖,由于部分樣本中人臉的旋轉(zhuǎn)角度問題,例如圖3(c)和圖3(d)中的“大T”型區(qū)域略靠近圖像的邊緣部分,因此有必要對 “大T”型區(qū)域進行規(guī)范,使采用該區(qū)域構(gòu)建的特征篩選模板可以有效地對Haar特征進行篩選。本文通過從訓(xùn)練樣本中抽取500張人臉圖片來構(gòu)建特征篩選模板,具體模板構(gòu)建方法為:首先標(biāo)記出每個人臉樣本中 “大T”型區(qū)域,然后分別將樣本中的標(biāo)記區(qū)域投影到一個20×20的模板,最后對投影區(qū)域的重疊部分求取并集,得到最終的“大T”型區(qū)域篩選模板。圖4為本文采用上述方法構(gòu)建的20×20大小的“大T”型Haar特征篩選模板,且經(jīng)過多次實驗驗證當(dāng)“大T”型模板與檢測窗口邊緣的間隔像素值為圖中所示的數(shù)字時,檢測效果最好。將得到的“大T”型特征篩選模板用于訓(xùn)練特征篩選,篩選過程如下:①求出5種矩形特征原型在20×20大小的檢測窗口中所有Haar矩形特征;②利用上述方法構(gòu)建一個“大T”型特征篩選模板,并設(shè)定模板中表示人臉面部特征的關(guān)鍵區(qū)域值為1,其它區(qū)域值為0 ;③分別將上述Haar矩形特征平鋪于“大T”型特征篩選模板,若Haar特征的最外層矩形區(qū)域內(nèi)所有像素值的和大于或等于該矩形區(qū)域面積的一半,則保留該特征用于分類器訓(xùn)練,反之則拋棄該特征;④將上述篩選后剩余的Haar特征作為AdaBoost人臉檢測的訓(xùn)練特征。
通過 “大T”型區(qū)域?qū)λ械腍aar矩形特征進行篩選,使用于分類器訓(xùn)練的Haar矩形特征集中于人臉面部的關(guān)鍵區(qū)域,通過濾去非關(guān)鍵區(qū)域的Haar特征,有效降低訓(xùn)練特征的數(shù)量。表1給出了在20×20的檢測窗口中,對5種Haar特征原型采用“大T”型區(qū)域篩選后對應(yīng)的Haar矩形特征數(shù)量。
由表1可知,經(jīng)過“大T”型區(qū)域樣本篩選后,剩下的Haar特征數(shù)量為57 120個,相對于優(yōu)化之前的矩形特征數(shù)量減少了近2萬個,優(yōu)化后的Haar矩形特征更集中于人臉面部的關(guān)鍵區(qū)域,對于人臉面部的灰度分布特征表征能力更好。根據(jù)以往的分類器訓(xùn)練經(jīng)驗[10],對于Haar矩形特征中寬度或高度等于1的矩形特征用于人臉檢測時,隨機性太大,不適合用作人臉檢測分類器,因此再排除掉矩形特征中寬度或高度等于1個像素的Haar矩形特征,剩余的特征總數(shù)為45 768個。由于“大T”型篩選模板可以有效提取人臉面部主要區(qū)域的Haar特征,因此對不同的訓(xùn)練樣本庫,“大T”型特征篩選模板同樣有效,且只針對于AdaBoost人臉檢測算法的分類器訓(xùn)練過程。綜上所述,本文選擇上述篩選方法得到的矩形特征訓(xùn)練人臉檢測分類器。
3實驗結(jié)果與分析
選取5500張來自CASPEAL數(shù)據(jù)庫[11]和1 500張來自LFW數(shù)據(jù)庫[12]的人臉圖,根據(jù)數(shù)據(jù)庫中人臉坐標(biāo)信息截出圖像中的人臉區(qū)域,歸一化為20×20大小的圖片,構(gòu)成訓(xùn)練人臉樣本集。LFW數(shù)據(jù)庫中的圖像為自然環(huán)境下拍攝的人臉圖,因此圖像中包含的人臉具有一定的旋轉(zhuǎn)角度,且各人臉圖像之間的面部變化不一;CASPEAL人臉庫涵蓋了姿態(tài)、表情、裝飾、光照、背景、距離和時間等特征變化,本文從中挑選出全部正面人臉,佩戴眼鏡、帽子等飾物,以及人臉圖像在水平或垂直方向旋轉(zhuǎn)角度小于45°的人臉圖像,用于增強分類器對正面人臉、多表情姿態(tài)以及佩戴飾物的人臉檢測性能。負樣本的選擇來自于網(wǎng)絡(luò)中不包含人臉的20 000張圖像,訓(xùn)練時通過“自舉”方式生成與正樣本同樣大小尺寸,實驗所選的部分訓(xùn)練樣本如圖5所示。
3.1單人臉檢測
通過采用“大T”型模板來篩選Haar特征,從而使得用于訓(xùn)練的Haar特征集中于人臉面部的關(guān)鍵區(qū)域,同時降低了訓(xùn)練特征數(shù)目,提升了算法的訓(xùn)練速率。為了驗證由本文方法訓(xùn)練求得的分類器對人臉檢測分類器性能的影響,設(shè)計了如下實驗內(nèi)容。
首先驗證采用“大T”型區(qū)域優(yōu)化后的Haar特征對于訓(xùn)練樣本的分類效果。歸一化的樣本集中隨機選取5 500張人臉圖片和18 500張背景圖片構(gòu)成AdaBoost算法訓(xùn)練集,剩余的1 500張人臉圖片和1 500張背景圖片構(gòu)成測試集。分別采用原Haar矩形特征以及本文Haar矩形特征訓(xùn)練一個AdaBoost人臉檢測分類器。圖6是采用每次迭代生成的強分類器分別對測試集中的樣本進行分類時的誤檢率對比試驗結(jié)果。endprint
由實驗結(jié)果可知,對上述測試集中的人臉樣本進行分類,由本文Haar矩形特征訓(xùn)練生成的人臉檢測分類器的誤檢率基本接近于原Haar矩形特征訓(xùn)練生成的分類器,只是由前幾輪迭代求出的強分類器誤檢率曲線波動較大,但經(jīng)過對訓(xùn)練樣本近20次的學(xué)習(xí)后,誤檢率曲線基本與原Haar矩形特征相吻合。因此,本文的改進方法對AdaBoost算法[2]的誤檢率影響較小。
3.2視頻人臉檢測
在歸一化后的樣本集中選擇全部的人臉樣本和非人臉樣本構(gòu)成訓(xùn)練樣本集,然后采用原Haar矩形特征、文獻[5]限制檢測窗口的方法求得訓(xùn)練特征,以及本文“大T”型模板篩選得到的Haar特征,分別訓(xùn)練生成15層級聯(lián)分類器用于人臉檢測。實驗選擇了LFW數(shù)據(jù)庫中和PKUSVDB數(shù)據(jù)庫[13]的視頻圖像作為本文人臉檢測測試集,用來驗證本文方法檢測效果。
選擇LFW數(shù)據(jù)庫中剩余的1000張大小為250×250視頻圖像進行單人臉圖像檢測性能驗證,表2是對應(yīng)的實驗結(jié)果,圖7為部分實驗檢測結(jié)果。
由表2可知,對LFW數(shù)據(jù)庫中的單個人臉圖像進行檢測時,本文的改進方法在檢測率方面要略高于文獻[5]中的方法,基本接近原矩形特征的檢測效果。
多人臉的視頻檢測采用PKUSVDB數(shù)據(jù)庫,該數(shù)據(jù)庫是北京大學(xué)視頻編解碼技術(shù)國家工程實驗室聯(lián)合北京大學(xué)保衛(wèi)部提供的,通過對連續(xù)400幀大小為1 920*1 080視頻圖像共879個正面人臉進行檢測,得出表3的實驗結(jié)果,部分實驗結(jié)果如圖8所示。
在進行多人臉視頻檢測時,由于人臉表情復(fù)雜、姿態(tài)各異,以及背景圖像中近似人臉區(qū)域的干擾,導(dǎo)致AdaBoost人臉檢測的檢測率有所降低。由表3實驗對比結(jié)果可知,本文方法不管是在檢測率還是漏檢率方面均優(yōu)于文獻[5]中的改進方法,而且基本與原矩形特征分類器的檢測效果接近,同時降低了人臉檢測的漏檢率。上述實驗結(jié)果中本文改進方法誤檢率略高的原因是,由于訓(xùn)練特征集中于人臉面部的關(guān)鍵區(qū)域即“大T”型區(qū)域內(nèi),因此訓(xùn)練求得的分類器對于近似于人臉區(qū)域的識別率較高,可能會把一些近似人臉的背景區(qū)域誤檢為人臉。
本文的改進算法使用于訓(xùn)練的Haar特征更集中于人臉面部的關(guān)鍵區(qū)域,從而降低了訓(xùn)練特征的數(shù)目,使得AdaBoost人臉檢測分類器的訓(xùn)練速度明顯提升,表4是在同等條件下分類器訓(xùn)練時間對比結(jié)果。
由表4數(shù)據(jù)可知,本文的改進方法可以較好地優(yōu)化AdaBoost人臉檢測分類器的訓(xùn)練時間。對于訓(xùn)練一個識別率為0.995的強分類器時,本文方法所需平均時間為1 182.72s,而采用原矩形特征所需訓(xùn)練時間為1 759.24s,限制檢測窗口[5]的方法為1 395.26s,同時對于訓(xùn)練15級的人臉檢測分類器時,采用“大T”型區(qū)域優(yōu)化后的Haar特征所需的訓(xùn)練時長約為19.2小時,比原始的AdaBoost算法縮短了近11個小時。由此可知,基于“大T”型區(qū)域的Haar特征篩選方法在不降低AdaBoost算法檢測效率的同時優(yōu)化了訓(xùn)練時間,因此本文方法對于AdaBoost算法人臉檢測分類器訓(xùn)練性能的提高具有一定效果。
4結(jié)語
針對AdaBoost人臉檢測算法在分類器訓(xùn)練時Haar特征數(shù)目過多,導(dǎo)致訓(xùn)練過程極其耗時的問題,本文提出了基于“大T”型區(qū)域的AdaBoost人臉檢測算法。通過對AdaBoost人臉檢測分類器的構(gòu)成進行分析,弱分類器對應(yīng)的Haar特征主要集中于人臉面部的關(guān)鍵區(qū)域,將該區(qū)域作為人臉檢測識別的依據(jù)。通過選取500個人臉樣本,提取其面部關(guān)鍵區(qū)域投影到20×20大小的模板中,對重疊區(qū)域取其并集求得“大T”型特征篩選模板,以此模板優(yōu)化Haar特征,使得用于分類器訓(xùn)練的Haar特征集中于人臉面部的關(guān)鍵區(qū)域,最后采用篩選后剩余的Haar特征來訓(xùn)練人臉檢測分類器?!按骉”型篩選模板只限于AdaBoost算法訓(xùn)練時訓(xùn)練特征的優(yōu)化,與不同的訓(xùn)練樣本庫無關(guān)。實驗結(jié)果表明,采用“大T”型區(qū)域?qū)aar特征進行篩選,不僅降低了訓(xùn)練特征的數(shù)目,還起到了優(yōu)化訓(xùn)練時間的目的。在LFW、PKUSVDB數(shù)據(jù)庫中的檢測結(jié)果表明,本文的改進方法在不降低AdaBoost算法檢測率的同時,對PKU數(shù)據(jù)庫中的多人臉檢測算法的漏檢率有所改善,對AdaBoost人臉檢測分類器的訓(xùn)練性能提高有一定的作用。
致謝
感謝北京大學(xué)視頻編解碼技術(shù)國家工程實驗室提供的PKUSVDB數(shù)據(jù)庫和中科院計算技術(shù)研究所提供的CASPEAL人臉數(shù)據(jù)庫。
參考文獻:
[1]許劍,張洪偉.AdaBoost算法分類器設(shè)計及其應(yīng)用[J].四川理工學(xué)院學(xué)報:自然科學(xué)版,2014(1):2831.
[2]劉王勝,馮瑞.一種基于AdaBoost的人臉檢測算法[J].計算機工程與應(yīng)用,2016(11):209214.
[3]曹瑩,苗啟廣,劉家辰,等.AdaBoost算法研究進展與展望[J].自動化學(xué)報,2013(6):745758.
[4]張君昌,張譯.基于改進AdaBoost算法的人臉檢測[J].計算機仿真,2011,28(7):240244.
[5]徐信.基于Adaboost人臉檢測算法的研究及實現(xiàn)[D].太原:太原理工大學(xué),2015.
[6]甘玲,朱江,苗東.擴展Haar特征檢測人眼的方法[J].電子科技大學(xué)學(xué)報,2010,39(2):247250.
[7]鐘銳,吳懷宇,吳若鴻.基于強跟蹤Kalman濾波的魯棒人臉跟蹤算法[J].計算機工程與設(shè)計,2016,37(2):475480.
[8]王慶偉,應(yīng)自爐.一種基于HaarLike T特征的人臉檢測算法[J].模式識別與人工智能,2015,28(1):3541.
[9]韓玉峰,施銅興,王小林.臉部特征點定位方法綜述[J].計算機工程與應(yīng)用,2012(1):180218.
[10]劉俠,李蘇,李廷軍.一種改進的Adaboost算法的人臉檢測分類器[J].空軍工程大學(xué)學(xué)報:自然科學(xué)版, 2009, 10(2):7680.
[11]GAO W, CAO B, et al. The CASPEAL largescale Chinese face database and baseline evaluations[J]. IEEE Transactions on Systems, Man and Cybernetics, Part A: Systems and Humans, 2008,38(1):149161.
[12]HUANG G B, RAMESH M, BERG T, et al. Labeled faces in the wild: a database for studying face recognition in unconstrained environments[D]. Massachusetts, USA: Amherst College, 2007:949.
[13]PKU SVD B. Database [EB/OL].http://www.smartcitycompetition.com
責(zé)任編輯(責(zé)任編輯:杜能鋼)endprint