基于FDC2214 单通道阈值分析的手势识别系统

2020-09-29 05:49陈成凯陈梓威霍非凡林乐坤
实验技术与管理 2020年6期
关键词:极板识别率手势

王 鑫,陈成凯,陈梓威,霍非凡,林乐坤,吴 珂,刘 浩

(1.机电工程国家级实验教学示范中心,天津 300384;2.天津理工大学 工程训练中心,天津 300384)

在国家创新驱动发展战略大背景下,人脸识别、语音识别等人工智能技术在现代社会多个领域广泛应用[1]。手势识别作为一种新兴的人机交互智能识别技术,在ATM 取款、高铁自助检票等日常生活中开始大量应用[2-3]。电容式传感器相比常见的摄像头在一些特定手势识别场合具有明显优势:测量精度高、不易受外界光线和电磁干扰、感测材料广泛、功耗低、体积小、成本低等[4]。

TI 公司最新推出的FDC2214 芯片作为一款识别率高且功耗低的识别检测芯片,能够实现复杂环境条件下的人体和物体测量[5]。本文通过检测电容感应板上不同区域的电容大小以及变化来判断所对应的手势,通过OLED 屏幕显示识别结果。该系统经过金属屏蔽处理,可抵抗外界的干扰,经过多次手势训练后具有快速、稳定的识别能力,使用Flash 实现了断电记录数据。

1 硬件设计

手势识别系统的硬件主要包括STM32F103C8T6最小系统、FDC2214 识别、OLED 显示、DC-DC 供电和4 个按键电路。STM32F103C8T6 通过I2C 接口与识别单元进行通信,其最大接口速度可为400 kbit/s,高速通信可保证电容数据的读取和OLED 图像的传送[6]。基于FDC2214 的识别单元用来进行数据的采集、运算和传输。其中电容采集部分是一个L-C 谐振器[7]。该设备输出一个与频率成正比的数字值,可以转换为等效电容。OLED 显示用户界面和识别结果。DC-DC 供电模块将7.4 V 转换成5 V。按键用于人机交互的指令输入。

电路设计如图1 所示。

图1 电路设计图

2 电容传感器数据采集

2.1 FDC2214 采集原理

FDC2214 是电容式高分辨率、高速、多通道电容数字转换器,分辨率高达28 bit,采样速率高达每秒13.3×103次,便于实现识别快速移动目标的应用[8]。其I2C 外设接口简化了与微控制器(MCU)的连接方式。每片FDC2214 含有4 通道电容检测[9]。本文的手势检测识别系统通过算法优化,仅使用FDC2214 单通道即可实现较高识别率。图2 是FDC2214 芯片的内部原理图。

图2 FDC2214 芯片的内部原理图

不同手势的电容值可根据两极板间电容的计算公式得出:

其中:ε 是相对电介质常数;k 代表静电力常量,k=9.0×109Nm2/C2;S 是极板的有效覆盖面积;d 是两块极板之间的间距。FDC2214 通过LC 谐振的方式把电容的模拟量转化成数字量输入单片机进行处理。不同的手势代表不同的S,在其他参数没有变化的前提下,就可以通过电容值的变化识别不同的手势。

2.2 频率测量方法

将FDC2214 通道0 中的一相引出接到待测量的金属板,将手放到极板上,测量金属板和通道之间的电容,经过均值滤波之后储存电容值[10]。电容采集电路如图3 所示,使用LC 谐振电路采集极板电容。外部电路选择一个18 μH 屏蔽SMD 电感与33 pF 电容并联,产生6.5 MHz 振荡频率。谐振信号经由通道0 输入FDC2214 转换成谐振频率 fSENSORx。

图3 电容采集电路图FDC2214

如图2 所示,在FDC2214 内部,频率 fSENSORx经过多路复用器连接到运算核心单元Core。该内核使用参考频率 fREFx测算最终频率。 fREFx来源于内部参考时钟(振荡器)或外部提供的时钟。每个通道最终频率的输出是与 fSENSORx/fREFx成比例的。由于不同人的手在相同手势下会有不同容值,对于给定的总传感器板面积,单端配置允许比差分配置更高的感应范围。最终的频率值由式(2)得出:

