可穿戴手势识别控制器

【学**笔记】 可穿戴手势识别控制器

2016年电子技术应用第7期

作者:徐军,刘春花,孟月霞,马静

摘  要: 随着可穿戴电子设备的发展,基于手势识别的人机交互技术已经成为研究热点。为减小可穿戴设备的体积和优化手势识别算法,提出了一种具有手势识别功能手指可穿戴控制器的设计方案。控制器由集成陀螺仪和加速度计的MEMS惯性传感器、WiFi无线通信模块和嵌入式微处理器组成。通过WiFi无线通信协议将手势运动姿态数据传送到计算机,提取出6类手势运动特征量,通过决策树分类器对其进行分类处理,结合姿态角对手势进行识别,无需模板匹配。通过对20位实验者测试的数据表明,平均手势识别准确率为97%,无需对测试者进行手势预训练。

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模块传给**机,进行手势数据的截取,通过提取运动手势的特征量进行手势分类。

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

2 手势定义

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

3 手势识别算法

3.1 手势数据预处理

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

3.2 手势数据截取

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

3.3 特征量提取

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

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

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

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

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

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

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

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

3.4 手势分类与识别

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

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

第二层:翻转手势主要是绕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内完成,不会影响设备的下次数据采样。

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

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

其中的误差主要是由于甩动手势在操作前有极短的反方向运动过程而不满足单符号角速度特征,易被识别为划钩手势;当甩动力度过大时,手势能量和波峰数增加,将导致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.

可穿戴手势识别控制器相关推荐

  1. 智能家居硬件小制作(含源码)《手势识别控制器》基于PAJ7620手势模块、L298N驱动板、arduino

    智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ7620手势模块.L298N驱动板.arduino 目录 智能家居硬件小制作(含源码)<手势识别控制器>基于PAJ762 ...

  2. adafruit1306_Adafruit的2015年最佳开源可穿戴设备

    adafruit1306 过去一年中,可穿戴电子产品爆炸式增长. 现在市场上有无数的小型设备,不仅用于健身追踪,而且还用于改善姿势,防晒霜提醒,肌肉感应手势控制等等. 随着人体技术的普及比以往任何时候 ...

  3. IMU让无人机控制变得更轻松

    多翼无人机广泛应用于监视和侦察.航空摄影和测量.搜索和救援任务.通信中继和环境监测.目前无人机的手动控制大部分基于视觉反馈,所以操作环境中的障碍物会造成干扰.因此,需要其他感官反馈,例如触觉,来有效地 ...

  4. 读论文,第十一天:Flexible Strain Sensors for Wearable Hand Gesture Recognition: From Devices to Systems

    手势识别作为人类机器交互的一种重要方法,已经引起了广泛的研究兴趣.柔性应变传感器的发展提供了直接测量手指运动行为的可能性,通过将传感器放在手指上或集成到数据手套上,以准确和经济有效的手势识别.本文首先 ...

  5. Sencha-组件-Chart(图表)(官网文档翻译17)

    Sencha-组件-Chart(图表)(官网文档翻译17) 本指南提供了使用的煎茶触摸2.1的抽奖及图表包的概述.这些软件包,可以在一个通用的方式来创建跨浏览器和跨设备的图形. 在过去的几个月中,平局 ...

  6. 什么手势使用电子计算机比较快,发挥你想象:AI手势识别,新型穿戴设备你能用来干什么?...

    鼓掌抑或竖起大拇指?也许某一天你的手机就会明白你想表达的意思.加州大学伯克利分校的研究人员开发了一套新系统:将可穿戴生物传感器与人工智能软件相结合,根据前臂的电信号,帮助系统识别一个人通过手势想要表达 ...

  7. LilyPad Arduino可穿戴技术和电子织物控制器板简介

    LilyPad Arduino可穿戴技术和电子织物控制器板简介 第1章  LilyPad Arduino概览 作为本书的第一章,在这里将为读者介绍LilyPad Arduino相关的基础知识.例如,L ...

  8. 可以用api控制的电源开关_一种穿戴式系统电源控制器设计与实现

    随着电子及信息技术的突飞猛进发展,电子及信息技术产品体积更小.功耗更低.效率更高.功能更强大,这就为穿戴式系统设备的发展提供了技术可能.穿戴式系统要求其供电管理设备具有效率高.体积小等特点.本文介绍一 ...

  9. 手势识别 | LeapMotion体感控制器使用教程

    前言:Leap Motion是面向PC以及Mac的体感控制器制造公司Leap发布的体感控制器.主要运用于人机互动手势识别.跟踪的交互设备. 第一步下载使用驱动软件 网址:Ultraleap for D ...

最新文章

  1. BLAST引物或靶点特异性
  2. 2017 计蒜之道 初赛 第五场 B. UCloud 的安全秘钥(简单)
  3. 把脉Linux上USB数据流
  4. 大连公交客运集团认真安排做好2007年防台防汛准备工作
  5. node随笔-数据流Stream
  6. 用C#实现用免费smtp服务器(GMail)发邮件(转)
  7. mysql中密码存入加密,如何在数据库中存储加密的密码?
  8. VUE的导入(HelloWord)
  9. 版权审查只会越来越严
  10. 设计模式原则之二:开闭原则
  11. underscore源码经典--收藏
  12. Json-getJSON
  13. LINUX编译OpenJDK,也可以指定freetype
  14. 数据库之SQL行列转换
  15. 品搜妞——百度、谷狗、搜狗的女人三围
  16. AUTOSAR 基础知识简介
  17. 【Kafka】Kafka消费者相关策略
  18. 关于感染型病毒ramnit和runner的查杀记事
  19. ViewPager.setOffscreenPageLimit
  20. OsgEarth中设置模型运动路径,并绘制雷达扫描、动态实时绘制运动轨迹、跟随彩带

热门文章

  1. 微众银行首席AI官杨强:联邦学习理论基础、四大应用场景与微众的AI全布局
  2. python编的著名游戏制作人是_Python实现经典游戏:谁是卧底
  3. Mac OS 鼠须管粤拼输入法配置方法
  4. 【Blender】乐高生成器——材质节点与几何节点制作的笔记分享
  5. 2023最新java学习教程(学习路线+课程大纲+视频教程+面试题+学习工具)
  6. QT 下载文件时,显示进度以及网速
  7. 用python编写一个处理报文的小程序
  8. 比较全面的HTTP和TCP网络传输的单工、全双工和半双工
  9. Eclipse编写html——讨论charset设置
  10. 电信运营商需要鲲鹏生产力