劉 權 陳一民* 高明柯 李啟明 黃 晨
1(上海大學計算機工程與科學學院 上海 200444)2(上海海事大學信息工程學院 上海 201306)
基于Leap Motion傳感器的自適應動態手勢識別
劉 權1陳一民1*高明柯1李啟明2黃 晨1
1(上海大學計算機工程與科學學院 上海 200444)2(上海海事大學信息工程學院 上海 201306)
基于視覺的手勢識別是實現新型人機交互的一項關鍵技術,針對手勢普適性與識別率問題,在改進隱馬爾可夫模型學習機制的基礎上提出一種新的基于Leap Motion傳感器的自適應動態手勢識別方法。該方法首先采用幾何特征法識別靜態手姿以確定動態手勢起始點與結束點,然后基于角度對動態手勢軌跡進行特征提取與分類,并引入修正的重估方法計算隱馬爾可夫模型參數,最后在對非定義手勢識別的基礎上自動學習更新隱馬爾可夫模型,以提高動態手勢識別率,并最終實現對26個小寫字母的動態手勢識別。實驗結果表明,所提出的動態手勢識別方法具有良好的自適應性與精確性。
隱馬爾可夫模型 Leap Motion 動態手勢識別 特征提取
手勢識別技術[1]是近年來一個研究熱點,其中手勢有靜態手勢[2]和動態手勢之分,靜態手勢識別主要是對手姿勢和形狀進行識別,而動態手勢識別主要是對手勢運動軌跡或連續的手型變化進行識別;根據手勢輸入方式又可分為基于數據手套和基于視覺的手勢識別,基于數據手套[3]的手勢識別由于要穿戴相關設備而會給用戶帶來操作不便,相對來說基于視覺的手勢識別[4]具有更多研究與應用價值,且在適應性與正確率等方面還有待不斷改善與提高。黃國范等人[5]提出了基于歷史的動態手勢識別方法,使用皮膚歷史圖像對手勢進行建模,再利用k-means方法對手勢進行分類與識別,但由于建模中使用了皮膚歷史圖像,因此手勢有失自然性;Maung[6]提出了采用神經網絡的方法對動態手勢進行識別,總體容錯能力強且識別效果較好,但除手勢識別速率較低外,不同人操作時手勢識別效果差異較大;陶麗君等人[7]提出了采用Kinect深度信息進行手勢識別,對手部圖像通過深度信息進行分割并去噪以定位手位置最后進行識別,但當手勢種類較多時因處理工作量大準確率會受到影響;Xu等人[8]提出了通過手的三維坐標信息對手勢軌跡進行特征提取并采用支持向量機進行分類識別,但受方法本身的限制個別識別效果不太穩定。
在改進隱馬爾可夫模型[9](HMM)學習機制的基礎上,本文提出了一種新的基于Leap Motion[10]傳感器的自適應動態手勢識別方法,在識別手勢的同時HMM自動學習更新。此方法在動態手勢識別上具有很好的精確性,同時手勢操作時也具有良好的自然性與普適性。最后我們用此方法對多種動態手勢小寫字母進行了分類與識別,并取得了良好的實驗效果,動態手勢平均正確識別率為94.68%。
1.1 動態手勢起始與結束判斷
動態手勢識別是對時空上的軌跡進行識別進而反映其所表達的意義,它存在分割歧義性和時空可變性問題。這里分割歧義性指對動態手勢起始與結束的確定,時空可變性指同一手勢在時間長度和形態上可以有差異。
為避免動態手勢分割歧義性,確定動態手勢的起始與結束,采用幾何特征法[11]對三種靜態手姿伸直、抓取與握拳進行識別,并選用伸直與握拳表示動態手勢的起始與結束。此方法主要依據為靜態手形變化可簡化為手指伸縮長度與指尖點到掌心距離的變化:單手下通過Leap Motion獲取手部二十多個結點姿態信息后,取掌心與五指尖姿態信息,可計算五指尖點到掌心的歐式距離和。實際操作中不同大小的手的手形變化通過閾值范圍來衡量,如成人中指指尖點在伸直、抓取與握拳狀態下到掌心的距離閾值范圍分別約為:11.0~7.2 cm,7.2~3.3 cm,3.3~0 cm。最后根據距離和與閾值范圍進行比較以識別三種靜態手姿,確定動態手勢的起始與結束。
1.2 時間可變性與旋轉不變性
解決時空可變性問題,保證動態手勢識別不受手勢速率與時間的影響,在采點過程中本文采用均值法:針對每種動態手勢軌跡事先記錄傳感器采集到的幀數信息,通過總幀數與已知HMM觀察值序列維數的比值對手勢軌跡信息幀進行均勻提取,較好解決了手勢的時間可變性問題。
手在Leap Motion前方操作時使手勢基于操作平面具有旋轉不變性可給用戶帶來更好的操作自然性與靈活性。可根據動態手勢起始時手的方向向量計算其相對標準坐標系下的旋轉變換矩陣,然后對動態手勢軌跡的每一個三維軌跡點坐標映射至二維中,最后通過旋轉變換矩陣計算其相應的手旋轉變化后的坐標,從而使手勢操作具有旋轉不變性。
1.3 特征提取與量化
復雜的動態手勢往往擁有高維度特征[12],為了避免計算量過大,有必要對其分解。本文動態手勢在Leap Motion工作空間上可分解為投影至XOZ平面上的圖像特征變化和Y軸上的運動變化,在時間上可分解為運動速率的變化,由于每種手勢軌跡點采用均值法采樣,因此,速率變化對實驗效果影響不大。
三維空間中的動態手勢運動軌跡投影至二維平面可由一系列位置點組成,其特征值可以用一組離散量化后的數字編碼表示,特征提取算法如下:
第一步 針于某一動態運動手勢軌跡,設T為觀察值序列的維數,計算軌跡中心點坐標:
(1)
第二步 對于任意t時刻軌跡點,按圖1(a)計算兩點連線的方向角φt。其中,t時刻的位置點pt通過式(2)計算其方向角:
(2)
第三步 量化。三維坐標信息投影至二維平面內后,基于16等份的方向角進行量化,并用數字1到16分別表示每個方向塊,如圖1(b)所示。

