• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于加鎖機制的靜態(tài)手勢識別方法

      2016-07-19 20:39:39王紅霞王坤
      計算機應(yīng)用 2016年7期
      關(guān)鍵詞:數(shù)據(jù)流手勢骨骼

      王紅霞 王坤

      摘要:基于RGBD(RGBDepth)的靜態(tài)手勢識別的速度高于其動態(tài)手勢識別,但是存在冗余手勢和重復(fù)手勢而導(dǎo)致識別準(zhǔn)確性不高的問題。針對該問題,提出了一種基于加鎖機制的靜態(tài)手勢識別方法來識別運動中的手勢。首先,將通過Kinect設(shè)備獲取RGB數(shù)據(jù)流和Depth數(shù)據(jù)流融合成人體骨骼數(shù)據(jù)流;然后,在靜態(tài)手勢方法中引入加鎖機制,并與之前建立好的骨骼點特征模型手勢庫進行比對計算;最后,設(shè)計一款“程序員進階之路”益智類網(wǎng)頁游戲進行應(yīng)用與實驗。實驗驗證在6種不同運動手勢情況下,該方法與純靜態(tài)手勢識別方法相比,平均識別準(zhǔn)確率提高了14.4%;與動態(tài)手勢識別相比,識別速度提高了14%為更好地說明優(yōu)勢,此處也改用相對值來說明,是否符合表達?請明確。英文也作了相應(yīng)修改。。實驗結(jié)果表明,提出的基于加鎖機制的靜態(tài)手勢識別方法,既保留了靜態(tài)識別的速率,實現(xiàn)了實時識別;又能很好地剔除冗余手勢和重復(fù)手勢,提高了識別正確性。

      關(guān)鍵詞:

      RGBD;Kinect;骨骼數(shù)據(jù);手勢識別;加鎖機制

      中圖分類號: TP391.413; TP18 文獻標(biāo)志碼:A

      0引言

      隨著深度攝像機技術(shù)的發(fā)展,實時同步獲取高質(zhì)量的彩色圖(RGB圖)和深度圖(Depth圖)成為現(xiàn)實,所以基于RGBD(RGBDepth)數(shù)據(jù)的應(yīng)用變得越來越流行。本文研究的基于RGBD融合的手勢識別方法是在Kinect的RGBD融合數(shù)據(jù)流的基礎(chǔ)上進行的。Kinect是微軟公司在2010年推出的一款應(yīng)用于Xbox 360的周邊設(shè)備。由于Kinect價格低廉并且能有效、方便地獲取高分辨率的深度圖像,所以迅速應(yīng)用在了手勢識別領(lǐng)域。瑞士Bern大學(xué)研究的Virtopsy課題,讓外科醫(yī)生使用Kinect并配合大尺寸監(jiān)視器,無需接觸任何醫(yī)療設(shè)備就可以自動實現(xiàn)調(diào)整成像的角度和區(qū)域,用單手或雙手對3D血管圖像進行平移、放大、旋轉(zhuǎn)、鎖定等操作[1]。新加坡南洋理工大學(xué)的Ren等[2]提出基于一種新的手形匹配算法——指尖移動距離(FingerEarth Movers Distance, FEMD)實現(xiàn)對靜態(tài)手勢的識別并應(yīng)用在數(shù)獨游戲中,通過玩家做出不同的手勢動作完成相應(yīng)的數(shù)字填寫。文獻[3]通過Kinect設(shè)計出一種非接觸式播放器系統(tǒng),將改進的連續(xù)自適應(yīng)MeanShift(Continuously Adaptive MeanShift, CAMSHIFT)算法對手心部位進行穩(wěn)定追蹤,使用隱馬爾可夫模型(Hidden Markov Model, HMM)算法對8種手勢命令進行識別,實現(xiàn)利用手勢軌跡對非接觸式播放器的控制[3]。文獻[4]利用Kinect的骨架跟蹤功能,使用最近鄰分類器和動態(tài)時間歸整(Dynamic Time Warping, DTW)算法,完成對波蘭手語的識別[4]。近幾年,國內(nèi)也進行了大量的手勢識別方面的研究,如中國科學(xué)院智能信息處理重點實驗室利用Kinect通過對中國手語的3D運動軌跡校準(zhǔn)并和單詞進行計算匹配,使聽障人士使用手語和計算機進行自然的互動[5-6];重慶郵電大學(xué)國家信息無障礙工程研發(fā)中心基于Kinect骨骼信息與四自由度機械臂結(jié)合,實現(xiàn)體感交互控制機械臂的轉(zhuǎn)動以及抓取物件[7];電子科技大學(xué)模式識別與機器智能實驗室基于Kinect研發(fā)的交互式投影顯示系統(tǒng),通過多個手指觸點以及手勢來操控普通玻璃,進而控制計算機或各種設(shè)備,可用于智能家居、虛擬試衣間、互動櫥窗[8];Wang等[9]提出一種基于運動學(xué)信息和人體3D骨骼數(shù)據(jù)將運動視頻快速地分割為原子動作的時間分割方法;Chen等[10]通過利用表面普通信息分割物體和獲得平滑的深度圖特征來提高虛擬視角圖像的品質(zhì);鄭立國等[11]通過對Kinect獲取的3D點云數(shù)據(jù)進行初步處理和精細分類,實現(xiàn)多個人體檢測以及運動人體檢測。

      國內(nèi)外關(guān)于手勢識別的研究與應(yīng)用都是基于兩大識別方法——靜態(tài)手勢識別方法和動態(tài)手勢識別方法展開的。本文通過對這兩種識別方法的對比分析,提出一種改進的手勢識別方法。該方法將加鎖機制引入到靜態(tài)手勢識別過程中,有效地改善了動態(tài)手勢識別方法中手勢識別實時性較差的問題,并且很好地剔除靜態(tài)手勢識別過程中的冗余手勢和重復(fù)手勢,提高識別正確率。

      1問題描述

      1.1傳統(tǒng)手勢識別方法的難點

      依據(jù)輸入裝置分類,手勢識別技術(shù)可以分為兩大類:基于“接觸式”的交互設(shè)備與基于“視覺”的交互設(shè)備。“接觸式”交互設(shè)備常見的有觸控屏幕、數(shù)據(jù)傳感手套以及隨身加速器等設(shè)備。數(shù)據(jù)傳感手套需要大量的計算與標(biāo)定,并且價格昂貴也穿戴不方便,比如手心容易出汗等,在人機交互的自然性上嚴(yán)重不足,所以沒有得到廣泛應(yīng)用?;谝曈X的交互設(shè)備能夠以非接觸的、自然的方式實現(xiàn)人機交互,普通計算機攝像頭就能作為輸入設(shè)備,但對外部環(huán)境的要求卻十分嚴(yán)格,強光或者弱光環(huán)境、復(fù)雜的識別背景,都會嚴(yán)重影響識別結(jié)果。在傳統(tǒng)的基于視覺的手勢識別系統(tǒng)中,手勢識別的難點主要體現(xiàn)在以下幾個方面。

      1)目標(biāo)分割。靜態(tài)手勢分割比較容易受到環(huán)境的影響,當(dāng)光線太強或太弱、識別背景較復(fù)雜、手和其他身體部位重疊時,很難分割出完整的手部圖像。動態(tài)手勢在分割過程中,起點和終點的檢測也是一個難點,動態(tài)手勢由于在時間上是連續(xù)性的,不能準(zhǔn)確地分割出動態(tài)手勢序列。

      2)算法效率。由于人機交互系統(tǒng)對實時性要求比較高,而分割算法常常具有提取特征個數(shù)過多、過于復(fù)雜、訓(xùn)練或識別時間太長的弊端,所以系統(tǒng)的實時性一般都不是很高,但是如果選擇較為簡單的分割算法、特征模型和分類器,識別率又不盡如人意。

      3)手勢識別。由于手是一個沒有固定形態(tài)的物體,在自然人機交互中,手勢是比較隨意和舒適的,沒有僵硬的模型或狀態(tài)。人手揮動幅度的大小、移動速度的快慢都會導(dǎo)致即使是同一個人打同一個手勢也會有不一樣,運動軌跡的千差萬別和手形的多樣性也給手勢識別增加了難度。另外,如何剔除無效的手勢也是一個需要考慮的問題。

      所以利用深度攝像頭能夠獲取Depth信息這一優(yōu)點,來克服普通計算機攝像頭由于極端光環(huán)境、復(fù)雜的識別背景導(dǎo)致識別結(jié)果嚴(yán)重失真的局限,是很有意義的。

      1.2基于RGBD的兩種手勢識別方法對比分析

      1.1節(jié)分析了基于RGBD數(shù)據(jù)流的手勢識別方法可以有效地突破傳統(tǒng)手勢識別方法的局限,在基于RGBD數(shù)據(jù)流進行手勢識別的過程中,手勢識別方法主要分為靜態(tài)手勢和動態(tài)手勢兩類。靜態(tài)手勢識別針對含有手勢意義的某一幀圖像進行識別,主要包括人手的形態(tài)變化,例如張開或握拳,或者手指的示意,可以利用指尖識別來判斷手勢狀態(tài),由于僅通過一幀圖像檢測,所以沒有時間序列上的變化,靜態(tài)手勢識別中常用模板匹配法、幾何特征分類法、支持向量機和人工神經(jīng)網(wǎng)絡(luò)等方法。如果識別一段在時間序列上連續(xù)自然的動態(tài)手勢,則必須綜合考慮時間序列上的變化,并且要對時間進行分割,一般需要在時間和空間上指定相應(yīng)的開始標(biāo)識和結(jié)束標(biāo)識。常用的動態(tài)手勢識別算法有隱馬爾可夫模型、動態(tài)時間規(guī)整和基于壓縮時間軸的方法。

      靜態(tài)手勢即指人靜止不動時的姿態(tài),動態(tài)手勢為連續(xù)的動作序列,兩者的對比分析如表1所示。

      2基于加鎖機制的靜態(tài)手勢識別方法

      基于加鎖機制的靜態(tài)手勢識別方法就是在靜態(tài)手勢識別過程中引入加鎖機制,能夠比較高效、準(zhǔn)確地從RGBD數(shù)據(jù)流中獲取到具體手勢指令,其中RGBD數(shù)據(jù)流需要借助Kinect硬件設(shè)備來獲取。所以本文在使用Kinect進行手勢識別的過程中,主要有Kinect設(shè)備的發(fā)現(xiàn)、RGBD數(shù)據(jù)流的獲取與融合、使用基于加鎖機制的靜態(tài)手勢識別方法識別手勢指令等步驟,如圖1所示。

      2.1Kinect設(shè)備的發(fā)現(xiàn)

      在基于Kinect設(shè)備進行手勢識別的過程中,最開始就需要用到KinectSensor對象,KinectSensor直接表示一個Kinect硬件設(shè)備。KinectSensor對象也就是需要獲取的各種數(shù)據(jù)流的封裝,包括RGB圖像數(shù)據(jù)流、Depth圖像數(shù)據(jù)流和Skeleton骨骼數(shù)據(jù)數(shù)據(jù)流。從KinectSensor對象獲取數(shù)據(jù)流最基本的方式是通過事件模型,監(jiān)聽該對象的一系列事件。KinectSeneor對象有一個靜態(tài)的屬性集合,該集合有一個索引器和一個狀態(tài)值,狀態(tài)值總共有9此處為9種,但表2中卻為8種,是否正確?請作者核實。種返回值,分別代表著Kinect的不同狀態(tài),如表2所示。集合中的索引器的作用就是用來獲取KinectSensor對象。

      2.2RGBD數(shù)據(jù)流的獲取與融合

      在Kinect的前方總共有3個鏡頭,分別是普通RGB彩色攝像頭、紅外線發(fā)射器和紅外線CMOS攝影機。其中RGB彩色攝影機主要用來采集彩色圖像,跟普通RGB攝像頭并沒有太多差別;CMOS攝影機和紅外線發(fā)射器一起構(gòu)成的3D結(jié)構(gòu)光深度感應(yīng)器,其作用是采集深度數(shù)據(jù),也就是場景中物體到攝像頭的距離。在使用Kinect設(shè)備進行手勢識別的過程中,與之相關(guān)的原始數(shù)據(jù)流有兩種,一種是RGB數(shù)據(jù)流,一種是Depth數(shù)據(jù)流,然后由這兩種數(shù)據(jù)流又可以融合成人體的骨骼數(shù)據(jù)流,在人體骨骼數(shù)據(jù)流的基礎(chǔ)上就能很方便地識別手勢。

      在RGB數(shù)據(jù)流和Depth數(shù)據(jù)流進行融合的過程中需要用到隨機森林算法。隨機森林是一種基于統(tǒng)計的機器學(xué)習(xí)理論,使用隨機的方式建立一個決策樹森林。在得到隨機森林之后,每當(dāng)輸入一個新的樣本到數(shù)據(jù)中后,首先讓森林中的每一棵決策樹分別進行判斷;然后看看這個樣本應(yīng)該屬于對于分類算法而言的哪一分類;最后看哪一分類被選擇得最多,就預(yù)測這個樣本為哪一類,如圖2所示。

      在Kinect平臺上使用的是由Shotton等[12]提出RGBD融合算法。該算法在實現(xiàn)過程中主要分為獲取樣本集、計算深度圖像特征值、根據(jù)特征值決定身體位置、確定骨架節(jié)點位置4個步驟。

      1)獲取樣本集。

      為了獲取足夠多的訓(xùn)練樣本,Shotton等[12]用Kinect深度傳感器從各種不同的實際生活場景獲取了50多萬幀含有不同姿勢的深度圖像,然后用“最遠鄰居”聚類算法刪除相似重復(fù)樣本,得到一個最終包含10萬幀深度圖像的訓(xùn)練樣本庫,這些樣本中任意兩個姿態(tài)的距離不小于5cm。

      2)計算深度圖像的特征值。

      Kinect使用式(1)來計算像素點x的特征值,以判斷該像素是否屬于身體的某一部位:

      其中:dI(x)表示像素點x在深度圖I中的深度值;θ=(u,v)表示兩個偏移量u和v,為了使特征值具有深度不變性,偏移量需要除以一個歸一化因子dI(x)。

      3)根據(jù)特征值確定身體位置。

      決策森林是一個非常有效的多類分類器,它由T棵決策樹組成。從每幅合成圖中隨機選擇2000個能均勻覆蓋全身各部位的像素點構(gòu)成樣本集,然后通過隨機決策森林算法進行訓(xùn)練,隨機決策森林訓(xùn)練完畢后,可以用來判斷某個像素點是否屬于身體的某一部位。在第T棵決策樹中,葉子節(jié)點表示像素x屬于身體部位標(biāo)簽c的概率分布Pt(c|I,x)。最后通過式(2)將每棵樹的概率分布相加,就得到最終分類結(jié)果:

      P(c|I,x)=1T∑Tt=1Pt(c|I,x)(2)

      4)確定骨架節(jié)點位置。

      隨機決策森林只能將深度圖像中的所有節(jié)點進行分類,還不能得到骨架節(jié)點的三維坐標(biāo)信息。然后根據(jù)帶加權(quán)高斯核的均值漂移算法,就能得到最終的骨架節(jié)點的具體三維坐標(biāo)信息。最終從單幅深度圖像中一共可以預(yù)測20個人體骨架節(jié)點的三維坐標(biāo)位置。這20個骨架節(jié)點如圖3所示。

      2.3骨骼點特征模型手勢庫

      在進行手勢識別之前,本文先經(jīng)過大量的訓(xùn)練和測試,根據(jù)骨骼點之間的相對位置建立好了骨骼點特征模型手勢庫。在骨骼點特征模型手勢庫中,手臂部位的關(guān)節(jié)的不同相對位置可以對應(yīng)不同的手勢指令,比如向左揮手和向右揮手,并且通過相應(yīng)的閾值控制來提高手勢識別的魯棒性,不同手勢指令對應(yīng)的骨骼點的相對位置圖4所示。

      2.4加鎖機制控制原理

      當(dāng)獲取到骨骼數(shù)據(jù)流時,就能夠根據(jù)骨骼數(shù)據(jù)流中骨骼點之間的相對位置來與骨骼點特征模型手勢庫進行匹配來確定該時刻操作者的手勢含義。這種思路可以很好地解決動態(tài)手勢識別過程中實時性不高的問題,但是同時又會出現(xiàn)冗余手勢重復(fù)識別的問題。比如說當(dāng)操作者向右揮手并一直停留在右邊時,根據(jù)剛才的設(shè)計思路,程序會多次響應(yīng)向右的操作,但是很明顯操作者的意圖是只需要一次向右操作;本系統(tǒng)在具體的程序設(shè)計過程中通過操作系統(tǒng)中加鎖的機制來解決由于提高了手勢識別的實時性帶來的這一缺陷。具體做法就是在代碼中設(shè)置upActive、downActive、leftActive、rightActive、enterActive五把布爾型的全局變量鎖,能夠很有效地控制手勢操作的正常進行,即在一個指令還沒結(jié)束時,另一指令(包括與上次相同的指令)是不可能發(fā)生的,具體算法思路如算法1。

      算法1加鎖模塊核心控制邏輯。

      程序前

      Input:skeletons。

      Output:上、下、左、右、結(jié)束控制指令。

      Skeleton=GetPrimarySkeleton(Skeleton[] skeletons)

      if(rightHand.Position.Z

      primaryHand=rigthtHand;

      else primaryHand=leftHand;

      bool upActive=false;

      bool downActive=false;…

      private void ProcessSlideGesture(Joint shoulderCenter, Joint primaryHand)

      { double cross=primaryHand.X-shoulderCenter.X;

      double vertical=shoulderCenter.Y-primaryHand.Y;

      if (crossDistance>0.15)

      if(!upActive && !downActive && !leftActive && !rightActive)

      { rightActive=true;

      System.Windows.Forms.SendKeys.SendWait("{Right}");

      }

      else rightActive=false;

      if (crossDistance<-0.15)

      if (!upActive && !downActive && !leftActive&&!rightActive)

      { leftActive=true;

      System.Windows.Forms.SendKeys.SendWait("{Left}");

      }

      else leftActive=false;…

      }

      程序后

      2.5基于加鎖機制的靜態(tài)手勢識別方法流程

      具體的手勢識別流程主要包括,獲取RGBD融合數(shù)據(jù)流、完整骨骼檢查、識別主控者骨骼、識別主控手、識別當(dāng)前幀手勢指令、識別控制鎖是否激活、發(fā)送指令幾個步驟,具體流程如圖5所示。

      通過前三個步驟,首先獲取到RGBD融合后的骨骼數(shù)據(jù)流,然后判斷數(shù)據(jù)流中是否有完整的骨骼數(shù)據(jù)流:若沒有,則重新獲取RGBD融合后的數(shù)據(jù)流;若有則首先通過Depth信息從數(shù)據(jù)流中識別出主控者的骨骼數(shù)據(jù)流,然后再判斷主控者的主控手。由于主控者在控制過程隨時都可能改變主控手,所以這一過程是必須的,而不能在初始時就假定哪只手為主控手。主控手確定后就能夠識別當(dāng)前幀的手勢指令了,識別到手勢指令后,還需要判斷是控制鎖是否激活,若控制鎖被激活則表明上一手勢指令已結(jié)束,即能夠發(fā)出下一指令;若控制鎖沒有被激活則表明上一指令還在進行中,還沒有讓出控制鎖,不能發(fā)出當(dāng)前指令操作。

      3應(yīng)用與實驗

      通過對本文提出的基于加鎖機制的靜態(tài)手勢識別方法進行具體實現(xiàn)與應(yīng)用,在實驗中設(shè)計并實現(xiàn)了一個具體的手勢識別系統(tǒng),主體上分為手勢識別模塊和游戲模塊兩個部分。手勢識別模塊是對基于加鎖機制的靜態(tài)手勢識別方法的實現(xiàn),用來識別用戶手勢,并發(fā)出相應(yīng)操作指令。游戲模塊通過接收手勢識別模塊發(fā)出的指令進行游戲,起到在真實應(yīng)用場景中測試手勢識別模塊的準(zhǔn)確率和流暢性的作用。接下來將闡述游戲的功能、手勢識別對比實驗。

      3.1游戲整體介紹

      “程序員進階之路”是一款益智類網(wǎng)頁游戲,用來接收底層手勢識別模塊的指令并進行游戲,從而測試底層模塊在具體應(yīng)用場景中的實用性。在游戲主界面中,主體顯示4×4的16個小方塊,每個小方塊上顯示有程序員的職位名稱,代表小方塊的分?jǐn)?shù)值,如圖6所示,程序員的職位越高,方塊的分?jǐn)?shù)值越大,并且不同的職位方塊使用深淺不同的顏色表示,操作者通過鍵盤上、下、左、右鍵來控制方塊的整體移動,通過鍵盤的enter鍵來控制游戲的重新開始,當(dāng)兩個相同的等級值的方塊發(fā)生碰撞時表示程序員開始進階,將提升方塊的等級值為更高一等級。

      手勢識別系統(tǒng)整體架構(gòu)如圖7所示。游戲底層是手勢識別模塊,首先通過Kinect攝像機的RGB攝像頭和紅外傳感器獲取到彩色圖像數(shù)據(jù)流和深度信息數(shù)據(jù)流;然后由這兩種數(shù)據(jù)流融合成Skeleton骨骼數(shù)據(jù)流;接著通過對骨骼數(shù)據(jù)流的分析、預(yù)處理、顯示等步驟,并且使用基于加鎖機制的手勢識別方法達到手勢識別目的,在這個過程中需要與初始建立好的骨骼點特征模型手勢庫進行比對計算,得到手勢識別指令。

      3.2手勢識別對比實驗

      3.2.1手勢的定義

      為了更好地測試基于靜態(tài)加鎖機制的手勢識別方法在實際應(yīng)用中的識別效果,在實驗中,總共設(shè)計了6種手勢,分別是“左”“右”“上”“下”“確認(rèn)”“取消”;同時這6種基本手勢也能很好地控制游戲的進行,每種手勢的具體參數(shù)與含義如表3所示。表中相對位置參數(shù)是指Hand關(guān)節(jié)與shoulder關(guān)節(jié)在空間三維坐標(biāo)中的相對位置。具體地,“左”“右”手勢指X坐標(biāo)抽上的相對位置,“上”“下”手勢指Y坐標(biāo)軸上的相對位置,“確認(rèn)”“取消”手勢指Z坐標(biāo)軸上的相對位置;閾值的設(shè)置是為了提高算法識別的容錯性,具體參數(shù)是依據(jù)實驗參與者在實際游戲過程中的自然手勢的關(guān)節(jié)相對位置得到的。

      3.2.2手勢的識別

      手勢識別的流程主要分為骨骼點特征模型手勢庫的設(shè)計與建立、Kinect設(shè)備的發(fā)現(xiàn)及數(shù)據(jù)流的獲取與顯示、主控人與主控手的確定、手勢操作識別4個過程。其流程描述如下。

      Input:Skeleton骨骼數(shù)據(jù)流。

      Output:手勢識別指令。

      1)骨骼特征模型手勢庫的設(shè)計與建立。

      2)Kinect設(shè)備的發(fā)現(xiàn)打開與數(shù)據(jù)流的獲取顯示。

      3)主控人與主控手的確定。

      4)基于加鎖機制進行靜態(tài)手勢識別。

      手勢識別模塊界面的設(shè)計與實現(xiàn)如下。

      1)原始數(shù)據(jù)流的獲取。

      從Kinect中獲取的初始深度數(shù)據(jù)流是原始的十六進制數(shù)據(jù)流,可以直接將其通過控制臺輸出,就能看到其具體表現(xiàn)形式。在十六進制數(shù)據(jù)流中,每一個深度圖像像素點都是一個三維坐標(biāo)(x,y,z),表示其在三維空間中的位置。在獲取骨骼數(shù)據(jù)流時,從Kinect得到的是多個由20個三維坐標(biāo)組成的數(shù)據(jù),每一個三維坐標(biāo)均表示一個骨骼點在三維空間中的位置,并且在骨骼點的數(shù)據(jù)結(jié)構(gòu)中還有一個變量來表示骨骼點具體表示的是哪一個骨骼,具體的十六進制數(shù)據(jù)流如圖8所示。

      2)實時骨架的繪制。

      實時骨架的顯示流程首先是由骨骼數(shù)據(jù)獲取到骨骼點的三維坐標(biāo)信息并將其轉(zhuǎn)化為界面中對應(yīng)的二維坐標(biāo),然后根據(jù)骨骼點的二維坐標(biāo)在圖形界面中將骨骼點用實心圓繪制出來,接著根據(jù)骨骼點對應(yīng)的人體具體物理關(guān)節(jié)在圖形界面中連接實心圓用以表示骨架,并且若骨骼點不是實際獲取而是推測出來的,則用不用顏色表示用以區(qū)別,相應(yīng)骨架用虛線連接。這樣當(dāng)所有骨骼點和骨架繪制完畢后,一幅栩栩如生的實時人體骨架圖就會展現(xiàn)在主界面上,如圖9所示。

      3.2.3識別準(zhǔn)確率對比

      分別使用靜態(tài)手勢識別方法實現(xiàn)的程序和基于加鎖機制的靜態(tài)手勢識別方法實現(xiàn)的程序,進行“程序員進階之路”游戲?qū)嶒灒粚嶒炄艘宰约鹤钍孢m的自然手勢進行游戲,并統(tǒng)計游戲過程中各種手勢出現(xiàn)的次數(shù)以及不同方法正確識別的手勢次數(shù),由此計算出不同方法的識別準(zhǔn)確率,具體如表4所示。

      從表4中的數(shù)據(jù)可以看出,對于單個手勢的準(zhǔn)確率和整體的準(zhǔn)確率,本文提出的方法在手勢識別準(zhǔn)確率上都較靜態(tài)手勢識別方法有所提高,這是由于靜態(tài)手勢識別方法沒有對關(guān)節(jié)移動過程中的時間序列進行分析,從而不能準(zhǔn)確地判斷一個手勢開始時刻和結(jié)束時刻,導(dǎo)致識別準(zhǔn)確率不高,而本文方法由于加鎖機制的引入,很好地避免了這一漏洞,使準(zhǔn)確率得到了大幅的提升。

      3.2.4識別速度對比

      分別使用動態(tài)手勢識別方法實現(xiàn)的程序和基于加鎖機制的靜態(tài)手勢識別方法實現(xiàn)的程序,進行“程序員進階之路”游戲?qū)嶒?,同一實驗人以自己最舒適的自然手勢進行游戲,規(guī)定游戲時間為2min,統(tǒng)計在這2min內(nèi)程序識別的手勢次數(shù),從而對比兩種方法的手勢識別速度。一次手勢識別的完整過程為實驗者從開始手勢動做到游戲界面執(zhí)行完此手勢效果為止,并且實驗者在2min內(nèi)連續(xù)發(fā)出手勢指令進行游戲,所以表中的識別速度是指兩種方法在此具體游戲環(huán)境中的識別速度,其中還包含有游戲界面的響應(yīng)時間,具體數(shù)據(jù)如表5所示。

      從實驗結(jié)果可以看出,在識別速度上,本文方法較動態(tài)手勢識別方法有所提高,平均每次識別所花的時間減少了1/4s0.25s,速度提高14%。這主要由于動態(tài)手勢識別方法在識別每一獨立手勢的時候都必須先分析手勢的時間序列,從而得到手勢的開始時刻和結(jié)束時刻,這一計算過程需要耗費一定的時間;而基于加鎖機制的靜態(tài)手勢識別方法由于加鎖機制的引入,不需要計算開始時刻和結(jié)束時刻,從而提高了識別速度。

      4結(jié)語

      本文提出的基于加鎖機制的靜態(tài)手勢識別方法有效地整合了靜態(tài)手勢識別和動態(tài)手勢識別的優(yōu)勢。在方法中,首先獲取到RGBD融合后的骨骼數(shù)據(jù)流;然后通過Depth信息從數(shù)據(jù)流中識別出主控者的骨骼數(shù)據(jù)流;接著再判斷主控者的主控手,主控手確定后就能夠識別當(dāng)前幀的手勢指令了。識別到手勢指令后,還需要判斷是控制鎖是否激活,若控制鎖被激活則表明上一手勢指令已結(jié)束,即能夠發(fā)出下一指令,若控制鎖沒有被激活則表明上一指令還在進行中,還沒有讓出控制鎖,不能發(fā)出當(dāng)前指令操作。最后將提出的手勢識別方法具體應(yīng)用到實際的手勢識別系統(tǒng)中,使用HTML5和JQuery技術(shù)設(shè)計了一款“程序員進階之路”益智類網(wǎng)頁游戲,并部署在GitHub的個人主頁上(網(wǎng)址:http://180.76.137.57:8080/aroad/index.html),在RGBD融合后的數(shù)據(jù)流上使用本文識別方法,來識別游戲者的手勢指令,可以很好地實現(xiàn)無需鼠標(biāo)和鍵盤僅通過手勢就能實時準(zhǔn)確地進行游戲的目的。

      在實際系統(tǒng)中進行了兩個對比實驗:一個是比較本文方法與靜態(tài)手勢識別方法的識別準(zhǔn)確率,由實驗數(shù)據(jù)可以看到,識別準(zhǔn)確率提高了14.4%;另一個是比較本文方法與動態(tài)手勢識別方法的識別速度,實驗數(shù)據(jù)顯示每次手勢的平均本文方法識別速度提高了1/4s14%。實驗結(jié)果表明,本文提出的基于加鎖機制的靜態(tài)手勢識別方法,很好地解決了靜態(tài)手勢識別中存在的冗余手勢和重復(fù)手勢問題,提高了識別正確性;同時又保留了靜態(tài)識別的速率速度快的優(yōu)勢,達到了實時識別的目的。

      參考文獻:

      [1]

      CHOI W, PANTOFARU C, SAVARESE S. A general framework for tracking multiple people from a moving camera [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(7): 1577-1591.

      [2]

      REN Z, YUAN J, MENG J, et al. Robust hand gesture recognition based on fingerearth movers distance with a commodity depth camera [C]// MM11: Proceedings of the 19th ACM International Conference on Multimedia. New York: ACM, 2011: 1093-1096.

      [3]

      YANG C, JANG Y, BEHETC J. Gesture recognition using depthbased hand tracking for contactless controller application [C]// ICCE 2012: Proceedings of the 2012 IEEE International Conference on Consumer Electronics. Piscataway, NJ: IEEE, 2012: 297-298.

      [4]

      OSZUST M, WYSOCKI M. Polish sign language words recognition with Kinect [C]// HSI 2013: Proceedings of the 2013 6th International Conference on Human System Interactions. Washington, DC: IEEE Computer Society, 2013: 219-226.

      [5]

      CHAI X, LI G, LIN Y, et al. Sign language recognition and translation with Kinect [C]// FG 2013: Proceedings of the 10th IEEE International Conference on Automatic Face and Gesture Recognition. Washington, DC: IEEE Computer Society, 2013: 22-26.

      [6]

      CHAI X, LI G, CHEN X, et al. A tool to support communication between deaf and hearing persons with the Kinect [C]// ASSETS 2013: Proceedings of the 15th International ACM SIGACCESS Conference on Computers and Accessibility Proceedings. New York: ACM, 2013: 21-23.

      [7]

      林海波,梅為林,張毅,等.基于Kinect骨骼信息的機械臂體感交互系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機應(yīng)用與軟件,2013,30(2):157-160.(LIN H B, MEI W L, ZHANG Y, et al. Design and implementation of robot arm somatosensory interaction system based on Kinect skeletal information [J]. Computer Applications and Software, 2013, 30(2): 157-160.)

      [8]

      ZHAO Y, LIU Z, CHENG H. RGBdepth feature for 3D human activity recognition [J]. China Communication, 2013, 10(7): 93-103.

      [9]

      WANG Y, SHI Y. Human activities segmentation and location of key frames based on 3D skeleton [C]// CCC 2014: Proceedings of the 33rd Chinese Control Conference. Washington, DC: IEEE Computer Society, 2014: 4786-4790.

      [10]

      CHEN H, LIU T, GE M, et al. A depth optimization method for 2Dto3D conversion based on RGBD images [C]// IEEE ICNIDC 2014: Proceedings of the 2014 4th IEEE International Conference on Network Infrastructure and Digital Content. Piscataway, NJ: IEEE, 2014: 223-227.

      [11]

      鄭立國,劉楊,羅江林,等.基于RGBD數(shù)據(jù)的實時人體檢測算法[J].吉林大學(xué)學(xué)報(信息科學(xué)版),2015,33(2):214-218.(ZHENG L G, LIU Y, LUO J L, et al. Implementation of realtime human body detection based on RGBD data [J]. Journal of Jilin University (Information Science Edition), 2015, 33(2): 214-218.)

      [12]

      SHOTTON J, FITZGIBBON A, COOK M, et al. Realtime human pose recognition in parts from single depth images [C]// CVPR 2011: Proceedings of the 2011 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2011: 1297-1304.

      猜你喜歡
      數(shù)據(jù)流手勢骨骼
      做家務(wù)的女性骨骼更強壯
      中老年保健(2021年5期)2021-12-02 15:48:21
      三減三健全民行動——健康骨骼
      中老年保健(2021年5期)2021-08-24 07:06:28
      汽車維修數(shù)據(jù)流基礎(chǔ)(下)
      挑戰(zhàn)!神秘手勢
      V字手勢的由來
      一種提高TCP與UDP數(shù)據(jù)流公平性的擁塞控制機制
      骨骼和肌肉
      小布老虎(2017年1期)2017-07-18 10:57:27
      勝利的手勢
      基于數(shù)據(jù)流聚類的多目標(biāo)跟蹤算法
      北醫(yī)三院 數(shù)據(jù)流疏通就診量
      浮山县| 沂源县| 泽普县| 崇文区| 江津市| 安龙县| 永登县| 福贡县| 府谷县| 运城市| 武穴市| 宝坻区| 临清市| 大冶市| 玉环县| 荣昌县| 萨迦县| 巩义市| 藁城市| 思茅市| 溧水县| 当阳市| 饶平县| 长宁县| 庄河市| 泸西县| 绿春县| 海阳市| 大余县| 甘孜县| 佛山市| 于都县| 望谟县| 修武县| 天祝| 新宾| 大姚县| 西盟| 合川市| 神木县| 彭州市|