摘 要:本文采用基于類Haar特征和AdaBoost分類器的算法,用于檢測人臉的區(qū)域。實驗結果表明,該算法具有運行速度快,識別準確率高的特點。
關鍵詞:類Haar特征;AdaBoost;人臉識別
中圖分類號:TP391.41
人臉在社會交往中扮演著十分重要的角色,是人類在確定一個人身份時所采用的最普通的生物特征,研究人臉跟蹤識別及其相關技術具有十分重要的理論價值和應用價值[1]。
然而,人臉識別在實際中很難應用,其主要原因在于:實際場景中的人臉區(qū)域位置無法確定,光照強度無法確定,使得人臉的區(qū)域難以準確定位;其次,對于定位的ROI區(qū)域,難以選定合適的算法對該區(qū)域進行快速而準確的識別。
本文采用基于類Haar特征和AdaBoost分類器進行人臉區(qū)域的檢測。
1 算法過程
人臉檢測算法包括兩個過程:訓練過程和識別過程。訓練過程對樣本圖片計算每一個類Haar特征,從中選擇若干個識別精度高的特征;每一個選中的特征構成一個弱分類器,眾多弱分類器采用AdaBoost算法構成一個強分類器。
本文調用OpenCV提供的分類器,不涉及訓練過程,因此文章的主要內容是分類器的識別過程。識別過程根據分類器選擇的特征計算圖片的特征向量,然后應用AdaBoost分類器進行車輛區(qū)域的檢測。
2 識別過程
對每一個ROI區(qū)域的識別包括圖像的預處理、特征圖的計算、類Haar特征的計算和分類識別四個部分。
2.1 圖像的預處理
首先,將大小歸一化為40*40;接著,將彩色圖片轉化為灰度圖。
2.2 積分圖的計算
圖2 類Haar特征示意圖
2.4 基于Adaboost分類器的識別
AdaBoost算法是機器學習中一種非常重要的特征分類算法,被廣泛應用于圖像檢索[2]、人臉表情識別[3]等應用中。
Boosting算法都多種改進方式,本文采用理論研究和實際應用都非常成熟的AdaBoost算法。
AdaBoost算法的訓練過程:
對于每一個特征,Boosting算法都能產生一個弱分類器,通過調整閾值,使得該分類器對訓練樣本的識別精度超過50%。在每一輪訓練中,算法找出分類精度最高的特征及其閾值作為一個弱分類器。在下一輪訓練中,加大錯分樣本的權重,使得分類器能夠糾正對錯分樣本的誤判。當訓練完畢之后,對所有產生的弱分類器,根據其識別精度調整其權重:分類精度越高,權重越大,依次組成一個強分類器。
AdaBoost算法的識別過程:
將特征向量輸入強分類器,按照公式 進行計算,如結果為正,則為人臉區(qū)域。
3 實驗與結果
本文調用OpenCV提供基于Haar特征的AdaBoost分類器進行人臉區(qū)域的檢測,檢測結果如圖3所示:
圖3 檢測結果
4 總結
本文對待檢測的圖片首先進行預處理,然后計算圖片的積分圖,在積分圖的基礎上計算選定的類Haar特征,最后應用AdaBoost分類器進行檢測,判斷該區(qū)域是否人臉區(qū)域。實驗結果證明,該算法識別的準確率高,運行速度快,能滿足實際應用中對準確率和實時性的要求。
參考文獻:
[1]雷靜.基于OpenCV的人臉跟蹤識別系統(tǒng)研究[D].西安電子科技大學交通信息工程系,2010.
[2]Dai Sheng-Yang,Zhang Yu-Jin.AdaBoost in region-based image retrieval[A].In:Processings of the IEEE International Conference on Acoustics,Speech,and Signal Processing(ICASSP04)[C],Montreal,Canada,2004,3:429-432.
[3]Shan S,Yang P,Chen X.AdaBoost gabor fisher classifier for face recognition[A].In:Proceeding of the International Workshop on Analysis and Modeling of Faces and Gestures,AMFG 2005[C],Beijing,China,2005,3723:278-291.
作者簡介:黃華盛(1987.12-),男,廣東汕頭人,教師,碩士,研究方向:機器視覺與圖像處理。
作者單位:廣東科技學院計算機系,廣東東莞 523083
計算機光盤軟件與應用2013年23期