APP下载

基于3D空间和FDC2214的手势识别系统分析

2021-05-18刘尊年张效伟沈美丽李宏升刘金升

中国设备工程 2021年9期
关键词:检测法手掌手势

刘尊年,张效伟,沈美丽,李宏升,刘金升

(青岛理工大学理学院,山东 青岛 266033)

随着智能系统的飞速发展,未来多维空间中手势操作控制应用也会有较好的需求前景,鉴于此,本文基于TI公司非接触式传感芯片FDC2214设计了一款手势识别系统,可以实现对猜拳和划拳游戏的判决。系统具有判决和学习两种工作模式。在判决模式下,能对指定人员手势比划“石头”、“剪刀”和“布”的进行猜拳游戏判定,也能对手势比划“1”、“2”、“3”、“4”和“5”的进行划拳游戏判决;在学习模式下,能对任意人员进行猜拳和划拳游戏的手势学习,经过有限次学习后,能进行正确的猜拳和划拳游戏的快速手势判决。本文关于3D空间手势识别的设计尝试可以为多维空间手势控制应用提供参考案例。

1 系统整体设计

手势识别系统主要由主控制器STM32F103C8T6单片机、电容检测器传感器FDC2214、电容检测板、显示模块、按键模块、电源模块构成。整个系统的结构框图,如图1所示。

图1 系统结构框图

系统工作原理为:通过FDC2214检测电容检测板与手掌之间的电容变化,经过数字滤波算法处理后,信号传送给主控制器,再经过手势识别算法进行判别,并通过显示模块显示。

2 系统硬件设计

2.1 主控模块

系统采用STM32F103C8T6单片机作为控制核心,该单芯片本身带有64K的内存储器,无需外加AD模块来处理数据,硬件电路更简捷,运行速度快,片内资源丰富,更利于处理对传感器识别精度要求高的检测系统,有利于完成准确识别和深度学习对处理器的要求(图2)。

图2 STM32最小系统板原理图

2.2 电源模块

电源模块采用7.4V聚合物锂电池供电,再通过稳压模块给单片机及其周边电路提供5V和3.3V直流稳压电源。锂电池具有供电时间长,且降压稳压后的电源输出稳定,可以有效提高系统工作的稳定性。系统采用可调节的AMS1117稳压电路。AMS1117用于提供1A输出电流,且工作压差可低至1V。在最大输出电流时,AMS1117器件的最小压差保证不超过1.3V,并随负载电流的减小而逐渐降低。其固定输出3.3V电压时,可以在输出时连接一个小的电容,以确保AMS117的稳定性(图3)。

图3 稳压电路

2.3 检测模块

2.3.1 检测装置

手势检测模块的前端是由4块单面覆铜板构成的3D空间,如图4所示。当手掌进入检测区域内时,FDC2214对ch0~ch3四路通道的电容进行检测,并返回读取的值,根据对四路通道返回值的处理结果,进行手势识别。

图4 检测装置示意图

2.3.2 检测方案

(1)指尖检测法。利用对5指以及手掌的识别,在每个手指以及手掌下面分别设置两块FDC2214EVM的5个通道。根据各个通道是否检测到电容变化来识别手势。例如:如果食指以及手掌下面的通道检测到了电容变化其他通道没有检测到,则表示为数字“1”。如果仅手掌下面通道有检测到,则表示为手势“石头”。其他手势原理同上。优点:算法简单,纯逻辑判断;识别准确度高;缺点:过于简陋,手掌需要摆放在指定位置,限制性太高;通道需求太多,成本高昂。

(2)3D空间检测法。使用一块FDC2214EVM中4个通道,将四条通道外接的覆铜板在空间多维摆放,如图5所示。检测来自不同方向的信号,对采集到原始数据采用进行处理,经过一定的算法识别,返回识别的手势。这里设计的3D空间检测法,精度高,检测范围灵活,使用单块FDC2214EVM,成本低。3D空间检测法的缺点是识别算法需要经过多次调试,较为复杂。通过对指尖检测法和3D空间检测法的应用测试,选取3D空间检测法作为手势识别的检测方案。

图5 FDC2214模块

2.4 显示模块

考虑到系统采用内存较小的主控制器,同时由于其I/O口数量的限制,显示模块采用OLED屏。OLED可以自身发光,所以OLED的亮度比LCD高,对比度更大,色彩效果更加丰富,OLED比LCD更加节能,重量也比LCD轻得多,而且OLED的可视角一般可以达到160度,应用范围极广(图6)。

图6 OLED液晶引脚连接图

2.5 抗干扰设计

为了尽量减少外部干扰,系统利用铝箔纸包裹在检测区域外部,作为FDC2214检测前端的无源屏蔽层,云母片覆盖铝箔纸作为FDC2214检测前端的最外绝缘层。这种设计结构,可以有效防止FDC2214检测前端外部干扰的影响。系统采用屏蔽线作为信号传输线。屏蔽线的屏蔽层接地,外来的干扰信号可被该层导入大地,避免干扰信号进入内层,同时降低传输信号的损耗,提高信噪比。