圖1 手勢特征提取與量化示意圖
復雜動態手勢識別中觀察值序列維數T的取值尤為重要,它需要根據具體實驗環境而進行適當選取。本文綜合考慮每種動態手勢的平均采幀數目及相應的時間長度,分別選取了不同的維數值并反復實驗,最終選得T為24時識別效果最佳。
傳統的基于HMM的手勢識別方法在識別手勢的過程中,不同操作者會出現手勢識別率下降或差異較大的情況,主要是因為HMM事先已被訓練好并確定,在后續識別時因各操作者適應性不同而導致。自適應動態手勢識別方法能很好地彌補此缺陷。
2.1 非定義手勢識別
非定義手勢即為除定義手勢外的其他錯識手勢,它是自適應動態手勢識別方法的前提。Bilal等人[13]對每種手勢單獨計算輸出概率最大HMM判斷輸入手勢類別,這極可能把非定義手勢識別成定義手勢。本文引入動態閾值方法來識別非定義手勢,與傳統憑經驗采取一個統一的閾值識別非定義手勢不同,針對每一種手勢模型分別計算一個閾值,然后對任意輸入手勢序列,確定其輸出概率最大對數值及對應模型,最后通過該概率對數值與對應模型的閾值進行比較來判別手勢。具體過程如下:

(3)
其中l為比例系數,取經驗值1.1,len子式為觀察值序列維數長度,本文實驗數據樣本維數均為T。
接下來對任意輸入手勢序列,在所有模型下尋找其最大輸出概率對數值,并與其對應模型的閾值進行比較,如式(4)所示,當滿足此條件時識別為定義手勢,否則識別為非定義手勢。
(4)
2.2 HMM及修正訓練
HMM常用于語音或文字識別[14],其中有三個基本問題:評估、解碼與學習,而基于HMM的手勢識別過程與模型訓練過程分別對應其中的評估問題與學習問題。
模型訓練的訓練過程即為調整各模型的狀態轉移概率矩陣參數和輸出概率矩陣參數,由于起始階段假設模型初始概率從第一個狀態開始,因此后續中無需重估概率分布參數。針對經典HMM參數重估計算過程中出現的下溢問題,我們用增加比例因子[15]的修正方法對狀態轉移概率矩陣和輸出概率矩陣進行重估計算,修正后的重估公式為:
(5)
(6)
通過每次迭代對模型參數進行更新,根據觀察值序列概率值越來越收斂的特性,重復此過程,直至相鄰兩次迭代的概率值對數差小于給定閾值時結束。
在經每種訓練樣本集訓練出手勢模型后,當有手勢數據被誤識時,如字母n被誤識為m,則說明n的觀察序列在模型λm中的觀察概率值比在模型λn中大。為提高在λn觀察概率值,本文處理方法為把錯誤識別集中的每組n手勢數據再次輸入至該HMM模型作一次迭代訓練,從而進一步優化λn模型參數。
2.3HMM自動學習更新
在前述工作的基礎上,以非定義手勢識別為前提,HMM自動學習更新算法描述如下:
在用固定K組手勢數據樣本訓練好每種手勢初始HMM的基礎上,對每一組輸入手勢數據:
步驟1 判斷是否為開始時的第一組輸入手勢數據,如果是轉步驟2,否則轉步驟3;
步驟2 以K組樣本訓練后的HMM為初始模型,轉步驟4;
步驟3 以更新后的HMM為初始模型;
步驟4 對輸入手勢進行識別,識別成定義手勢時轉步驟5,否則轉步驟6;
步驟5 將輸入手勢數據輸入至模型訓練集中并按式(7)與式(8)對相應的HMM參數進行實時更新。
(7)
(8)
步驟6 放棄HMM更新。

