在本文中,板载手势传感器将用于收集对象识别数据,这些数据将用于创建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设备
- 查看表情符号表示的数据
详情参阅 - 亚图跨际