侯順艷 郄建敏 許 靜
(河北大學(xué) 電子信息工程學(xué)院,河北 保定071002)
人臉檢測(cè)是人臉表情識(shí)別、人機(jī)交互的第一步,快速有效的人臉檢測(cè)直接影響人臉識(shí)別系統(tǒng)的實(shí)現(xiàn)。人臉檢測(cè)是指運(yùn)用一定的算法從不同背景或者視頻中圖像確定其中是否有人臉,若有則標(biāo)出人臉的大小、位置、是否旋轉(zhuǎn)以及旋轉(zhuǎn)角度等信息。自上世紀(jì)90 年代以來(lái),科研人員提出了很多人臉檢測(cè)算法,大致分為四類(lèi):基于知識(shí)的方法、基于特征的方法、基于模板的方法和基于表象的方法[1]。本文結(jié)合雙膚色模型與Adaboost 算法開(kāi)發(fā)人臉檢測(cè)系統(tǒng)。
Intel 公司的開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)OpenCV (Open Source Computer Vision Library)[2],由一系列C 函數(shù)和少量 C++ 類(lèi)構(gòu)成,具有良好的可移植性,其代碼都經(jīng)過(guò)優(yōu)化,可以進(jìn)行圖像的實(shí)時(shí)處理。 OpenCV 廣泛應(yīng)用在人機(jī)互動(dòng)、物體識(shí)別、圖象分割、人臉識(shí)別、動(dòng)作識(shí)別、運(yùn)動(dòng)跟蹤、機(jī)器人等領(lǐng)域。利用OpenCV 實(shí)現(xiàn)人臉檢測(cè),為系統(tǒng)開(kāi)發(fā)帶來(lái)了極大的方便。
在Windows 環(huán)境下,基于可視化開(kāi)發(fā)平臺(tái)VS2010,調(diào)用OpenCV視覺(jué)庫(kù),設(shè)計(jì)人臉檢測(cè)算法,開(kāi)發(fā)一個(gè)實(shí)用的人臉檢測(cè)系統(tǒng)。
膚色作為人臉的主要特征,從圖像中抽取膚色,利用膚色檢測(cè)可有效減小搜索范圍, 提高檢測(cè)速度。 常用的顏色空間有RGB、HIS、CYMK、YCbCr 等,其中,YCbCr 色彩空間是 MPEG 數(shù)字視頻編碼標(biāo)準(zhǔn)建議的顏色空間,具有計(jì)算、表示簡(jiǎn)單,亮度分離,能較好的限制膚色分布范圍等特點(diǎn)。 本文在YCbCr 空間下實(shí)現(xiàn)膚色檢測(cè),從RGB 空間到Y(jié)CbCr 空間的轉(zhuǎn)化可由線(xiàn)性公式(1)得到。
膚色模型是指用一種代數(shù)的(解析的)或查找表等形式來(lái)表示哪些像素的顏色屬于膚色,或者表征出某一像素的顏色與膚色的相似程度[3]。
2.2.1 簡(jiǎn)單邊界膚色模型
簡(jiǎn)單邊界膚色模型依據(jù)膚色在顏色空間中相對(duì)的集中在某一區(qū)域,使用一個(gè)或一組已知數(shù)學(xué)公式來(lái)表示膚色范圍。 簡(jiǎn)單邊界模型要取得好的效果必須解決兩個(gè)問(wèn)題[4]:(1)如何選擇合適的顏色空間;(2)如何確定規(guī)則中的參數(shù)。在選擇顏色空間時(shí)除了要考慮膚色在顏色空間中的聚集程度外,還要考慮膚色與非膚色區(qū)域的可分離性。
2.2.2 高斯膚色模型
根據(jù)統(tǒng)計(jì)理論, 在YCbCr 空間中膚色的分布是連續(xù)的并且滿(mǎn)足高斯分布。 本文從自建的圖像集中選取大量含有膚色的圖像,分出膚色像素點(diǎn),組成訓(xùn)練樣本,利用樣本的統(tǒng)計(jì)方法、EM 算法確定Gauss分布的均值和方差。 根據(jù)膚色在YCbCr 空間的高斯分布,對(duì)被檢測(cè)的圖像計(jì)算像素點(diǎn)距離高斯模型分布中心的馬氏距離。 按照公式(2)得到各像素點(diǎn)屬于膚色區(qū)域的概率,即可得到膚色似然圖。
其中,m 是該圖像的平均值;C 是協(xié)方差矩陣;
2.2.3 基于雙膚色模型的膚色分割
簡(jiǎn)單邊界模型運(yùn)行效率較高,邏輯簡(jiǎn)單,常用于實(shí)時(shí)系統(tǒng)檢測(cè),但是膚色范圍如果設(shè)置的太大,則會(huì)引入大量非膚色。 基于概率的動(dòng)態(tài)閾值模型如高斯模型,相對(duì)來(lái)說(shuō)實(shí)現(xiàn)較復(fù)雜,但是檢測(cè)精度高。因此本文采用簡(jiǎn)單邊界模型和高斯模型相結(jié)合的方法優(yōu)化膚色檢測(cè)過(guò)程。
首先輸入圖像如圖1(a),選擇YCbCr 顏色空間中的CbCr 平面,設(shè)置膚色邊界范圍:100≤Cb≤127,133≤Cr≤173。 如果圖像中的像素落在限定的矩形區(qū)域內(nèi),就認(rèn)為該像素為膚色,從而得到初次分割結(jié)果,如圖1(b)。 通常采用白色表示膚色區(qū)域,黑色表示非膚色區(qū)域。
初次分割的結(jié)果修正高斯膚色模型,對(duì)輸入圖像應(yīng)用高斯模型進(jìn)行膚色相似度判定,得到膚色似然圖,如圖1(c)。 用最大類(lèi)間方差法確定最佳閾值,得到膚色二值圖像如圖1(d)。
2.2.4 人臉粗檢
對(duì)膚色分割得到的二值圖像進(jìn)行后處理,通過(guò)膨脹與腐蝕等形態(tài)學(xué)處理填充小空洞,去除小的噪聲,以去除非人臉區(qū)域,判定膚色區(qū)域內(nèi)孔的數(shù)量、大小及其位置關(guān)系,計(jì)算連通區(qū)域的寬和高,確定候選人臉區(qū)域。
Viola[5]提出了一種結(jié)合Adaboost 和Cascade 算法的多特征檢測(cè)系統(tǒng),具有極高的運(yùn)行速度,實(shí)現(xiàn)了人臉的實(shí)時(shí)檢測(cè),并具有較高的檢測(cè)準(zhǔn)確率,在人臉?lè)治鲱I(lǐng)域引起了廣泛的關(guān)注。 該算法采用一組類(lèi)似于哈爾小波變換(Haar-Like)的濾波器來(lái)計(jì)算圖象的特征值,包括3 種特征:雙矩形特征、三矩形特征和四矩形特征。
圖1 基于雙膚色模型的膚色分割
本文利用AdaBoost 級(jí)聯(lián)分類(lèi)器掃描候選人臉區(qū)域, 依次調(diào)用每級(jí)強(qiáng)分類(lèi)器對(duì)該區(qū)域檢測(cè), 因此AdaBoost 級(jí)聯(lián)分類(lèi)器不用掃描整個(gè)圖像,從而提高了人臉檢測(cè)速度,準(zhǔn)確的定位出人臉。
人臉檢測(cè)系統(tǒng)基于Windows 風(fēng)格,方便用戶(hù)操作。 系統(tǒng)運(yùn)行界面如圖2,圖中為精確定位人臉實(shí)例。
人臉檢測(cè)是人臉識(shí)別的第一步,檢測(cè)效果直接影響后續(xù)工作。 對(duì)人臉檢測(cè)效果進(jìn)行分析,采用540 張靜態(tài)圖像進(jìn)行測(cè)試,包括各種復(fù)雜環(huán)境和背景、不同尺寸、不同角度的單人臉和多人臉圖像,共878 個(gè)人臉。 通過(guò)測(cè)試, 共檢測(cè)出789 張人臉, 誤檢人臉43 張, 檢測(cè)率為89.9,平均每張臉檢測(cè)時(shí)間0.963 秒??傮w說(shuō)來(lái),檢測(cè)效果較好,基本滿(mǎn)足系統(tǒng)要求。
圖2 人臉檢測(cè)系統(tǒng)運(yùn)行界面
基于雙膚色模型和AdaBoost 算法, 開(kāi)發(fā)了一個(gè)實(shí)用的人臉檢測(cè)系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了膚色檢測(cè)、人臉檢測(cè)及特征定位等功能。實(shí)驗(yàn)證明該系統(tǒng)在檢測(cè)率和檢測(cè)速度上均有一定的提高,為后續(xù)人臉識(shí)別及實(shí)際應(yīng)用提供了有力的保障。
[1]Yang M H, Kriegnum D J.Ahuja N.Delecting face in images:a survey[J].Pattern Analysis and Machine Intelligence, 2002,24(1):34-58.
[2]賈小軍,喻擎蒼.基于開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)OpenCV 的圖像處理[J].計(jì)算機(jī)應(yīng)用與軟件,2008,25(4):276-278.
[3]Guangzheng Yang, Thomas S Huang.Human face detection in a complex background[J].Pattern Recognition,1996:345-350.
[4]陳鍛生,劉政凱.膚色檢測(cè)技術(shù)綜述[J].計(jì)算機(jī)學(xué)報(bào),2006,29(2):194-207.
[5]Viola P, JonesM.Rapid object detection using a boosted cascade ofsimple features[C]//IEEE Conf on ComputerVision and Pattern Recognition, Kaua,i Hawai,USA: IEEE Computer Society, 2001.