×

TinyML:ESP32 CAM和TFT上的实时图像分类

消耗积分:2 | 格式:zip | 大小:0.29 MB | 2023-02-08

王辉

分享资料个

描述

不久前,我决定试用ESP32 Cam 和 Edge Impulse示例,但发现它坏了。缺少很多库依赖项。事实证明,Espressif 已将他们的esp-face存储库大修esp-dl ,并且更专注于更昂贵的 ESP-EYE。

您可以在原始存储库或这篇关于如何在Edge Impulse上训练您自己的 TinyML 模型的文章中找到说明下载部署的Arduino库后,在我的脚本中更改导入的库名称。

我复制了必要的文件并使其工作。但这仍然不是一个优雅的解决方案;您必须在连接到相同(稳定)WiFi 的计算机上的浏览器中查看图像。您需要刷新页面(发送新请求)才能获得新照片。

所以我决定改进它,看看我是否可以直接在 TFT 彩色显示器上显示图像。

起初它不成功,因为大多数示例使用TJpg_Decoder并且它使用大量内存,导致 ESP32-CAM 崩溃然后重启。然后我发现 ESP32 库中有一个函数可以将 JPEG 转换为 RGB565(这是 Adafruit 驱动程序使用的格式)。我什至可以将图像缩放到 1/2 边尺寸 (= 1/4),以便它很好地适合 ST7735S 160x128 或 128x128 显示器。一切正常,问题解决。

 

(不,我无法使用 Adafruit 产品,但我想它们的工作原理是一样的。)

您可以在我的 repo 上找到有关布线、训练数据(Kaggle 猫狗数据集)和模型(带迁移学习的 MobileNetV1 96x96 0.25)的更多详细信息。还有我的模型库的副本和样板版本(不使用按钮和 TFT)。

pYYBAGPi9wOAEeK0AACNTCIFuvU306.png
 

Edge Impulse 的训练准确率为 89.8%,测试准确率为 86.97%。捕获的图像为 240x240(在 TFT 上调整为 120x120,模型调整为 96x96)。ESP32-CAM 上的模型推理(预测)时间为 2607 毫秒(2.6 秒)。它并不快,但设置非常便宜我认为这实际上可以用作现实世界的应用程序......?


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !