非接触式手势识别智能控制器设计

2019-01-29 02:45刘怡明王伟明张雯薏
电子测试 2018年24期
关键词:被控手势识别率

刘怡明,王伟明,张雯薏

(1.石家庄市第二中学,河北石家庄,050000;2.石家庄铁道大学,河北石家庄,050043)

0 引言

接触式控制器应用于高电压、防静电、保密或者有生物安全性要求的设备时,容易对操作者或者设备带来损害,因此,非接触式控制器以其较好的安全性能具有广阔的应用前景。

常用的非接触式控制器有遥控器、语音(声控)、热释电传感器等。遥控器具有难于保管、保密性和可靠性差的缺点;语音识别因其在处理自然表达式方面有着非常高的稳定性和实用性,但诸如噪声和麦克风与用户之间的距离等问题限制了语音控制器的发展发展;热释电传感器对各种热源均有响应。上述非接触式控制器均不适于上述有特殊要求的设备。

随着可穿戴设备、机器人、物联网等技术的发展,人机交互技术越来越成熟,手势以其生动、形象和直观等特点,成为人机交互的重要交流手段[1,2]。目前,非接触式的红外传感技术因其敏感度高和受环境光干扰小等特点,正逐渐成为新一代手势识别的研究热点。

国内外相关研究机构对手势识别进行了一系列探索。比较典型的有,西安工程大学杨晋芳[3]将红外线和环境光传感器与电容式触摸感应微控制器相结合,实现非接触式手势识别,可用于多种动作和手势检测以及目标物体距离校准,但它涉及两种传感器的数据融合系统较为复杂且未说明能够识别哪些动作;杭州木梢科技有限公司的发明专利,提供了一种可实现手势识别的被控装置及其控制方法,通过在被控装置中应用4个距离传感器,由所述多个距离传感器对用户针对该装置的各种有效手势进行感测,实现了该被控装置的非接触式手势识别控制方法,从而实现了装置的智能化灵活控制[4]。武汉大学的发明专利,涉及一种基于体感交互设备的手势识别控制器,手势由使用者在体感交互设备可识别区域裸手实现被控装置中应用多个距离传感器,实现了该被控装置的非接触式手势识别控制方法[5]。上述手势识别主要有基于可穿戴传感器的接触式和基于计算机视觉的非接触式两类。基于可穿戴传感器的识别方式需要用户佩戴专业设备,适用范围窄、应用性差。基于计算机视觉的识别方法虽然解决了适用范围问题,但对设备、环境要求较严,且算法较复杂,实时性较差。

由于单一的红外手势传感器无法区分人体、物体或者是人员手部的动作,容易造成误操作。因此我们设计了一种非接触式红外手势智能控制器,通过组合多个红外手势传感器构成传感器阵列,采用符合人体工程学的排列方式,使之不仅能够识别单一传感器的左右、上下、远近等手势动作,而且能够创新性地实现捏手、手指滑动等手部复杂动作的准确识别,可有效避免单一手势传感器可能导致的误触发。此控制器不仅应用于家庭娱乐设备控制或平板电脑屏幕操作,而且亦应用于对操作安全性、生物安全性和保密性能要求较高的设备中,可有效降低接触式操作精密仪器可能带来的损害。

1 系统结构

系统整体框图如图1所示,系统由STM32F103系列单片机,9个红外感应手势传感器APDS-9960,继电器和蜂鸣器组成。9个红外感应手势传感器构成传感器阵列,采用符合人体工程学的排列方式,识别手指滑动和左右手指捏合动作,避免误触发。

图1 系统整体框图

传感器1,2,3,4用于识别手指滑动动作,传感器7,8用于识别左手指捏合动作,传感器5,6用于识别右手指捏合动作,传感器9用于防止误触发操作,三种主要动作被识别之后,STM32F103单片机发出控制指令,发送给继电器,通过继电器吸合完成被控设备的操作。

1.1 硬件设计

1.1.1 主控模块

主控模块选用了STM32F103单片机开发板。它是一款32位标准RISC(精简指令集)处理器,提供很高的代码效率,其工作频率为72MHz,内置高达128K字节的Flash存储器和20K字节的SRAM,具有丰富的通用I/O端口。

1.1.2 红外手势传感器

图2 STM32F103单片机开发板

