APP下载

红外传感器PAJ7620凌空手势快速识别方法

2019-11-12刘祚时杨国炜

计算机应用与软件 2019年11期
关键词:波峰手势亮度

刘祚时 杨国炜

1(江西理工大学机电工程学院 江西 赣州 341000) 2(江西理工大学电气工程与自动化学院 江西 赣州 341000)

0 引 言

基于传感器的手势识别,可分为接触式和非接触式[1]。接触式的实现方案有基于数据手套的手势识别[2]、基于惯性传感器手的势识别[3]等,非接触式的实现方案有基于视觉的手势识别[4-5]、基于红外传感器的手势识别、基于超声波的手势识别和基于电磁信号的手势识别。

传统的识别方法主要有模板匹配、神经网络和马尔科夫模型等。随着ARM(Advanced RISC Machine)嵌入式处理器的崛起,高速的数据处理性能为一些复杂算法提供了载体,如深度神经网络。深度神经网络运用在图像领域也相当广泛,相关检测算法如 Faster R-CNN[6]、YOLO、SSD[7],这些算法在目标检测领域具有举足轻重的作用。王锟等[8]提出了一种基于SSD卷积神经网络的嵌入式手势检测算法,张金等[9]提出一种基于改进的 Faster RCNN 的手势识别算法,这些算法在获得高精度检测的同时,也要依赖于图形处理器的强大计算能力,算法的复杂程度和图像处理能力决定了目标识别的实时性好坏。

这些算法应用在一些智能玩具、智能家居等手势种类不是很多且复杂的智能产品上时实时性较低。本文基于红外传感器PAJ7620,设计了手势检测算法。本文创新点在于摆脱了传统穿戴式手势检测设备,增加了人机交互体感。同时与一些复杂的手势检测算法相比,误检率较低,实时性更好。

1 相关定义

1.1 数学模型定义

如图1所示,在红外传感器圆周分布四个红外发光二极管,分别为LED1、LED2、LED3、LED4(以下简称D1、D2、D3、D4),红外接收器位于正中心。采用这种排列方式避免了在手势识别过程中存在死角的问题。

图1 多光源红外LED阵列分布图

当没有手势进入阵列模型时,红外接收器接收不到任何反射光,输出电压幅值为±0.002 V。当有运动手势靠近红外传感器阵列时,发射出的红外光被物体阻隔形成光强反差,经ADC转换将光强信号转换为电信号后保存在相应的寄存器中。如图2所示,以单光源LED1为例,手势越靠近光源输出信号越大,远离光源输出信号越来越小。

图2 单光源LED输出波形检测

1.2 PAJ7620手势模式识别

1.2.1手势定义

本文定义了几种能在黑暗或低光环境下易被识别的手势,分别是“上”、“下”、“左”、“右”、“顺时针旋转”、“逆时针旋转”、“接近”。其中八种手势如表1所示。

表1 手势定义

1.2.2实验平台

本实验经外设IIC接口实现PAJ7620与微处理器STM32F103的通信。运动手势经手势分类算法识别后触发中断实时在LCD屏幕上显示手势结果。微处理自带的ADC采样模块采集红外传感器数据信息并通过串口自定义协议对采集的数据在上位机上进行波形分析,实验平台架构框图如图3所示。

图3 实验平台架构框图

如图4所示,PAJ7620工作时通过内部LED驱动电路,驱动红外LED向外发射红外线信号,红外接收器感知运动手势反射的光照强度,经信号调理电路后输出电信号并保存在相应的寄存器组中,同时对特征数据进行采样分析,最后将手势结果存到存储单元中。

图4 手势识别系统硬件图

1.2.3识别模式算法

在红外LED阵列中,动态手势识别过程中能够提取到几种手势特征量包括手势的亮度、手势的位置及手势的方向。该算法的流程框图如图5所示,通过对这三种手势特征量的分析能够快速、准确地对手势进行识别和分类。

图5 手势识别模式算法框图

1.2.4手势数据预处理

