手 势 识 别 实 验 平 台 设 计

2019-05-24 00:46吴振宇吴冀平蔡天驰
实验室研究与探索 2019年4期
关键词:手腕手势轮廓

吴振宇, 吴冀平, 蔡天驰, 吴 凡

(大连理工大学 创新创业学院, 辽宁 大连 116024)

0 引 言

培养和提升大学生的创新创业能力,是国家对高校的基本要求,有助于服务创新型社会,助推国家的创新发展[1-2]。手势是一种自然、直观的人机交互手段,以手势作为计算机的输入,已经成为一种趋势[3]。将结合电子、软件、算法等学科的手势识别技术作为创新实践班创新教育的载体,能够很好地激发学生的学习兴趣。目前,国内对于手势识别的研究处于试验室探索阶段,缺乏适用于本科学生学习的实验平台。

1 手势识别实验平台设计

从创新实践班的实验教育需求出发,设计了包括嵌入式控制系统、顶层应用框架模块、人工智能识别算法3个模块的手势识别实验平台。该平台嵌入式部分为保证学生可自行改造采用红外距离传感阵列方案,摒弃常见的视觉或数据手套方案;应用框架部分搭建C#环境下的演示框架供学生修改,同时还提供案例应用供参考;识别算法部分提供二乘法、欧氏距离、决策树、SVM、贝叶斯、回归算法、神经网络等人工智能常见算法演示代码,实际开发中学生可自行调整算法参数或修改源代码。平台结构框图如图1所示。

图1 实验平台结构框图

平台在设计阶段采用模块化思想,教学中采取小组式学习方式,学生自由选择模块学习,并以互补的原则加入学习小组,小组通过讨论得出共同的研究目标,并通过合作完成既定目标[4]。基于平台开发的作品具有可穿戴属性,符合可穿戴设备发展潮流,学生具有学习兴趣,社会关注度高,在教学实践中取得了良好效果[5]。学生基于平台制作的优秀作品获得省大学生创新创业年会“优秀创业项目”称号。

2 嵌入式硬件数据采集及处理单元

2.1 手腕轮廓采集硬件设计

目前常见的手势识别技术按照手势数据输入方式可以分为基于视觉的手势识别和基于传感器手套的手势识别2大类[6-7]。2种方案各具特点,基于视觉的方案利用摄像头采集手势图像进行分析获取数据,这是目前实际应用中最普遍的方法,但是对于目标手的位置和方向有一定要求[8-9]。基于数据手套装置通过分布在用户佩戴的手套内的数个传感器采集关节角度、运动加速度等数据进行手势识别。这种方案由于数据采集直接,识别效果好,但设备会阻碍手指感知、影响手指运动[10-11]。两种方案追求高识别率使得造价高昂且技术复杂,不符合创新实践班学生研究需要。

大阪大学、东京大学的学者先后提出了利用接触电阻、骨传声等特征进行手势识别的方法,识别率较低,但结构简单成本低廉[12-13]。东京大学提出利用手腕轮廓推定手势的方法,由于手指运动会导致手腕部的肌腱运动进而导致手腕表面轮廓变化。这一方案通过安装在腕带式装置上的嵌入式系统控制红外传感器阵列捕捉手腕表面轮廓数据,进而推测手势信息[14-15]。

本平台采用基于手腕轮廓推测手势信息的方法,采用新日本无线株式会社生产的NJL5901AR-1型光反射传感器作为手腕轮廓采集单元核心器件,该器件将发射单元与接收单元集成在一起,体积仅为1.3 mm×1.6 mm×0.6 mm,输出电流为400 μA[16]。传感器仅可采集点状区域内的手腕轮廓数据,故需要多组传感器协同工作,本设计采用D触发器构成的链式数据采集电路,如图2所示。以STM32F103为核心的嵌入式系统仅提供时钟信号CLK、触发信号DIN各1路,将DIN置高后输出1个时钟锁存,而后拉低DIN,此时D触发器D1输出端Q输出高电平驱动红外距离传感器1采集数据,处理器通过R2取得DOUT处电压UDOUT,此时CLK再输出时钟将高电平锁存于D2,D1则锁存低电平,此时UDOUT为采集传感器2数据,依次类推。通过共用电源和地线,分时复用数据线简化阵列布线,提高阵列密度,保证了平台可穿戴属性必须的轻便小巧特性。

图2 总线式数据采集电路图

上述方案设计、器件选择及电路设计在实际实验教学中仅作为参考方案提供给学生,学生可按照该方案,自行设计PCB电路与硬件外观佩戴方式等,同时也鼓励学生自行进行方案设计,指导老师会给以必要的帮助。图3展示了部分学生设计的手腕轮廓采集装置。

2.2 手腕轮廓数据校正设计

