Arduino使用TinyML实现手势识别

什么是TinyML

TinyML是在Pete Warden于2014年加入Google时发现的,当时OK Google小组是如何使用在DSP上运行的仅14 KB的神经网络来处理Android智能手机的“ OK Google”唤醒词的。沃登的背景是从房子的侧面看的,所以看到在如此有限的空间中奔跑的东西激发了他的好奇心。

他最初致力于使TensorFlow在Android和iOS设备上运行,然后移至TensorFlow Lite,但随后尝试使用更小的设备。沃登在音频领域发现了Pixel的Music IQ用于预测性维护(例如PsiKick),在视觉方面,Qualcomm的Glance摄像头模块结合了图像传感器和运行计算机视觉算法的低功耗处理器。与同事交谈后,Warden专注于使神经网络在仅消耗1 mW功率且无需有线电源的设备上运行。

另一个限制是处理器的成本应低于1美元。 TinyML的主要用途是用于边缘设备,在这些边缘设备中,几乎无需维护即可部署传感器。关于运行TinyML的设备浮现的一句话是“撕开和黏贴传感器”。这是一个概念,该设备无需更换电池即可运行数年,并且可以放置和遗忘,除非需要从中获取数据。Warden提到可以在这类设备上使用的区域是在工业生产线上,不方便供电的地方。

硬件

Arduino IDE准备

安装库文件

下载示例程序

使用Arduino IDE串行绘图仪查看传感器数据

在Arduino上开始机器学习

捕获手势数据

前往Jupyter笔记本

运行设置环境

上载捕获数据

图形数据

基于.csv数据的训练神经网络

随机分配和拆分输入和输出对以进行训练

建立和训练模型

校验

使用测试数据运行

将训练好的模型转换为Tensor Flow Lite

将模型编码到Arduino头文件中

对IMU数据进行分类

编译并上传Sketch

详情参阅 - 亚图跨际

你可能感兴趣的:(机器学习,编程,机器学习,Arduino,tinyml)