亲,“电路城”已合并升级到更全、更大、更强的「新与非网」。点击查看「新与非网」

本网页已闲置超过3分钟,按键盘任意键或点击空白处,即可回到网页

基于Thunderboard Sense 2的手势识别

发布时间:2021-04-15
分享到:

基于Thunderboard Sense 2的手势识别

发布时间:2021-04-15
分享到:

该项目是在Thunderboard Sense 2的基础上设计的手势识别。

Thunderboard Sense 2是Silicon Labs的开发套件,它适合需要大量环境或位置数据以及充足的蓝牙连接性的项目,它使开发人员和业余爱好者都可以尝试各种传感器和应用程序。该开发套件还具有以下传感器:

  • Si7021(温度+湿度)
  • Si1133(紫外线和环境光)
  • BMP280(压力)
  • CCS811(室内空气质量和气体)
  • ICM-20648(6轴IMU)
  • ICS-43434(数字麦克风)
  • Si7210(霍尔效应)

项目的核心芯片是EFR32MG12P,它有多协议无线电的低功耗、直接储存器的灵活以及微处理器的外围接口。

开发板具有: 

  • Arm Cortex-M4处理器
  • 256KB RAM
  • 1MB闪存

 开发板还具有集成的J-Link调试器,这使得加载程序和查看输出非常简单。

开发板原理图:

设置边缘脉冲:

在Edge Impulse上创建了一个名为Gesture Recognizer的新项目(确保已安装Edge Impulse CLI工具)。

运行edge-impulse-daemon以允许Edge Impulse服务将设备连接到正确的项目。如果成功完成,可在选项卡中看到Devices。

收集加速度计数据:

每编译一个二进制文件都允许它使用其板载加速度计和麦克风捕获,并将数据发送。返回Data Collection标签中的信息中心,选择设备、并贴上标签。我设置了5个手势标签:circle,zigzag,updown,leftright,和none。

我为前4个手势标签分别收集了8个10秒的样本,然后为none标签收集了4个10秒的样本。

对其中几个手势标签的样本进行了测试:

训练模型:

从时间序列数据将样本分成2秒的窗口开始,然后将它们传递到Spectral Analysis块。在此处,数据通过截止频率为3且阶数为6的低通滤波器以及频谱功率处理器。

然后将这些特征传递到Keras神经网络,该神经网络的输入层具有33个特征,其中20个神经密度高的层,10个神经密度高的层和5个特征的输出层(带有标签)。经过40个训练周期的训练,学习率为0.0005,该模型能够变得100%准确。

该Model testing选项卡可反映数据,因为它在分类训练数据的正确率达98.81%。

部署方式:
对模型进行测试后,将对其进行部署。选择了iSiLabs Thunderboard Sense 2作为目标设备,并启用EON编译器来节省空间。

构建完成后,下载二进制文件并将其拖放到TB004驱动器中。

测试:

为了运行分类器,返回了命令行并运行了edge-impulse-run-impulse。该程序可实现:将传感器传入的样本进行分类,并将结果发送到终端。

加入微信技术交流群

技术交流,职业进阶

关注与非网服务号

获取电子工程师福利

加入电路城 QQ 交流群

与技术大牛交朋友

讨论