《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 可穿戴手势识别控制器
可穿戴手势识别控制器
2016年电子技术应用第7期
徐 军,刘春花,孟月霞,马 静
哈尔滨理工大学 自动化学院,黑龙江 哈尔滨150080
摘要: 随着可穿戴电子设备的发展,基于手势识别的人机交互技术已经成为研究热点。为减小可穿戴设备的体积和优化手势识别算法,提出了一种具有手势识别功能手指可穿戴控制器的设计方案。控制器由集成陀螺仪和加速度计的MEMS惯性传感器、WiFi无线通信模块和嵌入式微处理器组成。通过WiFi无线通信协议将手势运动姿态数据传送到计算机,提取出6类手势运动特征量,通过决策树分类器对其进行分类处理,结合姿态角对手势进行识别,无需模板匹配。通过对20位实验者测试的数据表明,平均手势识别准确率为97%,无需对测试者进行手势预训练。
中图分类号: TN43;TP391.4
文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.07.017
中文引用格式: 徐军,刘春花,孟月霞,等. 可穿戴手势识别控制器[J].电子技术应用,2016,42(7):68-71,75.
英文引用格式: Xu Jun,Liu Chunhua,Meng Yuexia,et al. Gesture recognition base on wearable controller[J].Application of Electronic Technique,2016,42(7):68-71,75.
Gesture recognition base on wearable controller
Xu Jun,Liu Chunhua,Meng Yuexia,Ma Jing
School of Automation,Harbin University of Science and Technology,Harbin 150080,China
Abstract: With the development of wearable electronic devices, human-machine interactions based on gesture recognition has become a research hotspot. In order to miniaturize the size of wearable devices and optimize gesture recognition algorithm, a finger wearable controller with gesture recognition function is proposed. The controller is composed of MEMS accelerometer and gyro inertial sensor, Wi-Fi module and embedded microprocessor, which exports finger gestures to PC via Wi-Fi protocol. Six basic features is extracted, the gestures are classified by a decision tree classifier combined with the attitude angle without any template matching. Results based on 20 experiments, achieves an overall recognition accuracy of 97%, and the algorithm can be used for finger gesture recognition without user training process prior.
Key words : gesture recognition;feature extraction;wearable controller;MEMS inertial sensor

0 引言

    近年来,嵌入多种MEMS(Micro-Electro-Mechanical System)传感器的可穿戴电子设备发展迅速,如谷歌眼镜、阿迪达斯运动鞋和爱心运动手环等。同时,将人机交互和可穿戴设备相结合逐渐成为研究热点,其中手势识别技术在人机交互领域扮演着一个重要的角色[1]。在手势识别技术中,基于运动传感器的手势识别技术[2-3]相比基于图像的手势识别方法避免了环境因素的干扰,成为了一种简单的交互方式,国内外学者基于此做了大量研究。Min等利用K均值聚类算法提取手势模板,在识别阶段通过动态时间规整算法进行输入手势与手势模板的匹配计算,从手势数据中计算特征量,利用贝叶斯分类器对手势进行预分类,再与相应类中的手势模板进行匹配[5]。Thomas等开发了一种手持Wii控制器,算法中通过量化三维加速度向量和建立隐性马尔科夫模型进行手势识别,平均识别率为90%[6]。XU等提出了符号序列结合霍普菲尔德(Hopfield)神经网络、速度增量和符号序列结合模板匹配三种算法,分别对手势的速度数据进行编码,识别率为95.6%[7]。黄刘松[8]等提出一种基于加速度传感器的乒乓球击球动作识别算法,利用固定阈值法截取手势数据,提取能量信号和手势长度等特征,识别过程采用K近邻和决策树算法。

    基于以上分析,本文设计了一种可穿戴于手指上的手势识别控制器,相比传统的手持设备,其获取手势的方式更加自由随意,提高了用户的体验性;同时,采用特征提取的方法实现手势识别,利用特征量阈值进行分类提高手势识别算法的准确率,相比于其他方法不仅计算量小,而且省去了复杂的模板建立过程,提高了手势识别算法的个体适应性。

1 系统的总体设计方案

    可穿戴手势识别控制器组成如图1所示,主控芯片ATmega328控制各模块运行,接收姿态模块MPU6050传感器采集的三轴加速度、角速度和和通过姿态解算得到的三轴姿态角,然后将数据由WiFi模块传给上位机,进行手势数据的截取,通过提取运动手势的特征量进行手势分类。