3 理论分析与计算

3.1 手势识别算法

(1)手势识别算法设计,如图7、8所示。

图7 判决模式

图8 学习模式

(2)手势识别数据的读取。①系统开机后,或一段时间没有检测手势时,四路通道分别读取一次初值,存放到v_init[ ]数组里,v_init[ ]为存放电容初始值的数组。②手势识别时,四路通道分别读取当前数值存放到v[ ]数组里,v[ ]为存放当前电容值的数组。③将各个通道的v[ ]与初值v_init[ ]分别进行比较,将差值存放到cha[ ]数组里。把cha[ ]作为数据处理时的有效数据,cha[ ]为存放当前电容与初始电容值差值的数组。

(3)手势识别数据的处理。①由于手势的不同,各路通道检测的值会有一定的变化,如手势“1”,与手势“3”时,手指与ch0和ch1的对立面积s1和s2会发生变化,导致cha[0]与cha[1]发生变化。又如,手势“1”和手势“5” 当手掌张开时,手掌与两侧检测板ch2与ch3的值会变大。②基于以上的规律,手掌在指定测试区域内可完成手势识别。但当手掌大范围偏离测试区域时,识别结果会产生误差。为了抑制这种误差,提出了差值补差商除判断算法。

3.2 差值补差商除判断算法

3.2.1 手掌偏移对检测的影响

(1)手掌左右移动对检测结果的影响。当手掌左右移动时,通道ch0与ch1的比值会发生较大变化,影响前端手指数量的检测;通道ch2与ch3的检测数值也会发生较大变化,影响手掌宽度的检测。

(2)手掌前后移动对检测结果的影响。当手掌前后移动时,通道ch0与ch1的检测结果会同时变大或者变小。

(3)手掌倾斜对检测结果的影响。当手掌小角度倾斜时,相当于手掌宽度变小,手掌对检测板的投影面积变大。经过试验测试发现,这两种影响几乎可以相互抵消,故对检测结果的影响不大,可忽略不计。

3.2.2 差值补差商除判断算法描述(1)差值补差法校正手掌左右移动的影响电容的决定公式为

由于手掌在做指定手势时,手掌的宽度为一定值,可以认为d1+d2为一个定值A,即d1+d2=A ,因

如图9所示,当手掌左右移动时,ch2检测到的数值随d1的变化如粗实线所示,ch3检测到的数值随d1的变化如虚线所示。

图9 手掌距离与电容关系图

由于手掌在做指定手势时,手掌对两侧的对立面积的变化很小,即式(1)中的S近似为一定值。由式(2)可得,在手掌左右移动时为一定值。于是可以忽略手掌左右移动对手掌宽度检测的偏差。

当手掌在指定测试区的正中间时,d1≈d2,当手掌左右偏移时,偏移量Δd=d1-d2,然后将λ×Δd给通道ch0与ch1一定的补偿,λ为根据系统实际情况设定的系数,需抵消手掌左右移动时对通道ch0与ch1的影响。

(2)商除法校正手掌前后移动的影响

经过多次试验结果分析发现,当手掌前后移动时,即使通道ch0与ch1的值同时变化,但对于同一手势,通道ch0与ch1的比值为一固定值。于是采用商除法检测手掌前端手指数量来消除手掌前后移动的影响。

4 系统测试

在判决模式下,指定人员,进行猜拳判决,可以给出手势“石头”、“剪刀”和“布”的准确判决;进行划拳判决,可以给出手势“1”、“2”、“3”、“4”和“5”的准确判决。共测试5组,每组测试100次,正确识别率见表1。

在学习模式下,对任意测试者,进行猜拳的手势学习,每种动作学习次数不大于3次,总的学习时间不大于1分钟,然后切换到判决模式,系统可以给出手势“石头”、“剪刀”和“布”的准确判决;进行划拳的手势学习,每种动作学习次数不大于3次,总的学习时间不大于2分钟,然后切换工作模式到判决模式,可以给出手势“1”、“2”、“3”、“4”和“5”的准确判决。手势几率数据见表2。

表1 指定人员判决模式下手势识别结果

表2 任意人员学习模式下手势识别结果

5 结语

本系统以较少元件、较低成本实现了对手势的识别及对任意人员手势的学习。通过精密算法,在数据采集时实现了数据的自我调整。通过差值补差商除,让使用者手掌不用固定在狭小的地方即可完成精确识别。测试结果表明,本手势识别系统性价比高、实用性强、工作稳定,可以为未来多维空间中手势操作控制的应用提供第一手的参考资料。

猜你喜欢

检测法手掌手势
挑战!神秘手势
摊开手掌
V字手势的由来
手掌上的童话
胜利的手势
T-SPOT.TB检测法和荧光定量PCR检测法在诊断结核病中的应用价值
基于改进检测法的STATCOM建模与仿真
手掌上的“小洞”
基于电流平均值的改进无功检测法
D-STATCOM一种改进的补偿电流检测法