肖兒良,韓 超
(上海理工大學 光電信息與計算機工程學院,上?!?00093)
?
應(yīng)用于人臉自動實時跟蹤的改進Struck算法
肖兒良,韓超
(上海理工大學 光電信息與計算機工程學院,上海200093)
摘要傳統(tǒng)的Struck算法在人臉跟蹤系統(tǒng)中,需要手動實現(xiàn)初始化且易受環(huán)境影響。文中提出一種基于AdaBoost目標自動檢測和改進的Struck人臉自動跟蹤算法。從圖像中提取人臉的Haar特征,采用AdaBoost算法實現(xiàn)人臉的檢測,并自動初始化跟蹤器,再依據(jù)檢測得到的相鄰幀目標的相似度判定跟蹤目標的有效性,采用Struck算法實現(xiàn)人臉的連續(xù)跟蹤。實驗結(jié)果表明,改進的算法有效解決了部分遮擋、尺度變化、光照變化等人臉跟蹤難題,且具有較高的魯棒性與準確性。
關(guān)鍵詞AdaBoost;Struck;人臉檢測;實時跟蹤
Improved Struck Algorithm for Real-time Face Auto-tracking
XIAO Erliang,HAN Chao
(School of Optical-Electrical and Computer Engineering,University of Shanghai for Science and Technology,Shanghai 200093,China)
AbstractThe classic Struck algorithm is incapable of automatic tracking of the human face and easily subject to the environment interference.In the paper,the classical Struck method is improved to achieve automatic real-time face tracking by the Adabboost algorithm.Firstly,the Haar feature of the face is extracted.Then the AdaBoost algorithm is used to detect face target and initialize the Struck tracker automatically.The similarity between the detected target and the last result is computed to get the best result,with Struck tracking the face continuously.Experimental results show the improved algorithm applies in such complex environment as partial occlusion,scale variation,illumination variation with good robustness and accuracy.
KeywordsAdaBoost;Struck;face detection;real-time tracking
人臉跟蹤是計算機視覺領(lǐng)域的研究熱點,其在智能監(jiān)控、人機交互、游戲等領(lǐng)域有重要的應(yīng)用價值。人臉跟蹤指在視頻圖像中,確定人臉的運動軌跡及其大小變化的過程。
人臉跟蹤包括人臉的檢測和跟蹤,其中人臉檢測是人臉跟蹤的關(guān)鍵。目前人臉檢測的方法主要有3種:基于人臉特征[1]、基于模板匹配[2]和基于人臉整體統(tǒng)計信息[3]。跟蹤算法應(yīng)用較多的有光流法[4]、粒子濾波算法[5]和Meanshift算法[6]。然而傳統(tǒng)的跟蹤算法只是單純跟蹤,不能在線學習,從而不能適應(yīng)跟蹤目標的變化,應(yīng)用于復(fù)雜場景的目標跟蹤。但Struck算法基于結(jié)構(gòu)輸出預(yù)測的自適應(yīng)目標跟蹤框架,利用支持向量機(SVM)原理,通過引入輸出空間,避免中間分類環(huán)節(jié),直接輸出跟蹤結(jié)果。
本文在原始Struck算法的基礎(chǔ)上,通過AdaBoost算法對人臉區(qū)域進行快速檢測,以此作為Struck算法的初始目標,從而實現(xiàn)了自動的人臉檢測,不再需要人工初始化目標區(qū)域。同時為了增加算法的魯棒性,借鑒跟蹤-學習-檢測(Tracking-Learning-Detection,TLD)中跟蹤與檢測同時進行的思想,對檢測器產(chǎn)生的目標框與跟蹤器產(chǎn)生的目標框進行判斷與融合。
1原理
1.1AdaBoost算法原理
人臉檢測是人臉跟蹤中的重要環(huán)節(jié),其可靠性將對后續(xù)人臉跟蹤系統(tǒng)的性能和穩(wěn)定性產(chǎn)生重大影響。人臉檢測的目的是為了獲得人臉的位置、大小等信息。本文主要利用基于Haar特征的AdaBoost算法[7]進行人臉檢測。
在基于AdaBoost算法的人臉檢測算法中,由于Haar特征[8]相對于像素來描述人臉,不僅包含一定領(lǐng)域的信息,且計算速度快,因而在人臉檢測算法中被大量使用。Haar特征如圖1所示。
圖1 Haar特征
Haar特征的特征值是圖1中黑色區(qū)域和白色區(qū)域的像素灰度值之差。實際通過積分圖法計算Haar特征,只需遍歷一次圖像便可求出圖像中所有區(qū)域的像素和。
AdaBoost算法的核心思想是針對同一個訓練集訓練不同的弱分類器,將弱分類器相組合,從而構(gòu)成一個強分類器,弱分類器效果好的賦予更大的權(quán)重。
AdaBoost算法具體步驟如下:
(1)給定人臉圖片(x1,y1),(x2,y2),…,(xn,yn),其中,xi表示第i個人臉樣本;yi=1,表示正樣本(人臉);yi=0表示負樣本(非人臉);
(2)初始化樣本權(quán)值
(1)
式中,m為正樣本數(shù)量;n為負樣本數(shù)量;
(3)1)歸一化權(quán)值
(2)
式中,t為弱分類器數(shù)量,t=1,2,…,N;
2)對特征j,訓練一個弱分類器hj(xi),然后對每個特征生成的弱分類器計算權(quán)重誤差
(3)
3)選擇具有最小誤差εj,t的分類器疊加到強分類器中,并更新訓練樣本的權(quán)值
(4)
4)強分類器輸出
(5)
本文利用瀑布算法的分類器組織成篩選式的級聯(lián)分類器,級聯(lián)的每個節(jié)點是AdaBoost訓練得到的強分類器,其人臉檢測模型如圖2所示。
圖2 人臉檢測模型
1.2Struck算法原理
Struck(Structured Output Tracking)[9],即結(jié)構(gòu)性訓練跟蹤算法,是由Sam Hare等首先提出,該算法提出了一種新的跟蹤框架。與傳統(tǒng)的特征和標簽訓練跟蹤方法不同,Struck是基于特征和變換的訓練方法,通過維護一個支持向量集來尋找置信函數(shù)的極值點,確定跟蹤目標的位置。
為能跟蹤到物體,假設(shè)物體的運動是小運動,通過最大化h來預(yù)測目標的位置。物體當前的位置與上一幀位置的函數(shù)關(guān)系如下
pt=pt-1。yt
(6)
(7)
傳統(tǒng)的訓練分類器只利用了正負標簽,因而分類器的置信函數(shù)無法準確處理估計的物體位置;訓練分類器的樣本權(quán)值相同。實際上,不同的樣本對分類器產(chǎn)生的影響程度不同;標簽器的選擇往往取決于經(jīng)驗,需經(jīng)過試探性,才能找到合適的標簽器。
為解決以上問題,Struck采用了結(jié)構(gòu)輸出預(yù)測的自適應(yīng)SVM跟蹤框架,其輸出空間不再是傳統(tǒng)的正負標簽,而是所有的位置變換。其變換函數(shù)如下式
(8)
其中,F為判別函數(shù);F(x,y)=〈w,Φ(x,y)〉,用于評價樣本間的相似度,與跟蹤目標最相似的,數(shù)值越大,Φ為輸入空間到特征空間的映射,將不可分轉(zhuǎn)化成線性可分。
給定樣本T={(x1,y1),…,(xn,yn)},尋找離數(shù)據(jù)點的間隔最大的分類界面,其最優(yōu)化目標函數(shù)如下
(9)
通過拉格朗日乘子法,將(9)轉(zhuǎn)化為如下的對偶函數(shù)
(10)
為便于求解式(10),進行參數(shù)替換,如式(11)所示
(11)
從而化簡成
(12)
判別函數(shù)的最終形式為
本文采用高斯核函數(shù)作為核函數(shù)
(13)
Struck的算法主要步驟為:(1)給定目標圖片序列,通過獲取到的跟蹤目標進行跟蹤器參數(shù)的初始化;(2)估計出物體新的位置;(3)處理新的跟蹤目標樣本,通過SMO[10]算法求解最優(yōu)的分割平面,閾值判斷,從而防止支持向量過增長,跟蹤到目標對象及更新支持向量集。
1.3評價參數(shù)
通過比較跟蹤器的結(jié)果與標定的真實值,選用重疊度Ok和AUCλ[11]作為評價標準。
重疊度Ok用來比較標定好的真實目標框與跟蹤器跟蹤的目標框的結(jié)果。
(14)
其中,TPk為在某一幀中被真確跟蹤到的像素點數(shù),FPk為在錯誤跟蹤到的像素點數(shù);FNk為跟蹤器丟失的跟蹤像素點數(shù)。Ok越大,則跟蹤器跟蹤更準確。
當重疊度小于某一特定值時,即Ok≤τ,其中τ≤[0,1],則認為跟蹤器跟丟目標。跟丟率λ為跟丟的幀數(shù)與總幀數(shù)的比值,其形式如下
(15)
其中,Nl為總的丟幀數(shù);N為測試視頻的幀數(shù)。
基于λ(τ),引入AUCλ來評價跟蹤器的性能,AUCλ為LTR(LostTrackRatio)跟丟率曲線的面積,其形式如下
(16)
其中,Δτ=0.01,0≤AUCλ≤1。AUCλ值越小,則說明跟蹤器的綜合性能越好。
2算法實現(xiàn)
本文通過AdaBoost檢測出人臉,從而實現(xiàn)Struck跟蹤算法的初始化。為提高算法的魯棒性和準確性,將檢測與跟蹤同時進行,計算AdaBoost檢測器返回的目標框與Struck跟蹤器上一幀輸出的目標框的最近鄰相似度。若小于閾值,則認為跟蹤失敗,此時通過檢測器重新初始化跟蹤器。當AdaBoost檢測返回的目標框與Struck上一幀輸出的目標矩形之間的相似度大于閾值時,則認為跟蹤結(jié)果可靠。改進的算法流程如圖3所示。
圖3 改進的Struck算法流程
3實驗測試與分析
此部分對分別對網(wǎng)上公開的boy,FaceOcc2,jumping視頻及攝像頭實時視頻進行實驗測試。這些視頻包含了跟蹤過程中出現(xiàn)的目標的部分遮擋,姿態(tài)的改變以及相似目標的存在等各種嚴峻測場景。
進行實驗的軟件環(huán)境:Windosw7系統(tǒng),VS2010,OpenCV2.4.6,Eigen2;硬件平臺:Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz,8 GB內(nèi)存,攝像頭為USB2.0 HD UVC WebCam;數(shù)據(jù)的測試在Matlab下完成。粒子濾波是一種基于蒙特卡羅和遞推貝葉斯估計的方法,由于粒子的非高斯及非線性特點,被廣泛用于目標跟蹤。TLD[12]是用于解決單目標長時的跟蹤算法,最近得到了國內(nèi)外學者的廣泛研究。為了說明本文的改進算法性能更優(yōu),采用相應(yīng)的AdaBoost結(jié)合ParticleFilter、TLD的算法進行比較,實驗采用多次測量取平均值。
3.1網(wǎng)上公開視頻測試
測試人臉視頻序列的跟蹤結(jié)果部分截圖如圖4所示,圖中深色實線是AdaStruck的跟蹤框,淺色實線框是AdaTLD的跟蹤框,虛點畫線是AdaParticleFilter的跟蹤框。
圖4 3種視頻不同算法的跟蹤結(jié)果對比
從圖4(a)的boy視頻看出,在第324幀,當boy人臉發(fā)生尺度變化時,AdaParticleFilter已經(jīng)完全失去跟蹤目標,跟蹤失敗。在第349幀,boy人臉模糊時,AdaParticleFilter發(fā)生漂移。在第372幀,boy人臉旋轉(zhuǎn),AdaParticleFilter再次跟蹤失敗。AdaStruck和AdaTLD均能較好地跟蹤到人臉。
在圖4(b)FaceOcc2測試中,在部分遮擋的第143幀及旋轉(zhuǎn)的第332幀,AdaParticleFilter發(fā)生漂移。在光照變化的第375幀,AdaParticleFilter無法跟蹤到人臉。此時AdaTLD仍可跟蹤到人臉,但其目標框受到干擾,不能完全框住人臉區(qū)域。
在最后的視頻測試測試中,人臉快速運動及模糊時,AdaTLD及AdaParticleFilter都無法跟蹤到人臉目標。在以上所有的測試中,AdaStruck都能很好的跟蹤到人臉目標。
測試視頻的重疊度結(jié)果如圖5所示??梢钥闯?AdaStruck算法跟蹤到的人臉目標重疊度比AdaTLD、AdaParticle均要高,這說明AdaStruck跟蹤到的人臉準確性較高。測試視頻的LTR曲線對比,如圖6所示。
圖5 3種視頻不同算法重疊度的對比
圖6 3種視頻不同算法LTR曲線對比
圖片序列AdaParticleFilterAdaTLDAdaStruckboy0.3850.3220.255FaceOcc20.7120.3400.250jumping0.7450.4010.298
由圖6看出,在各個測試視頻中,AdaStruck的LTR曲線所包圍的面積最小。從表1的綜合性能參數(shù)比較中,可以看出在各組測試中,AdaStruck的性能都優(yōu)于其他算法。故改進的AdaStruck算法相相比其他算法,性能上有很大的提升。
3.2實時攝像頭測試
將算法用攝像頭來跟蹤人臉,視頻像素為320×240,幀速為15 f·s-1,對實驗結(jié)果進行部分截圖,如圖7所示。
圖7 不同場景的跟蹤實測
圖7(a)的人臉雖然被遮擋,跟蹤器仍能跟蹤到人臉;圖7(b)為人臉雖發(fā)生了旋轉(zhuǎn)和縮放,但跟蹤器仍可較好的找到人臉;圖7(c)和圖7(d)為人臉發(fā)生丟失,當人臉重新回到攝像頭的范圍內(nèi),人臉能較快被重新跟蹤到。測試結(jié)果表明,改進的算法可適用于真實場景。
4結(jié)束語
Struck算法是一種可在線學習的新穎計算機視覺跟蹤算法。本文在其基礎(chǔ)上,提出了一種基于AdaBoost優(yōu)化的Struck人臉實時跟蹤算法。算法使用AdaBoost進行人臉檢測,避免了Struck的人工初始化。AdaBoost人臉檢測與Struck人臉跟蹤同時運行,通過相似度計算AdaBoost與Struck跟蹤的目標框,從而提高了跟蹤的準確性。此外,當Struck跟蹤發(fā)生失敗時,再次通過AdaBoost進行人臉檢測,重新初始化跟蹤。在boy,FaceOcc2,jumping視頻序列測試及攝像頭實測中的結(jié)果表明,采用AdaBoost優(yōu)化的Struck算法能夠有效適用于人臉序列中的實時跟蹤。
參考文獻
[1]Shaick B,Yaroslavsky L.Accelerating face detection by means of image segmentation[C].Kunming:Proceeding of EURASIP Conference Focused on Video/Image Processing and Multimedia Communications,2003.
[2]Yang G,Huang T S.Human face detection in a complex background[J].Pattern Recognition,1994,27(1):53-63.
[3]Rowley H A.Neural network-based face detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,1998,20(1):23-38.
[4]Lucas B D,Kanade T.An iterative image registration technique with an application to stero vision[C].Soul:International Joint Conference on Artificial Intelligence,1981.
[5]Katja Nummiaro,Esther Koller-Meier,Luc Van Gool.An adaptive color-based particle filter[J].Image & Vision Computing,2003,21(1):99-110.
[6]胡銦,楊靜宇.基于分塊顏色直方圖的Mean Shift跟蹤算法[J].系統(tǒng)仿真學報,2009,5(10):2963-2939.
[7]Viola P,Jones M.Robust real-time face detection[J].International Journal of Computer Vision,2004,57(2):137-154.
[8]Papageorgiou C P,Oren M,Poggio T.A general framework for object detection[C].London:Proceedings of the 6th International Conference on Computer Vison,1998.
[9]Sam Hare,Amir Saffari,Philip H S Torr.Struck:structured output tracking with kernels[C].MA USA:Proceedings of the 28th International Conference on Machine Learing,2011.
[10]Antoine Bordes,Leon Bottou,Patrick Gallinari,et al.Solving multiclass support vector machines with larank[C].NZ USA:Proceedings of the 24th International Conference on Machine Learing,2007.
[11]Tahir Nawaz,Andrea Cavallaro.PFT:A protocol for evaluating video trackers[C].Belgium:Proceedings ofthe 18th IEEE International Conference on Image Processing,2011.
[12]Kalal Z,Mikolajczyk K,Matas J.Tracking-learning-detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2012,34(7):1409-1422.
歡 迎 投 稿
投稿請登錄:www.dianzikeji.org
中圖分類號TP391.41
文獻標識碼A
文章編號1007-7820(2016)03-042-06
doi:10.16180/j.cnki.issn1007-7820.2016.03.011
作者簡介:肖兒良(1969—),男,博士。研究方向:信號采集與處理等。
收稿日期:2015- 07- 17