黃敦博,林志賢,姚劍敏,郭太良
(福州大學 物理與信息工程學院,福建 福州 350002)
?
基于自適應提取和改進CAMSHIFT單目手勢跟蹤
黃敦博,林志賢,姚劍敏,郭太良
(福州大學 物理與信息工程學院,福建 福州 350002)
為了解決復雜背景下手勢提取與手勢跟蹤準確度受影響的問題,提出了一種基于自適應提取和改進CAMSHIFT(ContinuouslyAdaptiveMeanShift)單目手勢跟蹤算法。該算法通過自適應手部提取方法識別手部完成對跟蹤目標的初始化,以運動歷史矩陣為掩模提取圖像中的感興趣區(qū)域,在該區(qū)域內使用CAMSHIFT算法跟蹤目標,并通過傅里葉描述子對跟蹤目標輪廓進行實時反饋,完成對動態(tài)手勢的精確跟蹤。該方法能夠在手部經過膚色區(qū)域的情境中實現(xiàn)準確跟蹤,與經典CAMSHIFT算法相比,跟蹤正確率提高了80%,實現(xiàn)了復雜背景下動態(tài)手勢的準確跟蹤。
動態(tài)手勢跟蹤;自適應手部提取;運動歷史矩陣;改進CAMSHIFT
隨著科技的迅猛發(fā)展,與計算機打交道成為人們日常生活的一部分,人機交互成為科研領域的熱點問題?;谝曈X的手勢識別技術使操作者以更加自然的方式進行人機交互,用于動畫制作、智能家電設備研發(fā)、游戲娛樂和政府及其企業(yè)的公共服務等設施,給人們的生活帶來了極大的便利[1]。
基于視覺的動態(tài)手勢識別系統(tǒng)中對動態(tài)手勢的跟蹤是一個重要環(huán)節(jié)。動態(tài)手勢跟蹤其跟蹤目標是直接在圖像中提取手部信息,所以手部信息的提取效果會直接影響到跟蹤的精度。目前手部信息提取方法主要有傳統(tǒng)的手部標定、基于膚色提取、基于運動提取、多模式提取等[2],以上方法在手部跟蹤目標提取的準確度、應用環(huán)境、人機交互的自然性等方面都存在一定程度的局限性[3-4]。文獻[5]采用多特征融合的手勢檢測提取方案,取得了較好的效果。另外,現(xiàn)有動態(tài)手勢跟蹤算法如基于Kalman動態(tài)模型法、粒子濾波(ParticleFilter)法、CAMSHIFT法、MeanShift等[6-7],在出現(xiàn)大面積類膚色干擾或手與面部等其他膚色區(qū)域重疊時,跟蹤準確性無法保證。真實環(huán)境中動態(tài)手勢跟蹤時,不可避免會出現(xiàn)跟蹤錯誤的情況,為了提高跟蹤精度,應盡量使跟蹤與手部特征相結合。目前常見方法中,在復雜背景下,手勢提取方法抗干擾能力差,動態(tài)手勢跟蹤精度和實時性欠佳[8]。
針對現(xiàn)有單目動態(tài)手勢跟蹤算法在復雜背景下手勢目標提取效果不佳及固有的局限性,同時為了提高復雜背景下動態(tài)手勢跟蹤精度,本文提出一種基于自適應提取和歷史矩陣的CAMSHIFT單目手勢跟蹤算法,通過自適應提取方法精確提取手部,初始化跟蹤目標,引入運動歷史矩陣和傅里葉描述子反饋對CAMSHIFT跟蹤算法進行改進,在復雜環(huán)境下單目動態(tài)手勢跟蹤的準確性有明顯提高。
CAMSHIFT跟蹤算法是一種經典動態(tài)目標跟蹤方法。該算法利用顏色概率模型與MeanShift結合,逐幀更新搜索窗口,實現(xiàn)目標跟蹤。該算法以其較好的魯棒性被普遍應用于簡單背景下的目標跟蹤。
經典CAMSHIFT手勢跟蹤流程如圖1所示,在CAMSHIFT目標跟蹤算法中,目標初始化需要在第一幀
內手動標定跟蹤目標或者事先保存跟蹤模板,無法自動初始化跟蹤目標[9]。同時,由于該方法采用顏色概率模型對目標進行識別,當背景中有大量類膚色信息干擾時,跟蹤容易失敗[10]。而且,經典CAMSHIFT算法沒有跟蹤目標的檢測反饋階段,一旦跟蹤出錯不能有效校正。
圖1 經典CAMSHIFT手勢跟蹤流程
本文針對以上不足,將自適應手部提取方法與歷史矩陣相結合改進CAMSHIFT,如圖2所示。首先,提出一種自適應手部提取方法,自動初始化手部跟蹤目標,利用動態(tài)色彩直方圖精確分割圖像中的膚色區(qū)域,與傅里葉描述子結合,直接匹配提取膚色區(qū)域中的手部區(qū)域;其次,引入運動歷史矩陣,記錄手部運動區(qū)域,在掩模區(qū)域內使用CAMSHIFT縮小目標采樣范圍,減少復雜背景干擾;最后,對每幀跟蹤到的目標信息,利用傅里葉描述子進行判斷反饋,及時校正跟蹤目標。
圖2 本文算法手勢跟蹤流程
2.1自適應手部提取算法
目標跟蹤算法中的自動手部提取,最終目的是在圖像中分割出手勢并獲取手勢特征,標記手部位置。通常,利用膚色的靜態(tài)特征,采用膚色識別提取,但單純的膚色識別單純膚色識別易受背景、光照及類膚色等因素影響,手部提取效果并不理想[11]。而手勢特征的提取往往是在手勢分割之后進行,存在特征提取結果依賴于手勢分割效果的缺陷[12]。
本文利用膚色的動態(tài)特征,并融合手勢特征,提出一種自適應手部提取算法,初始化手部跟蹤目標,算法流程如圖3所示。該方法利用HSV膚色模型對圖像中的膚色區(qū)域進行提取,同時對提取出的膚色區(qū)域建立色彩直方圖;對每幀都進行膚色區(qū)域識別,對相鄰幀間的膚色區(qū)域做差分處理,使用該結果對色彩直方圖進行更新;通過動態(tài)色彩直方圖獲取圖像中膚色區(qū)域后,提取膚色區(qū)域上半部分輪廓信息,利用傅里葉描述子分析得到的輪廓信息并與模板進行匹配,記錄手部位置。
圖3 自適應手部提取算法
自適應手部提取算法中,動態(tài)色彩直方圖膚色檢測方法將HSV膚色模型與膚色區(qū)域幀間差分融合,可根據(jù)視頻中人的膚色自適應地調節(jié)膚色閾值,減小由周圍環(huán)境和光照產生的噪聲,提高人體膚色區(qū)域提取的準確率。其中,幀間差分處理只在膚色區(qū)域進行,減小計算量。獲取膚色區(qū)域后,提取膚色區(qū)域上半部分輪廓,只對輪廓上半部分采用傅里葉描述子進行匹配,能有效避免手臂的干擾。直接利用傅里葉描述子匹配提取膚色區(qū)域中的手部特征,摒棄先分割手勢再特征提取的傳統(tǒng)思想,克服特征提取對手勢分割的依賴,同時,手部提取算法可并行化處理,使得手部提取更快速、更準確。
2.2算法實現(xiàn)步驟
1)檢測膚色區(qū)域
本文利用動態(tài)色彩直方圖膚色檢測方法,利用HSV膚色模型,結合幀間差分,可自動調整膚色閾值提取膚色區(qū)域。假設攝像頭獲取的第i幀圖像用Pi標記,其中i=1,2,…,n。
首先,初始化色彩直方圖。將攝像頭采集到第一幀圖像P1轉換為HSV色彩圖像,使用經典H分量的膚色模型識別膚色區(qū)域C1,初始化色彩直方圖H1。其次,在下一幀圖像中用已經建立的色彩直方圖進行膚色檢測,同時更新色彩直方圖。P2幀圖像同樣轉換為HSV色彩圖像,使用經典膚色模型對P2幀圖像做膚色區(qū)域檢測,得到膚色區(qū)域C2,在C1與C2間做差分處理,得到相鄰幀中膚色區(qū)域間的差分色彩直方圖HM,并利用式(1),將HM疊加到H2中,得到更新后的色彩直方圖H2。式(1)為
Hi+1=(1-A)Hi+AHM
(1)
式中:A為融合系數(shù),取值為0~1,代表最新得到的膚色樣本在整體膚色樣本中的比重。
A取值過大可能出現(xiàn)手部提取不完整,而取值過小可能導致提取出的手部干擾信息增多,在實際應用中,本文取0.2。用不斷更新的色彩直方圖檢測下一幀圖像的膚色區(qū)域,同時再次更新色彩直方圖,不斷更新提取視頻中的膚色區(qū)域。
2)提取手部特征
對獲取到的膚色區(qū)域提取輪廓;對各輪廓曲線進行歷遍,保留輪廓上半部分曲線數(shù)據(jù),并相應地采用經典傅里葉描述子進行計算;將得到的各輪廓與事先準備好的若干手勢輪廓模板計算差異程度,選擇在閾值內最相似的模板,完成手勢匹配識別,保留該輪廓位置及與其匹配的手勢特征。
經典CAMSHIFT算法只對顏色信息敏感,復雜背景下跟蹤容易出錯,且無法重新定位目標。本文引入運動歷史矩陣,屏蔽干擾區(qū)域,解決運動手勢與膚色區(qū)域重疊時跟蹤出錯問題;將跟蹤與手部形態(tài)特征結合,加入傅里葉描述子進行跟蹤反饋,有效發(fā)現(xiàn)跟蹤錯誤,及時重新定位跟蹤目標。
3.1運動歷史矩陣
本文提出運動歷史矩陣概念,運動歷史矩陣是一個與獲取的視頻圖像相同大小的二維矩陣,采用幀間差分與歷史運動像素點值隨時間衰減方式來記錄最近時間段內運動像素點的歷史。
運動歷史圖像矩陣的生成原理如圖4所示,其基本思想:認為當前的運動像素點是最有價值的,故在運動歷史矩陣中置為初始值且值最大;在最近時間段內曾經發(fā)生過運動的像素點,有一定的價值,稱為歷史運動點,其對應在運動歷史矩陣中的值會隨時間而衰減;當歷史運動點值衰減到最小閾值時,則認為是太早發(fā)生過的動作,沒有記錄價值,對應歷史矩陣中的值置0。該矩陣用不同數(shù)值記錄不同時刻的運動像素點,時間越早的像素點,其運動歷史矩陣中的記錄數(shù)值越小。
圖4 運動歷史矩陣示意圖
記錄運動像素點的值的運動歷史矩陣公式為
(2)
式中:D=Pi-Pi-1表示相鄰幀的差分圖像,D(x,y)為D中的像素點值;Z為運動歷史矩陣,Z(x,y)為Z中元素值;a為初始值;Dmin為最小閾值。
在本文中,a取255,Dmin與要保存的運動歷史時間相關,需要結合每秒處理幀數(shù)來進行設置,保存的運動歷史時間越長,Dmin值越小。視頻圖像幀間差分處理得到D,如果像素點D(x,y)≠0,表明該像素點當前時刻為運動點,在運動歷史圖像矩陣的相應位置Z(x,y)置為a進行標記;如果差分圖像中,像素點D(x,y)=0,表明該像素點當前時刻為非運動點,但仍需檢測該像素點對應在運動歷史圖像矩陣中Z(x,y)的值,當時Z(x,y)=0,表明該像素點曾經運動過但在當前時刻未運動,該點值Z(x,y) 3.2運動歷史矩陣改進CAMSHIFT策略 首先,利用運動歷史矩陣提取感興趣區(qū)域,在感興趣區(qū)域內使用CAMSHIFT算法跟蹤手部。提取感興趣區(qū)域方法公式為 (3) 式中:Pi(x,y)為Pi幀圖像x行y列像素點色彩值;Z(x,y)為運動歷史矩陣x行y列的元素。 由式(3)可知,由于運動歷史矩陣存儲了近段時間的歷史運動點,采用將運動歷史矩陣作為掩模提取視頻圖像中的感興趣區(qū)域,能夠保證感興趣區(qū)域內圖像像素值保持不變,而區(qū)域外圖像像素值都為0,故得到的新圖像是與運動歷史區(qū)域所對應的區(qū)域圖像,能有效防止在運動手部與膚色區(qū)域重疊時CAMSHIFT算法對手部范圍判斷的失誤,同時減少跟蹤過程CAMSHIFT算法的迭代次數(shù)以保證算法實時性。 其次,加入傅里葉描述子對跟蹤得到的手部輪廓進行檢測反饋。加入運動歷史圖像矩陣并不能完全避免手部與膚色區(qū)域重疊時反向投影跟蹤算法跟蹤錯誤的狀況,當傅里葉描述子檢測CAMSHIFT跟蹤出錯時,則使用自適應手部提取算法重新提取手部區(qū)域,作為新的跟蹤目標。加入傅里葉描述子進行跟蹤反饋,能極大提升手部跟蹤的準確性。 3.3自適應提取和歷史矩陣CAMSHIFT手勢跟蹤 本文提出的改進CAMSHIFT算法,使用自適應手部提取算法識別手部,保存手部信息后使用運動歷史矩陣改進CAMSHIFT策略對手部進行跟蹤,傅里葉描述子對跟蹤得到的手部輪廓進行判斷反饋,從而將自適應手部提取與歷史矩陣CAMSHIFT策略有效融合,整個算法形成閉環(huán)回路,提高手勢識別跟蹤準確性。算法流程如下: 步驟1,攝像頭獲取實時圖像,判斷圖像中的手部跟蹤信息,若是不存在,則轉到步驟2,否則轉到步驟3。 步驟2,利用自適應手部提取方法,通過幀間差分圖像更新色彩直方圖后對膚色區(qū)域進行提取,得到若干輪廓,轉到步驟5。 步驟3,使用幀間差分圖像更新運動歷史矩陣,并使用該運動歷史矩陣為掩模提取當前幀的感興趣區(qū)域。 步驟4,在感興趣區(qū)域內以手部跟蹤信息為模板,以運動歷史矩陣最大值區(qū)域重心為起點,進行CAMSHIFT跟蹤,并得到手部輪廓。 步驟5,將輪廓分別與傅里葉描述子進行匹配,若為手部則更新并儲存手部跟蹤信息,否則清空刪除手部跟蹤信息,接著轉到步驟1繼續(xù)進行跟蹤。 為了驗證本文算法的有效性,本文實驗使用羅技C270攝像頭,在PC機上進行測試,攝像頭分辨率為640×480,使用OpenCV進行編程,并與經典CAMSHIFT算法進行對比。算法迭代精度均為Δ=10,當前后兩次迭代得到的手勢中心間距小于(或等于)Δi(i=1,2)時,認為當前點為手勢中心點。本文算法以運動歷史矩陣中最大值區(qū)域的重心作為搜索中心,以上一幀包含跟蹤目標的最小矩形作為搜索窗口大小。 4.1算法精度對比 在有較多膚色區(qū)域的復雜環(huán)境下,本文算法與經典CAMSHIFT算法動態(tài)手部跟蹤效果如圖5和圖6所示。 通過對比試驗,圖6中經典CAMSHIFT算法需要在跟蹤初始階段人為標定手部位置,采集樣本建立跟蹤目標,在手部運動較快或者與人臉等其他裸露身體部位重疊時,跟蹤精度已不能得到保證,手部跟蹤出 圖5 本文算法 圖6 經典CAMSHIFT 錯。而圖5中,本文算法使用自適應手部提取自動建立跟蹤目標,改進CAMSHIFT能在膚色重疊區(qū)域正確跟蹤手部。為了充分證明本文算法跟蹤準確度的提高,在圖5和圖6的環(huán)境背景下,分別測試運動手部與面部等膚色區(qū)域重合、運動手部與膚色區(qū)域不重合兩種情況,不同情況下兩種算法各進行15次手部跟蹤試驗,每次跟蹤持續(xù)30 s,統(tǒng)計結果如表1所示。 表1不同手部運動情況下實驗對比 運動情況跟蹤算法成功次數(shù)反饋次數(shù)成功率/%動態(tài)手勢與膚色區(qū)域不重疊本文算法151100經典CAMSHIFT13—86.67動態(tài)手勢與膚色區(qū)域重疊本文算法14793.33經典CAMSHIFT2—13.33 由表1可以看出,在動態(tài)手部與面部有重合的情況下,本文跟蹤成功率較經典CAMSHIFT算法提高了80%。在動態(tài)手部與面部不重合的情況下,由于所用背景有部分類膚色區(qū)域,經典CAMSHIFT算法依然有一定的失敗率,而本文跟蹤成功率則為100%,提高13.33%。 4.2算法運行時間對比 經典CAMSHIFT算法與本文算法在跟蹤過程中的每幀平均耗時如表2所示。 本文算法雖然跟蹤消耗的時間略高于傳統(tǒng)CAMSHIFT,但在高收斂精度的條件下,依然能夠實現(xiàn)實時跟蹤。 表2運行時間對比 算法幀數(shù)1~30f/ms31~60f/ms61~90f/ms91~120f/ms經典CAMSHIFT6.210.14.87.2本文算法13.611.211.99.8 本文提出并實現(xiàn)了一種基于自適應提取和歷史矩陣的CAMSHIFT手勢跟蹤方法,該方法用自適應手部提取代替了手動標記跟蹤目標的傳統(tǒng)方法,精確提取手部信息,獲得跟蹤目標。相比經典CAMSHIFT算法,本文利用運動歷史矩陣和傅里葉描述子跟蹤反饋對其進行改進,在運動手部經過面部的情況下,跟蹤準確率提高80%;在背景中存在大量類膚色區(qū)域情況下,跟蹤準確率提高13.33%。本文算法之所以能有效提高跟蹤精確率,是因為運動歷史矩陣實現(xiàn)了對大部分干擾區(qū)域的屏蔽,同時對CAMSHIFT搜索窗口進行預測,在跟蹤出錯時能利用傅里葉描述子及時反饋,重新定位手部。本文算法能保證在高收斂精度條件下,實現(xiàn)精確跟蹤。該方法適用于復雜背景環(huán)境中對動態(tài)手勢的跟蹤,并取得了較好的效果。 [1]RAUTARAY S S,AGRAWAL A.Vision based hand gesture recognition for human computer interaction:a survey[J].Artificial intelligence review,2015,43(1):1-54. [2]林燕,馮志全,朱德良,等.以多模型融合為特征的三維手勢跟蹤算法[J].計算機輔助設計與圖形學學報,2013,25(4):450-459. [3]HASAN H,ABDUL-KAREEM S.Static hand gesture recognition using neural networks[J].Artificial intelligence review,2014,41(2):147-181. [4]NAYAK M K,TALUKDAR A K,SARMA K K.Hand segmentation and tracking of continuous hand posture using morphological processing [J].International journal of electronics signals and systems,2013,3(1):82-86. [5]沙亮,王貴錦,林行剛,等.基于多特征融合的穩(wěn)健手勢檢測方法[J].電視技術,2010,34(8):110-113. [6]馮志全,楊波,李毅,等.以時間優(yōu)化為目標的粒子濾波手勢跟蹤方法研究[J].電子學報,2009,37(9):1989-1995. [7]王宇.基于Mean Shift的序列圖像手勢跟蹤算法[J].電視技術,2010,34(6):97-99. [8]OHN-BAR E,TRIVEDI M M.Hand gesture recognition in real time for automotive interfaces:a multimodal vision-based approach and evaluations[J]. IEEE transactions on intelligent transportation systems,2014,15(6):2368-2377. [9]張春林,李小堅.基于幀間差分和背景差分結合的Camshift目標跟蹤算法[J].工業(yè)控制計算機,2014 (6):118-120. [10]張秋余,胡建強,張墨逸,等.基于區(qū)域生長的Mean shift動態(tài)變形手勢跟蹤算法[J].模式識別與人工智能,2010,23(4):580-585. [11]BOUCHRIKA T,ZAIED M,JEMAI O,et al.Neural solutions to interact with computers by hand gesture recognition[J].Multimedia tools and applications,2014,72(3):2949-2975. [12]張國亮,王展妮,王田.應用計算機視覺的動態(tài)手勢識別綜述[J].華僑大學學報,2014,35(6):653-658. 黃敦博(1991— ),碩士生,主研光電信息處理; 林志賢(1975— ),教授,博士,碩士生導師,主要研究領域為平板顯示器件驅動技術和圖像處理技術等; 姚劍敏(1978— ),副研究員,博士,主要研究方向為模式識別、三維顯示技術等; 郭太良(1963— ),研究員,博士生導師,主要研究方向為FED顯示器等。 責任編輯:閆雯雯 MonoculargesturetrackingbasedonadaptiveextractionandimprovedCAMSHIFT HUANGDunbo,LINZhixian,YAOJianmin,GUOTailiang (College of Physics and Information Engineering,F(xiàn)uzhou University,F(xiàn)uzhou 350002,China) Inordertosolvegestureextractionandgesturetrackingaccuracyaffectedbytheproblemofcomplexbackground,amonoculargesturetrackingalgorithmbasedontheadaptiveextractionandimprovedCAMSHIFT(ContinuouslyAdaptiveMeanShift)strategyisproposedinthispaper.Themethodisautomaticallyaccomplishedbytheadaptivehandextractionmethodidentifyingthehand.TheCAMSHIFTalgorithmisusedtotrackthetargetintheareathatisextractedbythemotionhistorymatrixasamask,thenFourieroperatorcalculatesthetrackeddynamicgesturesasreal-timefeedbacktocompletetheprecisetrackingofthedynamicgesture.Theproposedmethodcantrackthedynamicgestureaccuratelyundertheconditionthatthemotiongesturesandfacialoverlappedeachother.Therateoftrackingprecisionrises80%whichcompareswiththetraditionalCAMSHIFTalgorithm.Themethodrealizestheprecisiondynamictrackingunderthecomplexbackground. dynamicgesturetracking;adaptivehandextraction;motionhistorymatrix;improvedCAMSHIFT TP391 ADOI:10.16280/j.videoe.2016.07.024 國家科技部“863”重大專項(2013AA030601);福建省科技重大專項(2014HZ0003-1);福建省資助省屬高校專項課題項目(JK2014002) 2015-10-19 文獻引用格式:黃敦博,林志賢,姚劍敏,等.基于自適應提取和改進CAMSHIFT單目手勢跟蹤[J].電視技術,2016,40(7):107-112. HUANGDB,LINZX,YAOJM,etal.MonoculargesturetrackingbasedonadaptiveextractionandimprovedCAMSHIFT[J].Videoengineering,2016,40(7):107-112.4 實驗結果
5 結論