一種基于手部運(yùn)動幀數(shù)據(jù)的手勢識別方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明屬于計(jì)算機(jī)視覺和模式識別領(lǐng)域,特別涉及一種基于手部運(yùn)動幀數(shù)據(jù)的手勢識別方法?!?br>背景技術(shù):
】[0002]根據(jù)手勢數(shù)據(jù)的輸入方式不同,手勢識別技術(shù)主要可以分為兩類:基于數(shù)據(jù)手套的手勢識別和基于計(jì)算機(jī)視覺的手勢識別?;跀?shù)據(jù)手套的手勢識別,主要優(yōu)點(diǎn)是輸入數(shù)據(jù)量小,能夠?qū)崟r地獲得手在空間的三維信息和手指的運(yùn)動信息,但是這種輸入方式需要用戶穿戴復(fù)雜的數(shù)據(jù)手套和位置跟蹤器,給操作者帶來很大不便,而且輸入設(shè)備昂貴,很難在市場上進(jìn)行推廣?;谟?jì)算機(jī)視覺的手勢識別,即利用攝象機(jī)輸入手勢,其優(yōu)點(diǎn)是不干擾用戶,成本較低,但容易受光線等外界環(huán)境影響,對手部細(xì)節(jié)動作的實(shí)時重建較為困難。[0003]在現(xiàn)有的體感設(shè)備中,LeapMotion通過紅外LED和攝像頭以不同于其他運(yùn)動控制技術(shù)的方式來完成對手指手勢的追蹤的捕獲,LeapMotion通過綁定視野范圍內(nèi)的手、手指或者工具來提供實(shí)時數(shù)據(jù),這些數(shù)據(jù)通過集合或者幀數(shù)據(jù)提供,每一幀都包含了一系列的基本綁定數(shù)據(jù),比如手、手指或者工具的數(shù)據(jù)。因此,LeapMotion較為適合基于計(jì)算機(jī)視覺的手勢識別的研究。[0004]基于計(jì)算機(jī)視覺的手勢識別技術(shù)主要包括一下幾種:1)模板匹配:基于模板匹配的手勢識別方法是一種較為簡單的手勢識別技術(shù),將輸入手勢的特征點(diǎn)與各標(biāo)準(zhǔn)手勢的特征點(diǎn)進(jìn)行匹配,通過計(jì)算兩者之間的相似度來實(shí)現(xiàn)識別,識別正確率較低;2)幾何特征:基于幾何特征的手勢識別方法是利用手勢的邊緣特征和手勢區(qū)域特征作為識別特征;3)隱馬爾可夫模型:隱馬爾科夫模型聯(lián)合了馬爾科夫鏈的時序演化模型和貝葉斯網(wǎng)絡(luò)的概率模型能夠應(yīng)用于連續(xù)的語音識別、手寫體識別等領(lǐng)域,但由于模型要求樣本空間盡可能大,模型構(gòu)建比較復(fù)雜,同時HMM模型假設(shè)的局部觀察值獨(dú)立性特點(diǎn)與手勢動作序列的真實(shí)結(jié)構(gòu)出現(xiàn)不符?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明的目的是提供一種基于手部運(yùn)動幀數(shù)據(jù)的手勢識別方法,可以提高手勢識別準(zhǔn)確率。本發(fā)明的技術(shù)方案如下:[0006]-種基于手部運(yùn)動幀數(shù)據(jù)的手勢識別方法,包括以下步驟:[0007](1)采集LeapMotion體感傳感器輸出的不同手勢的手部運(yùn)動幀數(shù)據(jù)序列作為初始手部運(yùn)動幀數(shù)據(jù)序列;[0008](2)對初始手部運(yùn)動幀數(shù)據(jù)序列進(jìn)行幀數(shù)據(jù)預(yù)處理后構(gòu)成手勢數(shù)據(jù)集,并將手勢數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集;[0009](3)使用步驟(2)中的訓(xùn)練數(shù)據(jù)集按單手或者雙手運(yùn)動手勢分為單手手勢訓(xùn)練數(shù)據(jù)集和雙手手勢數(shù)據(jù)訓(xùn)練集;[0010](4)分別根據(jù)單手手勢訓(xùn)練數(shù)據(jù)集和雙手手勢訓(xùn)練數(shù)據(jù)集建立兩個相應(yīng)的隱條件神經(jīng)場HCNF模型;[0011](5)取出測試數(shù)據(jù)集中手勢運(yùn)動幀數(shù)據(jù)序列作為觀察序列,通過觀察序列的長度可將觀察序列判斷為單手或是雙手運(yùn)動手勢,若為單手手勢,則輸入單手手勢動作HCNF模型;若為雙手手勢,則輸入雙手手勢動作HCNF模型,輸入各自模型后,采用置信度擴(kuò)散算法計(jì)算出類別標(biāo)簽/,即為輸入觀察序列X的預(yù)測標(biāo)簽,即完成手部動作幀數(shù)據(jù)的手勢識別;[0012](6)將判斷完成后的觀察序列,輸入對應(yīng)的HCNF模型中,即若為單手手勢數(shù)據(jù)序列則輸入到單手手勢動作HCNF模型中,否則輸入到雙手手勢動作HCNF模型中,最終得到輸入手部運(yùn)動幀數(shù)據(jù)序列的運(yùn)動手勢類型。[0013]所述步驟(4)的方法可為:[0014]1)建立隱條件神經(jīng)場(HCNF)的條件概率模型;[0015]2)根據(jù)單手手勢運(yùn)動訓(xùn)練數(shù)據(jù)集,不斷調(diào)整窗長度ω和隱狀態(tài)個數(shù)n,并用梯度下降算法計(jì)算得到隱條件神經(jīng)場(HCNF)模型的最優(yōu)參數(shù)Θ%以建立單手手勢的HCRF模型;按照同樣的方法建立雙手手勢的HCRF模型。[0016]本方法使用隱條件神經(jīng)場(HCNF)對手部運(yùn)動數(shù)據(jù)進(jìn)行自動識別,提高了手勢識別的準(zhǔn)確性?!靖綀D說明】[0017]圖1為一種基于手部運(yùn)動幀數(shù)據(jù)的手勢識別方法的流程圖?!揪唧w實(shí)施方式】[0018]在文獻(xiàn)[1]中,Yasuhisa等人提出了隱條件神經(jīng)場(HCNF),該模型是將門函數(shù)引入到隱條件隨機(jī)場(HCRF)中得到的,不僅能夠考慮特征之間的非線性,而且具有隱條件隨機(jī)場(HCRF)的優(yōu)點(diǎn)。該文將此種模型用于語音識別。本發(fā)明的手勢識別方法,提取特征需要考慮特征之間的非線性,借鑒文獻(xiàn)1,將Yasuhisa等人提出的隱條件神經(jīng)場(HCNF)引入手勢識別,提出基于隱條件神經(jīng)場(HCNF)的手勢識別方法,隱條件神經(jīng)場(HCNF)是在條件神經(jīng)場(CNF)的基礎(chǔ)上提出的,提高了手勢識別的準(zhǔn)確性。[0019]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述:[0020](1)不同手勢運(yùn)動幀數(shù)據(jù)序列的采集;[0021]通過HTML、CSS、JavaScript編寫web應(yīng)用對LeapMotion體感傳感器輸出的不同手勢動作幀數(shù)據(jù)序列進(jìn)行存儲,構(gòu)成初始手勢動作幀數(shù)據(jù)序列。[0022](2)對初始手勢幀數(shù)據(jù)序列進(jìn)行刪減無關(guān)數(shù)據(jù)的預(yù)處理;[0023]LeapMotion手勢每幀數(shù)據(jù)含有四個對象,分別為id,hands,pointables,interactionBox。其中的一些數(shù)據(jù)與手勢識別沒有關(guān)聯(lián),可以將其刪除,如id對象,interactionBox對象。[0024]id對象表示每一幀數(shù)據(jù)編號,每一幀數(shù)據(jù)只有唯一一個的id號,且輸出的手勢幀數(shù)據(jù)的id號是遞增的;interactionBox對象表示在LeapMotion視野范圍內(nèi)的一個完整長方體,稱為互動框,互動框是一個軸對齊的矩形棱柱,對于不同手勢,互動框的大小和位置是不變的。因此,id與interactionBox對象中的數(shù)據(jù)對于手勢識別并沒有作用,可以將這兩類數(shù)據(jù)刪除。[0025]完成預(yù)處理后的手勢幀數(shù)據(jù)序列即為輸入觀察序列X。[0026](3)將處理完成后的手勢幀數(shù)據(jù)序列構(gòu)成手勢數(shù)據(jù)庫;[0027]將手勢數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)庫和測試數(shù)據(jù)庫,訓(xùn)練數(shù)據(jù)集D由觀察序列-類別標(biāo)簽數(shù)據(jù)對{(XJi)}組成,即D={(XdYJ},其中Y1=Y,i=1,2,…,N,X1={Xlil,Xl,2,…,XhJ,N為訓(xùn)練集中的樣本個數(shù),m為觀察值序列的幀數(shù)。[0028]訓(xùn)練數(shù)據(jù)集用于訓(xùn)練與建立隱條件神經(jīng)場(HCNF)模型,測試數(shù)據(jù)集用于測試手勢識別的正確率。[0029](4)構(gòu)建單手手勢和雙手手勢的訓(xùn)練數(shù)據(jù)集;[0030]例如單手手勢動作,選取所有單手手勢動作幀數(shù)據(jù)序列構(gòu)建單手手勢動作的訓(xùn)練數(shù)據(jù)集。第i個手勢幀數(shù)據(jù)序列I含有wi個手勢幀數(shù)據(jù),得到wif手勢幀數(shù)據(jù)的觀察序列集合,再將第i個手勢幀數(shù)據(jù)序列的手勢類別標(biāo)簽標(biāo)注為YWil,對所有W個單手手勢幀數(shù)據(jù)序列進(jìn)行上述操作,得到W個單手手勢幀數(shù)據(jù)序列的觀察值序列集合{XWil,Xw,2,…,Xw,w}與類別標(biāo)簽集合{YWil,Yw,2,…,Yw,w},其中,Yw為所有可能畫圈手勢動作的類別標(biāo)簽,觀察序列集合和類別標(biāo)簽集合共同構(gòu)成畫圈手勢動作的訓(xùn)練數(shù)據(jù)集{(XW,YW)},w=當(dāng)前第1頁1 2