基于穿戴式输入系统的手指敲击识别算法

    金纯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.