为防止手势误动作对手势的分类识别造成影响,增加了温度传感器来排除错误手势。手势的运动检测包括手势开始和结束检测以及手势温度检测。经实验统计,正确手势在采样周期内温差变化大于ΔT(ΔT=0.5°)。当手势开始进入红外场时,不管从哪个方向进入,所有红外LED反射强度总和都会快速上升,当手离开时,红外反射强度下降并趋于稳定。通过这个特性,可以设置门限阈值判断手势起点和终点。手势起点终点检测方法如下:

(1)

(1) 当Sk(i-1)

(2) 当Sk(j)>q>Sk(j+1)时,End=j。

式中:m表示红外LED总数,Xk(i)表示第k个红外LED反射信号的值,n代表采样点个数,q是手势起点和终点的检测阈值。为保证采样的正确性,保留5个采样点,则手势动作采样区间为[i-5,j+5],采样长度length=j-i+10。

2 手势识别

2.1 信号特征提取

2.1.1手势信号的亮度

接近检测下,当手势在PAJ7620的有效检测距离内,从最高高度到最低高度连续测试并将输出信号保存在寄存器中,从低到高将每个采样时刻对应输出信号进行量化,得到量化后τ时刻的手势亮度值Eτ在0~255之间。亮度值计算公式如下所示:

(2)

(3)

2.1.2手势信号的位置

假定红外LED发射的红外线呈球形分散,且光强均匀分布。因手掌形状不规则现只考虑将手当作一个质点。图6和图7分别为τ时刻手势距离几何中心O点的X轴向位置Xτ和Y轴向位置Yτ的原理示意,结合得到手势在τ时刻数学模型中的相对位置Lτ=(Xτ,Yτ)。

图6 X轴向位置计算原理示意图

图7 Y轴向位置计算原理示意图

1) X、Y轴向位置Xτ、Yτ估算:

(4)

(5)

R1=C×t1R2=C×t2

(6)

R3=C×t1R4=C×t2

(7)

式中:d为D1和D2或D3和D4之间的距离;C为光在真空中传播速度;t1、t3为τ时刻D1、D3从开始发射红外光到接收反射光需要的时间的一半;t2、t4为τ时刻D2、D4从开始发射红外光到接收反射光需要的时间的一半。

2) 手势位置信息阈值计算:

本文对一个采样周期[0,T]采集的数据作差分:

ΔXτ=|Xτ-Xτ-1|;ΔYτ=|Yτ-Yτ-1|

(8)

再以差分绝对值之和作为分离挥动类手势和旋转类手势的特征量,为了避免扰动引入均值滤波的方法作为判断依据:

(9)

(10)

式中:HXθ、HYθ为阈值,n为采样点数目。

2.1.3手势信号的方向

当手向右挥动时,D1发射的红外光将首先被反射并被红外传感器PAJ7620接收并处理,如图8所示,D1波形的波峰靠左,D2波形的波峰在最右边,D3波形的波峰在中间,左挥方向判别和右挥类似。另外,手向上挥动的波形图如图9所示,手势先经过D1、D2,所以D1、D2波形的波峰靠左,其后为D3,下挥方向判别和上挥类似。基于这个原理通过计算它们波峰之间的时间差,即可判断手在挥动时的方向。

图8 右挥信号输出波形图

图9 上挥信号输出波形图

2.2 分类器设计

基于手势特征捕捉阵列提取的两种特征量:手势信号的亮度、手势信号的位置,设计了两层决策树分类器,能够有效地对运动手势快速分离、简化算法。

第一层: 在自定义手势中只有接近类在手势亮度特征中的变化程度最大,经接近类手势训练得出一个亮度变化阈值,若手势亮度变化程度大于这个阈值,分类为接近类。

第二层: 依据手势阈值信息HXθ、HYθ进行分类,挥动类手势(以手向右挥为例)从手势进入到手势结束,手势位置信息Yτ在整个采样时间区间内变化很小。而旋转类手势(以顺时针旋转为例)从手势进入到手势结束,手势位置信息Yτ在整个采样时间区间内呈U型曲线变化,由此可区分挥动类和旋转类。

依据这两层信息进行分类器的设计,流程图如图10所示。

图10 分类器设计流程

2.3 手势识别的实现

2.3.1接近类手势识别

