APP下载

基于角加速度的手势识别系统*

2018-09-06李柏辉张钧杰高宏峰

山西电子技术 2018年4期
关键词:马尔科夫接收端手势

强 威,李柏辉,张钧杰,刘 凯,高宏峰

(河南科技大学 信息工程学院,河南 洛阳 471023)

0 引言

随着时代进步、科学发展,人们越来越偏向于智能、舒适的生活、工作方式。人们在寻找各种方式将电脑设备进行简化改进,力求能脱离各种设备的线缆束缚,所以无线键盘鼠标、蓝牙音响应运而生。然而,使用键盘鼠标来控制电脑的方式依然把人们约束在小范围内,离开了它们就无法操控电脑。后来,各种体感设备像雨后的春笋一样,不断涌现在人们面前,像站在摄像头前的体感游戏、使用光电传感器的空中鼠标等等。可是这些产品在使用上有诸多限制,摄像头体感系统只能在摄像头前面做动作才能识别,光电传感器体感设备易受强光干扰[1]。

本系统魔幻手套使用新型的设计理念,一方面运动传感器MPU6050和弯曲电阻相结合实现移动电脑光标和单击、双击的操作;另一方面将MPU6050获取的加速度数据作为动作特征,选用在语音识别应用广泛的隐马尔科夫模型(HMM)作为手势识别模型对动作进行训练和识别。综合以上两个方面的功能,设计了鼠标模式和手势识别模式,两种模式之间通过特定动作进行切换。

1 硬件设计

本系统由手套和接收端组成,图1是手套的结构框图。采用意法半导体公司的STM32F103C8T6作为主控芯片,负责读取运动传感器采集的加速度数据,然后通过NRF无线传输模块向接收端发送数据。运动传感器MPU6050是一款9轴运动传感器,集成了3轴MEMS陀螺仪,3轴加速度计以及一个可扩展的数字运动处理器DMP(Digital Motion Processor),通过I2C接口和主芯片相连。

图1 手套主机结构框图

flex弯曲电阻传感器可以把手指的弯曲程度转换成9 000 Ω~22 000 Ω之间的阻值,再通过分压式电路转换成相应的电压值。采用NORDIC公司生产的NRF24L01无线通信芯片,实现主机到接收端点对点的通信。另外,为了老师和演讲者使用方便,作品中加了激光灯,通过固定的动作来开启和关闭。

接收端硬件主要由NRF24L01无线接收模块和CH340串口转换芯片组成,其中NRF24L01用来接收手套发出的指令,再经过CH340芯片将信号转换为串口输出的形式,方便计算机读取数据。计算机读取到数据之后进行判断处理,完成手势动作的响应。

2 系统工作流程

本系统主要包括两个方面的功能,一是模拟鼠标,通过MPU6050获取手掌移动时的X和Y轴的加速度数据,经过滤波后发送到接收端,然后调用Windows系统中相应API,控制电脑光标的移动,弯曲电阻获取手指弯曲状态后,由接收端实现单击、双击的操作;二是手势识别,识别流程如图2所示,用户通过主机设备为手势集合中的每个动作采集训练样本,经过预处理后发送到接收端,然后经过特征提取后作为训练样本用于训练隐马尔科夫模型(HMM),经过训练后的模型即可实时识别用户的手势。这些手势可以映射成不同的指令控制一些应用。

图2 手势识别流程

3 识别算法设计

整个手势识别过程的核心在于数据的特征提取、HMM模型学习和识别两个部分。

MPU6050传感器可以采集到X、Y和Z轴的加速度,Z轴方向上的加速度有重力加速度的干扰,仅仅取X和Y轴的加速度数据作为手势特征。为了降低识别过程的复杂度,取数据X和Y轴加速度的正弦值为特征值,即:

加速度传感器数据与语音数据类似,都是时序序列,因此本系统选用在语音识别领域应用广泛的隐马尔科夫模型作为手势识别模型。隐马尔可夫模型(HMM)是基于马尔科夫链而开发的。在实际问题中,人们观测到的现实不一定总是与状态相对应,而是以概率分布为基础的。它是一个双重随机过程,一个是马尔科夫链,它是基本随机过程,描述状态的转移。另一个随机过程,通过统计来描述状态和观察值之间的对应关系[2]。

一个隐马尔科夫模型分为两部分,一是马尔科夫链,用π,A描述输出状态序列;二是随机过程,由B描述,产生观察值序列,所以HMM模型可以写成一个三元组(π, A, B)[3]。如果一个系统可以作为HMM模型被描述,就可以用来解决三个基本问题:使用前向算法(forward algorithm),针对一个观察序列匹配最可能的系统;使用Viterbi算法,对于一个已生成的观察序列,确定最可能的隐藏状态序列;使用前向-后向算法(forward-backward algorithm),针对已生成的观察序列,决定最可能的模型参数。

算法主要分为两步:

第1步:使用前向后向算法对经过特征提取的加速度序列,即观察值序列,进行训练学习得到该手势对应的HMM模型参数。

第2步:使用前向算法将手势特征序列作为输入,计算产生此序列的概率,找出它最大时的模型,该模型对应的手势即为识别结果。

4 试验结果

本系统设计了10个字母和5个符号共15种手势,并对其进行了测试,结果表明能达到很高的识别率。如图3所示,圆点表示手势开始,箭头表示手势轨迹。每个动作要求一次性做完,中间不能有停顿,由大拇指弯曲动作发送数据起始和结束信号。

图3 手势列表

为验证系统的识别效果,每种动作采集50组数据,其中10组用于训练HMM模型,40组用于识别。识别效果如图4所示。手势从左到右依次对应1-15的编号。

图4 实验结果

5 结束语

本系统融合了鼠标控制和手势识别两个方面的功能,以更加多样化的方式实现了对计算机操控,打破了传统鼠标操作的局限性。在人际交互愈来愈人性化、随意化、简单化的今天,本系统具有非常广阔的市场前景。

猜你喜欢

马尔科夫接收端手势
基于三维马尔科夫模型的5G物联网数据传输协议研究
基于扰动观察法的光通信接收端优化策略
基于叠加马尔科夫链的边坡位移预测研究
顶管接收端脱壳及混凝土浇筑关键技术
基于多接收线圈的无线电能传输系统优化研究
基于改进的灰色-马尔科夫模型在风机沉降中的应用
挑战!神秘手势
酸槽内钢带位置测量传感器
V字手势的由来
胜利的手势