2.4 動態手勢識別系統流程
本文通過單右手手掌心運動軌跡對手勢特征進行提取與分類,在特征量化與模型訓練后,用修正重估方法訓練模型參數,在此基礎上對26個動態手勢小寫字母進行識別的同時實現HMM的自動學習更新。其中,手勢識別系統流程如圖2所示,主要由兩部分組成:第一部分為動態手勢識別前期預處理,包括靜態手姿的識別以確定動態手勢的起始與結束,以及手勢特征提取與量化;第二部分為動態手勢具體識別過程,包括HMM模型訓練過程與手勢識別的同時HMM的自動學習更新過程。

圖2 手勢識別方法流程圖
本文采用C++語言結合MATLAB,在處理器IntelCorei5-2450M、內存2GB的PC機上利用LeapMotion完成了手勢識別實驗。
首先對伸直、抓取、握拳三種靜態手姿進行了識別,識別效果良好。其次,針對26個動態手勢小寫字母種類多、部分字母間相似性大而導致識別率下降的問題,重新定義了手勢字母的軌跡形態,如表1所示。

表1 動態手勢字母軌跡定義
1) 固定HMM實驗
實驗采用的手勢樣本中,每種動態手勢數據由4人完成采樣,均為40組,其中25組為訓練樣本,15組為測試樣本,在數據樣本融合后,每種動態手勢小寫字母的訓練與測試樣本數分別為100組與60組。采用修正的重估方法對HMM進行訓練后,對每種動態手勢的60組樣本進行識別測試,此時手勢識別結果如表2所示(其中R1表示識別率)。

表2 固定HMM動態手勢識別結果
表2中,字母b所在的第三行含義為,在動態手勢字母b的60組測試樣本中,正確識別54組,有1組被誤識成字母h, 3組被誤識成字母p,2組被誤識成非定義手勢,正確識別率為90.00%。由表2可知,26個小寫字母正確識別率均在90%上下浮動,其中,同一手勢被誤識成其他手勢的占多數,識別成未定義的手勢相對較少,最終經計算得固定HMM情形下的動態手勢平均正確識別率為92.95%
2) HMM自動學習更新實驗
為了驗證模型的普遍適應性及有效性,改善不同人因手勢操作差異而出現識別率下降的情況,我們又對新的自適應手勢識別方法進行了實驗。實驗過程中針對某個特定的人,在前述固定HMM的基礎上每引入一種定義手勢就對相應的HMM進行實時更新,并對每一種動態手勢共采集此人60組同一手勢數據樣本進行識別測試,最終得到如表3所示的實驗結果及與固定HMM方法的比較(其中Miss表示未正確識別手勢數目,R2表示此時的手勢識別率,R1為前述固定HMM下的手勢識別率)。