接近类手势与其他类手势的区别在于采样期间内红外LED特征提取阵列提取的手势亮度信息之间的差异。就挥动类和旋转类而言,手势在一个二维平面内运动,即使存在抖动因素,其提取的亮度特征值也是在小范围内变化。而接近类手势是直上直下运动,其手势亮度变化值很大。经三种手势训练统计分析得到,挥动类、旋转类的手势亮度值在30范围内变化,由此可以将分离接近类手势和其他手势的阈值确定为30。

接近类手势方向识别:在整个采样周期区间[0,T]内对手势亮度值运用数学归纳法对手势方向进行判断,若E0

2.3.2挥动类手势识别

挥动类手势的识别基于手势位置特征(Xτ,Yτ)来判断,从整个采样区间来看挥动类手势Xτ或Yτ随时间推移不断增大至超出红外传感器检测范围,而Yτ或Xτ几乎变化不大。如图11所示,当手势为从左到右或者从右到左挥动时,其位置信息Yτ<25。当手势从上到下或者从下到上挥动时,其位置信息Xτ<20。经大量训练统计左右挥动时HYθ阈值在5左右,上下挥动时HXθ阈值在10左右。利用HXθ>10或HYθ>5可以分离左右挥动手势和上下挥动手势。

图11 挥动手势位置特征信息输出波形图

挥动类手势方向识别:在分离出左右挥动和上下挥动手势后,根据D1、D2、D3出现波峰位置的时间顺序来判断挥动手势的方向,T(d1)、T(d2)、T(d3)分别为红外LED阵列中D1、D2、D3出现波峰位置时的时间点,具体判断如表2所示。

表2 挥动类手势方向判断表

2.3.3旋转类手势识别

旋转类手势手势起始位置通常都是随机变化的,所以基于单一的位置信息不容易判别。但是结合挥动类位置信息的阈值检测与红外LED阵列中D1、D2、D3依次出现波峰位置时间点的顺序可以判别旋转类手势及方向。

若有连续的三次采样时间点手势的信息(ΔXτ>10|ΔYτ>5)&(ΔXτ+1>10|ΔYτ+1>5)&(ΔXτ+2>10|ΔYτ+2>5),则可判断为旋转类手势。

旋转类手势方向识别:同挥动类手势方向判断类似具体判断如表3所示。

表3 旋转类手势方向判断表

3 实验结果

为了验证本文设计的基于红外LED阵列技术检测动态手势的有效性,分别对自定义的8种常见手势:接近类(从上到下、从下到上);挥动类(从左到右、从右到左、从前到后、从后到前)、旋转类(顺时针旋转、逆时针旋转)进行识别,实验测试中对每类手势重复识别 100次,共计800个实验样本,识别的最终结果如表4所示,平均识别率为 94.63% 。从识别效果来看,基于红外LED阵列技术应用在对常见手势的识别中效率性和准确性都很高。表中误差最大的是旋转类识别,由于手指连接着手掌以及手掌和手臂的连接处具有较大面积,在提取距离的特征量上比较模糊,进而带来手势运动时距离分析的错误。下一步应该考虑如何提升算法的优化问题。

表4 八种手势动作的识别结果和识别精度表

4 结 语

在非接触手势识别的广泛应用和良好的人机交互体验下,本文设计了一种基于红外LED阵列手势识别系统,该系统对常用手势的识别准确率高、抗干扰能力强、兼容性好。基于位置信息的手势识别可以进行复杂的二维手势识别开发。此外,针对该系统有较高的手势识别率和较好的环境光适应能力可广泛应用在体感交互的智能设备上。

猜你喜欢

波峰手势亮度
用于遥感影像亮度均衡的亮度补偿方法
炮制工程骗钱的“甲方”
板厚与波高对波纹钢管涵受力性能影响分析
远不止DCI色域,轻量级机身中更蕴含强悍的亮度表现 光峰(Appptronics)C800
波峰焊接技术现状及绿色化设计方向
中空玻璃胶接结构界面脱粘缺陷的超声与X射线检测研究
挑战!神秘手势
本本亮度巧调节,工作护眼两不误
胜利的手势
亮度一样吗?