荊 雷,馬文君,常丹華
(燕山大學信息科學與工程學院,河北秦皇島066004)
基于加速度傳感器的手勢識別是近年來人機交互領域中新興起的前沿研究方向之一。主流的研究手勢識別方法有兩種:一種是基于圖像的識別方法,另一種是基于運動傳感器(主要是加速度傳感器)的識別方法。目前,國內研究手勢識別的方法主要是基于圖像的手勢識別[1-2],這種方法對設備要求高、資金投入大,并且限于在特定場所使用。近年來,隨著傳感器技術的發展及其制作工藝的改進,基于加速度傳感器的手勢識別正日益興起。加速度傳感器不僅具有尺寸小、精度高、功耗低等優點,更具有不受運動場地和環境限制的優點。這就使得基于運動傳感器的手勢研究更為方便。因此,具有更為廣闊的應用前景[3]。
在手勢識別系統中較為廣泛使用的是隱馬爾科夫模型(HMM,Hidden Markov Model)識別法[4]和模糊神經網絡(FNN,Fuzzy Neural Network)[5]等復雜算法,但這些算法對手勢識別精度不高。鑒于此,本設計采用了一種更簡單的手勢識別算法,即基于模板匹配思想的算法,采用動態時間規整(DTW,Dynamic Time Warping)算法來計算手勢之間的相似度,根據相似度的大小來識別簡單手勢。運用上述識別算法,本設計在實現時識別了五種簡單的手勢動作,分別為:橫(→)、豎(↓)、畫圓(○)、打鉤(√)、畫叉(×)。
本設計的硬件實驗裝置主要有兩部分:數據采集模塊和數據接收模塊。數據采集模塊將加速度傳感器采集來的數據以無線的方式傳送給數據接收模塊;數據接收模塊將接收到的數據通過RS232串口傳送到計算機上進行處理。圖1為硬件實驗裝置的結構圖。

圖1 實驗裝置結構圖
本設計硬件采用由日本Aichi Steel Corporation公司生產的AMI602D加速度傳感器,來獲取手勢執行時產生的加速度信號。加速度傳感器采樣頻率為100HZ,量程為±2 gn。其體積小(6.2 mm×4.2 mm×1.2 mm),集成度高(內部還集成了地磁傳感器)。
實驗裝置采用德州儀器(TI)公司生產的CC1110-F32無線收發芯片,來實現加速度信號的無線傳輸功能。該芯片內集成了收發功能,并且具有低功耗,數據傳輸速度快(數據傳輸率500kbps)等優點。整個數據采集系統的功耗也是很低的,其工作時只需用一節3.7V的鋰電池來供電。
和其他手勢數據采集系統[6-7]相比,本文的硬件系統具有以下優點:對手勢加速度信號進行無線實時傳輸,減少測量過程中對使用者的束縛,提高了測量準確性;采用了具有數字接口的加速度傳感器,其內部自帶模數轉換功能,省去了A/D轉換,提高了系統的可靠性。加速度傳感器的準確與否直接影響到系統的性能,而環境溫度又是影響加速度傳感器準確度的重要因素[8],AMI602D加速度傳感具有自動的溫度補償功能,所以,該硬件系統具有較高的準確性。與圖像方法所需的攝像裝置相比,該裝置成本低、體積小、便于攜帶,不需限定測試環境,不影響人的正常活動[9]。
加速度傳感器本身具有測量誤差,但其靈敏度和精度遠遠高于應用的需求,而且外界干擾對其影響也不是非常嚴重,因此無需進行自相關等復雜運算[10],本實驗裝置采用的是數字接口的加速度傳感器,在原則上是不需要濾波的,但是為了得到較好的實驗結果,在實驗時本文將實驗數據進行了簡單濾波。以下是對信號的預處理:①由于執行的手勢動作只需在平面內即可實現,所以在識別時舍去與書寫平面垂直軸的數據,只對平面內兩個軸的數據進行識別,從而減少計算的復雜度[11]。②使用一個三階的巴特渥茲低通濾波器對加速度信號進行濾波,從而去除在手勢測量過程中加速度傳感器受到身體晃動所造成的小幅度高頻干擾[12]。③除去測量開始和結束時的靜止狀態信號,僅保留動態的手勢信號。
本設計實驗裝置采用的是AMI602D三軸加速度傳感器,但識別的動作圖形均為平面圖形,為了減少計算量和降低計算復雜度,因此在特征提取時只提取X軸和Y軸的數據,舍去Z軸的數據。本設計對一個動態手勢提取特征,是獲取其X軸和Y軸的所有特征點的原始時間序列{t1,t2,…,tn}和加速度幅值序列{M1,M2,…,Mn}。由于手勢執行時間長度不等,因此在進行模板匹配時,本文使用動態時間規整算法,來計算測試模板和參考模板的相似性。
2.3.1 模板匹配基本原理
模板匹配法是模式識別中最常用的一種相似度計算與匹配的方法,在其他識別領域運用較為常見,但是在動態手勢識別中模板匹配法運用較少。如果考慮把具有不同加速度序列的手勢經過某種轉換以后作為不同的模板,則可以構建一個基于模板匹配的簡單的手勢識別系統,為了簡單和便于處理,本文采用計算歐氏距離(歐基里德距離)來進行相似度量。

