• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于手機加速度傳感器的手勢識別系統(tǒng)研究

    2017-03-31 15:41:20王鵬丁任之何天翔雷汝霖
    軟件導(dǎo)刊 2016年8期
    關(guān)鍵詞:手勢識別

    王鵬+丁任之+何天翔+雷汝霖

    摘 要:基于智能手機上的加速度傳感器,設(shè)計并實現(xiàn)了一種手勢識別系統(tǒng)。采用時間數(shù)列方法對加速度數(shù)據(jù)樣本建模,對數(shù)據(jù)進行降噪和優(yōu)化處理,包括使用抽取突變消除平緩強調(diào)動作的變化;利用門限值差分方法進行手勢動作動態(tài)自截??;利用特征提取簡化數(shù)據(jù),提高識別正確率;利用模板匹配方式,基于動態(tài)時間規(guī)整(DTW)算法進行手勢檢測。實驗結(jié)果表明,該系統(tǒng)方便可行,具有較高的識別率。

    關(guān)鍵詞關(guān)鍵詞:加速度傳感器;動態(tài)時間規(guī)整;手勢識別

    DOIDOI:10.11907/rjdk.161536

    中圖分類號:TP319

    文獻標識碼:A 文章編號:1672-7800(2016)008-0062-03

    0 引言

    智能手機已廣泛使用,但目前單純基于觸屏和按鍵操作的二維手勢操作方法卻不能滿足人們對手機操作體驗越來越高的要求。筆者設(shè)計了一款可以在3維空間中識別用戶特定動作的手勢識別系統(tǒng),該系統(tǒng)具有以下優(yōu)點:①手勢識別時直接以人手的動作作為輸入,省去了中間媒介,相較于語音識別減少了冗余因素不必要的影響;②用于數(shù)據(jù)獲取的加速度傳感器廣泛內(nèi)置于智能手機中,成本低且具有較高的靈敏度和較小的體積,便于獲取和使用。

    基于加速度傳感器的手勢識別技術(shù)主要包括隱馬爾科夫模型、模糊神經(jīng)網(wǎng)絡(luò)、模板匹配等方法。本文實現(xiàn)了基于DTW算法的動態(tài)手勢識別系統(tǒng)。為了減少臟數(shù)據(jù)獲取,本文使用一系列方法進行優(yōu)化。主要包括:使用抽取突變的方法來強調(diào)數(shù)據(jù)的突變并忽略數(shù)據(jù)的平緩;使用基于門限的動態(tài)手勢截取方法,對手勢進行實時識別,提升了系統(tǒng)對個體差異的適應(yīng)性,增強了連續(xù)動態(tài)手勢輸入的實時性;使用特征提取方法,簡化了手勢識別的分析模式,提高了手勢識別的準確性。

    1 系統(tǒng)流程

    本系統(tǒng)流程如圖1所示[1]。首先,用戶手握手機做出相應(yīng)手勢,手勢數(shù)據(jù)被智能手機的加速度傳感器所獲取。經(jīng)過數(shù)據(jù)處理(包括抽取突變、手勢截?。┖?,對得到的時間序列進行特征提取。經(jīng)過特征提取的數(shù)據(jù)再通過DTW算法進行手勢匹配,最后得到識別結(jié)果。

    2 數(shù)據(jù)采集

    筆者通過Android手機內(nèi)置的三軸加速度傳感器進行數(shù)據(jù)采集,設(shè)定三軸加速度傳感器數(shù)據(jù)獲取間隔為5000 μs,單位為m/s2。同時,需要獲取每個軸的重力加速度,為之后的特征提取進行數(shù)據(jù)準備,因此還需使用手機的重力傳感器。設(shè)定重力加速度傳感器數(shù)據(jù)獲取間隔為SENSOR_DELAY_NORMAL,即20000 μs,單位為m/s2。最后,對獲取到的三軸加速度數(shù)據(jù)進行建模[2]:

    3 數(shù)據(jù)處理

    3.1 抽取突變

    對于用戶手勢數(shù)據(jù)的獲取,需要采集加速度數(shù)據(jù)變化劇烈的點(通常是手勢進行的標志),同時應(yīng)忽略變化平穩(wěn)的數(shù)據(jù)樣本(通常是臟數(shù)據(jù))。本文使用了抽取突變[3]這種強調(diào)傳感器數(shù)據(jù)的瞬間變化,初步去除靜態(tài)和緩慢變化的數(shù)據(jù)背景方法,見公式(1)。

    定義權(quán)值A(chǔ)lpha,則有:

    其中,currentAcc表示某個方向軸經(jīng)過抽取突變處理的數(shù)值,x表示該方向軸傳回的原始數(shù)據(jù),preData表示上個時間幀經(jīng)過抽取突變得到的冗余值,Alpha值為0.8。

    3.2 手勢截取

    本系統(tǒng)采用基于門限的手勢動態(tài)截取方法[4],通過將加速度的變化量與設(shè)置好的門限進行比較,判斷手勢的開始和結(jié)束。公式(2)實時獲取了每個時間幀加速度變化量之和。其中x(t),y(t)、z(t)分別表示在t時刻(即當前時間幀)x軸、y軸、z軸方向的加速度值,x(t-1)、y(t-1)、z(t-1)分別表示在t-1時刻(即上個時間幀)x軸、y軸、z軸方向的加速度值。

    為了減少誤差消除噪聲,采取N個采樣數(shù)據(jù)的差分結(jié)果求均值,如公式(3)所示。

    最后使用門限值進行數(shù)據(jù)截取,其中定值Start和End分別表示判斷手勢開始和手勢結(jié)束的門限值。結(jié)合通過公式(3)得到的ai,則有截取過程如下:①ai >Start,標志手勢已開始,開始記錄三軸加速度傳感器獲取的數(shù)據(jù)并轉(zhuǎn)換為時間序列;②ai

    圖2表示用本方法獲取的手勢1樣本數(shù)據(jù),可以發(fā)現(xiàn)在無手勢時,各方向加速度趨于穩(wěn)定,變化較小,在有手勢動作時,則劇烈變化。

    4 特征提取

    由于手勢數(shù)據(jù)過于復(fù)雜且類型多樣,直接作為分類標準無法實現(xiàn),為此本文使用特征提取方法,該方法有助于減少數(shù)據(jù)處理工作量并提高手勢識別準確性。

    通過特征提取作為手勢識別的判別標準,就必須明確反映出使用者手勢的運動學特性并且與其它手勢有明顯差異[5]。在這樣的前提下,本文以可分性、可靠性、獨立性作為特征的選取標準,得到如下3個手勢特征:

    (1)時間長度:即該手勢所花費的時間T,是最基本的手勢判定標準。

    其中tend為手勢結(jié)束時間,tsta為手勢開始時間。

    (2)手勢能量:即進行該手勢所用的能量E,通過能量可以判斷手勢的劇烈程度。

    其中T為時間序列長度; axi、ayi、azi分別為i時間點x方向、y方向、z方向的加速度數(shù)值;gxi、gyi、gzi分別為i時間點x方向、y方向、z方向的重力加速度數(shù)值。

    (3)波峰數(shù):X、Y、Z三個方向加速度時間圖像中,波峰的數(shù)量P反映了加速度的變化 通過統(tǒng)計不同方向的加速度變化,從而判斷手勢運動軌跡。

    Px、Py、Pz分別為X方向、Y方向、Z方向加速度圖中的波峰數(shù)量。

    5 手勢識別

    事先在手機中存儲一系列的標準動作模板,當檢測到手機有動作發(fā)生時便將該動作的傳感器波形與標準動作模板庫中的動作波形進行匹配處理,以此來判斷動作類型。采用DTW(Dynamic Time Warping,動態(tài)時間歸整)算法來實現(xiàn)波形匹配[6]。DTW相對于HMM算法,在訓練階段不需要大量數(shù)據(jù)。R={R(1),R(2),……,R(m)},測試模板T={T(1),T(2),……,T(n)}, n=1為起點語音幀,n=N為終點語音幀。為了比較相似度,可以計算它們之間的距離 D[T,R],距離越小則相似度越高[7]。對齊可以采用線性擴張方法,動態(tài)規(guī)劃(DP)方法,采用歐式距離,d(Ri, Tj)= (Ri-Tj)2。

    為了對齊這兩個序列,需要構(gòu)造一個n、x、m的矩陣網(wǎng)格,矩陣元素(i,j)表示Ri和Tj兩個點的距離d(Ri,Tj)(也就是序列R的每一個點和T的每一個點之間的相似度,距離越小則相似度越高,這里先不管順序),一般采用歐式距離,d(Ri,Tj)= (Ri-Tj)2(也可以理解為失真度)。每個矩陣元素(i,j)表示點Ri和Tj的對齊。DP算法可以歸結(jié)為尋找一條通過此網(wǎng)格中若干格點的路徑,路徑通過的格點即為兩個序列進行計算對齊的點。為了使路徑不過于傾斜,可以約束斜率在0.5~2的范圍內(nèi),如果路徑已經(jīng)通過了格點(n,m),那么下一個通過的格點(n,m)只可能是下列3種情況之一:1(n,m)=(n+1,m);2(n,m)=(n+1,m+1);3(n,m)=(n,m+1)。所以,

    實踐中對此思路做了測試,以空間手勢為例 ,主要根據(jù)三軸加速度來對敲擊動作進行識別 ,加速度能夠很好地反映作用于手機力的變化率和手機空間位置的變化。手勢定義:①在系統(tǒng)中定義有意義的手勢;②手勢建模: 根據(jù)手勢中三軸加速度的大小來建立模型;③手勢動作模型訓練: 反復(fù)采集各個手勢動作信號數(shù)據(jù),訓練改進模板;④手勢識別: 使用DTW算法為識別方法,計算各個模型和模板之間的距離。

    6 實驗數(shù)據(jù)與結(jié)果分析

    為了驗證算法的有效性,選擇MOTO G Android 系統(tǒng)智能手機和Sony C6603 Android系統(tǒng)智能手機分別作為實驗的樣機1和樣機2。用戶使用手機在空間中進行手勢動作的書寫。圖3為阿拉伯數(shù)字2的手勢分解到x軸的原始數(shù)據(jù),訓練者各操作100次用于訓練模板。

    圖4、圖5、圖6分別為阿拉伯數(shù)字2手勢訓練100次后x軸、y軸、z軸加速度的模板數(shù)據(jù)。

    模板建立后,訓練者操作不同手勢用于測試,使用DTW算法計算距離:

    通過公式(8)判定結(jié)果 ,若D>1 500則為否,否則為是,結(jié)果如表1所示。實驗證明:所構(gòu)建的識別算法對連續(xù)動態(tài)手勢具有識別能力。

    7 結(jié)語

    基于手機內(nèi)置三軸加速度傳感器的手勢識別系統(tǒng),通過內(nèi)置的三軸加速度傳感器采集用戶手勢加速度樣本數(shù)據(jù),抽取突變實現(xiàn)數(shù)據(jù)優(yōu)化。通過門限差分實現(xiàn)用戶手勢的動態(tài)自截取,通過特征提取獲取手勢的時間長度、手勢能量和波峰數(shù)等特征進行樣本評估,利用 DTW算法實現(xiàn)手勢驗證。實驗結(jié)果表明系統(tǒng)具有良好的手勢識別效果,能很好地應(yīng)對傳感器數(shù)據(jù)的差異性和不精確性。由于DTW算法的局限,對過度復(fù)雜手勢的識別不高,如何提高算法的計算速度、精確性等問題有待進一步研究。

    參考文獻:

    [1]BILL PHILLIPS, BRIAN HARDY. Android編程權(quán)威指南[M]. 王明發(fā),譯.北京:人民郵電出版社,2014:30-31.

    [2]KATE, ROHIT J. Using dynamic time warping distances as features for improved time series classification[J]. Data Mining & Knowledge Discovery, 2016, 30(2): 283-312.

    [3]GREG MILETTE,ADAM STROUD. Android傳感器高級編程[M].裴佳迪,譯.北京:清華大學出版社,2013:99-114.

    [4]陳鵬展,羅漫,李杰.基于加速度傳感器的連續(xù)動態(tài)手勢識別[J].傳感器與微系統(tǒng),2016(1):39-42.

    [5]陳意,楊平,陳旭光,等.一種基于加速度特征提取的手勢識別方法[J].傳感技術(shù)學報,2012,25(8):1073-1078.

    [6]王杰鋒,周治平,苗敏敏.移動終端手勢識別中DTW匹配算法研究 [J].計算機工程與應(yīng)用,2013(9)254-259.

    [7]SRIVASTAVA, RUPIKA, SINHA, et al. Hand movements and gestures characterization using quaternion dynamic time warping technique[J]. IEEE Sensors Journal,2016, 16(5): 1333-1341.

    (責任編輯:杜能鋼)

    猜你喜歡
    手勢識別
    基于手勢識別的工業(yè)機器人操作控制方法
    基于紅外的非接觸式手勢識別系統(tǒng)設(shè)計
    基于嵌入式的智能手表設(shè)計
    復(fù)雜背景下的手勢識別方法
    基于SIFT算法的手勢控制系統(tǒng)的設(shè)計與實現(xiàn)
    一種靜態(tài)手勢數(shù)字識別的實現(xiàn)及應(yīng)用
    基于Kinect的體感虛擬鼠標研究與開發(fā)
    軟件(2016年2期)2016-04-08 02:14:26
    基于LeapMotion 的數(shù)字手勢識別
    基于手勢識別的人機交互技術(shù)研究
    計算機時代(2016年2期)2016-02-19 21:51:07
    一種基于Kinect的手勢識別系統(tǒng)
    深圳市| 甘洛县| 新沂市| 军事| 宝兴县| 大邑县| 宁津县| 禹城市| 苗栗县| 渭源县| 油尖旺区| 镶黄旗| 阳曲县| 兴隆县| 本溪| 遂宁市| 丹江口市| 利津县| 池州市| 泰宁县| 临猗县| 大港区| 岳普湖县| 平安县| 巴南区| 西丰县| 布拖县| 博湖县| 通城县| 桐庐县| 镇巴县| 鹰潭市| 阿合奇县| 淄博市| 革吉县| 徐州市| 上饶市| 措美县| 平乡县| 柘城县| 清徐县|