王建璽,李瑋瑤
(1.平頂山學院軟件學院,平頂山467000;2.平頂山學院計算機科學與技術學院,平頂山467000)
基于改進Adaboost算法的人臉檢測?
王建璽1,李瑋瑤2
(1.平頂山學院軟件學院,平頂山467000;2.平頂山學院計算機科學與技術學院,平頂山467000)
針對傳統(tǒng)Adaboost算法存在樣本訓練耗時、誤檢率較高的問題,提出了一種基于改進Adaboost算法的人臉檢測方法。首先,利用膚色分割對待檢測人臉圖像進行預處理,然后,對傳統(tǒng)Adaboost算法進行改進,在訓練分類器過程中加入相關性判斷,以減少弱分類器數量和提高樣本訓練速度,最后,對預處理過的待檢測區(qū)域用改進的Adaboost算法進行人臉檢測。實例測試表明,該方法在人臉檢測中能夠獲得較高的檢測率和較快的檢測速度。
人臉檢測;膚色分割;膚色模型;Adaboost算法;相關性判斷;弱分類器
人臉檢測是人臉圖像處理中的關鍵步驟,在智能人機系統(tǒng)、視頻監(jiān)控和生物特征識別等領域應用廣泛[1]。目前,常用的檢測方法有基于神經網絡、Adaboost、隱馬爾可夫模型和支持向量機的算法等[2]。2001年,Paul Viola和Michael Jones[3]提出一種利用Haar-Like特征的Adaboost人臉檢測算法,提高了人臉檢測速度,但這種方法存在訓練樣本花費時間過長,不利于推廣使用的缺點。余益民等[4]通過用新的參數求解方法,提高了正樣本的識別能力,縮減了樣本訓練時間,但應用中效果較差?;诖?,提出一種基于改進Adaboost算法的人臉檢測方法,該算法對待檢測圖像首先使用膚色分割進行預處理,再用改進的Adaboost算法進行二次檢測,以提高人臉檢測的速度和檢測率。
膚色是人臉的主要特征,一般和背景色彩存在較大區(qū)別,將膚色檢測作為人臉檢測的預處理環(huán)節(jié),具有簡單快捷的優(yōu)點。膚色分割需要先選取合適的色彩空間和膚色模型。
2.1 色彩空間和膚色模型選取
膚色在含有色度信息的空間中具有較好的聚類性,因此,在選取色彩空間時可遵循以下原則:一是色彩空間的亮度和色度能有效分離,二是膚色在該色彩空間應具有較好的聚類性,三是方便從常用的RGB空間轉換到該空間。在常用的RGB、歸一化RGB、HSV和YCbCr色彩空間中,RGB和歸一化RGB色彩空間中R、G、B分量都含有亮度信息,故不適合用于膚色分割。在HSV及YCbCr兩個空間中,盡管二者都有色度和亮度分離的特點,但從RGB空間往HSV空間非線性轉換過程中計算量大,且在HSV空間中存在奇異點,使得奇異點附近的像素轉化結果不穩(wěn)定。而YCbCr色彩空間具有膚色聚類性好、從RGB空間轉換容易和分割效果好的特點,故最終選用YCbCr色彩空間作為膚色分割的色彩空間。
膚色模型選取的好壞決定膚色分割的效果。文獻[5]研究了下述幾種模型在人臉檢測中的應用情況,直方圖模型存在所需訓練樣本多、訓練時間長的缺點;混合高斯模型存在參數復雜、運算量大的缺點;而高斯模型具有參數計算簡單、運算快的優(yōu)點。在人臉檢測中,高斯模型分割效果好、錯誤率低,能快速、準確的分割人臉區(qū)域,因此采用高斯模型進行膚色建模。
2.2 膚色分割
色彩空間和膚色模型選好后,就可以進行膚色分割。膚色分割包括待檢測圖像的光照補償、計算膚色似然圖、分割處理、濾波去噪和膚色區(qū)域篩選等幾個步驟。
光照補償人臉圖像的色彩易受到采集設備及拍攝時外部環(huán)境的影響而產生色差,如偏冷或偏暖等,故需要通過光照補償來消除色差。把人臉圖像的全部像素按亮度從高到低排序,如果亮度在前5%的像素數量很多,則把這些亮度的RGB值都變?yōu)?55,再計算轉換因子δ=255m/s,其中m為RGB值都轉化為255的像素點總數,s為待檢測圖像的亮度和,其他像素點都按照該比例進行變換。
計算膚色似然圖首先將經光照補償處理過的圖像從RGB色彩空間轉換到YCbCr空間,獲得圖像各像素點的色度值(Cb,Cr)。通過估算函數產生各點關于膚色點的概率值,概率值范圍為[0,1],若值越接近于1,表示該點越接近于膚色。再用各點的概率值除以整幅圖像中最大的概率值Pi,即可得到各點歸一化的相似度值,繼而生成圖像的膚色似然圖[6]。
分割處理利用膚色似然圖檢測的區(qū)域即便顯示該區(qū)域顏色與膚色比較接近,但不能確定就是膚色,這里采用Otsu自適應閥值法對得到的膚色似然圖進行分割,得到對應的二值圖像。
濾波去噪經過處理的待檢測圖像會出現一些干擾噪聲,使分割的二值圖像上產生一些小白點,對以后的人臉檢測產生一定影響,故采用基于形態(tài)學的膨脹和腐蝕等方法對圖像進行濾波處理,消除圖像上的小白點并填充小的空洞。
膚色區(qū)域篩選根據人臉具有的特征如分割區(qū)域的長寬比,面積和膚色占有率等進行篩選,去除不具有人臉特征的非人臉膚色和類人臉膚色區(qū)域。
Adaboost算法作為一種高效的數據挖掘算法,在人臉檢測中應用廣泛。傳統(tǒng)的Adaboost算法對人臉進行檢測時,首先使用矩形特征構建具有一定的人臉和非人臉區(qū)分能力的弱分類器,再將弱分類器進行線性集成構建強分類器,這樣可以大幅提升分類器的檢測率。在人臉檢測過程中,由于待檢測窗口數量大,若圖像的所有待檢窗口都要用強分類器中的所有弱分類器進行檢測,則需要大量的處理時間,故實際應用中一般采用級聯(lián)分類器進行檢測[7]。在構建強分類器時雖然考慮到了相鄰分類器的相關性,但是沒有考慮不相鄰分類器之間的相關性,所以傳統(tǒng)算法構建的分類器中存在部分弱分類器功能特性相似的情況,增加了算法的處理時間。研究中充分考慮所有弱分類器之間的相關性,對任意兩個弱分類器進行相關性計算,把具有互補特性的弱分類器保留下來,盡量減少功能特性相似的分類器數量,以提高檢測率和檢測速度。
文獻[8]中總結了分類器之間相關性度量的幾種常用方法。在此采用其中的Q統(tǒng)計量來進行分類器之間的相關性度量,Nab表示分類器hi將待檢測樣本分類結果為a且分類器hj將待檢測樣本分類結果為b的樣本數量,分類器hi和hj之間的Q統(tǒng)計量Qi,j可定義為:
式(1)中,a、b的值為0表示該分類器檢測結果錯誤,為1表示該分類器檢測結果正確。Q的值為[-1,1],若0≤Q≤1表示兩分類器均將同一個檢查目標進行了正確分類,若-1≤Q<0表示將不同的檢查目標進行了錯誤分類,因此,可以用Q的平均值來表示分類器集合的相互關聯(lián)性。設共有L個分類器,它們的Q相關性可表示為:
因此,可以把相關性原理應用到傳統(tǒng)的Adaboost算法中,以便獲得更好的效果。相關性判斷的步驟為:
步驟1:在弱分類器選取過程中,用Adaboost算法計算出每一輪中的最優(yōu)弱分類器hi(x);
步驟2:利用公式(1)獲得該弱分類器hi(x)與已選出的弱分類器間的相關性Qi,1,Qi,2,…,(i>1);
重復執(zhí)行上述步驟,直到選出滿足要求數量的弱分類器來構建強分類器,最終構建好需要的級聯(lián)分類器。
通過分析可知,在算法中加入相關性判斷,增加了弱分類器之間的差異性,有效減少了相似和相互干擾的弱分類器數量,實現了強分類器的檢查錯誤率向減小最快的方向收斂的目的,提高了算法的集成性和識別效果。
基于膚色的人臉檢測雖然具有實現簡單、處理速度快、檢測率高的優(yōu)點,但存在誤檢率高的缺點,易將人臉之外的膚色區(qū)域和與膚色類似的區(qū)域檢測出來[9]。傳統(tǒng)Adaboost算法在人臉檢測中具有使用少量的分類器即可產生較好的檢查效果的優(yōu)點,但存在樣本訓練時間過長的缺點。研究中把兩種算法結合起來,首先對待檢測人臉圖像進行膚色檢測,去除大部分無用信息,然后,用改進的Adaboost算法進行二次檢測,達到快速有效的對復雜圖像進行人臉檢測的目標。算法流程如圖1所示。
為進一步提高人臉檢測的速度,經過膚色檢測后,在使用Adaboost算法進行二次檢測時,可采用縮減分類器初始窗口大小的方法降低檢查時間。經過膚色分割后的窗口人臉區(qū)域所占比例很高,故可依據人臉在窗口中的比例對分類器窗口初始大小進行設置,如果分類器窗口初始大小為m×m,候選窗口大小為L×M,人臉區(qū)域像素數量和候選窗口像素數量比值為p,那么初始檢查窗口大小可以為:δ×min(L,M),這里δ為比例常數。
對傳統(tǒng)Adaboost算法和研究中提出方法的檢測結果進行比較。采用Bao face database中的樣本對分類器進行訓練,其中人臉樣本1869個,非人臉樣本2654個,測試的操作系統(tǒng)為Windows XP,在VC++6.0平臺上編程實現。測試圖像來自網絡和平時生活照片,共96張,其中單人臉照片27張,多人臉復雜照片69張,多人臉照片中共包含237個人臉,測試中移動步長為1。圖2是部分檢測結果,表1是檢測圖像的各項指標。
圖1 基于膚色分割和改進Adaboost算法的人臉檢測流程圖
實驗結果可見,在對多人臉復雜圖像進行檢測時,此算法檢測率較高且誤檢率較低、檢測用時較少,檢測的結果較好,明顯優(yōu)于傳統(tǒng)的Adaboost算法。
表1 人臉檢測統(tǒng)計表
研究中把膚色分割和Adaboost算法結合起來,提出了一種復雜背景下的人臉檢測方法。首先利用膚色檢測進行預處理以去除大部分無用信息,然后用改進的Adaboost算法對經過預處理的候檢區(qū)域進行二次檢測,得到人臉區(qū)域。該算法具有精度高、耗時少和誤檢率低的優(yōu)點。
[1] Yang Mingsuan,Kriegman D J.Detection faces in images:a survey[J].IEEE Trans.Pattern Analysis and Machine Intelligence,2002,24(1):34-58.
[2] Xu Shibiao,Ma Guanghui,Meng Weiliang.Statistical Learning Based Facial Animation[C].National Laboratory of Pattern Recognition,Institue of Automation,Chinese Academy of Sciences,2013:542-550.
[3] Viola P,Jones M.Rapid object detection using a boosted cascade of simple features[J].Proc.Of Conf.On Computer Vision and pattern Recognition,Kauai,Hawaii,USA,2001:511-518.
[4] 余益民,黃廷輝,桑濤.基于Real AdaBoost算法的膚色分割方法[J].計算機應用,2011,31(12):3370-3373.
YU yi-ming,HUANG Ting-h(huán)ui,SANG Tao.Skin segmentation based on Real AdaBoost algorithm[J].Journal of Computer Applications,2011,31(12):3370-3373.
[5] 劉春生,常發(fā)亮,陳振學,等.改進的高斯膚色模型及其在人臉檢測中的應用[J].儀器儀表學報,2012,33(5):1117-1121.
LIU Chunsheng,CHANG Faliang,CHEN Zhenxue,et al.Improved Gaussian skin colormodel and its application in face detection[J].Chinese Journal of Scientific Instrument,2012,33(5):1117-1121.
[6] 秦立峰,何東健.基于膚色分割的人臉檢測算法研究[J].計算機工程與設計,2009,30(19):4461-4464.
QIN Li-feng,HE Dong-jian.Face detection algorithm based on skin segmentation[J].Computer Engineering and Design,2009,30(19):4461-4464.
[7] 趙雪竹,王秀,朱學峰.基于Adaboost算法的人眼檢測中樣本選擇研究[J].計算機技術與發(fā)展,2010,20(2):133-136.
ZHAO Xue-zhu,WANG Xiu,ZHU Xue-feng.Research of Samples Selection in Eye Detection Based on Adaboost Algorithm[J].Computer Technology and Development,2010,20(2):133-136.
[8] Ludmila I,Kuncheva,Christopher J.Measures of diversity in classifier ensembles and their relationship with the ensemble accuracy[J].Machine Learning,2003,51(2):181-207.
[9] 宋義偉,王秀,趙雪竹,等.基于膚色分割和AdaBoost算法的彩色圖像的人臉檢測[J].自動化與信息工程,2009(1):7-10.
Song Yiwei,Wang Xiu,Zhao Xuezhu,et al.Face Detection of Color Image Based on Skin Color and Ada Boost Algorithm[J].Automation&Information Engineering,2009(1):7-10.
Face Detection Based on Im proved Adaboost Algorithm
Wang Jianxi1,LiWeiyao2
(1.Software Institute,Pingdingshan University,Pingdingshan 467000,China;2.College of Computer Science and Technology,Pingdingshan University,Pingdingshan 467000,China)
To solve the problems of time-consuming in training samples and high false detection rate in face detection in traditional Adaboost algorithm,a method of face detection based on improved Adaboostalgorithm is proposed.Firstly,the image is preprocessed by skin color segmentation.Then,the traditional Adaboost algorithm is improved by putting relevance judgment in the process of training classifiers to reduce the number of weak classifier and to improve sample training speed.Finally,the image preprocessing is tested by improved Adaboost algorithm again.The experimental results show that the face detection method produces higher detection rate and speed.
Face detection;Skin color segment;Skin model;Adaboost algorithm;Relevance judgment;Weak classifier
10.3969/j.issn.1002-2279.2015.05.015
TP391.41
A
1002-2279(2015)05-0057-04
河南省科技廳科技發(fā)展計劃項目(134300510037)
王建璽(1981-),女,河南省社旗縣人,碩士,講師,主研方向:模式識別、圖像處理等。
2015-03-16