红外感应手势传感器选用的是APDS-9960。APDS-9960是一款集成多种功能的光学模块和环境亮度感测的环境亮度传感器,通过对它的编程能够实现多种功能,如手势识别、环境光检测、光强检测等功能。同时他具有上下阈值和中断功能,具有较高的分辨率,功率强劲能够穿过深色玻璃进行检测。

APDS-9960由一个发光二极管和四个安装于不同位置的光敏三极管组成。传感器的结构如图2所示,当手划过4个光敏三极管时,LED的红外光能量被反射回去接收,根据接收信号出现的不同时刻来确定手部运动方向,从而实现手部运动从上向下,从下向上、自左向右、自右向左、从远到近、从近到远等六个方向的检测。

由图3可知,由于四个光敏三极管封装在一起,彼此之间距离非常近,对于捏手动作、远距离滑动等动作识别率会很低,也不易实现。这种局限性限制了其应用场合。所以我们把9个传感器组成传感器阵列,完成复杂手势的识别。

图3 红外手势传感器

1.2 软件设计

控制器面板包含9个传感器,设计了一种状态矩阵,来识别不同的手势动作。程序定时循环读取各个传感器,并将其识别结果依次存储在表格中,每个传感器的识别结果缓冲区长度为8,这样可以顺序存储8个结果,构成8×9的状态矩阵。

1.2.1 手指从左往右滑动动作识别

某个时刻的缓冲区内容如表1所示。当程序扫描整个状态矩阵,发现某一列1#、2#、3#、4#行均为R而其他位置为0时,认为发现了手指从左往右的滑动动作,同时排除物体、人体晃动动作后,激活蜂鸣器并触发继电器动作,从而控制灯亮。手指从左到右滑动识别的流程图如图4所示。

表1 从左到右手指滑动识别结果

1.2.2 左手指捏合动作识别

某个时刻的缓冲区内容如表2所示。当程序扫描整个状态矩阵,发现某一列7#有从右到左的动作,8#有从左到右的动作,而其他位置为0时,认为发现了左手指捏合动作,同时排除物体、人体晃动动作后,激活蜂鸣器并触发继电器动作,从而控制灯亮。左手指捏合动作识别的流程图如图5所示。

表2 左手指捏合动作识别结果

图4 手指从左往右滑动动作识别流程图

图5 左手指侧捏合动作识别流程图

2 实验结果

为验证所设计的非接触式手势识别智能控制器的有效性,针对3种手势(即手指滑动、双手指左侧捏合、双手指右侧捏合)进行识别,实验中对每类手势重复识别50次,共150个样本,识别结果如表3所示。

表3 3种手势动作的识别结果和识别率

识别结果表明:平均识别率为92.5%,识别率较高。通过以上实验可知,手指滑动识别率要优于双手捏合动作,主要原因如下:(1)面板上的打孔位置精度不高,导致个别传感器识别率较低,从而影响了整体效果。(2)手指滑动和手指捏合动作对红外光的反射效果不同。手指滑动时,传感器接收到的反射光较强,识别率高;手指捏合时,手指的反射面较窄,发射光较弱,导致识别率较低。

为验证本控制器能够避免误触发,分别进行了人体在面板前走过、整个手掌在面板前挥动等实验,发现控制器并无输出动作,说明其能够有效避免运动物体穿过和晃动等可能造成的误触发。

3 结论

提出了一种非接触式手势识别智能控制器,并搭建了系统实验平台,编制了相应的复杂手势识别模块。通过选取3种手势(即手指滑动、双手指左侧捏合、双手指右侧捏合)进行识别实验,对该方法进行了验证。实验结果表明:该控制器不仅能够识别单一传感器的左右、上下等手势动作,而且能够创新性地实现捏手、手指滑动等手部复杂动作的准确识别,可有效避免单一手势传感器可能导致的误触发,从而有效提高高压电器操作安全性、生物安全性和保密性能,降低接触式操作精密仪器可能带来的损害。

猜你喜欢
被控手势识别率
港警在“修例风波”中拘捕近万人
基于类图像处理与向量化的大数据脚本攻击智能检测
挑战!神秘手势
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
V字手势的由来
大惯量系统位置控制策略研究
提升高速公路MTC二次抓拍车牌识别率方案研究
胜利的手势
高速公路机电日常维护中车牌识别率分析系统的应用