基于动态手势的人机交互系统的研究与设计
2017-11-01李荣正
姜 彪,李荣正
(上海工程技术大学 电子电气工程学院,上海 201620)
基于动态手势的人机交互系统的研究与设计
姜 彪,李荣正
(上海工程技术大学 电子电气工程学院,上海 201620)
该系统是一个基于手势手套、无线中继控制站、上位机端等部分组成的包含手势采集、传输、识别控制及处理的系统;手势手套主要由弯曲传感器、陀螺仪加速度计、电阻电压转换电路和无线通信模块组成,来实现手势信息的采集、去噪、前压缩、解算等功能,并通过无线通信将实时手势信息交付给上一层;无线中继端将其与多种传感器电路、显示屏、摄像头、通信接口和常用的工业控制接口等集成到一块上,采集其他传感器信息结合前级的手势信息,在短时间深度上对多种信息进行融合并通过控制算法输出给控制器件;上位机主要负责手势信息的建模还原和更长时间序列上和多维度的信息处理;网络云端可以实现手势信息的大数据处理、匹配和远程交互等功能。经实际检测达到了理想的设计要求。
手势系统;分层;大数据;人机交互;无线通信
0 引言
人机交互技术领域热点技术的应用潜力已经开始展现,比如智能手机配备的地理空间跟踪技术;应用于可穿戴式计算机、隐身技术、浸入式和3D游戏等的动作识别技术;应用于虚拟现实、遥控机器人及远程医疗等的触觉交互技术[1];对于有语言障碍的人士的无声语音识别等。虽然具有巨大的潜力,但也面临着巨大的挑战如:基于视觉的手势识别率低、实时性差,需要研究各种算法来改善识别的精度和速度,而且使用范围局限还没有进入真正的普及中;还有就是机器本身处理器,存储能力,表达能力等也存在着挑战。另外与“无所不在的计算”、“云计算”等相关技术的融合与促进也需要继续探索[2]。
1 系统整体设计方案
依据处理信息的计算能力将手势系统分解为手套采集部分、中继混合控制部分、上位机分析处理部分和网络云端部分。整个系统以分层的思想来设计,其中必要层是手势手套层,每一层的手势数据帧格式统一固定,其他层可以根据实际应用需求来进行组态连接,手势手套采集的数据以信息流的方式在各层次间传递,每一层都可以获取手势信息流里的手势数据,并根据自身平台的计算能力和设定目的来进行相应的处理和应用。整个手势系统由手势数据信息流和手势数据处理平台组成[3]。
2 系统各个模块设计
2.1 手势手套硬件设计
手势手套系统内部结构如图1所示。
图1 手势手套系统内部结构
2.1.1 单片机最小系统设计
单片机最小系统上主控芯片主要有电源供电部分、弯曲传感器接口、陀螺仪加速度计部分、电阻电压转换电路、2.4 G通信模块、蓝牙接口、I2C和接口,所以模块都集成在一块上。
2.1.2 传感器模块设计
此模块的传感器主要有弯曲传感器、加速度计和陀螺仪。
1)手指弯曲采集:
为了测量手指弯曲程度,采用了曲度传感器如图2所示。
图2 曲度传感器
弯曲传感器的工作原理好比一个电位器,通过曲度来改变阻值大小[4]:平直(常规阻值);45°曲度(电阻值增加);90°曲度(电阻值继续增加);180°曲度(最大电阻值)。
在基本的Flex传感器电路用于阻抗缓冲的是单面运算放大器,因为由于弯曲传感器的源阻抗类似于一个电压分压器,运算放大器的低偏置电流可以降低错误。而使用的是LM358和LM324。通过单片机AD采集通道读取运算放大器的输出电压值[5],即可得到当前传感器弯曲程度,进而得到手指弯曲状况。边利用此数值为手指弯曲判断服务。
2)手部空间角度采集:
加速度传感器是一种能够测量加速力的电子设备[6]。它的定义是:能感受加速度并转换成可用输出信号的传感器。其中线加速度计的原理是惯性原理,也就是力的平衡。加速度传感器长应用于地震检波器设计, 监测高压导线舞动等[7]。
陀螺仪是用高速回转体的动量矩敏感壳体相对惯性空间绕正交于自转轴的一个或二个轴的角运动检测装置,如图4所示。
图3 陀螺仪
陀螺仪与加速度计数据融合:MPU6050上整合了加速度计和陀螺仪[8],两者配合以采集手部空间角度,它们一起组成了一个6自由度的惯性测量单元。
我国经济和对外贸易飞速发展使得物流运输需求量不断增加,集装箱作为现代物流的重要载体,极大的提高了物流效率,但是由于集装箱在运输过程中时空跨度大、环境复杂、难以监管,导致货物失窃、产品变质、货物损坏等各类事故频发,甚至出现集装箱被不法分子劫持进行危险品走私和恐怖袭击的事故[1-2],造成巨大的经济损失和不良的社会影响,因此对集装箱在运输过程中进行信息化管理具有重要意义。
图4 MPU6050
2.2 中继混控部分
手势手套采集的手势数据不能直接驱动控制物理实体,需要加上中转和控制机构,使得手势数据通过中继混控的信息转换能够操控硬件设备如电机、舵机、灯等设备。
中继混控实验装置主要由核心板、中继底板、显示、电机驱动及电机,非连续性舵机等部分组成。中继底提供有摄像头接口、线阵接口、屏幕及彩屏接口、舵机控制及电源接口、触摸按键、光电编码器接口及电路、2.4 G接口、模块、蓝牙接口、卡存储接口、采集电路、接口等等,足以满足各种常规的控制和传感器的采集任务。由于中继设备具有较多的传感器设备,能够获取更多的信息,可以利用摄像头捕捉手势信息用以与手势手套解算的手势信息联合手势识别匹配,提高手势识别的准确性,手势信息辅以其他传感器的信息对手套佩戴者的操控和交互提供更丰富的操作体验。中继混控底板和核心板的如图3所示。
图5 中继混控底板PCB截图
2.3 手部信息的采集与处理
手部活动非常灵活复杂,可以分为手指的弯曲和手在空间中的运动。不考虑手指的弯曲可以将手看成刚体,刚体在空间中的运动可以分为定点转动和平动。因此可以利用陀螺仪采集手在空间三个轴上的运动角速度通过四元数转换为空间角,利用加速度计的二重积分采集手在空间三个轴上的位移。经过试验证明该方案能够比较准确的采集到手在空间中运动信息,并且实时性好。手指的弯曲采用弯曲度传感器,弯曲度传感器是有可变电阻组成的,它的阻值随着其弯曲度变化而变化。利用弯曲度传感器可以较精确的采集到手指的弯曲信息,陀螺仪和加速度计采集得到角度数据后,还需要进行滤波处理。算法受卡尔曼滤波中的一些思想启发,但是它更简单并且更容易在嵌入式设备中实现。
2.4 数据波形匹配
数据波形匹配即衡量两个波形的相似度。由于实际产生的波形往往含有较丰富频率分布的不规则波形,而设备元器件本身及外界的电磁干扰又不可避免地引入了干扰噪声。另外,实际波形和预先设计波形间往往存在着时序上的差别,相位的改变同样也不利于信号的拟合判别。选择适当倍数去逼近,可以借用误差能量来度量这对波形的相似程度。对于能量有限的信号而言,能量是确定的,相关系数的大小只由的积分所决定。如果两完全不相似的波形其幅度取值和出现时刻是相互独立、彼此无关的,其积分结果亦为0,所以当相关系数为0时相似度最差,即不相关。当相关系数为1,则误差能量为0,说明这两信号相似度很好,是线形相关的。因此把相关系数作为两个信号波形的相似性(或线形相关性)的一种度量完全是有理论依据的、合理的。
2.5 数据存储与读取
数据存储模块,拟采用基于SD协议的的文件系统。此文件系统的最大好处是不限于硬件结构,只需要有SD协议就能使用,而且占用内存少,与Windows文件io兼容,能够支持实时操作系统,移植方便,操作简单。数据存储模块的设计包括手势波形库的存储与查询。
手势库是整个系统的核心,为了以后升级更方便,也为了存储的便利,文中把经由分析得来的每个传感器的波形图建立起手势波形库存储到sd卡内,存储的格式是波形的数据信息以及波形的传感器序号和波形序号。当手势到来之后读取传感器信息,进行波形匹配,匹配到则输出相应的波形信号;没有匹配到,则传感器的输出波形号零,其中0为无波形信息。最终得出一个由11个数字组成的编码信息。
上电进行初始化,采集传感器数据进行通信测试,初始化成功后即可进行正常工作模式。传感器采集模块采集传感器数据,进行数据的处理波形编码,比对存储模块中的波形库得到相应的波形编号然后再比对已经建立的手势库即可识别手势。
3 软件设计
3.1 手势手套软件设计
手套部分的软件设计主要完成传感器的采集、姿态解算和滤波,并将处理后的信息打包成通信帧并提交给上一层即可[9]。这使得单片机的传感器采集更具有实时性,更加注重于原始数据的采集和滤波优化上,使得采集手势信息更加可靠,利于后期的加工处理。手势手套的软件设计流程如图6所示。
图6 手势手套的软件设计流程图
3.2 上位机部分
图7 上位机界面
1)数据接收部分主要负责接收上一层传输过来的手势帧数据,并将其解码、校验、验证,之后将有用的数据传输给其他模块使用。
2)数据可视化,将获取到的数据以直观的柱状图、波形图等形式表现出来,利于后期数据分析、特征提取、算法设计等;尤其是波形图能反映手势数据时间深度的信息,将手势数据的分析和利用又提高到新的维度。
3)数据记录,在软件运行时数据记录部分一直在记录数据,可以由操作面板截取某一时间段的数据导出至表格,以便以后的分析,可以利用该功能录制数据,将录制的特征数据通过算法校正和修改录入手势数据库,方便手势数据库的建立。
4)数据分析部分,可以由自己定制的算法和本地的手势数据库进行匹配来达到手势识别的功能,或者实现其他的数据分析处理的过程,以供后级的处理平台处理分析,现阶段采用的本地数据库对比算法为互相关算法,对各维度手势信息的时间序列和本地标准数据库进行加权的互相关计算,最后得出相似度较高的手势数据库编号,在对该手势进行有效性检验,最后得出动态手势的明确手势含义。
5)数据的3D建模还原部分,利用数据驱动3D视图的手模型,将信息还原,和真实的手势姿态对比,可以分析手势信息处理和采集后得到的姿态和原始姿态的差别,得出反馈,依次作为依据修正和改进手势系统的性能指标,同时可以作为远程交互的表现方式。
3.3 安卓端软件设计
移动端由于安卓系统相比的开放性,前期主要使用安卓端开发,以后可以扩展到IOS端,APP主界面如图8所示。
图8 APP主界面
现阶段能够查看手势手套的各种测量数据,如手指的弯曲度数据、手掌的空间角、手掌的三轴加速度等,并将其一部分以可视化的方式展现出来,以后可以在APP端将手势信息加以利用,扩展接入到手机其他应用领域,也能通过手机这一平台架将手势手套和手势数据接入到智能家居领域。这些能够充分展现出手势系统智能硬件的易扩展、多接入、多平台等特性。
3.4 软件流程
软件流程如图9所示。
图9 软件流程图
4 测试与验证方案
4.1 测试环境
主要测试环境为电工实验室,配有实验设备的防静电实验桌,个人电脑;实验设备有稳压源两台,50 MHz示波器一台,频谱仪一台,信号发生器一台,手持万用表一个。
4.2 关键功能测试
手掌姿态传感器数据获取测试,右手佩戴手套,手心朝下,小臂平行于地面,以手肘为圆心旋转小臂大约120°,不断往复,手指传感器数据获取测试,右手佩戴手套,手掌朝下,握拳、张开手指,不断重复此动作,在虚拟示波器得到各传感器的数据波形,可以看到5个手指的弯曲的传感器的值波动较大。
将手势数据通过蓝牙传输给中继控制端,中继控制端根据手势短时间上的匹配来进行不同语义上的解析,中继设备从而实现对电机和舵机的间接控制,佩戴人员实现对设备的直接控制,大致控制手势调整步骤如下:
手平移到被控设备上(电机、舵机)进入设备待选模式;单手抱拳,表示选择该设备,进入手势控制模式;如果选择的是电机,此时手掌前后倾角大小直接用于控制电机转速和方向;如果选中的是舵机,手掌作用倾角大小直接用于控制舵机的打角;手掌平移回到没有设备的中间地方,单手抱拳,解除设备的控制状态,设备维持在上一控制量上,回到步骤(1)的设备选择状态;如果发现突发情况,可以按下中继板上的TSI按键可以紧急制动,即紧急停止所有设备。
4.3 可靠性测试
佩戴满电状态的手套使用3小时,重复做一组连续的动作,将姿态编码发送到上位机上,与手势的序列做对比,获得的431组数据,其中没有匹配上的数据位73组,准确率达到82%,此过程中系统稳定工作,没有发送程序跑飞或硬件错误状态,静电、电磁干扰等环境的适应能力强。
5 结论
本设计采用分层设计思想,将手势系统分解为手套采集部分、中继混合控制部分、上位机分析处理部分和网络云端部分,设计出具体的人机交互融合方案,让可穿戴设备能够实现更加智能的数据交互。该手势交互手套可应用在智能家居领域、工业控制方向、远程操作工作、手语翻译研究等多种领域,在操作、维护等方面充分考虑了人性化设计,具有很强的可行性,关键功能测试与性能验证达到预期标准。本设计充分考虑了未来功能升级、规模扩展潜在需求,不同层次的部分均可加以扩展和应用。该手势手套具备很强的新颖性和实用性,有良好的推广价值。
[1] 孟祥旭,李学庆.人机交互技术-原理与应用[M].北京:清华大学出版社,2005.
[2] Grimes G J.Digital data entry glove interface device[P]. Technical Report US Patent,2011:1561-1566.
[3] Lee C, Xu Y.Online interactive learning of gestures interfaces[A]. Proceeding of IEEE International Conference on Robotics and Automation[C].2013:156-158.
[4] 董士海.人机交互进展及面临的挑战[J].计算机辅助设计与图形学报,2004(10):20-21.
[5] 张海涛,阎贵平.加速度传感器的原理及分析[J].电子设计技术,2003(21):21-23.
[6] 付梦印,邓志红,张继伟.Kalman滤波理论及其在导航系统中的应用[M].北京:科学出版社,2003.
[7] 修国浩.基于WD/HMM的语音识别算法研究[D].秦皇岛:燕山大学,2004.
[8] 江 浩,褚衍东,郭丽峰.曲线形态相似性的定义与度量[J].云南民族大学学报,2009(5):54-56.
[9] 邹 波,张 华.多传感器信息融合的改进扩展卡尔曼滤波定姿[J].计算机应用研究,2012(8):8-10.
[10] 敬 喜.卡尔曼滤波器及其应用基础[M].北京:国防工业出版社,2014.
[11] 郝立果.基于加速度传感器的运动信息采集和应用研究[D].天津:天津大学,2009.
[12] 曹 赟,周 宇,徐寅林.加速度传感器在步态信号采集系统中的应用[J].信息化研究,2009(7):30-31.
Research and Design of Human Computer Interaction System Based on Dynamic Gesture
Jiang Biao, Li Rongzheng
(School of Electrical and Electronic Engineering,Shanghai University of Engineering Science, Shanghai 201620,China)
This paper describes a system based on hand gesture glove, wireless relay control station and host computer, including gesture acquisition, transmission, identification, control and processing. Hand gloves mainly consists of bending sensor, gyroscope, accelerometer, resistance voltage conversion circuit and wireless communication module, achieve the acquisition, denoising, compression, solving functions of gesture information;The ends of the wireless relay, with a variety of sensors display, camera, communication interface and common industrial control interface are integrated into a block, collect other sensor information with gesture information in combination with the previous level, . Analysis processing of the host computer mainly is responsible for the modeling of gesture information and information processing with longer time series and multi dimension ; Network cloud can realize the gesture information processing, matching and remote interactive functions. The ideal design requirements have been achieved through the experiment.
gesture system; hierarchical; large data; human-computer interaction; wireless communication
2016-11-25;
2016-12-21。
姜 彪(1992-),男,河南郑州人, 硕士研究生,主要从事控制及检测技术、远程监测技术、隧道结构沉降检测、人机交互方向的研究。李荣正,男,上海人,教授,硕士研究生导师,主要从事控制及检测技术、远程监测技术、隧道结构沉降检测方向的研究。
1671-4598(2017)08-0203-03
10.16526/j.cnki.11-4762/tp.2017.08.052
TP391.41
A