ck-t1.gif

    设备体积大小只有2.3 cm×1.4 cm×0.8 cm,通过5 V锂电池为系统供电,控制器的实物图正、反面如图2所示,穿戴于食指的第二个关节上。

ck-t2.gif


2 手势定义

    手势动作的定义应易于学习与使用,且具有明显的特征。本文定义六类简单手势,如表1所示。

ck-b1.gif

3 手势识别算法

3.1 手势数据预处理

    微惯性传感器能够采集动态的手势数据,但由于敏感原件的固有特性会产生随机噪声,所以采用卡尔曼滤波方法(Kalman)对获取的加速度、角速度数据等进行平稳去噪处理。卡尔曼滤波方法仅需知道前一时刻的估算值和当前测量值,通过时间更新和观测更新方程不断迭代获得当前状态信息和滤波增益[9],相比于小波变换[10]、傅里叶变换方法节省了数据的存储空间和算法的编译时间。通过设定观测噪声协方差和过程噪声协方差矩阵相近的取值,可以剔除手势数据中的高频噪声,角速度的滤波效果如图3所示。

ck-t3.gif

3.2 手势数据截取

    控制器在平稳状态下输出相对稳定的数据,当手指操作时,传感器采集的加速度和角速度都会有明显变化,因此采用差分值法进行手势数据截取,如式(1) :

ck-gs1.gif

ck-t4.gif

3.3 特征量提取

    在手势识别过程中,惯性传感器设备坐标系不断改变,最终产生的数据有很大差异,所以需将设备坐标转变为用户坐标系,然后分析这些手势数据。确定了6个特征量对手势进行分类:

    (1)手势长度L:手势运动中从起点到终点的手势数据采样个数。

    (2)手势能量E:手势在运动过程中的剧烈程度被称为手势能量,计算为从手势起点到终点的所有三轴角速度和三轴加速度之和,如式(2):

    ck-gs2.gif

其中,L为手势长度,wxi、wyi、wzi为手势在X、Y、Z轴上的角速度,axi、ayi、azi分别为手势在三轴上的加速度,g为重力加速度。

    (3)角速度能量最大轴:每个轴角速度能量计算方法如式(3)所示,角速度能量最大轴为分别计算各轴角速度总和之后比较得出的最大者,即max(Ewx,Ewy,Ewz)所在的坐标轴。

    ck-gs3.gif

    (4)加速度波峰数:即三轴加速度波峰数之和,每个坐标轴的波峰数提取方法如图5所示。首先找出手势加速度数据与横轴的所有交点A1、A2、A3、A4、A5……,然后在这些相邻两交点间找出加速度绝对值最大值点B1、B2、B3、B4……,它们中大于波峰数阈值范围的个数为加速度波峰数。

ck-t5.gif

    (5)姿态角变化量Δa:控制器在运动起点与终点时的三轴姿态角的分别差值的总和,如下式:

ck-gs4.gif

    (6)单符号角速度:手势操作时,任何一个坐标轴上的角速度始终为正值或负值,为单符号角速度。

3.4 手势分类与识别

    操作可穿戴设备过程中,一些不规则手势将会影响手势识别的准确率,所以经过分析6种手势数据后,本算法将手势动作不满足手势长度L>30或手势能量E>50的条件当做误动作去除。手势能量E范围在1 500以内,不规则手势运动的手势能量大于该阈值时同样将判为误动作不进行手势分类与识别,从而提高手势识别算法的鲁棒性。本文采用决策树分类器对6种手势进行分类,如图6所示。

ck-t6.gif

    第一层:敲击手势持续时间短,产生手势数据个数少且运动剧烈程度小,因此根据手势长度、手势能量两个特征量阈值区分出敲击类手势。

    第二层:翻转手势主要是绕X轴作旋转运动,角速度能量主要集中于X轴,所以利用X轴是否为角速度能量最大轴即可识别出翻转手势。

    第三层:划叉、晃动、划钩、甩动手势间的手势长度、手势能量、加速度波峰数特征量都有一定的交集,所以利用Fisher线性分类算法将4种手势分为两类:f=43×L+65×E+124×P-29 900,当f>0为划叉和晃动类手势,反之为划钩和甩动类手势。

    第四层:分析晃动和划叉手势的起止点的三轴姿态角数据,得出划叉比晃动手势的姿态角变化量大,以此区分这两类手势。甩动手势是绕Z坐标轴作单方向的旋转运动,满足单符号角速度特征,因此和划钩手势进行区分。

