基于穿戴式輸入系統的手指敲擊識別算法

    金純1,2   賈珍梅1

1.重慶郵電大學通信與信息工程學院,無線傳輸重點實驗室,重慶 4000652.重慶金甌科技發展有限責任公司,重慶 400041

摘要:隨著穿戴式接收設備的發展,與其配套的輸入設備也要求更加便攜和小型化。基于此,本文設計了一款穿戴式輸入系統,系統包括十個指環,指環上集成有MEMS傳感器、微處理器、藍牙通信模塊、電池。操作者佩戴該指環鍵盤通過慣性傳感器檢測手指的敲擊動作,并根據設定的輸入法實現文本的輸入。另外,針對該系統操作的特點,本文還提出一種手指敲擊識別算法,以實現對敲擊動作的識別,通過驗證,該算法可實現96%以上的敲擊識別率。

關鍵詞:穿戴式;指環鍵盤;手指敲擊;識別率

中圖分類號 TP391.4    文獻標識碼 A  

Finger Tapping Recognition Algorithm based on Wearable Input System

JIN Chun1.2 ,JIA Zhenmei1

(1.Wireless Transmission Key Laboratory, School of Communication & Information Engineering, Chongqing University of Posts & Telecommunications, Chongqing 400065, China; 2.Chongqing Jinou Science&Technology Development Co. , Ltd. ,Chongqing 400041, China)

Abstract: With the development of wearable receiving equipment, input devices matching which require more portable and miniaturization. So a wearable input system was designed in the paper, the system consists of ten rings integrated with MEMS sensor, microprocessor, Bluetooth communication module and battery. Figure tapping movement was detected by inertial sensors on the ring and text input was implemented according to the text input method. In addition, according to the characteristics of the system operation, in order to realize the recognition of percussion action , a finger tapping recognition algorithm was presented, through the verification, the rate of recognition is more than 96%.

Key words: wearable; ring keyboard; figure tapping; recognition rate

0.引言

隨著計算環境的快速發展,迫切需要一種新的人機交互系統。由于我們和世界主要的物理連接是通過我們的手實現的,因此當我們在使用計算機工作或計算系統時,就會受到笨拙的中間設備(例如鍵盤、鼠標、游戲標桿等)的限制,其中鍵盤是我們最熟悉并被廣泛使用的輸入設備。盡管目前QWERTY鍵盤仍舊被廣泛使用,但對于便攜式計算系統(例如穿戴式和移動計算系統)而言,這種鍵盤就顯得笨拙、不方便。因此,早在1980s,就有很多研究者開始研究便攜式計算機輸入系統[1][2],發展到現在出現了各種可穿戴的輸入設備。例如,手臂鍵盤、虛擬鍵盤、Kordic小型鍵盤[3],研究表明手臂鍵盤文本輸入的準確性和輸入效率高于另外兩種鍵盤,雖然他們均實現了穿戴式要求,但其體積仍舊比較大,不便于隨身攜帶;因此,其他研究人員開發了更便于攜帶的手套式鍵盤和指環狀鍵盤,其原理均采用手指敲擊組合的方式實現文本的輸入[4][5],人機交互的特征更加明顯,但是當操作者佩戴這兩種鍵盤進行文本輸入時,需要記憶大量手指組合所代表的事件或字符,增加了用戶使用的復雜度,不便于推廣使用。基于此,結合上述鍵盤存在的優點和不足,本文設計了一款指環鍵盤,操作者佩戴十個指環[6],每個手指敲擊時的輸入與敲擊現有桌面鍵盤是一致的,因此在使用時不需重新記憶手指組合代表的含義,只需根據盲打時手指的敲擊即可實現文本的輸入。

該操作系統中手指的敲擊動作是由指環上的傳感器進行檢測的,但是,當操作者佩戴指環、手指傾斜時的非敲擊動作也可能被傳感器誤認為是敲擊動作,從而降低文本文輸入的準確率。因此,為解決上述問題,本文提出一種手指敲擊識別算法,以實現對敲擊動作的有效識別。

1. 系統的設計與實現

