Arduino使用TinyML实现水果识别

在本文中,板载手势传感器将用于收集对象识别数据,这些数据将用于创建TensorFlow Lite模型,该模型可用于识别特定对象。 电路板的接近传感器功能将用于识别物体何时靠近电路板,而RGB传感器用于首先收集物体的颜色数据,然后正确识别物体。 这是一个简单的示例,但确实显示了在小型设备上运行TinyML的潜力以及传感器丰富的Arduino蓝牙传感器的强大功能。

硬件

水果

Arduino IDE准备

安装库文件

捕获训练数据

  • 打开串行监视器,然后选择一种水果来收集数据。

    注意:确保面板靠近水果并且光线充足,可以更好地收集数据。 将棋盘移至水果上方或将水果移至棋盘上方。

    例如:香蕉

  • 从串行监视器复制数据并将其放置在CSV文件中。

    例如,

    banana.csv

    注意:确保文件的第一行包括以下内容:

    Red,Green,Blue

  • 重复其他水果。

    苹果,橙(在这种情况下为橙色甜椒)

训练模型

训练神经网络

  • 运行Parse并将CSV文件中的数据单元准备为可用于训练连接的神经网络的格式

  • 运行“构建和训练模型”单元,以使用高级Keras API构建和训练TensorFlow模型。

    输出:

  • 与测试数据一起运行以将数据放入模型并绘制预测

  • 将训练后的模型转换为Tensor Flow Lite,并以字节为单位显示模型大小。

    输出:

    刷新文件以查看创建的手势文件:

    创建的文件:gesture_model.tflite

  • 将模型编码到Arduino头文件中

    该单元将在model.h文件中创建一个字节数组。注意:以前这是行不通的,但看起来已得到纠正。

    刷新文件以查看model.h文件。

运行TensorFlow Lite模型

  • 将model.h选项卡添加到Arduino IDE项目,然后将Colab会话中的model.h代码添加到新文件中。

水果表情符号版

  • 可以使用相同的object_color_classifier.ino sketch通过串行输出打印水果表情符号,但需要进行一些代码修改。
  • 从终端使用“ dmesg”获取Nano tty设备
  • 查看表情符号表示的数据

详情参阅 - 亚图跨际

你可能感兴趣的:(物联网,编程,Arduino,tensorflow,arduino,tinyml)