王銘航 柳培忠 黃德天 顧培婷 洪 銘
?
基于改進的TLD算法的手勢跟蹤算法
王銘航 柳培忠 黃德天 顧培婷 洪 銘
華僑大學(xué)工學(xué)院
該文在分析表征手勢特征基礎(chǔ)上,分別根據(jù)金字塔LK原理、FERN分類原理和P-N學(xué)習(xí)原理及手運動軌跡的連續(xù)性規(guī)律來研究適用于手勢識別的關(guān)鍵技術(shù),即手勢目標(biāo)跟蹤技術(shù)、P-N學(xué)習(xí)的樣本增長和修剪技術(shù)的算法。針對目前在手的局部區(qū)域跟蹤過程中,手勢目標(biāo)跟蹤失敗后難以恢復(fù)和容易受到臉部、膚色和手臂的干擾等問題,該文在TLD單目標(biāo)跟蹤算法的基礎(chǔ)上,提出了一種改進的多目標(biāo)手勢局部區(qū)域跟蹤TLD算法,針對算法的檢測模塊,在FERN分類器的基礎(chǔ)上,采用顏色特征相交系數(shù)的方法,改進FERN分類器的第一級方差分類器;還提出一種自適應(yīng)坐標(biāo)系的方法,縮小了檢測模塊掃描窗口的滑動區(qū)域。通過仿真實驗證明,相對于原算法,這一改進算法在客觀評價指標(biāo)和主觀視覺效果上都有明顯提高。
手勢目標(biāo)跟蹤 LK跟蹤 FERN分類 顏色特征相交系數(shù)
手勢交互是人機智能交互更為高層、難度更高的一種交互方式,手勢交互可使人與機器的交互更加自然,是機器向深度智能化發(fā)展過程中必須要解決的問題。
手勢交互的關(guān)鍵在于機器對人手勢動作的準(zhǔn)確識別。根據(jù)手勢識別的內(nèi)容,基于視覺的手勢識別可以劃分為靜態(tài)手勢識別和動態(tài)手勢識別。動態(tài)手勢的特征可以定義為手勢運動軌跡,而靜態(tài)手勢特征主要是通過手的手型、輪廓、指向、骨架和位置等來描述。動態(tài)手勢主要涉及動態(tài)檢測和動態(tài)跟蹤,以及跟定義好的手勢曲線擬合的過程。
在對手的局部區(qū)域跟蹤過程中,存在容易受到頭部、膚色和手臂等因素干擾的問題,采用一種改進的TLD跟蹤算法,通過檢測模塊和P-N學(xué)習(xí)的方式,來濾除跟蹤模塊受到的外在因素干擾。此外,檢測模塊本身還存在性能不好的問題,可以通過采用自適應(yīng)坐標(biāo)系和顏色相關(guān)系數(shù)的方法來改進檢測模塊的性能。
手勢區(qū)域分割的好壞將直接影響到后續(xù)手勢的分類結(jié)果。而手勢背景的復(fù)雜性、明暗度變化易受膚色、手臂和輪廓的干擾等現(xiàn)狀,以及考慮到在實際應(yīng)用中對手勢識別研究的要求,比如對實時性的要求,都會提高手勢分割研究的難度。常用的分割算法包括增加限制條件、膚色模型法和輪廓跟蹤法。膚色對于手勢分割的研究是非常明顯的特征,根據(jù)膚色特征檢測算法可以快速檢測到手部區(qū)域,顏色空間分為很多種,包括RGB、HSV、YCbCr等,對于膚色而言,不同的人種在色度上可能比較相近,但在亮度上卻有很大的差別,并且膚色在一定范圍內(nèi)表現(xiàn)為較強的聚類特性[1]。文獻[2]提出一種基于YCrCb的膚色提取方法。Habibi等人關(guān)于手和人臉分割提取的研究就采用YCbCr顏色空間,基本可以將背景與手勢分開[3]。Lew等利用均一化RGB模型來分割手勢,盡管能起到一定的作用,但RGB模型對光照非常敏感,分割效果并不好[4]。
為了針對應(yīng)用場景的差別以及手勢分割后提取的特征,需要構(gòu)建符合場景和特征的手勢模型。基于灰度圖像的手勢模型是將2D圖像中手勢運動序列作為手勢模型[5],該方法的優(yōu)點是灰度圖像包含的有效信息較少,能夠識別的手勢種類相對也少,容易操作。手勢特征提取環(huán)節(jié)對手勢識別的影響在于,手勢特征選取的好壞會影響手勢識別的精確性和識別效率。因此,在選取手勢特征時,需要考慮的因素包括特征計算的復(fù)雜度和該特征是否能唯一標(biāo)識手勢。選擇特征時,有以下原則[6]:
(1)同一類手勢的特征要相似或相近;
(2)不同類手勢的特征要有明顯的差別;
(3)手勢的特征應(yīng)該滿足尺度、旋轉(zhuǎn)和平移不變性等特點,即特征不受手勢的尺寸大小、位置和方向的改變影響,識別結(jié)果一致。
表征手勢的特征有顏色直方圖、幾何特征、輪廓、Hu矩[7]、BitBP特征[8]、HOG特征[9]、光流特征[10-12]等。
為了應(yīng)用基于Haarlet小波的手勢識別方法來識別手勢,學(xué)者采用顏色和深度信息檢測的方式跟蹤人手[13]。Kjeldsen等人在Windows系統(tǒng)下開發(fā)出了一套基于計算機視覺的手勢控制軟件,其原理是通過手勢的運動軌跡識別來控制Windows系統(tǒng)[14]。Pavlovic等人也設(shè)計了一套基于計算機視覺的手勢交互系統(tǒng),可以通過雙手之間的手勢動作來模擬鼠標(biāo)的拖拽,單擊及雙擊等操作[15]。Lars等提出了一種先采用顏色特征對手勢進行分割,后利用粒子濾波對手勢動作進行跟蹤,由于顏色特征的分割效果不佳,并且粒子濾波算法又相對比較復(fù)雜[16]。Ho-SubYoon等人也采用HMM進行手勢識別,達到了不錯的識別效果[17]。Aditya Ramamoorthy等人也同樣利用膚色分割獲取輪廓,同時采用卡爾曼濾波的運動跟蹤方法,進行動態(tài)手勢識別,效果一般[18]。Hyeon-Kyu Lee等人提出了一種基于HMM門限的連續(xù)手勢識別模型,可以將手勢動作和無意義的動作區(qū)分開,而且能夠確定手勢動作的終點和起點[19]。
TLD(Tracking-Learning-Detection,TLD)是英國薩里大學(xué)博士生Zdenek Kalal在2010年提出的一種長時(Long-Term)在線跟蹤算法[20,21]。結(jié)構(gòu)如圖1所示。TLD算法由三部分組成:跟蹤、學(xué)習(xí)、檢測。跟蹤模塊采用的算法是金字塔LK光流法,該算法適用于自適應(yīng)短時跟蹤。在跟蹤模塊跟蹤期間,視頻幀圖像變化對建模的影響包括兩類:生長事件(Growing Events)和剪枝事件(Pruning Events)。兩類事件共同進行擴展,這樣可以避免因短時跟蹤器誤分帶來的影響。建模得到的結(jié)果是經(jīng)過篩選并且剪枝后得到的模板集合,而檢測模塊正是基于這個模板集合進行在線構(gòu)造。檢測模塊與短時跟蹤器并行地運行,這樣使跟蹤模塊在失效后能夠快速初始化。檢測模塊是由FERN分類器構(gòu)成的,能夠快速更新FERN樹。
圖1 TLD算法結(jié)構(gòu)圖
1.1 金字塔LK算法
為了解決窗口位移較大的問題,Intel公司的Bouguet等人于2000年提出了一種改進的金字塔LK光流法[22]。
1.1.1 圖像配準(zhǔn)
窗口位移關(guān)于圖像配準(zhǔn)的問題,LK光流法在這里可以描述為:對于圖中的一點及其鄰域,找到一個向量,即求得圖中的對應(yīng)點及其鄰域,使得兩個領(lǐng)域的像素值相似。d稱為圖像的運動速率,即光流。光流d使得兩塊區(qū)域的殘差最小,殘差為:
1.1.2 圖像金字塔
由公式(2)可以得到金字塔的邊上以2的指數(shù)級速度在減?。?/p>
(3)
通過公式(2)的迭代計算得到圖像與的金字塔圖像和,金字塔的層數(shù)通常取值為2,3,4。
1.1.3 金字塔特征跟蹤
對中的一點及其鄰域,找到一個向量d,即求得圖中的對應(yīng)點及其領(lǐng)域,使得兩個領(lǐng)域的殘差最小。記為圖中點對應(yīng)第L層金字塔中的坐標(biāo),且有:
(6)
于是,從L傳到L-1層的初始預(yù)測光流為:
(8)
考查g與d的關(guān)系,得到:
金字塔LK算法的優(yōu)勢在于,對于較大的光流的計算結(jié)果非常有效。實際研究中,每次迭代產(chǎn)生的光流都很小,假設(shè)每一次迭代計算得到的光流都達到最大值,那么能處理的光流也將達到最大值為:
(10)
1.2 FERN分類
FERN分類是一種樹形分類器,是在隨機森林基礎(chǔ)上改進得到的一種樹形結(jié)構(gòu),它支持在線更新及對序列化的特征的分類。檢測器的特征選擇是一種基于LBP特征的2bit BP特征,這種特征是一種類似于Harr-like的特征,其結(jié)構(gòu)如圖2所示。
圖2 2bit BP特征結(jié)構(gòu)圖
由于需要處理的矩形框數(shù)目太大,對圖像片的分類效果具有很高的要求。采用相似度評估的方法就能評估NN分類器性能的好壞。級聯(lián)分類器包括方差分類器、集合分類器和NN分類器。
每一個基本分類器都是基于一系列的像素比較來進行的,像素比較是離線隨機生成的,并在實時運行中保持不變。先對圖像塊進行3×3的標(biāo)準(zhǔn)高斯加噪模糊處理,目的是增加抗漂移和噪聲的魯棒性。然后進行像素比較,像素比較的結(jié)果為0或1的二值編碼,這樣一連串的編碼返回值構(gòu)成了圖像片向量。圖3為其詳細示意圖。
圖3 像素二進制編碼示意圖
1.3 P-N學(xué)習(xí)分類
P-N學(xué)習(xí)也可以解釋為“生長”和“修剪”。學(xué)習(xí)模塊(Learning)主要是通過對視頻的在線處理達到提升檢測器(Detector)性能的目的。在每一幀里,我們希望評估當(dāng)前的檢測器,發(fā)現(xiàn)它產(chǎn)生的錯誤,不斷更新檢測器以避免將來它再次犯錯。P-N學(xué)習(xí)的主要思想是檢測器產(chǎn)生的錯誤結(jié)果可以被“P約束”和“N約束”識別出來并標(biāo)記下來。P約束主要用來識別錯誤的負樣本,N約束主要用來識別錯誤的正樣本。當(dāng)然,P約束和N約束也會出現(xiàn)錯誤。同時,P約束和N約束是相互獨立的,還可以相互糾正對方發(fā)生的錯誤。P約束發(fā)生的錯誤,N約束糾正,N約束發(fā)生的錯誤,P約束糾正。P-N學(xué)習(xí)的流程如圖4所示。
圖4 P-N學(xué)習(xí)流程圖
在第k次迭代中,n+(k)表示P約束產(chǎn)生的正樣本,n-(k)表示N約束產(chǎn)生的負樣本。為了分析方便,假設(shè)未被標(biāo)記的樣本已知其分類,并可知道分類器和P-N約束產(chǎn)生的錯誤。a(k)表示分類器產(chǎn)生的錯誤的正樣本數(shù)量,B(k)表示分類器產(chǎn)生的錯誤的負樣本數(shù)量。nc+(k)表示P約束產(chǎn)生的正確正樣本數(shù)量,nf+(k)表示P約束產(chǎn)生的錯誤的正樣本數(shù)量。同理,nc-(k)表示N約束產(chǎn)生的正確的負樣本數(shù)量,nf-(k)表示N約束產(chǎn)生的錯誤的負樣本數(shù)量,如下:
(13)
(14)
P約束產(chǎn)生的正樣本的可靠性P-precision:
(16)
P約束被誤分為負樣本數(shù)量的百分比P-recall:
N約束產(chǎn)生的負樣本的可靠性N-precision:
(18)
N約束被誤分為正樣本數(shù)量的百分比P-recall:
TLD算法在魯棒性和準(zhǔn)確率方面的表現(xiàn)十分優(yōu)秀,但仍存在一些缺點。當(dāng)進行在線模型驗證時,需要對所有圖像進行歸一化積計算,當(dāng)在線模型中的圖像數(shù)量越來越多時,會帶來額外的時間開銷。尤其是將TLD算法應(yīng)用在多目標(biāo)跟蹤問題時,在線模型圖片庫規(guī)模的增長更加迅速,TLD算法歸一化積的計算也會更加復(fù)雜,算法的效率必然十分低下。檢測模塊的掃描窗口對每一幀都處理,會帶來巨大的計算負載。本文主要對掃描幀、掃描窗口和級聯(lián)分類器進行改進,以減少算法的復(fù)雜性。
2.1 輸入圖像
原TLD算法主要針對的是單目標(biāo)跟蹤,其檢測器在通過滑動窗口對每一幀圖像進行掃描,如果調(diào)整滑動窗口的掃描范圍,會對生成樣本產(chǎn)生比較大的影響。本文采用基于改進的TLD多目標(biāo)手指跟蹤算法,由于手指的運動范圍有限,可以針對不同的手指運動范圍,去除手指不可能移動到的區(qū)域,減少滑動窗口掃描的次數(shù)。如圖5所示,a點不會運動到B區(qū)域,而b點同樣不會運動到A區(qū)域。
圖5 輸入圖像區(qū)域圖
2.2 改進級聯(lián)分類器
由于級聯(lián)分類器的第一級是方差分類器,其對灰度變化不明顯的目標(biāo)的分類效果不好。而方差分類器主要采用的方法是計算積分圖的方式,該方法在處理Harr-like特征的時候,分類的效果比較好,假如手勢的檢測受到人臉等因素的干擾,方差分類器的效果比較好,為了適應(yīng)不同的復(fù)雜背景,顏色特征作為比較顯著的特征,不可或缺。基于以上特點,我們采用顏色特征相交系數(shù)的方式,其特點為計算開銷小。顏色特征相交系數(shù)的計算如下式所示:
為了驗證該TLD單目標(biāo)跟蹤算法的實時性、準(zhǔn)確性和魯棒性, 本文對該算法進行了實驗驗證。本文的編程平臺為Visual Studio2013下的opencv2.4.8, 使用C / C + + 語言編程實現(xiàn)了TLD算法。
實驗主要從TLD算法的魯棒性、準(zhǔn)確性和實時性三個方面進行考慮,對TLD算法在手的局部區(qū)域跟蹤上的優(yōu)劣進行客觀評價。可以看出,多目標(biāo)跟蹤在不同背景下,還可以滿足實時性和準(zhǔn)確性,實驗選擇壓縮跟蹤算法(Compressive Tracking)和Struck算法作為比較對象。
評價標(biāo)準(zhǔn)如下:
驗證改進的TLD多目標(biāo)跟蹤算法可以適用于不同的背景,實驗選取3種不同的背景,測試算法是否可以在保證跟蹤準(zhǔn)確率的同時,達到實時性。從視頻序列中提取6幀說明改進的TLD算法可以適應(yīng)不同的背景。本文的實驗是在3種不同背景下,對改進的TLD多目標(biāo)跟蹤算法的實驗結(jié)果。在背景3下,容易受到背景人臉及膚色的干擾,如圖6所示。
表1 跟蹤算法平均成功率對比表
表2 跟蹤算法平均幀率對比表
(a)第17幀 ?? (b)第64幀?? (c)第82幀?? (d)第100幀?? (e)第145幀?? (f)第182幀
(a)第17幀?? (b)第64幀?? (c)第82幀?? (d)第100幀?? (e)第145幀?? (f)第182幀
(a)第17幀?? (b)第64幀?? (c)第82幀?? (d)第100幀?? (e)第145幀?? (f)第182幀
本文研究了TLD算法的基本原理及其改進的方法。依次介紹了TLD算法的跟蹤模塊、patch檢測器及P-N學(xué)習(xí)等模塊。其中,patch檢測器需要每一幀圖像進行滑動窗口檢測,產(chǎn)生巨大數(shù)量的矩形框,增加了計算的負擔(dān)。為此,本文主要從三個方面進行了改進:第一,從圖像本身入手,減少了滑動的次數(shù),第二,縮小滑動窗口的坐標(biāo)范圍,減小了滑動窗口產(chǎn)生矩形框的數(shù)目,第三,從級聯(lián)分類器的方差分類器存在的不足角度出發(fā),采用顏色特征相交系數(shù)的方法,提高了分類器的性能。本文還分析了改進之后的跟蹤算法的優(yōu)劣,并強調(diào)了本文的主要研究方向。
[1] Yang J, Lu W, Waibel A. Skin-Color Modeling and Adaptation[C]//Third Asian Conference on Computer Vision. Springer-Verlag,2015,:687-694.
[2] Choi KM,Na YG,Chae Sb,Jung KH. A hand gesture-based remote control of robot[C]//Proc. of KSBE Fall Conference, 2010: 196-199.
[3] Habili N, Lim C C. Hand and face segmentation using motion and color cues in digital image sequences[C]//Proceedings of IEEE International Conference on Multimedia & Expo,2001:261-264.
[4] Lew Y P, Ramli A R, Koay S Y, et al. A Hand segmentation scheme using clustering technique in homogeneous background[C]//Conference on Research & Development Proceedings, 2002:305-308.
[5] G.Bradski, Boon-Lock Yeo, Minerva M.Yeung. Gesture for video content navigation[C]//Proceedings of International Society for Optical Engineering, 1999, 3656: 230-242.
[6] R Culter, M Turk. View-based interpretation of real-time optical flow for gesture recognition[C]//Proceedings of 3rd Intel Conference Automatic Face and Gesture Recognition, 1998.
[7] Hu MingKuei. Visual Pattern Recognition by Moment Invariant[J]. Information Theory Ire Transactions on,1962,8(2):179-187.
[8] OJALA T, PIETIKAINEN M, HARWOOD D. Performance evaluation of texture measures with classification based on Kullback discrimination of distributions[C]//Proceedings of the 12th IAPR International Conference on Pattern Recognition,1994:582-585.
[9] Jorn Alexander Zondag, Tommaso Gritti, Vincent Jeanne. Practical study on Real-time Hand Detection[C]//International Conference on Affective Computing & Intelligent Interaction & Workshops, 2009: 1-8.
[10] Barron J L, Fleet D J, Beachemin S S. Performance of Optical Flow Techniques[J]. International Journal of Computer Vision,1994,12(1): 43-77.
[11] Berthold K.P. Horn, Brian G. Schunck. Determining Optical Flow[J]. Artificial Intelligence,1980,17(81):185-203.
[12] Lucas B D, Kanade T. An iterative image registration technique with an application to stereo vision[C]//International Joint Conderence on Artificial Intelligence,1981,73(3):121-130
[13] van den Bergh M, van Gool L. Combining RGB and ToF cameras for real-time 3D hand gesture interaction[C]//IEEE Workshop on Applications of Computer Vision,2011:66-72.
[14] R Kjeldsen, J Kender. Visual hand gesture recognition for windows system control[C]//Proc. Int. Workshop on Autom. Face & Gesture Recognition, 1995:184-188
[15] Pavlovic V, Sharma R, Huang TS. Visual interpretation of hand gestures for human-computer interaction: a review[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence,1997, 19(7): 677-695.
[16] Lars Bretzner, Ivan Laptev, Tony Lindeberg. Hand gesture recognition using multi-scale color features, hierarchical model and particle filtering[C]// Fifth IEEE International Conference of Automatic Face and Gesture Recognition,2002:423-428.
[17] Ho-Sub Yoon, Jung Soh, et al. Hand gesture recognition using combined features of location,angle and velocity[J]. Pattern Recognition, 2001, 34(7): 1491-1501.
[18] Aditya Ramamoorthy, Namrata Vaswani, et al. Recognition of dynamic hand gestures[J]. Pattern Recognition,2003,36(9):2069-2081.
[19] Hyeon-Kyu Lee, Jin H. Kim. An HMM-Based Threshold Model Approach for Gesture Recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1999, 21(10):961-973.
[20] Z Kalal, K Mikolajczyk, J Matas. Tracking-Learning-Detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2012, 34(7): 1409-1422.
[21] Z.Kalal, K.Mikolajczyk, J.Matas. Face-TLD: Tracking-Learning-Detection Applied to Faces[C]//IEEE International Conference on Image Processing, 2010,119(5):3789-3792.
[22] J Y Bouguet. Pyramidal implementation of the Lucas Kanade feature tracker description of the algorithm[J]. Acta Pathologica Japonica, 2000, 22(2): 363-381.