計算總體失真D[T,R]時,需要考慮到模式特征值的總數是否相等的情況:
(1)N=M,這時可以依次計算n=m=1,…,n=m=N的失真并取和,即可求得總失真

(2)N≠M,這時需要將其中較小模式的用某種擴張的方法映射到較大模式序列上,然后再分別計算新的各對應特征值之間的失真,從而求得總失真D[T,R]。
2.3.2 動態時間規整
由于個體的差異性,在手勢識別的過程中,用戶進行訓練或者識別時,即使每次盡量以同樣的方式執行同一個手勢,其持續時間的長度也會隨機改變。因此,如果直接用特征矢量序列來進行相似性比較,其效果不可能是最佳的。需要對特征參數序列模式重新進行時間的對準,在模板匹配中使用動態時間規整(DTW)算法可以有效地解決這個問題。
設測試模板T共有N個特征矢量,參考模板R有M個特征矢量,將測試模板和參考模板的特征矢量號分別在坐標系的橫軸和縱軸上標出,則各個特征矢量號之間的關系可以形成一個網格,網格中的任何一個交叉點(n,m)表示測試模板的T(n)和參考模板R(m)的相交,并且該交叉點擁有失真度為D[T(n),R(m)],如圖2 所示。

圖2 動態時間規整算法求最小失真
動態時間規整算法是要尋找一條通過各個交叉點的從起始點到終止點的最佳路徑,使得該路徑上所有交叉點的失真度總和達到最小。
上述搜索過程中路徑的選擇并不是任意的。首先,考慮到實際手勢的操作情況,雖然快慢會有所變換,但是各個部分先后次序不可能顛倒,因此上述路徑必然從左下角出發,終止于右上角;其次,為了防止盲目的搜索,一般不容許有向橫軸或縱軸過分傾斜的路徑,而且一般對路徑中各點處路徑斜率的最大、最小值做出規定,通常規定最大斜率為2,最小斜率取為1/2。圖3所示的外邊框平行四邊形說明了DTW算法的搜索范圍。

圖3 動態時間規整中的路徑搜索

定義路徑代價函數d[(ni,mi)],其意義為從起始點(n0,m0)出發到當前點(ni,mi)的各點失真累計值,有如下遞推公式:

其中,D[T(ni),R(mi)]為當前點(ni,mi)對應的 T(ni)和 R(mi)失真,d[(ni-1,mi-1)]為前一點(ni-1,mi-1)的路徑代價函數。
由上面的遞推公式,即可求得從起始點到終止點的最佳路徑,計算出長度不同的特征序列之間的最小失真度總和 D[T,R]=d[N,M]。
圖4為各手勢加速度信息經過信號預處理后的加速度幅值波形,其中橫軸為時間t/s,縱軸為加速度幅值M/gn,圖中實線為加速度傳感器X軸方向的幅值變化,虛線為加速度傳感器Y軸方向的幅值變化。圖4中手勢順序依次為:橫(→)、豎(↓)、畫圓(○)、打鉤(√)、畫叉(×)。