本文提出的系統是一種穿戴式輸入設備,操作者雙手佩戴該輸入設備,通過敲擊手指實現文本的輸入。該系統包括有加速度傳感器和陀螺儀組成的檢測模塊,微處理器、鋰電池以及藍牙通信模塊。其中檢測模塊采用ADI公司成產的ADXL345三軸數字加速度傳感器作為手指敲擊檢測設備,微處理器所用型號為STM8L151G6U,而藍牙通信模塊采用金甌公司生產的型號為JO-0391-4-1的超低功耗藍牙模塊。其系統原理圖如下圖1所示:

    

                             1 系統原理圖

                     Figure 1  the diagram of system principle

 通過系統原理圖可以看到,由加速度傳感器和陀螺儀采集手指敲擊動作的信息傳輸給微處理器,微處理器對信息處理之后經由無線藍牙通信模塊傳輸給接收設備。敲擊輸入系統硬件實物圖如下圖2所示:

            2 敲擊輸入系統硬件圖

        Figure 2  the hardware figure of input system with tapping

2. 手指敲擊識別算法

針對本文穿戴式輸入系統只需要檢測出手指敲擊動作的特征,本文沒有采用廣泛使用的分類器、HMMFNN等復雜的手勢識別算法,而是提出一種基于閾值的敲擊識別算法,整個算法主要包括以下三個步驟:信號預處理、波形截取、特征提取、有效敲擊識別。

2.1 信號預處理

當手指佩戴該輸入設備在各種狀態下敲擊時,由于各種噪聲的干擾,傳感器所采集到的信號就不單為手指敲擊動作的信號,而是各種信號的疊加,因此為使得能夠有效提取出特征信號,就需要先對采集到的信號進行濾波預處理,文獻[7]使用狀態擴增法建立的濾波器能夠在動態情況下有效地濾除隨機誤差和重力加速度,同時實現對加速度傳感器和陀螺儀采集信號的融合,因此本文也采用這種狀態擴增濾波器對信號進行預處理。

設系統的狀態方程和測量方程分別為式

                    

                                                          

    兩式中分別為系統在時刻的狀態矩陣值;分別為系統狀態轉移矩陣和系統噪聲矩陣,為系統測量系數矩陣,為測量噪聲且為零均值白噪聲,而作為系統噪聲,是一種有色噪聲,滿足式

                                                  

上式是一種零均值白噪聲序列。

在狀態擴增法建立的濾波器中,也被列為系統狀態,那么擴增后的狀態如方程所示:

                                                          

因此,擴增后的系統狀態方程和測量方程分別為

                                

                                               

將上述擴增后的狀態方程和測量方程應用到具體的MEMS傳感器數據預處理中,則公式中的為加速度傳感器或陀螺儀的實際測量值,為隨機漂移誤差參數,均為階單位矩陣,也為階單位矩陣,其主軸上的值采用文獻[8]模型參數值,其余均為0。因此,將加速度傳感器和陀螺儀的實際測量值

                                                 

                                                

分別代入公式中,即可得到各自擴增后的狀態方程和測量方程。

因此,有上述系統狀態方程和輸出方程,我們可推出濾波器的一般遞推公式,如~所示:

1)狀態一步預測方程:

                                                     

2)均方誤差一步預測方程:

                       

3濾波增益方程:

                               

4)狀態更新方程:

                                     

5)均方誤差更新方程:

            

6濾波器最終輸出方程:

                                                          

其中,為測量噪聲方差矩陣,為系統噪聲方差矩陣,為濾波誤差的協方差矩陣,為單位矩陣。

在具體的噪聲預處理中,根據本文采用的模型,講模型中擬合后的殘差信號協方差作為系統噪聲方程矩陣[7],測量噪聲方差矩陣采用模型中的隨機噪聲方差,而系統狀態矩陣的初始值則為階的零矩陣,濾波誤差協方差矩陣的初始值為階的單位矩陣。

因此,當給定了的初始值以及時刻的測量值,通過上述一系列的濾波推導公式,就可以求得時刻的狀態估計值和協方差矩陣,然后可求得濾波器輸出值,一次循環運算,直到找到最優結果,完成濾波預處理。

本文中,由于傳感器固定在指環的上表面,傳感器的軸與指環上表面正交,即手指的敲擊動作與軸在同一直線上,因此,當手指有敲擊動作時,會在軸上產生比較強烈的信號。因此,下面的濾波過程我們主要通過軸的信號來說明,如下圖3和圖4所示,分別為加速度傳感器信號軸濾波前和濾波后的輸出信號波形:

          3  加速度信號濾波前(Z)輸出波形

Figure 3  the output waveform before filtering of acceleration signal(Z-axis)

4 加速度信號濾波后(Z)輸出波形

Figure 4  the output waveform after filtering of acceleration signal(Z-axis)

2.2   敲擊動作波形截取

