7899| 3
|
[入门] 【在 Arduino 上使用机器学习】(一)在 Arduino 开发板上安... |
【在 Arduino 上使用机器学习】(一)在 Arduino 开发板上安装库及添加测试样本 【在 Arduino 上使用机器学习】(二)Tensorflow上构建及训练模型 【在 Arduino 上使用机器学习】(三)在Arduino上使用自定义手势识别模型 机器学习可以让没有嵌入式研发背景的程序员也能使用微控制器 准备材料
Arduino Nano 33 BLE Sense 拥有各类板载传感器,可能带来一些酷炫的 Tiny ML 应用:
最近事情很多,板子放了几天,实在忍不住心痒痒,把手头的事先放一边,开始研究这个新物种。没想到还是非常好上手,前后一天时间就顺利的完成了整个过程。 以下是详细的体验过程。 设置 Arduino IDE 为了将推理模型配置到开发板中,并从开发板中下载后面所需的训练数据,请按照以下步骤设置 Arduino IDE 应用。因为我们将需要在 Arduino IDE 中下载并安装特定开发板和库,本方法采用的步骤比使用 Arduino Create 网页编辑器要多一些。
依次点击库管理器:Tools > Manage Libraries…
安装完成
安装完成
TensorFlow Lite for Microcontrollers 示例:语音识别micro_speech
体验结果:识别结果不尽如人意。说No的时候识别率比较高,说Yes的时候识别率比较低,需要把Yes拖的时间比较长,而且强调e。这也正如团队所说的“此模型仅使用 256KB RAM,并在本地微控制器上运行,因此不要期待与商业级别“语音助手”相同的准确性。模型没有连接到互联网连接,并且本地可用 RAM 相差了近 2000 倍。" 收集 Arduino 传感器的流数据 我们将使用预制例程 IMU_Capture.ino 执行以下操作:
实时显示 Arduino 开发板的传感器数据日志 完成上述步骤后,我们现在可以显示来自开发板的数据。
采集手势训练数据 如要将数据采集为 CSV 日志以上传到 TensorFlow,您可以依次点击 Arduino IDE > Tools > Serial Monitor,以查看数据并将其导出到您的台式电脑:
上传成功后打开串口监视器,在触发采集前可以看到显示aX, aY, aZ, gX, gY, gZ 触发手势,串口监视器返回多组数据 “击拳”10次,将串口监视器的数据全部选中,复制粘贴到punch.csv文件中。注意最后一行没有数据的不要选,否则会出错(后面会提及)。 复制粘贴后显示如下,此时数据是一个单元格一条数据,没有按aX, aY, aZ, gX, gY, gZ分开 选择data-->Text to Column,将数据按列分割 同样的方法操作曲肘数据也是一样,全选后保存到flex.CSV中,将多余的列删除即可 注意,两个 csv 文件的首行应当包含以下字段:aX、aY、aZ、gX、gY、gZ 每次采集有119条数据,采集10次,每个CSV文件有1190条数据,加上标题行,一共1200行数据。注意要删除空行,并观察CSV记录的条数。如果存在不合格的数据,在后面Tensor Flow数据解析的时候会报错(大坑!) 下一个教程学习在Tensor Flow中训练模型 参考资料: Tensoflow:在 Arduino 上使用机器学习 Arduino:Get started with machine learning on Arduino |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed