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