手指敲擊識別算法啟動后,敲擊動作的數據包含在傳感器持續輸出的數據中,此時就需

要先確定敲擊動作的終起點將數據截取出來。當手指沒有敲擊動作時,傳感器的輸出波形是相對穩定的,但當手指有敲擊動作時,傳感器的輸出波形則會隨時間發生劇烈變化。基于此,我們就可以檢測出手指敲擊動作的起點和終點,進而從傳感器輸出的波形中初步提取出敲擊動作的數據波形。

手指敲擊數據的差分值和方差都能反映數據的波動性,但是方差求值中涉及到平方運算,從而導致運算量較大[8]。因此,考慮到指環鍵盤有限的運算能力和電量,本文選用計算相對簡單的差分值作為檢測手指敲擊動作的終起點量值。計算公式如所示:

 

            

           

上式中,分別為加速度傳感器在第個采樣點上輸出的軸的加速度,分別為陀螺儀在第個采樣點上輸出的軸的角速度。

通過設定恰當的閾值,便可實現對手指敲擊動作起點和終點的準確檢測。但是操作者但是操作者佩戴指環或傾斜指環等非敲擊動作也有可能使得傳感器產生強烈的信號,從而超過閾值,導致錯誤判決。因此,為了防止出現上述問題,本文對閾值進行平滑處理,處理公式如下所示:

                                               

                                       

     其中為采樣數據個數。在平滑處理之后,也可通過適當提高判決閾值增加檢測準確率,從而減小因手指抖動或指環傾斜導致的誤判決。通過試驗分析可知,當采樣頻率為時,設為15,分別設為52可有效減小因操作者誤動作導致的錯誤檢測,但由于加速度和角速度不一定能同時達到手指敲擊動作的起點檢測閾值,因此可采用圖5所示的方法實現終起點的最終確定:

a)加速度信號波形

b)角速度信號波形

5 敲擊動作起點和終點檢測方法

                  Figure 5  the detection method of origin and terminal point with tapping action

   設,分別為手指敲擊動作的加速度和角速度終起點閾值,如圖5a)和5b)中所示。

時,為手指敲擊動作的加速度波形起點;當時,為手指敲擊動作角速度波形起點,此時,手指敲擊動作的起點為

時,為手指敲擊動作的加速度波形終點;當時,為手指敲擊動作的角速度波形終點,此時,手指敲擊動作的終點為

2.3   特征提取

由于本算法只需要能夠精確提取出手指敲擊動作的信號,因此不需要采用分類器對手勢

進行分類識別。本文通過對5位實驗者的10個手指在不同表面(例如以桌面或膝蓋為代表的硬表面和以大腿為代表的軟表面)各敲擊100次所得樣本數據進行統計分析,最終確定了敲擊波形長度和敲擊能量兩個特征向量。

 敲擊波形長度

手指敲擊波形長度是指敲擊動作持續時間,在本文中定義為手指敲擊起點到敲擊波形

束所經歷的采樣點個數(本文中所有的敲擊動作均指敲擊一次的動作)。敲擊波形長度計算方法如下圖6所示:

6 手指敲擊波形長度計算流程

                   Figure 6  the calculation process of finger tapping wave length

如圖4所示,當檢測到手指敲擊波形的起點后,將波形經歷的采樣點加1,即更新敲擊波形長度,直至檢測到手指敲擊波形的終點為止。然后判斷敲擊波形長度是否小于8個采樣點,若是,則輸出敲擊波形長度。通過分析手指敲擊動作的統計數據可知,敲擊動作波形長度至少為8個采樣點,最多為15個采樣點,因此,當波形長度小于8個采樣點或大于15個采樣點則被認為是干擾動作而忽略掉。

 手指敲擊能量

物體運動的能耗與速度及加速度都有密切的關系,荷蘭大學的等人對此進行了大量研究,從而證實了人體各種能耗與加速度及角速度之間存在一定的關系。同時,等人[10][11]在近年的研究中也證明了物體運動加速度和角速度的絕對積分與能耗呈線性關系,這就為用加速度傳感器評估手指的運動提供了理論依據[11],其理論推導公式如所示:

 

                          

                 

 

    另外,當輸出的信號為數字信號時,可采用公式計算手指敲擊動作的能量:

                

 其中,分別為加速度傳感器軸的加速度測量值,分別為陀螺儀各軸的角速度測量值。

    通過試驗統計分析可設定手指敲擊動作的能量閾值,滿足閾值條件的可判定為敲擊動作,否則為非敲擊動作。