3 识别算法

3.1 基于阈值与概率分析的识别算法

通过对数据的统计发现,有些区域相邻手指之间的容值变化相对较小,识别结果不准确。为了提高识别的准确度,需对大量的数据进行统一的处理。在此基础上,使用“阈值”代表相邻手指间容值的分界值,用iW 表示,电容值超过iW ,机器就会自动识别为手势种类i。以手势1 和2 为例,分界值为2W 。下面分别通过改变两个手势在铜板上放置位置以及与铜板接触面积的大小各采样10 次。手势1 的最大值记为F1max,最小值记为F1min;同样,手势2 的两个边界值为F2max和F2min。从而得到了两个闭区间[F1min,F1max]和[F2min,F2max],极板上接触区域内的总容量分别用1U 和 U2表示。

图4 比较情况一

图5 比较情况二

如图4、5 所示,在这四个边界值中,由数据显然可知:F1max

完成上述区分工作,将分界的电容值进行储存,方便跳转到主界面进行判断显示。为此采用数组存储,将1~5 个手指最终的阈值储存进1×5 维矩阵中,并依次将接下来r 名学习员的数据构成r×5 维矩阵。当检测时,通过按键选取对应学习员数据,由主界面进行判决。从而完成整个机器学习算法的设计。

3.2 阈值选取

随机选取三名手掌大小明显不同的测试者进行测试。测试内容为手指数1、2、3、4、5 以及“剪刀”“石头”“布”共计八个手势。测试方式为每个手势测取7 个数据,将所有数据进行MATLAB 数据分析,结果如图6 所示,验证阈值选取和手势识别效果。

图6 Matlab 数据分析—阈值的选取

图6 中纵坐标为测试距离,即每次测试时手指偏离标准起始位置的位移。可以看到,不同手指间的区分度不尽相同。经实际图像及数据验证可较合理地选择阈值iW ,根据式(3),将此算法用单片机实现,自动计算选取手指数1、2、3、4、5 以及“剪刀”“石头”“布”的电容阈值分别为0.60、1.15、1.60、2.10、2.82、0.60、1.90、2.90 nF。

3.3 程序设计

程序主要分为模式选择、猜拳主界面、识数主界面、学习界面和判决界面五个部分。学习界面显示学习模式、手势信号以及每次学习所取得的数据,判决界面显示通过学习所存储记忆的数据,通过判决界面进行输出。主体程序流程如图7 所示。

图7 程序流程图

4 测量与验证

在学习模式下,将手指放入如图8 左边的铜板之上,便可读取并记录此时的容值,用按键输入对应的手势进行数据标注。随机选取十名手掌大小明显不同的测试者进行机器学习,每个人手指数1、2、3、4、5 以及“剪刀”“石头”“布”共计八个手势,每个动作学习10 次,共取得800 组数据进行学习训练[11-12]。

图8 实验验证

切换到识别模式下,十名测试者随机打乱再进行测试,每人每个手势测试识别20 次,共测得1 600 组数据,识别率统计结果如表1 所示。

表1 手势识别率结果 %

本文系统的手势总平均识别率为94.56%,识别效果较好。

5 结语

本文利用电容传感器芯片FDC2214 单通道电路设计了一种基于阈值分析的手势识别系统,使得芯片外围采集电路简化,系统功耗降低,成本减少,稳定性增强。该系统经过大量数据实验验证,识别迅速、稳定且识别率较高,在智能交互、安全驾驶、手语认知等领域具有广泛的应用前景。

猜你喜欢
极板识别率手势
扇区水泥胶结测井仪DTMX 和DTMN 响应异常典型案例分析
一种新型微球聚焦测量极板设计及应用*
挑战!神秘手势
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
铅酸电池管式正极添加四碱式硫酸铅晶种的研究
听力正常青年人的低通滤波言语测试研究*
V字手势的由来
提升高速公路MTC二次抓拍车牌识别率方案研究
胜利的手势
电容器与带电粒子在电场中的运动测试题