仇立杰 彭四偉
(北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院 北京 100029)
?
基于MEMS傳感器的三維空間運動軌跡提取方法
仇立杰彭四偉
(北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院北京 100029)
基于MEMS傳感器的手勢識別的一般方法是通過對每個手勢進行運動學(xué)分析找出每個手勢的加速度特征,以此作為識別手勢的特征值。這表明該方法需要人工設(shè)計特征值,不利于用戶的自定義操作。針對這種情況,提出一種空間定位方法。首先獲取傳感器數(shù)據(jù)并發(fā)送到PC端,并在PC端進行積分處理,轉(zhuǎn)化成空間數(shù)據(jù),從而記錄手勢的運動軌跡。最后結(jié)果表明,該方法可以成功記錄手部的運動軌跡,不用對每個手勢單獨進行運動學(xué)分析,使得用戶在后續(xù)的研究中可以實現(xiàn)自定義手勢。
傳感器數(shù)據(jù)空間數(shù)據(jù)手勢識別
手勢識別算法的研究目前為止已經(jīng)有很多。手勢識別的實現(xiàn)方式主要有兩種。一種是基于視覺的手勢識別技術(shù),或稱為基于圖像的手勢識別技術(shù)[1]。該種方式主要是以攝像頭作為硬件設(shè)備獲取視覺信息。基于視覺的手勢識別技術(shù)發(fā)展比較早,現(xiàn)在也比較成熟,目前國內(nèi)外都已經(jīng)取得不錯的研究成果。但是這種技術(shù)對設(shè)備和環(huán)境的要求比較苛刻,所以有很大的局限性。另一種手勢識別的實現(xiàn)方式是基于傳感器的手勢識別技術(shù)[1],這種技術(shù)以傳感器作為硬件設(shè)備,通過傳感器獲得手部運動的加速度或角速度等信息,根據(jù)這些信息來對手勢進行識別。
MEMS傳感器作為采用微電子和微機械加工技術(shù)制造出來的新型傳感器,與傳統(tǒng)的傳感器相比,具有體積小、功耗低、重量輕、易于集成和實現(xiàn)智能化等特點。因此,基于MEMS傳感器的手勢識別研究近年來逐漸成為熱門話題。
和基于視覺的識別技術(shù)相比,基于MEMS傳感器的手勢識別具有不受環(huán)境、光線影響的優(yōu)勢[2],目前也取得了很多研究成果。肖茜等人提出了一種提取MEMS慣性傳感器數(shù)據(jù)信息特征的識別方法[1],即通過提取加速度和角速度的特征量和變化規(guī)律來識別手勢。該方法無法識別與時間順序有關(guān)的手勢,而且對復(fù)雜手勢的識別還有一定的局限性。王原等人對特征提取方法進行了改進,加入了時間序列,以識別跟時間順序有關(guān)的手勢[3]。但是只用到了加速度傳感器,限制了設(shè)備的運動姿態(tài),給操作者帶來不便。
前面的方法通過分析每個手勢的加速度曲線特征來找出每個手勢的特征值,這需要人為參與,即操作者要按設(shè)計者設(shè)定的手勢進行操作,使得操作者不能自己定義手勢。
鑒于此,提出了一種空間定位的方法,即將傳感器數(shù)據(jù)轉(zhuǎn)換成運動物體的空間位置數(shù)據(jù)。該方法將實時采集到的加速度傳感器和陀螺儀傳感器的數(shù)據(jù)信息發(fā)送到PC端,在PC端進行數(shù)據(jù)處理,對加速度傳感器數(shù)據(jù)進行軌跡計算,得到運動物體在三維相對空間的運動軌跡。用陀螺儀傳感器識別設(shè)備姿態(tài),從而消除加速度傳感器對設(shè)備姿態(tài)的限制,得到運動物體在絕對空間中的運動軌跡。
隨著智能手機等移動電子設(shè)備和傳感器的不斷發(fā)展,內(nèi)嵌有MEMS傳感器的智能手機已被廣泛應(yīng)用在生活中[4,5],所以本文采用手機作為實驗用的硬件設(shè)備,以此來進行基于加速度傳感器和陀螺儀傳感器的手勢識別。
操作者手持手機,手部的運動軌跡和手機的運動軌跡是一樣的,所以得到手機的運動軌跡即可。通過一個簡單的安卓應(yīng)用程序獲取手機中加速度傳感器和陀螺儀傳感器的數(shù)據(jù)并將數(shù)據(jù)實時發(fā)送到PC端。然后在PC端對數(shù)據(jù)進行處理。
1.1加速度
加速度由MEMS加速度傳感器提供,分為x、y、z三個方向。

