内容已经转出,请移步以下网址:

https://viadean.notion.site

电动机异常ESP32和TinyML边缘检测

 二维码 103
文章附图

该项目演示如何使用 Python 训练两种不同的机器学习模型来检测电动机中的异常情况。 第一个模型依赖于马哈拉诺比斯距离的经典机器学习技术。 第二个模型是使用 TensorFlow 和 Keras 创建的自动编码器神经网络。


数据是使用贴在吊扇上的 ESP32 和轴加速度计捕获的。 每个样本是在 1 秒的过程中捕获的所有 3 个轴的大约 200 个样本。 风扇以多种速度(关闭、低、中、高)运行,有无负重。 1“重量”是一个四分之一用胶带粘在一个风扇叶片上以产生偏移运动。 所有原始数据都存储在吊扇数据集目录中。


请注意,如果您通过在数据收集期间移动风扇来创建“稳健”模型,则自动编码器的效果比 Mahalanobis 距离方法要好得多。


工作原理释义


可以在此处找到解释这些程序如何工作以及如何使用它们的完整文章:


- 数据采集

- 特征提取和模型训练

- Raspberry Pi上的机器学习

- Arduino 上的机器学习模型


视频释义


以下视频解释了如何使用这些程序以及它们背后的一些理论:


- 数据采集

- 特征提取和模型训练

- 将机器学习模型部署到 Raspberry Pi

- 将 Arduino 中的 TinyML 模型部署到 ESP32


前提条件


您需要在台式机或笔记本电脑上安装 TensorFlow、Keras 和 Jupyter Notebook。本指南将引导您完成该过程。


或者,您可以使用 Google Colab 在云中运行 Jupyter Notebook 实例,但是,加载文件(例如训练样本)需要您将它们上传到 Google Drive 并编写不同的代码以将它们导入您的程序。 本指南提供了一些有关如何执行此操作的提示。


如果您计划自己收集数据,则需要 Adafruit Feather Huzzah32、Adafruit MSA301 加速度计分线板、电池、面包板和跳线。


对于部署,您需要按照以下说明在 Raspberry Pi 上安装 TensorFlow Lite。对于 Arduino,您需要安装 适用于Arduino的TensorFlow Lite库。


硬件

开始


请阅读上面的教程以获取有关如何使用此项目中找到的脚本的完整文档。


通常,您需要执行以下步骤:


1. 收集数据样本sketch

2. 分析数据以获得良好的特征

3. 训练一个或多个机器学习模型

4. 转换模型以进行部署

5. 将机器学习模型部署到终端系统


收集数据

分析数据

训练机器学习模型

转换模型

部署模型

收集您自己的数据

源代码


阅读完整文档