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

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

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

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

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

(8)

(9)

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

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

表2 陀螺儀傳感器部分輸出數據

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

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

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

圖9 運動軌跡 圖10 運動軌跡
本文提出一種將加速度傳感器數據轉換成空間數據的方法來代替一般方法中對每個手勢加速度特征的分析,然后通過識別手部的運動軌跡來識別手勢。利用陀螺儀傳感器來消除設備姿態對手勢運動軌跡的影響,得到手部在絕對空間的運動軌跡。在后續的研究中可利用深度學習的方法對手勢數據進行訓練,從而提取每個手勢的特征。相比之前的方法,該方法減少了對手勢的運動學分析,不用人工為每個手勢設定特征值,省去了對每個手勢的運動學分析,使得用戶可以通過訓練自定義手勢,方便了用戶的操作。
[1] 肖茜, 楊平, 徐立波. 一種基于MEMS慣性傳感器的手勢識別方法[J]. 傳感技術學報, 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]. 傳感技術學報, 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終端陀螺儀傳感器的無人機飛行姿態控制[J].傳感技術學報, 2015(4):476-478.
[7] 董威.六軸MEMS傳感器空間定位設計與實現[J].計算機技術與發展,2014,29(7):73-77.
[8] 宋麗君.基于MEMS器件的航向姿態測量系統的研究[D].西北工業大學, 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。仇立杰,碩士生,主研領域:基于MEMS傳感器的手勢識別算法。彭四偉,副教授。
TP301
A
10.3969/j.issn.1000-386x.2016.09.068