使用 eIQ 进行 ML 干豆图像分类
在基于 MCU 的系统上部署图像分类模型的分步指南。使用 eIQ 门户开发了一个平衡的图像分类模型,用于对 5 种干豆进行分类。
这个平衡图像分类模型使用 eIQ 门户,针对 5 种干豆(黑豆、鹰嘴豆、绿豌豆、小红豆和黄豌豆)进行了训练。该模型使用 128x128x3 的输入大小进行训练,训练周期超过 25 个周期。之后,该模型以 int8 量化 tflite 模型的形式从 eIQ 门户导出。
然后将图像分类模型部署到 RT1170-EVK 评估板上。该评估板配备 1GHz Arm Cortex-M7 内核和 400MHz Arm Cortex-M4 内核,可用于使用 MCUXpresso 套件进行评估和原型设计。RT1170-EVK 板内存包含 512 Mbit SDRAM、512 Mbit Octal 闪存、128 Mbit QPSI 闪存、2 Gbit Raw NAND 闪存、64 Mbit LPSPI 闪存以及一个用于 SD 卡的 TF 插槽。
主板:MIMXRT1170-EVK
类别:AI/ML、视觉
外围设备:显示器、视频
工具链:MCUXpresso IDE
目录
1.软件
- 下载并安装MCUXpresso IDE v11.8.0+。
- 下载并安装eIQ Toolkit v1.8.0。
- 下载此存储库中的软件包。
- (可选)安装终端窗口,例如TeraTerm。
2.硬件
- 购买支持的主板:
- MIMXRT1170-EVK
- 0V5640 MIPI 摄像头模块(附带 EVK 板)
- 购买支持的显示器:
3. 使用 eIQ Portal 生成模型
打开 eIQ 门户并按照 eIQ 工具包页面文档部分中的 eIQ 工具包用户指南 (Rev 1.8.0) 中的以下章节进行操作。
3.1
按照3.2 节和3.3.2 节的步骤导入数据集并创建新项目。此存储库中的数据集文件夹遵循3.3.2 节中引用的结构化文件夹数据集的命名约定。
3.2
按照第 3.5.2 节为数据集创建训练-测试分割。
3.3
按照3.6.1 节的步骤选择最适合目标的模型。本软件包中使用的模型是用于 MCU 的平衡分类 mobilenet v2 模型。
3.4
按照第 3.7 节通过调整训练参数来训练选定的模型。
3.5
按照3.8 节的步骤验证模型。本软件包中使用的模型的验证过程中产生的混淆矩阵和每类矩阵如下所示:
3.6
按照第 3.9 节从 eIQ 门户导出模型。本软件包中使用的模型是 int8 量化的 tflite 模型。
3.7
按照第 3.10 节对训练好的模型进行量化,以减小其尺寸并提高其推理时间。
3.8
要在嵌入式项目中部署生成的模型,请按照本自述文件第 7.2 节将 tflite 模型转换为 C++ 格式
4.软件设置
要运行此存储库中提供的软件包,请打开MCUXpresso IDE v11.8.0+并按照 MCUXpresso IDE 页面文档部分中的 MCUXpresso IDE 用户指南(修订版 11.8.0)中的以下部分进行操作。
4.1
按照第 10.3 节将该项目导入 MCUXpresso IDE。
4.2
按照21.2 节的步骤将构建配置更改为发布构建。然后按照5.2 节的步骤构建项目。构建项目后,控制台应显示以下内容:
4.3
按照第 13 节调试项目。
4.4
打开终端窗口(例如Tera Term),或按照?21.8 节“?使用终端视图与目标进行 UART 通信”中的说明,查看摄像头输入的推断结果。请确保连接到开发板枚举的 COM 端口,并使用 115200 波特率、1 个停止位和无奇偶校验。
5.硬件设置
将 LCD 连接到电路板背面的 J48 端口,如下图所示。
将相机连接到 J2 端口,如下图所示。
6.结果
MIPI 摄像头输入的推理结果应显示在终端和 LCD 上,如下所示。下方还显示了 5 类干豆的示例图像。
7. 常见问题解答
7.1
?问:?为什么运行此示例时 LCD 屏幕一片空白?
?答:?如果您使用的是RK055HDMIPI4MA0 LCD,请在 source/video/eiqdisplayconfig.h 文件中将第 41 行更改为“#define DEMOPANEL DEMOPANELRK055MHD091”。如果您使用的是旧款 LCD 显示面板RK055HDMIPI4M,请将第 41 行更改为“#define DEMOPANEL DEMOPANELRK055AHD091”。
7.2
?问:?我想运行一个我使用 eIQ 门户针对给定干豆数据集生成的图像分类模型,而不是此软件包中使用的模型。我该怎么做?
?回答:?如果您想运行使用 eIQ 门户生成的自己的图像分类模型,而不是此软件包中使用的模型,请按照eIQ TensorFlow Lite for Microcontrollers Lab for i.MX RT1170 - With Camera.pdf - Revision 5, August 2023 的第 4 节和第 5 节进行操作。
8. 支持
项目元数据
来源:恩智浦appcodehub