4 实验结果

    考虑到用时最短的敲击手势频率小于10 Hz,只要采样频率大于手势动作的2~3倍就可以获得完整的动作数据信息,所以本设计分别以不同的频率进行数据采样,按照以上识别算法进行平均识别时间和准确率测试如表2所示。随着采样频率增加,采集数据增加,编译时间增加和准确率提高,但当采样频率过大时则采集数据过多导致计算量增大反而影响准确率,实时性降低。为保证算法的实时性和控制计算量,将控制器的采样频率设为50 Hz,分类算法的编译和识别可以在0.085 s内完成,不会影响设备的下次数据采样。

ck-b2.gif

    本文选择了20位实验者对设备进行测试,他们分别操作6种手势各20次。敲击手势的加速度数据和手势能量较小,如图7所示,翻转手势X轴的角速度能量远大于Y轴和Z轴的角速度数据,如图8所示。甩动类手势满足单符号角速度特征,其角速度数据如图9。划钩手势不具有单符号角速度特征而易于被识别,其角速度数据如图10所示。晃动和划叉手势因姿态角变化量特征被区分,其手势数据分别如图11、12所示。

ck-t7-8.gif

ck-t9-10.gif

ck-t11.gif

ck-t12.gif

    手势分类结果如表3所示,第一列是手势动作的输入,第一行代表手势识别输出结果,识别准确率依次为:敲击-100%、翻转-100%,甩动-94.5%、晃动-96.5%、划叉-95.25%、划钩-95.75%。实验证明控制器对6种手势的平均识别率达到了97%。

ck-b3.gif

    其中的误差主要是由于甩动手势在操作前有极短的反方向运动过程而不满足单符号角速度特征,易被识别为划钩手势;当甩动力度过大时,手势能量和波峰数增加,将导致Fisher函数值大于零,且甩动手势的姿态角变化量较小,所以也可能被划分为晃动手势。同理,当晃动手势动作幅度过小时,分类器出现误差,且不具有单符号角速度特性,有被识别为划钩手势的可能。划钩手势力度过大和因姿态角变化量较大将被识别为划叉类,操作划叉手势力度过小时和不具有单符号角速度特征将被分类为划钩手势。

5 结论

    本文提出了一种具有手势识别功能的可穿戴控制器的设计方法。控制器充分运用了惯性传感器的加速度计和陀螺仪的输出数据,依据特征量提取的方法对手势数据进行分析,成功实现了对6种手势的识别,确保了分类算法的准确率。该设计方法首先对控制器进行设备姿态更新,消除了以往仅使用加速度计对设备姿态的限制,提高了设备的用户体验性和实用性。而且使用者无需经过训练提取模板,减小了个体差异引起的误差,同时该手势识别算法省去了传统算法中模板匹配过程的计算量,确保了算法的简单性。

参考文献

[1] 王万良,杨经纬,蒋一波.基于运动传感器的手势识别[J].传感技术学报,2011,24(12):1723-1727.

[2] Liu Yu.Inertial sensor-based mobile phone gesture recognition[J].Application of Electronic Technique,2011,37(12):76-79.

[3] 黄启友,戴永,胡明清.基于陀螺传感器的三维手势识别方案[J].计算机工程,2011,37(22):72-76.

[4] Yin Liang,Dong Mingzhi,Duan Ying.A high-performance training-free approach for hand gesture recognition with accelerometer[J].Multimedia Tools and Applications,2014(1):843-864.

[5] Jun-Ki Min,Bongwhan Choe,Sung-Bae Cho.A selective template matching algorithm for short and intuitive gesture UI for accelerometer built-in mobile phones[C].IEEE Second World Congress on Nature and Biologically Inspired Computing.Fukuoka,2010:660-665.

[6] SCHLLOMER T.Gesture recognition with a Wii controller[C].Proceedings of the 2nd International Conference on Tangible and Embedded Interaction.Bonn,2008:11-14.

[7] Xu Ruize,Zhou Shengli,WEN J,et al.MEMS accelerometer based nonspecific-user hand gesture recognition[J].IEEE Sensors Journal,2012,12(5):1166-1173.

[8] 黄刘松,储岳中,张学锋.基于加速度传感器的乒乓球击球动作识别[J].传感器与微系统,2016,35(1):56-58.

[9] 张海鹏,房建成.MEMS陀螺仪短时漂移特性试验研究[J].中国惯性技术学报,2007,15(2):100-104.

此内容为AET网站原创,未经授权禁止转载。