表3 學習更新法手勢識別率及與固定HMM方法比較
在HMM自動學習更新的實驗中,經計算我們得到動態手勢的平均正確識別率為94.68%,識別效果相對較好。通過與多人訓練的固定HMM方法相比,總體上有一定提高(將近兩個百分點),且對單一手勢字母而言,某些字母手勢識別率提高更顯著,如字母a識別率提高了3%以上,主要原因是自動學習更新HMM方法針對不同的人具有相應的學習更新特性,從而使HMM具有更好的適應性與識別率。
本文提出了一種新的基于Leap Motion傳感器的自適應動態手勢識別方法,在手勢識別過程中引入了在線HMM自動學習更新機制。通過結合不同的方法對HMM參數進行優化,進一步提高了動態手勢識別率,最終實現了對26個小寫字母的動態手勢識別,其動態手勢的平均正確識別率可達94.68%。相對于傳統的基于HMM的動態手勢識別方法,本文方法不僅識別率高、普適性良好,同時動態手勢的時間可變性與旋轉不變性也給操作者帶來了更好的操作自然性與靈活性。
下一步的工作中,我們將考慮實現雙手的動態手勢識別,以增強用戶的操作體驗。此外,針對Leap Motion工作范圍的限制,將相關跟蹤檢測傳感器結合進來以擴大對手的跟蹤識別范圍也是我們今后的研究方向。
[1] Badi H S,Hussein S.Hand posture and gesture recognition technology[J].Neural Computing and Applications,2014,25(3):871-878.
[2] 李紅波,丁林建,吳渝,等.基于Kinect骨骼數據的靜態三維手勢識別[J].計算機應用與軟件,2015,32(9):161-165.
[3] Wang J,Zhang T.An ARM-based embedded gesture recognition system using a data glove[C]//The 26th Chinese Control and Decision Conference (CCDC 2014),2014:204-208.
[4] 關然,徐向民,羅雅愉,等.基于計算機視覺的手勢檢測識別技術[J].計算機應用與軟件,2013,30(1):155-159,164.
[5] 黃國范,程小平.基于歷史的動態手勢識別[J].西南大學學報(自然科學版),2009,31(1):106-110.
[6] Maung T H H.Real-time hand tracking and gesture recognition system using neural networks[J].World Academy of Science,Engineering and Technology,2009,3(2):466-470.
[7] 陶麗君,李翠華,張希婧,等.基于Kinect傳感器深度信息的動態手勢識別[J].廈門大學學報(自然科學版),2013,52(4):493-497.
[8] Xu Y,Wang Q,Bai X,et al.A novel feature extracting method for dynamic gesture recognition based on support vector machine[C].Information and Automation (ICIA),2014 IEEE International Conference on,2014:437-441.
[9] Cappé O,Moulines E,Rydén T.Inference in hidden Markov models[M].New York,NY,USA:Springer,2005:28-43.
[10] Weichert F,Bachmann D,Rudak B,et al.Analysis of the accuracy and robustness of the leap motion controller[J].Sensors,2013,13(5):6380-6393.
[11]HasanMM,MishraPK.Handgesturemodelingandrecognitionusinggeometricfeatures:areview[J].CanadianJournalonImageProcessingandComputerVision,2012,3(1):12-26.
[12] 王西穎,戴國忠,張習文,等.基于HMM-FNN模型的復雜動態手勢識別[J].軟件學報,2008,19(9):2302-2312.
[13]BilalS,AkmeliawatiR,ShafieAA,etal.HiddenMarkovmodelforhumantocomputerinteraction:astudyonhumanhandgesturerecognition[J].ArtificialIntelligenceReview,2013,40(4):495-516.
[14] 努爾艾力·喀迪爾,彭良瑞,哈力木拉提.一種基于HMM和統計語言模型的維吾爾文及阿拉伯文識別方法[J].計算機應用與軟件,2015,32(1):171-174.
[15] 陳一民,張云華.基于手勢識別的機器人人機交互技術研究[J].機器人,2009,31(4):351-356.
ADAPTIVE DYNAMIC GESTURE RECOGNITION BASED ON LEAP MOTION
Liu Quan1Chen Yimin1*Gao Mingke1Li Qiming2Huang Chen1
1(CollegeofComputerEngineeringandScience,ShanghaiUniversity,Shanghai200444,China)2(CollegeofInformationEngineering,ShanghaiMaritimeUniversity,Shanghai201306,China)
Gesture recognition based on vision is a key technology to realize new human-computer interaction. To the problem of gestures adaptability and recognition rate, a new method of adaptive dynamic gesture recognition based on the Leap Motion is presented on the basis of improving Hidden Markov Model (HMM). Firstly, by using the method of geometric features to recognize the static hand posture, the start and end point of dynamic gesture trajectory could be confirmed. After extracting and classifying gesture trace features by angle, the revised revaluation method is introduced to calculate model parameters. Finally, with recognizing the undefined gesture, the method of automatic learning and updating HMM is presented to improve the efficiency of the gesture recognition, and the dynamic gesture recognition of 26 lowercase letters is realized in the end. Experimental results show this method has a good adaptability and accuracy performance in dynamic gesture recognition.
Hidden Markov model Leap Motion Dynamic gesture recognition Feature extraction
2016-01-21。上海市國際科技合作基金項目(12510708400);上海市自然科學基金項目(14ZR1419700);2015上海大學電影學院高峰學科項目(N13A30315W23)。劉權,碩士生,主研領域:增強現實技術。陳一民,教授。高明柯,博士生。李啟明,講師。黃晨,博士生。
TP391
A
10.3969/j.issn.1000-386x.2017.02.035