荊 雷,馬文君,常丹華
(燕山大學(xué)信息科學(xué)與工程學(xué)院,河北秦皇島066004)
基于加速度傳感器的手勢識別是近年來人機交互領(lǐng)域中新興起的前沿研究方向之一。主流的研究手勢識別方法有兩種:一種是基于圖像的識別方法,另一種是基于運動傳感器(主要是加速度傳感器)的識別方法。目前,國內(nèi)研究手勢識別的方法主要是基于圖像的手勢識別[1-2],這種方法對設(shè)備要求高、資金投入大,并且限于在特定場所使用。近年來,隨著傳感器技術(shù)的發(fā)展及其制作工藝的改進,基于加速度傳感器的手勢識別正日益興起。加速度傳感器不僅具有尺寸小、精度高、功耗低等優(yōu)點,更具有不受運動場地和環(huán)境限制的優(yōu)點。這就使得基于運動傳感器的手勢研究更為方便。因此,具有更為廣闊的應(yīng)用前景[3]。
在手勢識別系統(tǒng)中較為廣泛使用的是隱馬爾科夫模型(HMM,Hidden Markov Model)識別法[4]和模糊神經(jīng)網(wǎng)絡(luò)(FNN,F(xiàn)uzzy Neural Network)[5]等復(fù)雜算法,但這些算法對手勢識別精度不高。鑒于此,本設(shè)計采用了一種更簡單的手勢識別算法,即基于模板匹配思想的算法,采用動態(tài)時間規(guī)整(DTW,Dynamic Time Warping)算法來計算手勢之間的相似度,根據(jù)相似度的大小來識別簡單手勢。運用上述識別算法,本設(shè)計在實現(xiàn)時識別了五種簡單的手勢動作,分別為:橫(→)、豎(↓)、畫圓(○)、打鉤(√)、畫叉(×)。
本設(shè)計的硬件實驗裝置主要有兩部分:數(shù)據(jù)采集模塊和數(shù)據(jù)接收模塊。數(shù)據(jù)采集模塊將加速度傳感器采集來的數(shù)據(jù)以無線的方式傳送給數(shù)據(jù)接收模塊;數(shù)據(jù)接收模塊將接收到的數(shù)據(jù)通過RS232串口傳送到計算機上進行處理。圖1為硬件實驗裝置的結(jié)構(gòu)圖。
圖1 實驗裝置結(jié)構(gòu)圖
本設(shè)計硬件采用由日本Aichi Steel Corporation公司生產(chǎn)的AMI602D加速度傳感器,來獲取手勢執(zhí)行時產(chǎn)生的加速度信號。加速度傳感器采樣頻率為100HZ,量程為±2 gn。其體積小(6.2 mm×4.2 mm×1.2 mm),集成度高(內(nèi)部還集成了地磁傳感器)。
實驗裝置采用德州儀器(TI)公司生產(chǎn)的CC1110-F32無線收發(fā)芯片,來實現(xiàn)加速度信號的無線傳輸功能。該芯片內(nèi)集成了收發(fā)功能,并且具有低功耗,數(shù)據(jù)傳輸速度快(數(shù)據(jù)傳輸率500kbps)等優(yōu)點。整個數(shù)據(jù)采集系統(tǒng)的功耗也是很低的,其工作時只需用一節(jié)3.7V的鋰電池來供電。
和其他手勢數(shù)據(jù)采集系統(tǒng)[6-7]相比,本文的硬件系統(tǒng)具有以下優(yōu)點:對手勢加速度信號進行無線實時傳輸,減少測量過程中對使用者的束縛,提高了測量準確性;采用了具有數(shù)字接口的加速度傳感器,其內(nèi)部自帶模數(shù)轉(zhuǎn)換功能,省去了A/D轉(zhuǎn)換,提高了系統(tǒng)的可靠性。加速度傳感器的準確與否直接影響到系統(tǒng)的性能,而環(huán)境溫度又是影響加速度傳感器準確度的重要因素[8],AMI602D加速度傳感具有自動的溫度補償功能,所以,該硬件系統(tǒng)具有較高的準確性。與圖像方法所需的攝像裝置相比,該裝置成本低、體積小、便于攜帶,不需限定測試環(huán)境,不影響人的正?;顒樱?]。
加速度傳感器本身具有測量誤差,但其靈敏度和精度遠遠高于應(yīng)用的需求,而且外界干擾對其影響也不是非常嚴重,因此無需進行自相關(guān)等復(fù)雜運算[10],本實驗裝置采用的是數(shù)字接口的加速度傳感器,在原則上是不需要濾波的,但是為了得到較好的實驗結(jié)果,在實驗時本文將實驗數(shù)據(jù)進行了簡單濾波。以下是對信號的預(yù)處理:①由于執(zhí)行的手勢動作只需在平面內(nèi)即可實現(xiàn),所以在識別時舍去與書寫平面垂直軸的數(shù)據(jù),只對平面內(nèi)兩個軸的數(shù)據(jù)進行識別,從而減少計算的復(fù)雜度[11]。②使用一個三階的巴特渥茲低通濾波器對加速度信號進行濾波,從而去除在手勢測量過程中加速度傳感器受到身體晃動所造成的小幅度高頻干擾[12]。③除去測量開始和結(jié)束時的靜止狀態(tài)信號,僅保留動態(tài)的手勢信號。
本設(shè)計實驗裝置采用的是AMI602D三軸加速度傳感器,但識別的動作圖形均為平面圖形,為了減少計算量和降低計算復(fù)雜度,因此在特征提取時只提取X軸和Y軸的數(shù)據(jù),舍去Z軸的數(shù)據(jù)。本設(shè)計對一個動態(tài)手勢提取特征,是獲取其X軸和Y軸的所有特征點的原始時間序列{t1,t2,…,tn}和加速度幅值序列{M1,M2,…,Mn}。由于手勢執(zhí)行時間長度不等,因此在進行模板匹配時,本文使用動態(tài)時間規(guī)整算法,來計算測試模板和參考模板的相似性。
2.3.1 模板匹配基本原理
模板匹配法是模式識別中最常用的一種相似度計算與匹配的方法,在其他識別領(lǐng)域運用較為常見,但是在動態(tài)手勢識別中模板匹配法運用較少。如果考慮把具有不同加速度序列的手勢經(jīng)過某種轉(zhuǎn)換以后作為不同的模板,則可以構(gòu)建一個基于模板匹配的簡單的手勢識別系統(tǒng),為了簡單和便于處理,本文采用計算歐氏距離(歐基里德距離)來進行相似度量。
計算總體失真D[T,R]時,需要考慮到模式特征值的總數(shù)是否相等的情況:
(1)N=M,這時可以依次計算n=m=1,…,n=m=N的失真并取和,即可求得總失真
(2)N≠M,這時需要將其中較小模式的用某種擴張的方法映射到較大模式序列上,然后再分別計算新的各對應(yīng)特征值之間的失真,從而求得總失真D[T,R]。
2.3.2 動態(tài)時間規(guī)整
由于個體的差異性,在手勢識別的過程中,用戶進行訓(xùn)練或者識別時,即使每次盡量以同樣的方式執(zhí)行同一個手勢,其持續(xù)時間的長度也會隨機改變。因此,如果直接用特征矢量序列來進行相似性比較,其效果不可能是最佳的。需要對特征參數(shù)序列模式重新進行時間的對準,在模板匹配中使用動態(tài)時間規(guī)整(DTW)算法可以有效地解決這個問題。
設(shè)測試模板T共有N個特征矢量,參考模板R有M個特征矢量,將測試模板和參考模板的特征矢量號分別在坐標系的橫軸和縱軸上標出,則各個特征矢量號之間的關(guān)系可以形成一個網(wǎng)格,網(wǎng)格中的任何一個交叉點(n,m)表示測試模板的T(n)和參考模板R(m)的相交,并且該交叉點擁有失真度為D[T(n),R(m)],如圖2 所示。
圖2 動態(tài)時間規(guī)整算法求最小失真
動態(tài)時間規(guī)整算法是要尋找一條通過各個交叉點的從起始點到終止點的最佳路徑,使得該路徑上所有交叉點的失真度總和達到最小。
上述搜索過程中路徑的選擇并不是任意的。首先,考慮到實際手勢的操作情況,雖然快慢會有所變換,但是各個部分先后次序不可能顛倒,因此上述路徑必然從左下角出發(fā),終止于右上角;其次,為了防止盲目的搜索,一般不容許有向橫軸或縱軸過分傾斜的路徑,而且一般對路徑中各點處路徑斜率的最大、最小值做出規(guī)定,通常規(guī)定最大斜率為2,最小斜率取為1/2。圖3所示的外邊框平行四邊形說明了DTW算法的搜索范圍。
圖3 動態(tài)時間規(guī)整中的路徑搜索
定義路徑代價函數(shù)d[(ni,mi)],其意義為從起始點(n0,m0)出發(fā)到當前點(ni,mi)的各點失真累計值,有如下遞推公式:
其中,D[T(ni),R(mi)]為當前點(ni,mi)對應(yīng)的 T(ni)和 R(mi)失真,d[(ni-1,mi-1)]為前一點(ni-1,mi-1)的路徑代價函數(shù)。
由上面的遞推公式,即可求得從起始點到終止點的最佳路徑,計算出長度不同的特征序列之間的最小失真度總和 D[T,R]=d[N,M]。
圖4為各手勢加速度信息經(jīng)過信號預(yù)處理后的加速度幅值波形,其中橫軸為時間t/s,縱軸為加速度幅值M/gn,圖中實線為加速度傳感器X軸方向的幅值變化,虛線為加速度傳感器Y軸方向的幅值變化。圖4中手勢順序依次為:橫(→)、豎(↓)、畫圓(○)、打鉤(√)、畫叉(×)。
圖4 各手勢加速度幅值波形
由圖4可以看出,各個手勢執(zhí)行的時間長度是不同的。因此,為減少計算量和加快識別速度,在執(zhí)行動態(tài)時間規(guī)整時先判斷測試模板和參考模板之間時間序列是否相差過多,如相差時間在設(shè)定范圍之內(nèi)則進行動態(tài)時間規(guī)整,計算失真的最小距離;反之則匹配失敗。通過動態(tài)時間規(guī)整(DTW)算法計算出測試模板與各個參考模板之間總的失真距離D[T,R]的最小值,再在這些最小值中比較,取出最小的一個,與之對應(yīng)的參考模板即為識別結(jié)果。
實驗中選用了41名志愿者,共采集了2050組樣本數(shù)據(jù)。每個志愿者以自己的習(xí)慣正常速度執(zhí)行5個簡單手勢,并重復(fù)采集10次。建立模板時隨機選用了15個人的750組數(shù)據(jù),分別對五種手勢進行建模。驗證測試階段選用了其余26個人的1300組數(shù)據(jù)對所構(gòu)造的模型進行測試。表1列出的是五種手勢的識別結(jié)果。
表1 DTW算法的手勢識別結(jié)果
由表1可得知,DTW識別算法在簡單手勢的識別中,該算法具有較高的識別率和準確性。為了更好的說明DTW識別算法在識別率上比其他算法更具有優(yōu)勢。實驗中同時也用HMM算法對這五種手勢進行了識別,其識別結(jié)果如表2。
表2 HMM算法的手勢識別結(jié)果
對比表1與表2可以看出,DTW識別算法識別五種手勢的識別率都遠高于HMM識別算法,且DTW算法的平均識別率97.078%遠高于HMM識別算法的平均識別率78.616%。因此,DTW識別算法在識別率上比HMM算法更具優(yōu)勢。
本文使用動態(tài)時間規(guī)整算法識別手勢,實驗結(jié)果表明,該識別算法具有較高的識別率。但本設(shè)計只在時域上對手勢加速度進行了分析,沒有對頻域信息進行提取和分析。而且,在基于模板匹配的手勢識別技術(shù)中,有多種因素會影響識別的正確率,比如手勢動作的多少、手勢模板的多少、執(zhí)行手勢的穩(wěn)定性(速度)等。此外,本文的結(jié)論均是離線計算得出,而手勢識別的實際應(yīng)用是一個在線的判斷過程。因此,還需要對算法和硬件系統(tǒng)做進一步的改進。再有本設(shè)計只是識別了5種簡單的手勢,種類較少。因此還需對識別種類上做進一步研究,如識別阿拉伯數(shù)字、英文字母等。
[1] 劉俊梅,阮秋琦.一種復(fù)雜背景下的手勢分割新方法[J].北京電子科技學(xué)院學(xué)報,2006,14(2):23-27.
[2] 任海兵,祝遠新,徐光佑,等.基于視覺手勢識別的研究綜述[J].電子學(xué)報,2000,28(2):118-121.
[3] 孔俊其,王輝,張廣泉.基于加速度識別的姿態(tài)交互研究[J].蘇州大學(xué)學(xué)報(工科版),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,F(xiàn)L,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].計測技術(shù),2008,28(1):51-56.
[9] 李月香,劉燕,袁濤,等.基于加速度信號的走路模式多級分類算法[J].電子學(xué)報,2009,37(8):1794-1798.
[10]楊紅紅,毛堯輝,高滿屯,等.一種MEMS胎兒心率測量儀的設(shè)計與仿真[J].傳感技術(shù)學(xué)報,2008,21(4):547-549.
[11]李國峰,王錦,張勇,等.基于MEMS加速度傳感器的智能輸入系統(tǒng)[J].傳感技術(shù)學(xué)報,2009,22(5):643-646.