張 飛
(安徽廣播電視大學(xué)阜陽分校,安徽阜陽 236000)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,機(jī)器視覺技術(shù)研究吸引了眾多的目光,與此同時,人工智能技術(shù)的發(fā)展使其研究取得了長足的進(jìn)步。目前機(jī)器視覺主要包括檢測、識別和跟蹤等研究方向,這些技術(shù)廣泛應(yīng)用于國防建設(shè)、醫(yī)藥衛(wèi)生、社會網(wǎng)絡(luò)安全監(jiān)控等領(lǐng)域〔1〕。而人臉檢測與識別正是機(jī)器視覺中一個重要的分支〔2〕。其中,人臉檢測是通過人臉的位置、大小等數(shù)據(jù),確認(rèn)圖像是否為人臉;而人臉識別則在人臉檢測的基礎(chǔ)上進(jìn)行人臉特征的提取,包括大小、紋理、外貌等〔3〕。由于圖像的背景復(fù)雜性、人臉姿態(tài)多樣性,人臉檢測需要考慮很多方面的問題,既要保證較高的檢出率,又要保證較低的誤檢率〔4〕?;贏daboost 的人臉檢測算法通過Haar-like 特征和積分圖函數(shù)實(shí)現(xiàn)特殊特征識別人臉〔5〕。但是,Adaboost的人臉檢測算法存在誤檢率高的問題〔6〕。本文在Adaboost 的人臉檢測算法的基礎(chǔ)上,引入基于梯度方向金字塔(GDP)特征和支持向量機(jī)(SVM)學(xué)習(xí)算法的分類器作為最后一級分類器,彌補(bǔ)誤檢率高的缺陷,形成基于特征臉的Adaboost 人臉檢測算法。
1.1 Adaboost 人臉檢測算法基于Adaboost 的學(xué)習(xí)算法的基本思想是:選定一個很大的訓(xùn)練集,從中定義大量的Haar-like 特征。每個訓(xùn)練樣本都賦予一個權(quán)重,進(jìn)行T 次迭代,每次迭代后,對分類錯誤的樣本加大權(quán)重,使得下輪分類時更加關(guān)注這些樣本。最后根據(jù)每個特征分辨人臉的能力,選擇很小一部分作為關(guān)鍵特征,從而產(chǎn)生一個強(qiáng)分類器。Adaboost 訓(xùn)練強(qiáng)分類器的算法描述如下〔7〕:輸入:樣本集{(x1,y1),(x2,y2),…,(xn,yn)},其中yi=0,1 分別表示負(fù)樣本和正樣本。算法步驟:
(1)初始化的權(quán)值:當(dāng)yi=0 時,;當(dāng)yi=1 時,。其中m 和l 分別是負(fù)樣本和正樣本的數(shù)量;
(2)令t=1 to T
①歸一化權(quán)值,使Wt符合概率分布,
②對于每個特征j,訓(xùn)練一個分類器hj,這個弱分類器的分類結(jié)果只取決于j,此時分類誤差和Wt有關(guān),
③選出分類誤差εt最小的弱分類器ht。
④更新權(quán)值:
其中如果Xi被分類正確,ei=0,反之ei=1,且βt=
輸出:訓(xùn)練得到強(qiáng)分類器:
1.2 人臉檢測算法的改進(jìn)Viola 等〔8〕文章的發(fā)表被視作是人臉檢測速度提高的一個轉(zhuǎn)折點(diǎn),綜合Adaboost 方法和Cascade 算法構(gòu)建了實(shí)時的人臉檢測系統(tǒng)。主要內(nèi)容包括:1)提出了積分圖(integrated image),提高了計(jì)算Haar-like 特征的速度。2)采用級聯(lián)結(jié)構(gòu)進(jìn)行訓(xùn)練。Adaboost 算法采用多個強(qiáng)分類器級聯(lián)的方式進(jìn)行快速的人臉檢測,每級分類器使用特征均為Haar-like 特征,用同一種方法來組合若干個弱分類器,形成一個強(qiáng)分類器。這種級聯(lián)結(jié)構(gòu)對效率有很大的提高,但在準(zhǔn)確率方面,由于特征和訓(xùn)練方法均為同一種方法,對檢測帶來一定限制。本文將人臉的檢測看作一個兩層的分類問題,首先利用Viola 等〔8〕提出的Adaboost 人臉檢測算法進(jìn)行人臉的初檢測,由于該方法利用了多個分類器的級聯(lián)結(jié)構(gòu),利用這一檢測流程的特征。同時,引入基于GDP 特征和SVM 學(xué)習(xí)算法的分類器,作為檢測流程的最后一級分類器。
首先對檢測圖像進(jìn)行一定的預(yù)處理,并用迭代窗口獲取待檢測區(qū)域;然后利用Adaboost 自身訓(xùn)練得到的多級分類器進(jìn)行人臉區(qū)域的檢測;最后對初次分類結(jié)果提取GDP 特征,GDP 特征具有一定的優(yōu)勢,對光照并不敏感,利用SVM 學(xué)習(xí)算法訓(xùn)練好的分類器進(jìn)行最后一級研判,實(shí)現(xiàn)人臉的檢測。檢測算法框架見圖1。
圖1 檢測算法框架
算法步驟如下:
(1)GDP 特征定義:給定輸入圖像I(p),其中p=(x,y)表示圖像中像素p 的位置。
①首先定義圖像I 的金字塔為:
其中Φ(p)為高斯核參數(shù)(實(shí)驗(yàn)中使用0.5),↓2表示每層金字塔為其下層大小的一半,s 是金字塔的層數(shù)。
②歸一化:金字塔每層σ 上的梯度方向定義為每個像素點(diǎn)歸一化后的梯度向量:
③輸出:圖像I 的GDP 特征定義為:
(2)SVM 算法分類:對于樣本集{(x1,y1),(x2,y2),…,(xn,yn)}(xi∈Rd,y∈{1,-1}),采用徑向基函數(shù)(RBF)進(jìn)行計(jì)算:
當(dāng)滿足
2.1 數(shù)據(jù)來源實(shí)驗(yàn)數(shù)據(jù)主要包括3 個部分:1)人臉檢測分類器的訓(xùn)練集用的是Feret 人臉庫(包含443 張人臉圖片),對人臉圖片進(jìn)行一些預(yù)處理,包括歸一化、灰度化等,將圖片統(tǒng)一格式,這些人臉圖片作為正樣本,負(fù)樣本是手工截取的一些非人臉圖片,然后對這些樣本進(jìn)行尋訓(xùn)練,最后生成分類器,保存在XML 文件中。2)靜態(tài)圖片的測試集主要由第二代身份證照片(共500 張)和網(wǎng)絡(luò)圖片資源(40張圖片,共包括625 個人臉)組成,視頻中人臉檢測的測試集主要是攝像頭拍攝的視頻,也包括一些網(wǎng)絡(luò)視頻資源。
2.2 測試結(jié)果分析對Feret 人臉數(shù)據(jù)庫進(jìn)行人臉檢測實(shí)驗(yàn),含人臉的圖片共443 張,其中漏檢測3張,將非人臉區(qū)域誤檢測為人臉的出現(xiàn)10 處,檢出率為99.3%,漏檢率為0.7%,誤檢率為2.3%。Feret人臉庫的人臉姿態(tài)與第二代身份證的相似,但存在一些輕微的傾斜和旋轉(zhuǎn)情況。
在第二代身份證圖片檢測識別實(shí)驗(yàn)中,其中漏檢1 張,將非人臉區(qū)域誤檢測為人臉出現(xiàn)14 處,檢出率為99.8%,漏檢率為0.2%,誤檢率為2.8%。主要是因?yàn)榈诙矸葑C拍攝條件要求比較嚴(yán)格,人臉的姿態(tài)是正面的,很少帶有旋轉(zhuǎn)和傾斜,且拍攝現(xiàn)場光照條件良好,背景單一,對檢測的影響較小,故檢出率較高。漏檢測的主要原因是照片中人物年齡較大,臉部皺紋明顯,且五官較小,其Haar-like特征不明顯。圖2 給出了部分檢測正確、誤檢和漏檢的例子。
圖2 第二代身份證人臉檢測結(jié)果
同時本文從互聯(lián)網(wǎng)下載一些多人臉圖片進(jìn)行實(shí)驗(yàn),其中人臉帶有較明顯的旋轉(zhuǎn)和傾斜,圖片背景復(fù)雜,且光照條件多變,圖片本身清晰度也有較大差異,此外,包括很多遠(yuǎn)景人臉。實(shí)驗(yàn)共檢測了40張圖片,共包括625 個人臉,其中檢測正確的有544個,漏檢測81 個,誤檢測40 個,檢出率為87.0%,漏檢率為13.0%,誤檢率為6.4%?;ヂ?lián)網(wǎng)圖片資源清晰度不一致,而且圖片中人臉姿態(tài)往往是傾斜和旋轉(zhuǎn)的,圖片背景和光照條件復(fù)雜多變,對人臉的檢測帶來較明顯的影響。見圖3。
圖3 網(wǎng)絡(luò)圖片人臉檢測的部分結(jié)果
最后對Adaboost 算法檢測到的結(jié)果(包括正確和誤檢測的結(jié)果),利用GDP 特征進(jìn)行重分類,分類過程將大部分誤檢測為人臉的非人臉區(qū)域去除,但有少量的人臉區(qū)域被誤標(biāo)注為非人臉,本文將這類情況歸結(jié)為漏檢測。人臉檢測實(shí)驗(yàn)的結(jié)果見表1~2。
表1 Adaboost 算法人臉檢測實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)結(jié)果顯示,Adaboost + GDP 的算法與單一的Adaboost 算法相比,正確率有小幅度的下降,即漏檢率略增加,但誤檢率下降較明顯,原因如下:基于SVM 的學(xué)習(xí)算法本身對訓(xùn)練樣本有一定的依賴,且對人臉提取的特征不同,實(shí)際結(jié)果也會有差別,分類效果并不能達(dá)到100%的正確率,故會將部分人臉誤分類為非人臉。所以,通過在Adaboost 檢測結(jié)果后再級聯(lián)一層分類器,將人臉特征由原先的Haar-like 特征換成GDP,在提取人臉和非人臉樣本的特征后,利用SVM 對正樣本和負(fù)樣本進(jìn)行訓(xùn)練,得到分類器能夠去除一些誤檢測的結(jié)果。
人臉檢測與識別作為人臉信息處理的關(guān)鍵技術(shù),近年來成為模式識別和計(jì)算機(jī)視覺領(lǐng)域內(nèi)一項(xiàng)受到普遍重視的課題。本文通過Adaboost 人臉檢測算法,對靜態(tài)圖片進(jìn)行了人臉檢測,同時利用GDP和SVM,對檢測結(jié)果進(jìn)一步分類,達(dá)到了實(shí)時的檢測效果。
表2 Adaboost + GDP 算法人臉檢測實(shí)驗(yàn)結(jié)果