2.4 有效敲擊識別

我們首先通過擴增濾波器對傳感器輸出信號進行濾波預處理,濾除信號隨

機誤差、重力加速度等干擾因素,然后通過確定敲擊信號波形的起點和終點對手指敲擊波形進行數據段截取,最后根據提取出的特征值(敲擊波形長度和敲擊能量)對截取后的數據段進行最終有效敲擊識別。以上條件均滿足時,才被認為是有效的敲擊動作,微處理器才會將收到的信號傳輸給接收設備。手指有效敲擊動作識別的整體算法如下圖7所示:

7 手指有效敲擊動作識別算法流程

Figure 7  the algorithm process of finger tapping recognition effectively

3. 實驗結果分析

本文通過對5位實驗者的10個手指在不同表面(例如以桌面或膝蓋為代表的硬表面和以大腿為代表的軟表面)各敲擊100次,對本文提出的敲擊識別算法進行了驗證,實驗結果如下圖8所示,手指敲擊識別準確率高于96%

     8 手指敲擊識別準確率

                              Figure 8  the accuracy rate of finger tapping

4. 結束語

本文針對目前穿戴式智能輸入設備存在的不足,設計了一款指環鍵盤,操作者佩戴該指環根據使用現有桌面鍵盤時手指對應的敲擊進行輸入,無需重新記憶復雜組合,操作簡單,便于攜帶,在任何環境任何姿勢下均可實現輸入。同時,針對該指環鍵盤的敲擊需求提出一種手指敲擊識別算法,根據該算法,操作者佩戴指環鍵盤可實現精確、高效的文本輸入。

參考文獻

[1] J. Bass,Is there a wearable computer in your future? in Engineering Human-Computer Interaction (EHCI),Yellowstone Parkk,WY,   

   1995,pp.3-16.

[2] S. Mann,Smart clothing:The shift to wearable computing, Commun. ACM, vol. 39, no. 8,pp. 23-24, Aug. 1996.

[3] Australian Institute of Marine Science and Technology Organization.Salisbury,SA, Australia, Kord Keypad. [Online]. Available: 

   http://wetpc.com.au/html/technology/interface.htm.

[4] M. Fukumoto and Y. Tonomura, “Body coupled FingerRing: Wireless wearable keyboard,” in Proc.Computer Human Interaction

   (CHI) conf,Atlanta, GA, Mar. 1997, PP. 147-154.

[5] R. Rosenberg and M. Slater, “The chording glove: A glove-based text input device ,” IEEE Trans. Syst, Man,Cybern. C, Appl. Rev,

   vol. 29, no. 2, pp. 186-191, May 1999.

[6] 金純.無鍵盤輸入方法及實現該方法的裝置[P]. 20131054741752014-2-12.

   Jin C.Input method without keyboard and the device that realize the input method[P].2013105474175,2014-2-12.  

[7] 錢華明,夏全喜,闕興濤,張強. 基于Kalman濾波的MEMS陀螺儀濾波算法[J].哈爾濱工程大學學報,2010,31(9): 1217-1222.    

Qian H M,Xia Q X,Que X T,Zhang Q.Algorithm for a MEMS gyroscope based on Kalman filter[J].Journal of Harbin Engineering

University.2010,31(9):1217-1222

[8] 陳意. 基于MEMS慣性傳感器的移動電子設備手勢識別技術研究[D]. 成都: 電子科技大學,2013.

   Chen Y.A Researchment of Portable Electronic Device Gesture Recognition Technology based on MEMS Inertial Sensors[D].

   Chengdu:University of Electronic Science and Technology of China,2013.

[9] Merjer G V, Weatererp K R, et al. Methods to assess physical activity with special reference to Motion sensors and accelerometers[J].

   IEEE Trans Biomed Eng, 1991,38(3): 221-229.

[10]Bouten C V,  Koekkoek K T, Verduin M, et al. A triaxial accelerometer and portable data processing Unit for the assessment of 

    daily physical activity[J]. IEEE Trans Biomed Eng, 1997,44(3):136-147.

[11]朱國忠. 基于三維加速度傳感器的人體運動能耗檢測系統的研究[D]. 浙江: 浙江大學,2011: 5-40.

    Zhu G Z.The research of energy expenditure detection based on tri-axial accelerometer.Zhejiang:Zhejiang University,2011:5-40.

 

 

 

                   

北京南城搬家公司