文獻標識碼: A
文章編號: 0258-7998(2013)01-0072-04
基于動作傳感器的人機交互不受光線遮擋和角度限制,測量單元易于嵌入片上系統(tǒng),并且更接近于自然交互方式,基于動作傳感器的人機交互已成為當前該領域的研究熱點[1-2]。業(yè)界對基于加速度傳感器的動作識別方法開展了大量的研究,基于隱馬爾可夫模型[3]、模糊神經(jīng)網(wǎng)絡[4]、模版匹配[2,5]等識別方法被廣為關注和研究。但因這些識別方法的算法復雜度偏高,手勢識別的動態(tài)實時性和識別率不理想,這些方法難以滿足手勢在線識別的要求。
本文提出一種基于區(qū)間分布概率矩陣模型的在線快速手勢識別方法,其主要優(yōu)點是:(1)把大量工作轉(zhuǎn)移到模型建立和模型優(yōu)化上面,而這些工作完全可以在PC機上完成。(2)在線識別系統(tǒng)中沒有大量復雜計算公式、遞歸運算和模版庫的存儲,極大地提高了動態(tài)實時性;(3)識別率高,實用性強。通過對日常生活中常做的12種單筆畫手勢[6]動作的在線識別,驗證了該識別方法具有很高的人機交互實時性和較強的實用性。
1 手勢識別系統(tǒng)整體架構
手勢識別系統(tǒng)流程如圖1所示,首先利用樣本數(shù)據(jù)在PC機上建立和優(yōu)化區(qū)間分布概率矩陣模型。利用戴在手指上的可穿戴數(shù)據(jù)采集和發(fā)送模塊采集手勢動作的三維加速度信號,由接收、處理和識別模塊對信號進行預處理、提取和檢測X、Y和Z軸的觀測點數(shù)據(jù)、輸出觀測序列,然后利用建立好的區(qū)間分布概率矩陣模型進行手勢識別,顯示識別結果。
2 信號預處理
2.1 動作數(shù)據(jù)自動檢測和歸一化處理
通常用戶完成一個動態(tài)的手勢動作會經(jīng)歷三個階段:開始階段、動作階段和停止階段。利用此特點可在連續(xù)的加速度數(shù)據(jù)流中檢測出手勢識別過程所需要的動作階段加速度數(shù)據(jù)流。
本文設計了一個可通過設置門限閾值自動檢測手勢動作階段加速度數(shù)據(jù)流的滑動窗口。在手勢的開始和停止階段,加速度數(shù)據(jù)流可用常量表示。在手勢的動作階段,加速度數(shù)據(jù)流會產(chǎn)生明顯的變化。設A(t)=[ax(t), ay(t),az(t)]為t時刻采集的三軸加速度數(shù)值。Threshold為設置的門限閾值。將A(t)和前n個采樣點逐個進行比較, 若‖A(t)-A(t-n)‖≥threshold,則可判斷t時刻的采樣點A(t)為動作階段的數(shù)據(jù)點,這樣即可檢測包含運動信息的動作階段的數(shù)據(jù)點。
在實際數(shù)據(jù)檢測中,設置2個閾值(開始閾值和結束閾值),較大的開始閾值有利于濾除噪聲數(shù)據(jù),較小的結束閾值可以確保動作階段數(shù)據(jù)傳輸?shù)耐暾訹7]。
由于人的手勢動作幅度不固定,尤其是不同人做同一個手勢動作時,加速度數(shù)據(jù)幅度相差比較大,所以必須對采集的手勢動作加速度數(shù)據(jù)進行歸一化處理,以降低手勢動作加速度數(shù)據(jù)幅度變化差異對識別結果的影響,從而可以降低識別難度,提高識別精度。本文采用的是線性函數(shù)轉(zhuǎn)換法,yi=(xi-MinValue)/(MaxValue-MinValue)其中xi、yi分別為樣本中第i個點處轉(zhuǎn)換前、后的值,MaxValue、MinValue分別為樣本中的最大值和最小值。
2.2 插值法歸整數(shù)據(jù)采樣頻率
由于不同人完成同一種手勢動作的快慢不同,而且同一個人完成同一種手勢動作的快慢也不盡相同,而系統(tǒng)的采樣頻率是固定的,相同的手勢動作如果完成快,則采集的數(shù)據(jù)點較少;反之,如果完成速度慢,則采集的數(shù)據(jù)點較多。這樣就增加了識別難度,但是,對于同一種手勢動作,無論采集到的數(shù)據(jù)點多少,它的整體變化規(guī)律是相似的。為了簡化識別過程,降低識別難度,本文通過插值法把一個完整手勢動作數(shù)據(jù)點擴充到同一長度來消除人為速度干擾因素對識別率的影響。
本文采用三次樣條插值法[8](簡稱spline插值)對手勢動作數(shù)據(jù)點進行擴充。三次插值法既保留了分段低次插值多項式的簡單、穩(wěn)定和收斂等優(yōu)點,又提高了插值函數(shù)的光滑性,從而不會造成原始數(shù)據(jù)失真。插值效果如圖2所示。
3 PC機建立區(qū)間分布概率矩陣初始模型
3.1特征區(qū)間提取
3.1.1觀測點的選擇
在經(jīng)過本文上述數(shù)據(jù)預處理之后,所有手勢動作加速度數(shù)據(jù)長度標準化為H0=50。本文選擇加速度值作為特征量,所以需要確定一些特定的觀測點(即需要確定一些特定的采樣點)來提取不同手勢的加速度信息。在選擇觀測點時,盡量做到在同一個觀測點處,相同手勢動作的加速度數(shù)值變化幅度較小。以X軸為例,根據(jù)手勢在X軸上加速度數(shù)據(jù)的特征分布,選取K個觀測點:O1,O2,…,Ok。
3.1.2 特征區(qū)間的定義
設有M個手勢,共N個樣本(每種手勢有N/M個樣本),那么在觀測點Ok處,由N/M個觀測值構成每個手勢的分布區(qū)間?贅。統(tǒng)計M個手勢的區(qū)間的分布情況后,確定M個手勢的觀測值的分布區(qū)間?孜,將?孜劃分成S個子區(qū)間(左閉右開型):R1,R2,…,Rs。子區(qū)間就稱為M個手勢在觀測點Ok處的特征區(qū)間。
3.1.3 提取特征區(qū)間
以本文的12種手勢為例,闡述提取過程。隨機為每個手勢選取了10個樣本,在X軸上觀測點O1=10處,12種手勢的觀測值分布如圖3所示。根據(jù)這個分布統(tǒng)計出加速度最大值和最小值,就可以知道此時所有樣本觀測值的集中分布的范圍。然后再把這個分布區(qū)間范圍等間隔分為了5個子區(qū)間(即特征區(qū)間),則12種手勢的所有樣本(120個)在觀測點處的加速度值都會落入這些子區(qū)間:R1,R2,R3,R4,R5。
3.1.4 區(qū)間分布概率矩陣及模型的定義
同一種手勢的不同樣本,在同一個觀測點處的觀測值可能會落入不同的特征區(qū)間。以圖3為例,在觀測點O1=10處,手勢11的10個樣本觀測值落入了R2,R3,R4 3個特征區(qū)間,但是有的區(qū)間落入的觀測值多(如R2,7個),有的區(qū)間落入的觀測值少(如R4,1個),從統(tǒng)計學的角度講,手勢11的10個樣本在觀測點處的觀測值落入R2,R3,R4 3個特征區(qū)間的概率不同。不同的手勢在觀測點O1=10處又有不同的情況。能夠表示不同手勢和不同樣本在同一個觀測點處的觀測值落入不同特征區(qū)間的概率分布情況(下文有詳細建立過程)的矩陣稱之為區(qū)間分布概率矩陣。在X、Y和Z軸上的所有觀測點處的區(qū)間分布概率矩陣構成了本文手勢識別方法的區(qū)間分布概率矩陣模型。
(3)用以上步驟分別為X、Y和Z軸上各觀測點建立區(qū)間分布概率矩陣,這些矩陣構成了區(qū)間分布概率矩陣初始模型(在X、Y和Z軸上選取的觀測點可以不一樣)。
3.3 模型優(yōu)化
為了提高識別率,還需要對各觀測點對應的區(qū)間分布概率矩陣進行優(yōu)化訓練。在區(qū)間分布概率矩陣初始模型已有的N個樣本中繼續(xù)添加新的訓練樣本。每添加一個新的訓練樣本,在各觀測點處就會生成一個新的區(qū)間分布概率矩陣。例如,在X軸上第k個觀測點處會生成一個新的區(qū)間分布概率矩陣Ak1[i,j]。隨著訓練樣本的添加,各觀測點處的區(qū)間分布概率矩陣會趨于一個常數(shù)矩陣,這時達到了最優(yōu)模型,此時的區(qū)間分布概率矩陣模型可以用到手勢的在線識別中。
4 在線識別
在線識別過程如下:
(1) 信號預處理和檢測各觀測點處對應的特征區(qū)間。以X軸為例,當某一手勢數(shù)據(jù)輸入時,首先經(jīng)過信號預處理,然后檢測X軸上各觀測點處觀測值對應的特征區(qū)間,輸出觀測序列O={O1,O2,…,Ok}。例如,在第一個觀測點處觀測值對應的特征區(qū)間為R2,則O1=R2。
(3) 將以上識別過程在X、Y、Z軸上分別實現(xiàn)。
5 實驗結果與評價
為了使傳感器與測量點之間盡可能地相對穩(wěn)定,避免因手勢的變化引起傳感器偏離原始測量位置,使識別結果產(chǎn)生較大誤差,本系統(tǒng)中,把數(shù)據(jù)采集和發(fā)送模塊做成了一個小巧的戒指,通過無線的方式將采集到的數(shù)據(jù)實時地發(fā)送給微處理器進行處理和識別。實驗時,將戒指模塊戴到左手或右手食指的第二節(jié),這樣,MMA7361L加速度傳感器相對于手指的位置是固定的。
實驗中選用了30名志愿者,每個志愿者在自己習慣和放松的狀態(tài)下,以正常的速度勻速執(zhí)行預定義的12種手勢,每種手勢重復做10次,實驗中隨機選取了5次動作進行訓練優(yōu)化模型,其余的5次動作進行測試,共采集了3 600組樣本數(shù)據(jù)。
實驗結果如表2所示。平均識別率為97.94%,手腕向下、手腕向上和右旋轉(zhuǎn)的識別率最高為100%,手腕向右的識別率最低為94.7%。為了更好地說明本文的識別方法在識別率和實時效果上比其他算法更具有優(yōu)勢,實驗中同時用HMM和DTW算法對這12中手勢進行了識別,平均識別率分別為79.08%和85.2%,并且延時比較明顯。基于本文識別方法對手勢動作的整體識別率較高,實施效果好,說明本文的識別方法能有效實時地完成人機動態(tài)交互。
本文通過對加速度傳感器MMA7361L采集到的手勢動作加速度數(shù)據(jù)的分析,經(jīng)過動作數(shù)據(jù)自動檢測、歸一化和三次樣條插值預處理,最后根據(jù)完成相同手勢動作得到的三維加速度數(shù)據(jù)變化規(guī)律的相似性,提出一種基于區(qū)間分布概率矩陣模型的動態(tài)手勢識別方法,簡化了傳統(tǒng)算法識別過程的復雜度,成功地降低了手勢識別難度,從而提高了基于加速度傳感器手勢識別的人機交互實時性,在一定程度上解決了動態(tài)實時性與識別率的相互矛盾性。
參考文獻
[1] 荊雷,馬文君,常丹華.基于動態(tài)時間規(guī)整的手勢加速度信號識別[J].傳感技術學報,2012,25(1):72-76.
[2] 楊先軍,王昌喜,潘磊,等.基于三維加速度信息的上肢動作質(zhì)量評價的研究[J].傳感技術學報,2010,23(12):1709-1712.
[3] CARIDAKIS G, KARPOUZIS K. SOM: self organizing markov map for gesture recognition[J]. Pattern recognition letters, 2010,31(1):52-59.
[4] CHOWHAN S S, KULKARNI U V, SHINDE G N, et al. Iris recognition using modified fuzzy hypersphere neural network with different distance measures[J]. International Journal of Advanced Computer Sciences and Applications, 2011,2(6):130-134.
[5] ZHANG S Q,YUAN C, et al. Self-defined gesture recognition on keyless handheld devices using MEMS 3D acce lerometer[C].In Proceedings of International Conference on Natural Computation. IEEE. 2008(4):237-241.
[6] JING L, ZHOU Y, et al. A recognition method for onestroke finger gestures using a MEMS 3D accelerometer[C]. IEICE Tran on Information, 2011,E94-D(5):1062-1072.
[7] 劉蓉,劉明. 基于三軸加速度傳感器的手勢識別[J].計算機工程,2012,37(24):141-143.
[8] 劉為,高尚. 一種新條件下的三次樣條插值[J]. 信息技術,2011(8):23-28.