圖1 手機傳感器方向
加速度傳感器的方向定義規(guī)則如下:手機平放在桌子上,短邊和身體平行。手機右下角指向左下角方向為x軸方向,左上角指向左下角方向為y軸方向,垂直手機平面向下的方向為z軸方向。如圖1所示,CD為手機的短邊。
該加速度包括重力加速度g,即當(dāng)手機朝上靜止平放時,理論上x、y軸的加速度為0,z軸加速度為重力加速度g。
加速度曲線如圖2所示,橫軸為時間,單位s,縱軸為加速度,單位m/s2,即MEMS加速度傳感器的輸出值。

圖2 加速度曲線圖
假設(shè)從t0時刻開始采樣,根據(jù)積分原理,連續(xù)時間域t0-t內(nèi)位移s(t)和t時刻的瞬時速度v(t)的表示如下:
(1)
(2)
通過對獲取的加速度進行二重積分可求得手部的移動位移。PC端實時獲取手部的運動加速度,同時對三個方向上的加速度分別進行積分運算,求得手部的瞬時速度和空間累計運動軌跡。
1.2角速度
角速度由MEMS陀螺儀傳感器提供,分為x、y、z三個軸的角速度。
手部運動過程中手機可能會出現(xiàn)空間翻轉(zhuǎn),此時加速度傳感器的坐標(biāo)系不再與手部運動的絕對運動空間坐標(biāo)系重合,即重力加速度會在加速度傳感器x、y、z三軸方向引起偏移分量。為解決該問題,加入了MEMS陀螺儀傳感器。
陀螺儀傳感器的方向定義如下:手機逆時針旋轉(zhuǎn)為正方向,即當(dāng)手機逆時針旋轉(zhuǎn)時,角速度為正值,順時針旋轉(zhuǎn)時,角速度為負(fù)值[6]。

圖3 相對坐標(biāo)系與絕對坐標(biāo)系關(guān)系對應(yīng)
陀螺儀傳感器的測量值是手機任意時刻相對坐標(biāo)系x、y、z三軸的轉(zhuǎn)動角速度[6],根據(jù)轉(zhuǎn)動角速度可求出手機任意時刻的滾轉(zhuǎn)角、俯仰角和偏航角,即可知道相對坐標(biāo)系相對絕對坐標(biāo)系的偏移量,從而通過陀螺儀來識別手機的空間姿態(tài),然后通過坐標(biāo)變換濾除重力加速度的在加速度傳感器三軸上的偏移分量。
相對坐標(biāo)系與絕對坐標(biāo)系的對應(yīng)關(guān)系如圖3所示,其中實線為參考坐標(biāo)系,即絕對坐標(biāo)系,虛線為傳感器所在坐標(biāo)系,即相對坐標(biāo)系。
2.1加速度積分計算
由于采集的MEMS加速度傳感器的數(shù)據(jù)是離散的,設(shè)定傳感器的采樣時間間隔為Δt,迭代后可得:
(3)

(4)
式(3)和式(4)中,v[n]為tn時刻的瞬時速度,a[n]為tn時刻的加速度,s[n]為0-tn時間段的累計位移。
MEMS加速度傳感器的輸出數(shù)據(jù)為x、y、z三個方向的加速度,根據(jù)式(3)、式(4)可分別計算出手部在tn時刻沿加速度傳感器x、y、z三軸方向上的瞬時速度:
(5)
(6)
(7)
同理,可求出手部在tn時刻沿加速度傳感器x、y、z方向的運動位移分別如式(8)-式(10)所示:

(8)

(9)