实验教学中为在嵌入式编程教学中加入软件算法内容,要求学生对手腕轮廓数据进行校正。图4展示的是在1.5 mm反射距离下未经过校正的采集数据。相同的反射距离下,不同传感器的UDOUT值都存在差异。误差主要由红外距离传感器安装位置、方向不一致以及器件本身工作曲线的不一致性导致。

图4 存在误差的反射距离测试数据

为解决上述误差,要求学生在STM32嵌入式处理器内对数据进行校正,推荐算法如下:对每个传感器构造反射距离D=Y(UDOUT)函数,即通过传感器采集到的UDOUT值通过函数Y计算出实际的反射距离。函数Y由实验数据进行多项式拟合得到,多项式拟合使用高斯-马尔可夫定理。将每个传感器不同反射距离下测量得到的AD数据经过以上方法拟合得到多项式各项的系数a[i]。接下来就可以通过

(1)

将传感器测量的UDOUT数据转化为真实的距离D。式中:Y(UDOUT)为UDOUT数据与反射距离的函数;m为矫正采用多项式的最高次幂,校正后的1.5 mm反射距离测试数据见图5。由于不同硬件设计造成的误差不同,实际教学中学生也可以自行计算并设计算法对手腕轮廓数据进行校正。

图5 校正后的反射距离数据

3 图形化软件演示与学习单元

图形化软件演示与学习单元作为实验平台的重要组成部分,分为数据采集、数据分析、应用3个部分。如图6所示。数据采集部分可以调用存储的案例手腕轮廓数据也通过串行接口与嵌入式硬件数据采集及处理单元对接,通过平台定义的标准数据接口读取手腕轮廓识别。数据分析和应用2个部分分别为模式识别算法设计模块、顶层应用设计模块的具体实现提供支持。

图6 采用C#编写的上位机测试程序

3.1 人工智能识别算法设计模块

为了引导学生将模式识别算法应用到具有手势识别功能的可穿戴设备中,平台提供了二乘法、欧氏距离、决策树、支持向量机、贝叶斯、回归算法、神经网络等示例算法,对采集到的手腕轮廓信息进行分析匹配。实验教学中,学生可以调整算法参数观察实验结果也可以在Matlab软件中查看算法实现过程。实验要求学生针对小组设计的应用选择合适的识别算法并进行修改达到应用需求。

以欧氏距离算法为例,该算法是基于实例学习的分类算法中比较常用的一种方案,基于统计的分类方法,是根据测试样本在特征空间中若干个最邻近样本汇总的多数样本的类别来进行分类,因此具有直观、无需先验统计知识等特点,从而成为非参数分类的一种重要方法。先期存储S组不同手势数据,每组为M个传感器数据,数据x表示为{A1(x),A2(x),A3(x)……,AM(x)},并为每组数据设立手势标签。当需要识别的手势信息到来时,系统计算待识别数据到S组数据的欧氏距离:

(2)

计算得到的d值最小的手势即为当前手势。

3.2 顶层应用设计模块

实验平台为学生提供了播放器控制、翻页器、手语翻译等可穿戴设备应用案例,方便学生直观地观察到平台的实用性能,实验教学中学生可以通过标准接口,直接调用前面单元输出的手势识别结果进行相应操作,例如识别到握拳即控制系统播放器切换到下一首音乐。教学中通常以手势翻译应用为例测试学生识别算法的有效性,测试过程如下:以拳、掌、一指、二指等4种基本手势为1组,教师随机选择某一组数据组合提供给学生进行测试,以学生系统得出的混淆矩阵作为系统手势识别准确度的评价标准。图7所示为测试结果案例。

识别结果拳拇指二指掌识别率给定手势拳20000100%拇指2171085%二指00200100%掌0002095%识别结果拳食指ok掌识别率给定手势拳20000100%食指1190095%ok1019095%掌00020100%

图7 识别结果混淆矩阵案例

4 结 语

本平台总结多年可穿戴设备开发实验教学经验,以实用性为前提,引入前沿技术的同时加入模式识别相关内容,一方面提高了学生学习的积极性,另一方面也使得实验教学贴近实际项目开发需求。平台提供了实现可穿戴手势识别系统设计所需的完整硬件基础及软件架构,提供了丰富的模式识别算法例程,给出了多种直观的可穿戴手势识别应用案例,有利于学生快速进行可穿戴应用开发,学习人工智能相关软件算法设计、实现过程,降低学生学习难度的同时也引导学生自行设计并开发软硬件模块。该实验平台已经在我校创新创业学院机电创新实践班及VR实验室使用,取得了良好教学效果,得到学生的一致好评。

猜你喜欢
手腕手势轮廓
OPENCV轮廓识别研究与实践
现在,为手腕减点负
基于实时轮廓误差估算的数控系统轮廓控制
多去“扳手腕”——实际是跟差距较劲
挑战!神秘手势
带孩子过马路,牵手还是抓手腕
V字手势的由来
胜利的手势
高速公路主动发光轮廓标应用方案设计探讨
在球场上“掰掰手腕”