彭露茜,姚加飛
(1.重慶大學(xué) 輸配電裝備及系統(tǒng)安全與新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,重慶 400044;2. 重慶大學(xué) 建筑設(shè)計(jì)研究院)
利用軌跡模板匹配方法的實(shí)時(shí)動(dòng)態(tài)手勢(shì)識(shí)別
彭露茜1,姚加飛2
(1.重慶大學(xué) 輸配電裝備及系統(tǒng)安全與新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,重慶 400044;2. 重慶大學(xué) 建筑設(shè)計(jì)研究院)
利用混合高斯模型進(jìn)行運(yùn)動(dòng)檢測(cè),分割出運(yùn)動(dòng)前景,采用粒子濾波器結(jié)合皮膚橢圓模型進(jìn)行手勢(shì)跟蹤,獲得手勢(shì)中心點(diǎn)運(yùn)動(dòng)軌跡,在此基礎(chǔ)上提出利用軌跡模板匹配方法進(jìn)行動(dòng)態(tài)手勢(shì)識(shí)別。該方法利用基本的幾何和三角函數(shù)就能完成手勢(shì)運(yùn)動(dòng)軌跡的定義和識(shí)別,不需要選擇特征或訓(xùn)練樣本。實(shí)驗(yàn)結(jié)果表明,該算法能夠?qū)崿F(xiàn)實(shí)時(shí)動(dòng)態(tài)手勢(shì)識(shí)別。
軌跡模板匹配;動(dòng)態(tài)手勢(shì)識(shí)別;皮膚橢圓模型;粒子濾波器
手勢(shì)識(shí)別作為新型人機(jī)交互方式之一,成為一項(xiàng)越來(lái)越重要的熱點(diǎn)研究?jī)?nèi)容。利用可穿戴設(shè)備進(jìn)行手勢(shì)識(shí)別的系統(tǒng)設(shè)備費(fèi)用昂貴,操作上也有局限性。基于機(jī)器視覺(jué)的手勢(shì)識(shí)別則具有設(shè)備相對(duì)簡(jiǎn)單、操作更加方便的優(yōu)勢(shì),成為手勢(shì)識(shí)別的主要發(fā)展趨勢(shì)[1]。
張良國(guó)等[2]采用手勢(shì)模板匹配方法建立了中國(guó)手語(yǔ)手指字母識(shí)別系統(tǒng),但在手勢(shì)旋轉(zhuǎn)或縮放時(shí)魯棒性較差。陳文[3]利用動(dòng)態(tài)時(shí)間規(guī)則進(jìn)行手勢(shì)識(shí)別,但實(shí)時(shí)性較差。Tusor等[4]基于神經(jīng)網(wǎng)絡(luò)的手勢(shì)識(shí)別,劉珠峰等[5]建立的HMM手勢(shì)識(shí)別模型,都存在訓(xùn)練樣本大、實(shí)時(shí)性不高的問(wèn)題。
本文利用單攝像頭,基于混合高斯模型進(jìn)行運(yùn)動(dòng)檢測(cè),采用粒子濾波器結(jié)合皮膚橢圓模型進(jìn)行手勢(shì)跟蹤,并提出一種基于軌跡模板匹配的動(dòng)態(tài)手勢(shì)識(shí)別方法。
運(yùn)動(dòng)檢測(cè)的一般方法有幀差法[6]、光流法[7]和混合高斯模型[8]等算法。幀差法檢測(cè)到的目標(biāo)不完整;光流法計(jì)算復(fù)雜,受光照、背景影響大;混合高斯模型法可以對(duì)任意形狀的密度分布進(jìn)行平滑近似,對(duì)背景適應(yīng)能力極強(qiáng),且算法實(shí)現(xiàn)的開(kāi)銷較小,滿足實(shí)時(shí)性要求。故本文利用混合高斯模型進(jìn)行運(yùn)動(dòng)檢測(cè),對(duì)圖像的每個(gè)像素點(diǎn)建立多高斯混合模型,根據(jù)最大期望算法[9]自適應(yīng)地更新模型參數(shù),較準(zhǔn)確地分離出視頻中的運(yùn)動(dòng)前景。
為了得到手勢(shì)的準(zhǔn)確位置和運(yùn)動(dòng)軌跡,需要對(duì)運(yùn)動(dòng)區(qū)域做膚色檢測(cè)和目標(biāo)跟蹤。跟蹤算法需要具有良好的魯棒性,常用的有CAMSHIFT[10]算法、卡爾曼濾波[10-11]算法和粒子濾波[12]算法。CAMSHIFT算法只適用于線性系統(tǒng)中;卡爾曼濾波處理非高斯模型時(shí)效果不好,粒子濾波算法能夠處理任意的非線性函數(shù)和非高斯分布的系統(tǒng),且對(duì)復(fù)雜背景下的目標(biāo)跟蹤效果較好。因此本文選取基于顏色直方圖的粒子濾波算法[13]作為手勢(shì)檢測(cè)和跟蹤的算法。
顏色粒子濾波算法將圖像顏色特征分布的相似度作為粒子濾波要求解的后驗(yàn)概率,通過(guò)計(jì)算顏色直方圖的巴氏距離[14]得到粒子的權(quán)重,如下所示:
其中,d為巴氏距離,m為直方圖顏色分組的bin格數(shù),p(u)為參考顏色概率分布,q(u)為候選粒子所在區(qū)域顏色分布,d越小說(shuō)明p(u)和q(u)的相似度越高,故選擇巴氏距離作為每個(gè)粒子的權(quán)重。
圖1 膚色橢圓模型
YCrCb顏色空間受光線變化影響小,同時(shí)參考文獻(xiàn)[15]提出YCrCb空間中膚色的分布在Cr和Cb分量上可近似聚合為一個(gè)橢圓,如圖1所示。因此,本文采用基于YCrCb空間的顏色粒子濾波算法。
設(shè)膚色橢圓模型的集合為C,像素點(diǎn)(x,y)的像素值為P(x,y),對(duì)運(yùn)動(dòng)目標(biāo)檢測(cè)得到的前景圖像進(jìn)行如下處理:
接著對(duì)處理后的圖像計(jì)算顏色概率分布及巴氏距離,從而得到粒子濾波需要的粒子權(quán)重。
本文檢測(cè)和跟蹤的基本算法流程如圖2所示。
圖2 粒子濾波流程圖
在初始化時(shí),每個(gè)粒子的權(quán)重是相同的,在隨機(jī)的傳播后,粒子的權(quán)重和坐標(biāo)發(fā)生改變。本文采用隨機(jī)的傳播模型如下所示:
其中,X0為粒子的初始坐標(biāo),Xk-1為粒子上一幀的坐標(biāo),Xk為粒子當(dāng)前幀的坐標(biāo),Xk+1為粒子在下一幀圖像中的隨機(jī)坐標(biāo),A1、A2和B為傳播系數(shù),random為隨機(jī)數(shù),本文采用OpenCV2.4.9圖像處理庫(kù)的隨機(jī)數(shù)生成器RNG產(chǎn)生隨機(jī)數(shù)進(jìn)行計(jì)算。粒子狀態(tài)轉(zhuǎn)移的傳播模型如圖3所示。
圖3 粒子狀態(tài)轉(zhuǎn)移傳播模型
在實(shí)際應(yīng)用中,手勢(shì)的運(yùn)動(dòng)區(qū)域相比整個(gè)圖像來(lái)說(shuō)是較小的,本文做出如下改進(jìn):設(shè)定粒子傳播區(qū)域?yàn)橐允謩?shì)的先驗(yàn)中心坐標(biāo)為中心,運(yùn)動(dòng)前景圖像外接矩形1.5倍的矩形區(qū)域。該區(qū)域包含了運(yùn)動(dòng)手勢(shì)的全部區(qū)域,且有效地減小了粒子傳播的計(jì)算量,同時(shí)能夠在隨機(jī)傳播后得到較多權(quán)重較大的粒子,提高了計(jì)算的快速性。然后采用下式計(jì)算期望中心,即最優(yōu)粒子,并顯示該粒子。
其中,Xi(k)為第k幀的第i個(gè)粒子的橫坐標(biāo),Yi(k)為第k幀的第i個(gè)粒子的縱坐標(biāo);ωi(k)為第k幀的第i個(gè)粒子的權(quán)重;N為粒子總數(shù),xc(k)和yc(k)為最優(yōu)粒子的中心坐標(biāo),如圖3中虛線框?yàn)閱蝹€(gè)粒子,實(shí)矩形框?yàn)槠谕W印?/p>
第一節(jié)中介紹的運(yùn)動(dòng)檢測(cè)去除了背景中類似于膚色的部分,若采用本節(jié)中的檢測(cè)和跟蹤算法,可更精確地捕捉到運(yùn)動(dòng)手勢(shì)。
常用的手勢(shì)識(shí)別算法往往需要大量訓(xùn)練樣本,訓(xùn)練時(shí)間過(guò)長(zhǎng),實(shí)時(shí)性不好。因此,本文提出一種基于軌跡模板匹配的動(dòng)態(tài)手勢(shì)識(shí)別方法。該方法最初用于觸摸屏輸入識(shí)別,此處創(chuàng)新性地用于動(dòng)態(tài)手勢(shì)識(shí)別。記錄手勢(shì)移動(dòng)的期望坐標(biāo)點(diǎn)集,可得到手勢(shì)的運(yùn)動(dòng)軌跡,該點(diǎn)集記為待識(shí)別運(yùn)動(dòng)軌跡點(diǎn)集C,模板運(yùn)動(dòng)軌跡點(diǎn)集Ti為一系列事先定義好的運(yùn)動(dòng)軌跡,i為模板數(shù)目,軌跡識(shí)別即選出與C最接近的唯一Ti。為了達(dá)到上述目的,需要將原始點(diǎn)集(包括C和Ti)先進(jìn)行軌跡重構(gòu)、一次性旋轉(zhuǎn)、縮放和平移,如圖4所示。
圖4 軌跡處理流程
然后將C分別針對(duì)每一個(gè)Ti進(jìn)行角度調(diào)整,直到找到對(duì)準(zhǔn)該Ti的最佳角度,最后通過(guò)評(píng)估找到C的最優(yōu)匹配。具體算法步驟如下:
(1) 軌跡重構(gòu)
對(duì)運(yùn)動(dòng)軌跡進(jìn)行重構(gòu)是為了使同一點(diǎn)集內(nèi)的軌跡點(diǎn)間距離相等,不同點(diǎn)集內(nèi)的軌跡點(diǎn)數(shù)量相等。設(shè)軌跡的初始點(diǎn)集中,點(diǎn)個(gè)數(shù)為M,算法處理中,默認(rèn)重構(gòu)點(diǎn)個(gè)數(shù)為N。實(shí)驗(yàn)中發(fā)現(xiàn),選擇N=64能夠同時(shí)滿足精度和運(yùn)算時(shí)間的要求。計(jì)算M個(gè)軌跡點(diǎn)距離的總長(zhǎng)度,將該長(zhǎng)度均分為(N-1)段,沿著軌跡段矢量方向進(jìn)行線性插值N個(gè)重采樣軌跡點(diǎn),依此可計(jì)算Ti到C的距離。
(2) 一次性旋轉(zhuǎn)
使兩個(gè)軌跡對(duì)齊需要求解旋轉(zhuǎn)的最優(yōu)角度,本文求解最優(yōu)角度的思想分兩步進(jìn)行:首先利用基于方向角(indicative angle)的一次性旋轉(zhuǎn)法尋找近似最優(yōu)角度。然后再通過(guò)一系列微調(diào)找到最優(yōu)角度,故首先對(duì)C和Ti進(jìn)行基于方向角的一次性旋轉(zhuǎn)。定義從圖心到第一個(gè)軌跡點(diǎn)的矢量角為方向角,旋轉(zhuǎn)軌跡使方向角為0°。
(3) 縮放和平移
(4) 尋找最優(yōu)匹配
第二步中C與Ti找到了近似最優(yōu)角度,利用黃金分割搜索對(duì)C的方向角進(jìn)一步微調(diào),根據(jù)參考文獻(xiàn)和經(jīng)驗(yàn),使用界限為±45°、閾值為2°的黃金分割搜索尋找最優(yōu)角度。C與Ti最優(yōu)對(duì)齊后,需要評(píng)估兩者的匹配度,評(píng)估公式為:
由上式可知,與C路徑最短的模板Ti就是識(shí)別結(jié)果。
上述方法利用基本的幾何和三角函數(shù)完成手勢(shì)運(yùn)動(dòng)軌跡的定義和識(shí)別,支持手勢(shì)運(yùn)動(dòng)軌跡的旋轉(zhuǎn)、縮放和平移不變性,不需要特征選擇或訓(xùn)練樣本,能適應(yīng)彈性的輸入采樣率,成本低、準(zhǔn)確率高、運(yùn)算量小、實(shí)時(shí)性好。
本文采用Inteli5-6600K@ 3.5GHzCPU,8GBDDR4內(nèi)存的PC作為實(shí)驗(yàn)平臺(tái),在Windows10操作系統(tǒng)中,使用VisualStudio2012開(kāi)發(fā)工具,利用OpenCV2.4.9圖像處理庫(kù),進(jìn)行上述算法的實(shí)驗(yàn)。
4.1 運(yùn)動(dòng)檢測(cè)結(jié)果
運(yùn)動(dòng)檢測(cè)如圖5所示,通過(guò)混合高斯運(yùn)動(dòng)檢測(cè)和形態(tài)學(xué)濾波處理,可較好地檢測(cè)出運(yùn)動(dòng)目標(biāo)。
圖5 運(yùn)動(dòng)前景檢測(cè)
由實(shí)驗(yàn)結(jié)果可以看出,混合高斯模型可以較好地檢測(cè)到包含完整手勢(shì)的運(yùn)動(dòng)區(qū)域,滿足本文算法設(shè)計(jì)要求。
4.2 檢測(cè)和跟蹤實(shí)驗(yàn)結(jié)果與分析
如圖6所示,該算法可較準(zhǔn)確地檢測(cè)到運(yùn)動(dòng)手勢(shì),并進(jìn)行跟蹤。圖中方框?yàn)闄z測(cè)到的手勢(shì)區(qū)域,圓點(diǎn)為跟蹤位置。
圖6 手勢(shì)跟蹤結(jié)果
實(shí)驗(yàn)結(jié)果表明,采用本文改進(jìn)的粒子濾波器進(jìn)行手勢(shì)跟蹤,可以得到較為準(zhǔn)確的手勢(shì)位置。
4.3 手勢(shì)識(shí)別實(shí)驗(yàn)結(jié)果與分析
本文對(duì)以下6種自定義的手勢(shì)進(jìn)行識(shí)別實(shí)驗(yàn),平均處理時(shí)間為35 ms/幀,識(shí)別結(jié)果數(shù)據(jù)統(tǒng)計(jì)如表1所列。由統(tǒng)計(jì)結(jié)果可知,本文所提出的手勢(shì)識(shí)別算法可較準(zhǔn)確地對(duì)手勢(shì)進(jìn)行識(shí)別,同時(shí)滿足實(shí)時(shí)性需求。
表1 動(dòng)態(tài)手勢(shì)實(shí)驗(yàn)統(tǒng)計(jì)
[1] 易靖國(guó),程江華,庫(kù)錫樹(shù).視覺(jué)手勢(shì)識(shí)別綜述[J].計(jì)算機(jī)科學(xué),2016,43(S1):103-108.
[2] 張良國(guó),吳江琴,高文,等.基于Hausdorff距離的手勢(shì)識(shí)別[J].中國(guó)圖象圖形學(xué)報(bào),2002,7(11):43-49.
[3] 陳文.基于加速度傳感器的智能終端手勢(shì)識(shí)別關(guān)鍵技術(shù)研究[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2011.
[4] Tusor b Varkonyik-A-R.Circular fuzzy neural network based hand gesture and posture modeling[C]//Proceeding on Instrumentation and Measureement Technology Conference,Texas:IEEE,2010:815-820.
[5] 劉珠峰,周良,丁秋林.基于隱性馬爾可夫模型的手勢(shì)識(shí)別設(shè)計(jì)和優(yōu)化[J].計(jì)算機(jī)應(yīng)用研究,2011,28(6):2386-2388.
[6] 於正強(qiáng),潘赟,宦若虹.一種結(jié)合幀差法和混合高斯的運(yùn)動(dòng)檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用與軟件,2015,32(4):129-132,270.
[7] 許敬,張合,張祥金.基于幀間差分和光流法的紅外圖像運(yùn)動(dòng)檢測(cè)[J].計(jì)算機(jī)仿真,2012,29(6):256-260.
[8] 胥欣,江登表,李勃,等.混合高斯模型運(yùn)動(dòng)檢測(cè)算法優(yōu)化[J]. 計(jì)算機(jī)應(yīng)用研究,2013,30(7):2190-2194,2209.
[9] 王愛(ài)平,張功營(yíng),劉方.EM算法研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009,19(9):108-110.
[10] 孫凱,劉士榮.多目標(biāo)跟蹤的改進(jìn)Camshift卡爾曼濾波組合算法[J].信息與控制,2009,38(1):11-16.
[11] 劉靜,姜恒,石曉原.卡爾曼濾波在目標(biāo)跟蹤中的研究與應(yīng)用[J].信息技術(shù),2011,239(10):182-185.
[12] 周尚波,何革,柳玉炯.一種改進(jìn)的粒子濾波目標(biāo)跟蹤算法[J].計(jì)算機(jī)應(yīng)用研究,2010,27(7):363-365.
[13] 江超,艾矯燕.基于OpenCV的攝像頭動(dòng)態(tài)手勢(shì)軌跡識(shí)別及其應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2012,32(S1):134-139.
[14] Fazli s Pour-H-MBouzari-H.Particle filter based object tracking with sift and color feature[C]//Second International Conference on Machine Vision,Las Vegas:IEEE,2009:89-93.
[15] 高建坡,王煜堅(jiān),楊浩,等.一種基于KL變換的橢圓模型膚色檢測(cè)方法[J].電子與信息學(xué)報(bào),2007,29(7):219-223.
[16] Wobbrock J,Wilcson A,Yang Li.Gestures without libraries,toolkits or training: A $1 recognizer for user interface prototypes[C]//Proceedings of the ACM Symposium on User Interface Software and Technology,New York:ACM Press,2007:159-168.
彭露茜(碩士研究生),主要研究領(lǐng)域?yàn)榭刂乒こ獭?/p>
Real-time Dynamic Gesture Recognition Using Trajectory Template Matching Method
Peng Luxi1,Yao Jiafei2
(1.State Key Laboratory of Power Transmission Equipment&System Security and New Technology,Chongqing University, Chongqing 400044,China;2.Architectural Design Research Institute,Chongqing University)
The Gaussian mixture model is used to segment the motion foreground.A particle filter and a skin ellipse model are used to track the motion of the center of the gesture.Based on this,the dynamic gesture recognition is proposed using the track template matching method.This method can use the basic geometric and trigonometric functions to complete the recognition of the trajectory of the gesture,without selecting features or training samples.The experiment results show that the algorithm can achieve real-time dynamic gesture recognition.
trajectory template matching;dynamic gesture recognition;skin ellipse model;particle filter
TP391.4
A
?士然
2017-03-29)