(10)
則tn時刻手部的空間位置坐標(biāo)為:(sx[n],sy[n],sz[n])。因此,通過連線各個時刻的空間位置坐標(biāo)點就可得出手部在三維空間的運動軌跡。
2.2重力加速度分量濾除
操作者在操作手勢時可能會出現(xiàn)空中翻轉(zhuǎn),這時重力加速度會在加速度傳感器x、y軸上產(chǎn)生分量,z軸上的加速度也不再是重力加速度g。此時用式(5)至式(10)計算得出的結(jié)果會出現(xiàn)嚴(yán)重誤差。這就需要在積分計算前先濾除重力加速度在加速度傳感器x、y、z三軸上的分量。
重力加速度在加速度傳感器各軸的分量可通過姿態(tài)矩陣算出,姿態(tài)矩陣的求解算法一般有三參數(shù)法,又稱歐拉角法、方向余弦法、四元參數(shù)法。董威的六軸MEMS傳感器空間定位與實現(xiàn)[7]中就用到了歐拉角法,但是歐拉角法中涉及到三角運算,運算量較大。方向余弦法的姿態(tài)微分方程包含九個未知量的線性微分方程,機上計算不易實現(xiàn)。與歐拉角法比,四元參數(shù)法比歐拉角法多解一個微分方程,但是沒有三角運算,降低了計算量,而且也避免了歐拉角法會出現(xiàn)的奇異問題[8]。
綜上,這里我們選擇四元參數(shù)法來計算姿態(tài)矩陣。
絕對坐標(biāo)系與相對坐標(biāo)系之間的轉(zhuǎn)換關(guān)系可以用四元數(shù)Q來表示,即:
Q=q0+q1ib+q2jb+q3kb
(11)
四元數(shù)微分方程為:
(12)
式(9)的矩陣形式為:
(13)
式(10)即為四元微分方程,式中wx、wy、wz為陀螺儀的輸出分量。通過該微分方程可求出參數(shù)q0、q1、q2、q3,根據(jù)姿態(tài)矩陣可將g在相對坐標(biāo)系中各軸上的分量求出,分量gx、gy、gz為:
(14)
所以,在對加速度進行積分運算之前需要用測得的加速度減去重力加速度在該軸上的分量,得到手部在各個方向的實際加速度。通過積分運算求得Δt時間內(nèi)手部在相對空間中的位移,然后再次用姿態(tài)矩陣求出手部在絕對空間中的位移,最終通過迭代得出手部在絕對空間中的運動軌跡。
3.1獲取數(shù)據(jù)
通過簡單手機APP獲取手機內(nèi)置加速度傳感器和陀螺儀傳感器的數(shù)據(jù)。手機APP中的傳感器類型采用的是SensorManager.SENSOR_DELAY_GAME,每隔20ms獲取一次傳感器數(shù)據(jù),并通過無線網(wǎng)絡(luò)實時將數(shù)據(jù)發(fā)送到PC端,同時PC端實時接收發(fā)送過來的數(shù)據(jù)并進行處理得到運動軌跡。所以手部運動的空間位置坐標(biāo)是實時計算出來的,即運動軌跡不受時間序列的限制。
如表1所示,為PC端接收到的加速度傳感器的部分原始數(shù)據(jù),每一行為一組數(shù)據(jù),ax、ay、az分別為加速度傳感器在x、y、z三軸上的加速度值,單位m/s2。從上向下為加速度傳感器數(shù)據(jù)隨著時間的變化過程,時間間隔為20ms。

表1 加速度傳感器部分輸出數(shù)據(jù)
如表2所示,為PC端接收到的陀螺儀傳感器的部分原始數(shù)據(jù),每一行為一組數(shù)據(jù),wx、wy、wz分別為陀螺儀傳感器在x、y、z三軸上的角速度值,單位rad/s。同理,從上向下為陀螺儀傳感器數(shù)據(jù)隨著時間的變化過程,時間間隔為20 ms。

表2 陀螺儀傳感器部分輸出數(shù)據(jù)

