徐 信,郝曉麗+,王 芳
(1.太原理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山西 太原030024;2.太原理工大學(xué) 信息學(xué)院,山西 太原030024)
由于攝像頭和觀測(cè)人群之間距離較遠(yuǎn),使得監(jiān)控視頻圖像中的感興趣區(qū)域 (人臉區(qū)域)面積往往很小,圖像模糊、噪聲大并且分辨率低,檢測(cè)時(shí)準(zhǔn)確率低誤報(bào)較高[1]。檢測(cè)并識(shí)別遠(yuǎn)距離獲取的圖像中的人類(lèi)對(duì)象時(shí),還需要手動(dòng)操作,耗費(fèi)的時(shí)間與工作量較大[2]。因此人臉檢測(cè)需進(jìn)一步研究,準(zhǔn)確檢測(cè)人臉也是現(xiàn)實(shí)中亟待解決的問(wèn)題。
Adaboost算法是一種流行的快速檢測(cè)物體算法[3],并在人臉檢測(cè)領(lǐng)域取得了突破性進(jìn)展,實(shí)現(xiàn)了實(shí)時(shí)快速人臉檢測(cè)[4]。但是,在遠(yuǎn)距離獲取的圖像中只運(yùn)用Adaboost算法進(jìn)行人臉檢測(cè)并不充分,誤報(bào)高檢測(cè)精確度低,所以常結(jié)合其它算法一起使用。膚色信息是人臉的重要特征,也常常被應(yīng)用到人臉檢測(cè)中[5,6],人臉膚色空間在整個(gè)色度空間中只是一個(gè)很小的子空間,有較強(qiáng)的聚類(lèi)特點(diǎn),并且易于提取。利用膚色信息進(jìn)行人臉檢測(cè),算法簡(jiǎn)單、速度快[7]。因此提出了基于Adaboost算法的誤報(bào)縮減機(jī)制用來(lái)去除在低分辨率圖像中的檢測(cè)誤報(bào)。
誤報(bào)縮減機(jī)制包括膚色檢測(cè)和可變邊緣蒙版篩選,膚色檢測(cè)需運(yùn)用圖像的顏色信息,可變邊緣蒙版用來(lái)評(píng)價(jià)人臉邊緣形狀。待檢測(cè)窗體區(qū)域的膚色檢測(cè)是基于GRB這3種顏色分量的評(píng)價(jià)值。隨后生成的二進(jìn)制群集圖像,是由已經(jīng)通過(guò)了膚色檢測(cè)窗口區(qū)域的部分組成,二進(jìn)制集群由通過(guò)檢測(cè)的每個(gè)像素點(diǎn)顏色確定。馬氏距離的計(jì)算使用的是均值矢量和替代區(qū)域集群的協(xié)方差矩陣,并且遵循卡方分布[8,9]。邊緣蒙版的大小與橢圓的長(zhǎng)軸短軸類(lèi)似,都為服從于90%置信區(qū)間的卡方分布。實(shí)驗(yàn)運(yùn)用監(jiān)控系統(tǒng)和普通相機(jī)抓取到的圖像進(jìn)行研究,實(shí)驗(yàn)結(jié)果表明,平均誤報(bào)得到顯著降低,基于Adaboost算法的誤報(bào)縮減機(jī)制不但適用于在遠(yuǎn)距離拍攝圖像中進(jìn)行人臉檢測(cè),也適用于一般圖像,具有較強(qiáng)的實(shí)用性。
所有通過(guò)計(jì)算機(jī)檢測(cè)人臉的算法或方法都包含3個(gè)主要的子任務(wù):①將輸入圖像轉(zhuǎn)換為初步表示 (可包含預(yù)處理以及數(shù)學(xué)變換,如主成分的計(jì)算);②選擇主要特征(如:把前n個(gè)元素或系數(shù)離散余弦變換);③分類(lèi)/聚類(lèi)任務(wù) (如:聚類(lèi)分析模型,神經(jīng)網(wǎng)絡(luò)等)。
給定一組被劃分在不同類(lèi)別中的對(duì)象 (圖像),即預(yù)定義拓?fù)浣Y(jié)構(gòu)是分離的。根據(jù)這種拓?fù)浣Y(jié)構(gòu),那些已被分到已知類(lèi)的對(duì)象 (圖像)稱(chēng)為訓(xùn)練樣本,其它對(duì)象 (圖像)的歸屬類(lèi)是未知的。立足于訓(xùn)練樣本的信息,需要建立一個(gè)能夠?qū)θ魏谓o定的對(duì)象進(jìn)行分類(lèi)的算法,即分類(lèi)器——一個(gè)數(shù)學(xué)函數(shù),通過(guò)分類(lèi)算法實(shí)現(xiàn),輸入數(shù)據(jù)后可以映射到一個(gè)類(lèi)別。
機(jī)器學(xué)習(xí)的術(shù)語(yǔ)中,分類(lèi)被認(rèn)為是監(jiān)督學(xué)習(xí)的一個(gè)實(shí)例,在學(xué)習(xí)中被正確識(shí)別的觀測(cè)訓(xùn)練集是可用的。圖像分類(lèi)的主要任務(wù)是目標(biāo)檢測(cè),人臉檢測(cè)中的Adaboost算法有兩個(gè)類(lèi),分類(lèi)的定義如下:包含對(duì)象特征的集合X,屬于類(lèi)的對(duì)象數(shù)量Y。有等式關(guān)系:Y*:X=>Y,訓(xùn)練樣本為Xm={(x1,y1),…(xm,ym)}。函數(shù)f是由特征向量 X建立的,它能判斷任何可能的X以及x∈X的對(duì)象是否屬于已知類(lèi),這條簡(jiǎn)單的規(guī)則對(duì)于給出的新數(shù)據(jù)有很好的分類(lèi)效果。
Adaboost算法中,在構(gòu)造弱分類(lèi)器的基礎(chǔ)上進(jìn)一步提出級(jí)聯(lián)分類(lèi)器的思想[10],除第一個(gè)以外的所有分類(lèi)器需要學(xué)習(xí)前一個(gè)分類(lèi)器的錯(cuò)誤分類(lèi)對(duì)象,通過(guò)多數(shù)分類(lèi)器檢測(cè)的對(duì)象將被判決到某個(gè)已知類(lèi)中。然而,學(xué)習(xí)和創(chuàng)建訓(xùn)練樣本是一個(gè)需要很長(zhǎng)的過(guò)程,分類(lèi)檢測(cè)任務(wù)假定分為兩個(gè)類(lèi):Y= {-1,+1},AdaBoost算法包括以下主要步驟:
預(yù)先給定
初始化權(quán)重
For t=1,…,T:①運(yùn)用Dt的分布訓(xùn)練弱學(xué)習(xí)算法;②獲取弱假設(shè) (即弱分類(lèi)結(jié)果)
對(duì)于分類(lèi)錯(cuò)誤的樣本
選擇
更新權(quán)重
Zt是常量因子,輸出最終假設(shè)
AdaBoost算法具有許多優(yōu)點(diǎn),如快速、簡(jiǎn)單且易于編程,并且不需要任何參數(shù)來(lái)調(diào)整 (除了循環(huán)次數(shù)),不需要任何關(guān)于弱學(xué)習(xí)的先驗(yàn)知識(shí),因此可以靈活運(yùn)用任意組合的方法尋找弱假設(shè)。Adaboost方法在近距離獲取的圖像中檢測(cè)人臉效果很好,可快速檢測(cè)圖像中的正面直立人臉[11]。但是,Adaboost算法在遠(yuǎn)距離獲取圖像中人臉尺寸低于30*30像素時(shí)很難發(fā)揮作用,誤報(bào)會(huì)大幅度增加?;贏daboost上述特點(diǎn),本文提出了誤報(bào)縮減機(jī),用來(lái)提高檢測(cè)準(zhǔn)確率。
基于Adaboost算法的誤報(bào)縮減機(jī)制人臉檢測(cè)系統(tǒng)分為以下幾個(gè)階段:Adaboost檢測(cè),膚色檢測(cè),可變邊緣蒙版篩選檢測(cè)。在第一階段,Adaboost過(guò)濾器產(chǎn)生一定數(shù)量的候選窗口,隨后膚色檢測(cè)和可變邊緣蒙版過(guò)濾機(jī)制用來(lái)驗(yàn)證候選窗口并刪除誤檢區(qū)域。本文算法步驟如圖1所示。
Adaboost過(guò)濾器之后的膚色過(guò)濾方法和邊緣蒙版過(guò)濾方法用來(lái)移除誤報(bào),首先,待檢測(cè)窗口運(yùn)用膚色過(guò)濾器進(jìn)行檢測(cè)。
圖1 人臉檢測(cè)方法框架
式 (8)中,mr,mg和mb分別為候選窗口中紅 (red)、綠 (green)和藍(lán) (blue)分量的平均值,另外,ξr,ξg,ξb和ξd為預(yù)定義閾值,符號(hào) “∩”是邏輯與,算法如式 (9)所示
式(9)為二進(jìn)制群集圖像產(chǎn)生算法,其中Ir(j),Ig(j)和Ib(j)為組成像素j的紅、綠、藍(lán)分量的強(qiáng)度。可選擇像素在二進(jìn)制群中的位置為Xj= [xjyj]t,xj和yj為像素j在x軸與y軸方向上的位置,t代表矩陣轉(zhuǎn)置。馬氏距離(Δ)介于xj與mx之間,定義如下
其為群集中可選擇的圖像中心像素點(diǎn)平均矢量mx;∑xx為可選擇像素點(diǎn)協(xié)方差矩陣;Δ服從卡方分布(),因此橢圓可通過(guò)卡方轉(zhuǎn)置累計(jì)分布函數(shù) (CDF)的90%置信區(qū)間進(jìn)行估算。邊緣屏蔽大小由橢圓的最長(zhǎng)軸線與最短軸線共同決定,當(dāng)k為常量時(shí),最長(zhǎng)軸線Imax=k最短軸線和λ2(λ1>λ2>0)同為協(xié)方差矩陣的特征值。圖2為可變邊緣屏蔽設(shè)計(jì)步驟,圖3為一副25*25的人臉圖像,圖3為在生成的二進(jìn)制群集圖像中做出估計(jì)橢圓,為后續(xù)生成邊緣蒙版做準(zhǔn)備,圖4為根據(jù)二進(jìn)制群集圖像生成的邊緣蒙版。
邊緣蒙版由-1,0,1這3個(gè)不同的數(shù)字組成,圖5顯示的是本文實(shí)驗(yàn),邊緣蒙版中像素值Imax=Imin=15。邊緣蒙版過(guò)濾器定義如下
當(dāng)he作為邊緣蒙版時(shí),we為窗口區(qū)域的邊緣圖像,ξe為閾值,nw是窗口中像素點(diǎn)的數(shù)量。邊緣蒙版過(guò)濾器檢測(cè)人臉形狀邊緣是否在窗口范圍內(nèi),即圖4中標(biāo)記為1的位置。
本文實(shí)驗(yàn)運(yùn)行環(huán)境:Pentium IV 2.0GHz CPU,2G內(nèi)存,Windows XP操作系統(tǒng),在 Matlab 6.5以及 VC++6.0仿真軟件平臺(tái)上編程實(shí)現(xiàn)。在實(shí)驗(yàn)中,由監(jiān)控?cái)z像機(jī)拍攝得到人體圖像。圖6是由監(jiān)控視頻獲取圖像,圖7由普通相機(jī)距離人體15m處獲得待檢測(cè)圖像,圖6(a)和圖7(a)為Canny邊緣檢測(cè)方法得到的邊緣圖像;圖6(b)和圖7(b)表示拍攝得到的圖像進(jìn)行Adaboost過(guò)濾后輸出的候選窗口情況;圖6(c)和圖7(c)表示Adaboost算法與膚色檢測(cè)結(jié)合后輸出的候選窗口情況;圖6(d)和圖7(d)是運(yùn)用了由本文提出的誤報(bào)縮減機(jī)制,顯示最終通過(guò)邊緣蒙版過(guò)濾器檢測(cè)的人臉面部區(qū)域圖像。
檢測(cè)效果圖像如圖6和圖7所示。
由表1可看出,運(yùn)用傳統(tǒng)Adaboost對(duì)遠(yuǎn)距離抓取得到的圖像進(jìn)行人臉檢測(cè)時(shí),檢測(cè)窗口數(shù)量高達(dá)349,誤報(bào)檢測(cè)窗口數(shù)量為261,高達(dá)檢測(cè)窗口總量的75%。Adaboost之后添加膚色檢測(cè)對(duì)檢測(cè)窗口進(jìn)行過(guò)濾時(shí),檢測(cè)窗口數(shù)量下降到92個(gè),隨之誤報(bào)檢測(cè)窗口數(shù)目也下降到7個(gè),此時(shí),誤報(bào)檢測(cè)窗口數(shù)量約占檢測(cè)窗口總量的7.6%。運(yùn)用本文提出的誤報(bào)縮減機(jī)制,對(duì)Adaboost和膚色過(guò)濾后的圖像繼續(xù)篩選,可變邊緣蒙版對(duì)可疑人臉區(qū)域進(jìn)一步排除,此時(shí)檢測(cè)窗口數(shù)量下降到44,誤報(bào)檢測(cè)窗口個(gè)數(shù)減少為0。
圖2 候選窗口
圖3 帶有估計(jì)橢圓的二進(jìn)制群集圖像
圖4 邊緣蒙版
圖5 可變邊緣蒙版
圖6 監(jiān)控視頻獲取圖像檢測(cè)結(jié)果
圖7 普通相機(jī)獲取圖像檢測(cè)結(jié)果
表1 監(jiān)控視頻圖像檢測(cè)結(jié)果對(duì)比
由表2可看出,運(yùn)用傳統(tǒng)Adaboost對(duì)遠(yuǎn)距離抓取得到的圖像進(jìn)行人臉檢測(cè)時(shí),檢測(cè)窗口數(shù)量為165,誤報(bào)檢測(cè)窗口數(shù)量為119。Adaboost算法對(duì)待檢測(cè)圖像過(guò)濾之后添加膚色檢測(cè)繼續(xù)對(duì)檢測(cè)窗口進(jìn)行過(guò)濾時(shí),檢測(cè)窗口數(shù)量下降到51個(gè),誤報(bào)檢測(cè)窗口數(shù)目下降到4個(gè)。運(yùn)用本文提出的誤報(bào)縮減機(jī)制進(jìn)過(guò)圖像篩選后,檢測(cè)窗口數(shù)量下降到37,誤報(bào)檢測(cè)窗口個(gè)數(shù)為0。由實(shí)驗(yàn)結(jié)果表明,該方法能顯著減少遠(yuǎn)距離人臉檢測(cè)中的誤報(bào)數(shù)量。
表2 相機(jī)獲取圖像檢測(cè)結(jié)果對(duì)比
針對(duì)Adaboost人臉檢測(cè)算法對(duì)遠(yuǎn)距離圖像中的人臉識(shí)別誤報(bào)率高,本文提出了一種遠(yuǎn)距離人臉檢測(cè)方法,用顏色與形狀信息將誤報(bào)被移除,檢測(cè)膚色和邊緣信息來(lái)確定候選窗口。實(shí)驗(yàn)顯示,本文算法處理遠(yuǎn)距離抓取圖像時(shí),移除錯(cuò)誤感興趣區(qū)域的性能要優(yōu)于Adaboost算法,有較高的效率,實(shí)現(xiàn)了準(zhǔn)確的人臉定位。該算法也具有一定的實(shí)用性,改變訓(xùn)練樣本后,可以用來(lái)檢測(cè)其它物體。
[1]Pandya JM,Rathod D,Jadav JJ.A survey of face recognition approach [J].International Journal of Engineering Research and Applications,2013,3 (1):632-635.
[2]Zhang C,Zhang Z.A survey of recent advances in face detection [R].Tech Rep,Microsoft Research,2010.
[3]Chen S,Ma X,Zhang S.Adaboost face detection based on haar-like intensity features and multi-threshold features [C]//International Conference on Multimedia and Signal Processing.IEEE,2011:251-255.
[4]Dai W,Yang Q,Xue GR,et al.Boosting for transfer learning [C]//Proceedings of the 24th International Conference on Machine Learning.ACM,2007:193-200.
[5]Vincenzo R,Lisa U.An improvement of adaboost for face-detection with motion and color information [C]//14th International Conference on Image Analysis and Processing.IEEE,2007:518-523.
[6]Wu YW,Ai XY.Face detection in color images using Ada-Boost algorithm based on skin color information [C]//First International Workshop on Knowledge Discovery and Data Mining.IEEE,2008:339-342.
[7]KANG Jinfeng,WANG Guoying.Algorithm of skin detection based on color space YCgCr [J].Computer Engineering and Design,2009,30 (19):4443-4446 (in Chinese). [康進(jìn)峰,王國(guó)營(yíng).基于YCgCr顏色空間的膚色檢測(cè)方法 [J].計(jì)算機(jī)工程與設(shè)計(jì),2009,30 (19):4443-4446.]
[8]Tsai HC,Wang WC,Wang JC,et al.Long distance person identification using height measurement and face recognition[C]//Region 10Conference TENCON.IEEE,2009:1-4.
[9]Lee D,Yeom S,Kim S.Improved face detection method at a distance with skin-color and variable edge-mask filtering [J].Journal of the KICS,2012,37:105-112.
[10]Ma S,Du T.Improved adaboost face detection [C]//Inter-national Conference on Measuring Technology and Mechatronics Automation.IEEE,2010:434-437.
[11]YE Yanliang.Application of Adaboost algorithm in face detection [J].Journal of Beihua University (Natural Science),2007 (5):451-453 (in Chinese). [葉延亮.Adaboost算法在人臉檢測(cè)中的應(yīng)用 [J].北華大學(xué)學(xué)報(bào) (自然科學(xué)版),2007 (5):451-453.]