电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>使用Edge Impulse在pico上进行手势识别

使用Edge Impulse在pico上进行手势识别

2023-02-03 | zip | 0.26 MB | 次下载 | 免费

资料介绍

描述

在 Edge Impulse 等在线平台的帮助下,嵌入式机器学习现在变得很容易,并且允许创作者设计自己的应用程序,而只需要一点机器学习知识或根本不了解机器学习。

在这个项目中,我使用 MPU6050 加速计传感器pi pico 创建了一个基本的手势识别设备。该模型经过训练可以识别左右、上下和空闲运动,并且可以通过向其添加更多手势来进一步增强。识别的手势显示在 128*64 SSD1306 OLED 显示屏上,甚至来自串行监视器(可选)。

整个应用是在VScode上pico的C/C++ sdk和训练模型的edge impulse平台上开发的。

我制作这个项目只是为了学习目的,以便在不久的将来实施更多与嵌入式 ML 相关的项目。

单击此处查看公共边缘脉冲项目。

Edge Impulse 平台

Edge Impulse 是一个用于训练 ML 模型的 ML 开发平台,还允许您将这些模型部署到几乎所有嵌入式开发板上,例如本项目中使用的 Raspberry pi pico。

凭借对 ML 的最少了解,我能够按照平台中提到的步骤创建一个基本的手势识别模型。

单击此处了解有关边缘脉冲的更多信息

训练模型

1:配置Pi-co

使用数据转发器,您只需使用几个命令即可从 CMD 连接您的 pico,数据转发器会自动计算设备的波特率和传感器频率,并将数据自动发送到服务。

按照此处的步骤了解数据转发器。

在将设备连接到 Edge Impulse 服务器之前,请确保在 pico 上上传数据转发器代码。

data_forwarder_2dKYRrbpqT.png?auto=compress%2Cformat&w=740&h=555&fit=max

使用数据转发器配置

2:数据采集

根据文件类型,有多种方法可以将数据发送到 Edge Impulse Service。对于此应用程序,数据转发器还会在 pico 连接后处理数据采集。

这是来自加速度计的原始样本数据。

 

12628,-6600,1376
12624,-6584,1268
12684,-6620,1284
12532,-6648,1100
12636,-6752,1296
12644,-6672,1404

 

数据x-axis,y-axis,z-axis 以当时捕获的在线方式发送。

获取3个标签的数据,即up-down,left-right和idle。为每个标签收集 20 个样本进行训练。

每个样本收集 10 秒。例如,加速度计左右移动 10 秒以生成一个左右样本。

1 / 2 •捕捉左右运动

总共收集了 11 分钟的数据,分为训练集 8 分钟和测试集 3 分钟。

image_z85IFgRljt.png?auto=compress%2Cformat&w=740&h=555&fit=max

80% 留给训练集,20% 留给测试集

3:模型训练

我使用了默认选项来训练模型。训练后的模型准确率为 97.8%。但是,这仅使用验证集进行评估,因此我们不能太依赖这种准确性。

image_QY7S1JRyvY.png?auto=compress%2Cformat&w=740&h=555&fit=max

培训成果

为了确定准确性,我使用实时推理来确定模型在那一刻的预测,这似乎很有希望。

4.部署

一旦经过训练的模型通过实时推理提供了良好的准确性,就可以在 pico 上部署它了。我已经从部署选项卡下载了 C/C++ 库(未优化的 float32),并使用 Arduino 脚本作为参考来开发用于 pico 的 C++ 脚本。当我使用量化的 int8 库时,我发现预测很差,这就是我选择未优化的 float32 库的原因。

添加 OLED 显示屏

在 pico 上测试模型后,我使用了 SSD1306 OLED 显示器来显示识别手势的图形图像。感谢Harbys git repo 提供 pico 的 OLED 驱动程序文件。

分别使用位图图像来显示左右和上下图像图标。这些图标取自谷歌图像并使用image2cpp工具转换为位图数组。

left-and-right-arrows-pngrepo-com_1xv2053SyO.png?auto=compress%2Cformat&w=740&h=555&fit=max

1 / 4 •上下图标

注意:当图像是从 Pico 的 USB 侧面面向面包板查看时,左右图像显示为上下,反之亦然。

利用多核

整个过程由 Pico 的两个内核处理,其中 core-1 处理执行数据采集和推理,core-0 负责 OLED 功能。我使用了两个内核,因为我想了解并行处理,这种方法将使我能够进一步向它添加更多功能(例如:在一个内核执行推理而另一个内核将数据发送到云服务器的应用程序中,或者到任何其他外围设备),我稍后可能会实施。

working_cores_QRRAxDorDw.png?auto=compress%2Cformat&w=740&h=555&fit=max

利用多核

最终输出

识别的手势显示在 OLED 显示屏上

参考

关于嵌入式机器学习和项目构想-点击此处查看coursera课程

MPU6050驱动开发-Vidura Embedded

SSD1306 OLED 驱动程序 - Harbys git repo

如何在 pico 上部署 Edge Impulse 模型 - Hardware.ai

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费