圖4 各手勢加速度幅值波形
由圖4可以看出,各個手勢執行的時間長度是不同的。因此,為減少計算量和加快識別速度,在執行動態時間規整時先判斷測試模板和參考模板之間時間序列是否相差過多,如相差時間在設定范圍之內則進行動態時間規整,計算失真的最小距離;反之則匹配失敗。通過動態時間規整(DTW)算法計算出測試模板與各個參考模板之間總的失真距離D[T,R]的最小值,再在這些最小值中比較,取出最小的一個,與之對應的參考模板即為識別結果。
實驗中選用了41名志愿者,共采集了2050組樣本數據。每個志愿者以自己的習慣正常速度執行5個簡單手勢,并重復采集10次。建立模板時隨機選用了15個人的750組數據,分別對五種手勢進行建模。驗證測試階段選用了其余26個人的1300組數據對所構造的模型進行測試。表1列出的是五種手勢的識別結果。

表1 DTW算法的手勢識別結果
由表1可得知,DTW識別算法在簡單手勢的識別中,該算法具有較高的識別率和準確性。為了更好的說明DTW識別算法在識別率上比其他算法更具有優勢。實驗中同時也用HMM算法對這五種手勢進行了識別,其識別結果如表2。

表2 HMM算法的手勢識別結果
對比表1與表2可以看出,DTW識別算法識別五種手勢的識別率都遠高于HMM識別算法,且DTW算法的平均識別率97.078%遠高于HMM識別算法的平均識別率78.616%。因此,DTW識別算法在識別率上比HMM算法更具優勢。
本文使用動態時間規整算法識別手勢,實驗結果表明,該識別算法具有較高的識別率。但本設計只在時域上對手勢加速度進行了分析,沒有對頻域信息進行提取和分析。而且,在基于模板匹配的手勢識別技術中,有多種因素會影響識別的正確率,比如手勢動作的多少、手勢模板的多少、執行手勢的穩定性(速度)等。此外,本文的結論均是離線計算得出,而手勢識別的實際應用是一個在線的判斷過程。因此,還需要對算法和硬件系統做進一步的改進。再有本設計只是識別了5種簡單的手勢,種類較少。因此還需對識別種類上做進一步研究,如識別阿拉伯數字、英文字母等。
[1] 劉俊梅,阮秋琦.一種復雜背景下的手勢分割新方法[J].北京電子科技學院學報,2006,14(2):23-27.
[2] 任海兵,祝遠新,徐光佑,等.基于視覺手勢識別的研究綜述[J].電子學報,2000,28(2):118-121.
[3] 孔俊其,王輝,張廣泉.基于加速度識別的姿態交互研究[J].蘇州大學學報(工科版),2009,29(2):23-27.
[4] Hossain M,Jenkin M.Recognizing Hand-Raiking Gestures Using HMM[C]//Computer and Robot Vision,2005:405-412.
[5] Wang Xiying,Dai Guozhong.A Vovel Method to Recognize Complex Dynamic Gesture by Combining HMM and FNN models[C]//Computational Intelligence in Image and Signal Processing,2007:13-18.
[6] Ailisto K,Lindholm M,Mantyjarvi J,et al.Identifying People from Gait Pattern with Accelerometers[C]//Proceeding of SPIE,Biometric Technology for Human identification Ⅱ.Orland,FL,United States,2005:7-14.
[7] LIU Rong,ZHOU Jianzhong,LIU Ming,et al.A Wearable Acceleration Sensor System for Gait Recognition[C]//Proceeding of 2nd IEEEC on ference on Industrial Electronics and Applications.Harbin,China,2007:2654-2569.
[8] 刑馨婷,熊磊,趙君轍,等.加速度計溫度補償方法[J].計測技術,2008,28(1):51-56.
[9] 李月香,劉燕,袁濤,等.基于加速度信號的走路模式多級分類算法[J].電子學報,2009,37(8):1794-1798.
[10]楊紅紅,毛堯輝,高滿屯,等.一種MEMS胎兒心率測量儀的設計與仿真[J].傳感技術學報,2008,21(4):547-549.
[11]李國峰,王錦,張勇,等.基于MEMS加速度傳感器的智能輸入系統[J].傳感技術學報,2009,22(5):643-646.