项目简介
本项目使用Edge Impulse进行模型的训练。Edge Impulse是一个端到端的开发平台,专为构建和部署嵌入式机器学习模型而设计。它使开发人员能够使用传感器数据来构建自定义的机器学习模型,并在边缘设备上运行这些模型,而无需互联网连接。Edge Impulse提供了一系列的工具和库,使开发人员能够快速有效地构建和部署自定义的嵌入式机器学习应用程序。
之所以使用鸟巢作为项目的识别对象,是因为鸟巢的特征繁多不容易提取,可以充分测试本设备的运算能力,为日后识别模型和设备的选型提供参考。
一、需要用到的工具和安装包和源码包
工程源码:
https://github.com/RT-Thread-Studio/sdk-bsp-ra8d1-vision-board
RT-Thread env工具:
https://www.rt-thread.org/download.html
Renesas Flash Programmer烧录工具:
https://www.renesas.com/us/en/software-tool/renesas-flash-programmer-programming-gui
openmv ide
https://openmv.io/pages/download
模型开发平台:
https://edgeimpulse.com/
二、开发过程
1、openmv工程的下载与编译
克隆sdk-bsp-ra8d1-vision-board源码包,使用env工具切换至目录$PRJ/sdk-bsp-ra8d1-vision-board/projects/vision_board_openmv
运行mklinks.bat生成两个链接
运行env并切换至vision_board_openmv/, 使用scons命令进行编译
编译过程会报如下错误
参考https://github.com/RT-Thread-Studio/sdk-bsp-ra8d1-vision-board/pull/88,使用 arm-gnu-toolchain-13.2.rel1 版本工具链进行编译。下载工具链,并在env中设置环境变量set RTT_EXEC_PATH=D:\your toolchain path\bin
2、模型训练
进行模型开发平台https://edgeimpulse.com/
按提示新建工程并设置工程配置项
选择左栏进行原始数据上传,配置如下,我选择的是自动划分训练和测试项,自定义标签
图片上传后,可以分别查看训练集和测试集的内容
根据Labeling queue (0)进行图片的标注
使用Impulse design-> Create impulse 进行模型配置
使用Impulse design-> image配置颜色深度为RGB,并生成特征。
使用Impulse design-> Object Detection 配置训练参数并开始训练
训练结果
工程库的生成Deployment-> build
生成文件
三、项目测试
将labels.txt和trained.tflite两个文件复制到sd卡,并将卡插入开发板
烧录vision_board_openmv/工程的hex文件到开发板
打开openmv ide并打开ei_object_detection.py
连接并运行脚本
可以看到训练效果,已经能识别到鸟巢。
End
想要在RT-Thread平台或社区投放内容?或想参与相关直播活动及赛事?RT-Thread已开放对接窗口,请通过邮件与我们取得联系,期待合作!
合作邮箱: tongfangyi@rt-thread.com
点击“阅读原文”