荆 雷,马文君,常丹华
(燕山大学信息科学与工程学院,河北秦皇岛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.