Edge impulse对象检测
来自Waveshare Wiki
流程参考
烧录测试固件
- 器件准备
- ESP32-S3-CAM-OVxxxx x1
- USB线 type A公口 转 Type C公口 x1
- OV3660 摄像头 x1
- 2inch Capacitive Touch LCD x1
- 点击此处下载示例程序:ESP32-S3-Touch-LCD-1.85C-Box-Phone.bin
- 点击此处查看烧录固件教程:Flash固件的烧录与擦除教程
- 烧录成功后复位设备,LCD屏幕显示:
[[]]
Edge Impulse模型训练部署流程
- EdgeImpulse官网:https://edgeimpulse.com/
图片数据采集
- 使用arduino IDE打开 CameraWebServer 示例代码,并设置ssid和password,编译烧录;
- 打开串口监视器,等待设备连接WIFI,打印出IP地址;
- 使用手机或电脑连接同一WIFI,在与设备同一网络下用浏览器访问串口打印出的IP地址;
- 设置分辨率为240*240(可按需更改,示例代码默认为240*240分辨率),点击 save 即可保存图片,为保证识别效果,图片数量至少在50张及以上;
图片标注
- 创建Edge Impulse项目
- 上传图片文件夹
- 标注框选杯子对象
训练模型
- 设置目标设备
- 创建impulse,设置图片分辨率为60*60
注:像素越大,消耗资源越多,为保证帧率,此例程摄像头输出240*240分辨率,缩放成60*60再送入impulse中
- 保存参数
- 生成特征
- 开始训练
- 查看训练结果,若参数不佳则调整参数重新训练
部署模型
手机测试模型(可选)
- 手机浏览器扫描二维码测试模型
- 测试结果
开始构建
- 选择Arduino library部署,模型优化选择TensorFlow Lite,点击构建,完后浏览器会自动下载Arduino 库文件
- 构建完成
- 将下载的文件解压到arduino 库。(库安装教程,详见:Arduino 库管理教程)
- 将程序中的头文件替换成自己训练的文件名(头文件路径:src)
- 编译下载(注意:首次编译时间较长,请耐心等待)
- 检测到的物体会在物体对应位置打印出置信度