續(xù)表2
3.2數(shù)據(jù)處理
(1) 根據(jù)式(13)求出各時刻對應(yīng)的q0,q1,q2,q3。
(2) 根據(jù)式(14)求出重力加速度分別在相對坐標(biāo)系x、y、z方向的分量gx,gy,gz。
(3) 用傳感器的加速度ax,ay,az分別減去重力加速度在各自軸上的分量gx,gy,gz,得到相對空間各軸上的實際加速度。
(4) 通過式(1)和式(2)對加速度進行積分,得到手部在相對空間中的移動位移。
(5) 根據(jù)式(14)求出手部在絕對空間的移動位移。
通過迭代運算最后可得手部在絕對空間的運動軌跡,如圖5-圖10所示為實驗中抽取的6個軌跡示意圖。x軸為手部沿絕對坐標(biāo)系x軸方向的位移,單位m。y軸為手部沿絕對坐標(biāo)系y軸方向的位移,單位m。z軸為手部沿絕對坐標(biāo)系z軸方向的位移,單位m。

圖5 運動軌跡 圖6 運動軌跡

圖7 運動軌跡 圖8 運動軌跡

圖9 運動軌跡 圖10 運動軌跡
本文提出一種將加速度傳感器數(shù)據(jù)轉(zhuǎn)換成空間數(shù)據(jù)的方法來代替一般方法中對每個手勢加速度特征的分析,然后通過識別手部的運動軌跡來識別手勢。利用陀螺儀傳感器來消除設(shè)備姿態(tài)對手勢運動軌跡的影響,得到手部在絕對空間的運動軌跡。在后續(xù)的研究中可利用深度學(xué)習(xí)的方法對手勢數(shù)據(jù)進行訓(xùn)練,從而提取每個手勢的特征。相比之前的方法,該方法減少了對手勢的運動學(xué)分析,不用人工為每個手勢設(shè)定特征值,省去了對每個手勢的運動學(xué)分析,使得用戶可以通過訓(xùn)練自定義手勢,方便了用戶的操作。
[1] 肖茜, 楊平, 徐立波. 一種基于MEMS慣性傳感器的手勢識別方法[J]. 傳感技術(shù)學(xué)報, 2013, 26(5):611-615.
[2] Xu R, Zhou S, Li W J. MEMS accelerometer based nonspecific-user hand gesture recognition[J]. IEEE Sensors Journal, 2012, 12(5):1166-1173.
[3] 王原, 湯勇明, 王保平. 基于加速度傳感器的大手勢集手勢識別算法改進研究[J]. 傳感技術(shù)學(xué)報, 2013(10):1345-1351.
[4] Campbell. A survey of mobile phone sensing[J]. Comm Mag, 2010,48(9):140-150.
[5] Wang X, Tarrío P, Metola E, et al. Gesture recognition using mobile phone’s inertial sensors[C]. Distributed Computing and Artificial Intelligence, 2012.
[6] 何永勃, 賈輝, 姜坤,等. 基于Android終端陀螺儀傳感器的無人機飛行姿態(tài)控制[J].傳感技術(shù)學(xué)報, 2015(4):476-478.
[7] 董威.六軸MEMS傳感器空間定位設(shè)計與實現(xiàn)[J].計算機技術(shù)與發(fā)展,2014,29(7):73-77.
[8] 宋麗君.基于MEMS器件的航向姿態(tài)測量系統(tǒng)的研究[D].西北工業(yè)大學(xué), 2007:46-47.
THREE-DIMENSIONAL SPACE TRAJECTORY EXTRACTION METHOD BASED ON MEMS SENSOR
Qiu LijiePeng Siwei
(College of Information Science and Technology, Beijing University of Chemical Technology, Beijing 100029,China)
The general approaches of MEMS sensor-based gesture recognition are to find the acceleration characteristics of each gesture through kinematic analysis on every gesture, and then use them as the characteristic values of gesture recognition. This indicates that the methods require manually designed characteristic values, which is not conducive to user’s self-defined operations. In view of this, we propose a space positioning method. First, it acquires the sensor data and sends it to PC side, and then the sensor data is made the integration processing on PC side to transform it into spatial data, thereby the motion trajectory of the gesture is recorded. Final results show that the method can successfully record the motion trajectory of hand, and avoid the single kinematic analysis on every gesture, this enables the user to be able to realise self-defining the gesture in subsequent studies.
Sensor dataSpatial dataGesture recognition
2015-06-24。仇立杰,碩士生,主研領(lǐng)域:基于MEMS傳感器的手勢識別算法。彭四偉,副教授。
TP301
A
10.3969/j.issn.1000-386x.2016.09.068