李養(yǎng)群+周梅
摘 要:手勢識別技術(shù)可有效提高移動終端操作效率。通過移動終端加速度傳感器捕獲手勢執(zhí)行過程中的三維加速度信號,經(jīng)過預處理、特征提取之后,采用機器學習方法SVM,建立相應(yīng)的SVM分類模型,并利用該識別模型實現(xiàn)手勢動作。實驗結(jié)果表明,該方法具有較高的識別率并在移動終端上得到應(yīng)用。
關(guān)鍵詞:手勢識別;機器學習;支持向量機(SVM);移動終端
DOIDOI:10.11907/rjdk.171234
中圖分類號:TP319
文獻標識碼:A 文章編號文章編號:1672-7800(2017)008-0153-03
0 引言
移動終端技術(shù)已經(jīng)得到廣泛使用,人們用其進行娛樂、瀏覽新聞、辦公等活動,但是在使用過程中仍然存在著一些不便,比如,對移動終端的使用大部分仍然依靠手指滑動調(diào)出菜單的方式進行操作。但是,目前部分手機尺寸較大,在單手操作時,手指滑動調(diào)出菜單較為不便,而通過手的晃動可以非常方便地實現(xiàn)某種操作。例如,當手機有電話來時,可通過不同方向的晃動實現(xiàn)電話的接聽或者不接聽。例如,往左晃動,拒接電話,往右晃動,接聽電話。
目前,大部分移動終端都配置了各種傳感器,例如加速度傳感器。可充分利用加速度傳感器的數(shù)據(jù)判斷手勢的移動方向從而為手機的操作提供幫助,可極大方便人們的操作。
本文首先針對常見的幾種手勢操作進行分析,在此基礎(chǔ)上,采用機器學習方法SVM對三維加速度傳感器數(shù)據(jù)進行分類識別,并將識別結(jié)果應(yīng)用于移動終端上。
1 相關(guān)技術(shù)
文獻[1]針對手勢的各種運動姿態(tài)進行了識別,包括左右移動、上下移動、寫阿拉伯數(shù)字的各種手勢,并采用HMM模型進行了分類識別,具有一定的成功率。但是該方法是在嵌入式系統(tǒng)上實現(xiàn)的,無法直接應(yīng)用于移動終端之上。文獻[2]主要識別了8種手勢,分別是左右移動、上下移動以及畫圓和畫正方形的手勢并采用DTW算法對其進行識別。文獻[3]針對與設(shè)備的交互過程,主要識別8種手勢,包括縮放、推拉、雙擊等動作,借助于RFID技術(shù)捕捉信號并根據(jù)這些信號的值建立一些簡單的規(guī)則識別手勢。文獻[4]采用3D形狀上下文對手勢進行識別,該方法可減少背景和顏色對手勢識別的影響。文獻[5]對5種手勢進行了識別并將手勢識別結(jié)果應(yīng)用于計算機游戲交互中。文獻[6]采用機器學習算法SVM對加速度傳感器信號進行分類以實現(xiàn)手勢識別,該方法主要基于圖像處理機制實現(xiàn)分類。
2 基于SVM的手勢識別框架
2.1 SVM技術(shù)
SVM是一種基于統(tǒng)計理論的學習方法,采用結(jié)構(gòu)風險最小化歸納原則。SVM的實現(xiàn)機制為:當實際問題是擁有正負類別信息的訓練樣本集時,算法通過尋找不同類別樣本之間的最大間隔(Margin)訓練出分類器,從而使不同類別的樣本能夠被分類器分開。
SVM的訓練過程就是對最佳分離超平面的求解過程,其訓練僅僅與樣本中對分類面起支持作用的部分樣本集有關(guān),因此模型訓練的復雜度與其它非支持樣本及樣本維數(shù)無關(guān),從而可以有效避免維數(shù)災(zāi)難?;赟VM的上述特性,使得它在處理小樣本、非線性及高維數(shù)據(jù)時要優(yōu)于其它模式識別方法。
2.2 手勢識別
本文主要針對現(xiàn)實生活中最常用的幾種手勢進行識別,主要包括左右移動、上下翻動等幾種情況,如圖1所示。
圖1中的(a)表示手機的左右甩動或者翻動,(b)表示手機的上下移動,而(c)和(d)表示手機以手腕為軸點的左右甩動,(e)表示手機的上翻動作,而(f)表示手機的下翻動作。
2.3 基于SVM的手勢識別框架
圖2給出了基于SVM算法的手勢識別框架,該框架主要包括如下功能:①加速度傳感器:是指移動終端內(nèi)部的三維重力加速度傳感器,本系統(tǒng)根據(jù)其產(chǎn)生的數(shù)據(jù)對手勢進行識別;③數(shù)據(jù)采集功能:采集移動終端開始和停止移動期間的傳感器數(shù)據(jù)并保存;③數(shù)據(jù)處理:去除數(shù)據(jù)中的噪聲,從數(shù)據(jù)中提取相應(yīng)的特征;④SVM識別模型:將處理后的樣本數(shù)據(jù)訓練SVM算法并得到識別模型;⑤SVM識別結(jié)果:將識別模型應(yīng)用到數(shù)據(jù)中并識別出手勢移動的結(jié)果;⑥應(yīng)用系統(tǒng):移動終端中使用手勢識別結(jié)果的各種應(yīng)用;⑦配置系統(tǒng):將手勢識別結(jié)果與移動終端的應(yīng)用功能建立關(guān)聯(lián)。例如,將往左移動設(shè)置為拒接電話,往右移動設(shè)置為接聽電話,向上翻動設(shè)置為彈出通知欄等。
3 實驗數(shù)據(jù)與分析
3.1 實驗準備
采集數(shù)據(jù)所用的手機HTC t328,CPU為高通曉龍Snapdragon MSM8255,最低速度為22MHz,最高速度可達1.4GHz;RAM容量為512M;ROM為8G。手機的操作系統(tǒng)為Android OS 4.0.3,電池容量為1650mAh,自帶有方向傳感器、加速度傳感器和距離傳感器等,該機硬件配置基本上是目前普遍的智能機硬件配置。
3.2 實驗過程
這里共識別6種手勢:左翻、右翻、上翻、下翻、向左甩、向右甩,并對每種手勢進行數(shù)據(jù)采集,采集到大量數(shù)據(jù),表1展示了各手勢采集數(shù)據(jù)的次數(shù)。
3.3 數(shù)據(jù)預處理
(1)數(shù)據(jù)平滑去噪。導致噪聲干擾有兩個原因:手機加速度傳感器本身的精度原因,當手機靜止放置時由于細微的震動,仍然能夠采集到細微變化的數(shù)據(jù);另外手本身的抖動也能產(chǎn)生噪聲。因此,需要盡量去除噪聲對數(shù)據(jù)的干擾。這里使用簡單移動平均線的方法(SMA)進行處理。計算方法如式(1)所示。
aSMAnow=(ai+ai-1+...+ai-m+1)/m=aSMAprevious+(ai-ai-m)/m(1)
其中,m表示數(shù)據(jù)段的窗口大小,使用當前幀i及它之前m-1幀的加速度之和的平均值aSMAnow表示當前幀的加速度ai。
處理后的數(shù)據(jù)如圖3所示。endprint
(2)數(shù)據(jù)的邊界檢測。
邊界檢測主要指數(shù)據(jù)采集何時開始,何時結(jié)束。采用一種門限值方法對手勢軌跡的邊界進行判定,
基于大量的實驗分析,窗口大小設(shè)置為7,門限值大小為0.5(m/s2)。經(jīng)過邊界檢測后的數(shù)據(jù)如圖4所示。
(3)數(shù)據(jù)的長度歸一化。
每次采集手勢移動軌跡時所用的時間不一定一致,為了更好地實現(xiàn)特征提取,需對結(jié)果進行采集時間長度上的統(tǒng)一,也即時間長度的歸一化處理。此處,將長度歸一化的閡值設(shè)置為200幀。
3.4 特征提取
(1)手勢能量。手勢能量體現(xiàn)了各類手勢動作過程中的劇烈程度,其計算方法如式(2)所示[7]:
GE=∑Bi=A(|anxi|+|anyi|+|anzi-g|)(2)
其中,A、B分別為手勢的起點和終點; anxi、anyi、anzi分別為手勢在用戶坐標系中x、y、z軸的加速度。
(2)均值。手勢動作的加速度信號持續(xù)時間通常在1s左右,本文選用均值作為每幀加速度信號的關(guān)鍵特征。均值即一幀加速度信號樣本點幅度的平均值:
mean=∑ia(i)/w(3)
其中,a(i)為第i時刻加速度的采樣值;w為窗口長度。綜合考慮三軸加速度信號,每軸提取一維特征,共得到三維特征,對于一條含60幀的手勢加速度數(shù)據(jù),可得到60×3維特征。
3.5 基于SVM的訓練與識別
本文采用臺灣大學Lin Chih-Jen等開發(fā)的Libsvm作為SVM算法包。該算法包功能完善,易于使用。經(jīng)過實驗發(fā)現(xiàn),選RBF為核函數(shù),其參數(shù)=32時效果最好。
3.6 識別結(jié)果
實驗邀請10位不同專業(yè)背景的被試者參與本文方法的可用性評估,他們的年齡范圍在20~30歲,都具有一定的智能手機使用經(jīng)驗。經(jīng)過試驗,本系統(tǒng)的翻動手勢識別率在98%左右,甩動手勢識別率在85%左右,具體結(jié)果如圖5所示。
由于翻動的速度較為緩慢,特征向量提取比較完整,因而識別率較高,而甩動的完成速度較快,特征值提取不太完整,因此,在模型訓練時機器學習的效果不如翻動的手勢。
3.7 應(yīng)用
手勢識別系統(tǒng)開發(fā)平臺采用Eclipse+ADT插件,為了體現(xiàn)識別效果,對于每種手勢識別,都能觸發(fā)相應(yīng)的應(yīng)用,系統(tǒng)界面如圖6-圖11所示。
3.8 分析與改善
實驗發(fā)現(xiàn)甩動的手勢識別率較低,經(jīng)過反復實驗與思考,發(fā)現(xiàn)可能是用戶左右手使用手機習慣導致了誤差,于是對系統(tǒng)進行改善,對于晃動手勢識別增加了左、右手模式的選擇。經(jīng)過改善,甩動的識別率得到改善,可達到90%左右。
4 結(jié)語
本文從基于機器學習的手勢識別方法著手,利用手機自帶的加速度傳感器,實現(xiàn)基于手機端特性的手勢識別,實驗測試結(jié)果證明,該方法具有很好的性能。但由于未進行初始姿態(tài)識別,因而要求用戶必須以相同的初始姿態(tài)手持移動終端采集手勢移動數(shù)據(jù),這是需進一步改進之處。未來,將通過引入其它運動傳感器(如陀螺儀、地磁感應(yīng)計等)獲得朝向信息,從而校正不同用戶手持移動設(shè)備的方向差異。另外,本文特征提取使用的是時域特征,雖然計算量小但識別不精確,造成左右手的分類模式,給用戶帶來不佳體驗。未來可采取時域與頻域相結(jié)合的特征,增強特征分類效果。
參考文獻:
[1] 孔俊其.基于三維加速度傳感器的手勢識別及交互模型研究[D].蘇州:蘇州大學,2009
[2] 陳文.基于加速度傳感器的智能終端手勢識別關(guān)鍵技術(shù)研究[D].長沙:國防科技大學,2011.
[3] BRYCE KELLOGG,VAMSI TALLA,SHYAMNATH GOLLAKOTA.Bringing gesture recognition to all devices[C].Proceedings of the 11th USENIX Symposium on Networked Systems Design and Implementation,2014.
[4] GUANG CHENG,GUIJIN WANG,XINGGANG LIN.Hand gesture recognition using 3d shape context feature on depth images[J].Journal of Computational Information Systems,2015(11):9-16.
[5] KAI ZHANG.An interaction educational computer game framework using hand gesture recognition[J].Journal of Computational Information Systems,2014,15(10):6339-6346.
[6] 張秋余,王道東,張墨逸,等.基于特征包支持向量機的手勢識別[J].計算機應(yīng)用,2012(12):3392-3396.
[7] NOURA FARRA,GIUSEPPE RAFFA,LAMA NACHMAN,et al. Energy-efficient mobile gesture recognition with computation offloading[C].International Conference on Energy Aware Computing(ICEAC),2011:1-6.endprint