方法
此用例的数据来源为一个用于识别烘焙程度的咖啡豆数据集。 该解决方案提出了一个利用公共数据集进行过训练的模型;该模型在STM32上运行时具有非常出色的精度表现。
该模型的训练得益于 STM32 模型动物园中提供的 Python 脚本(请阅读我们的 教程了解更多信息)。
在此 设置我们的 STM32 Model Zoo 项目后下载数据集,并将其放入适当的结构中。
然后我们更新了 yaml文件文件,该文件用于配置训练,设置如下:
general:
project_name:coffee_bean
数据集:
名称:咖啡
class_names:[Green, Light, Medium, Dark]
training_path: datasets/train
validation_path :
test_path:datasets/test
请根据您的用例情况随意调整这些设置。
最后,我们简单地运行了“train.py”脚本。
传感器
数据
数据集 调整后的咖啡豆数据集 (224 X 224)(授权许可 CC BY-SA 4.0)
数据格式:
有四个烘焙等级。 它们分别是绿色或未烘焙咖啡豆、轻度烘焙咖啡豆、中度烘焙以及深度烘焙咖啡豆。 拍照时,相机会被设置在一个与目标路径平行的平面上。 总共有4800张照片,分为4个烘焙程度,且我们已将分辨率调整至224×244。 每个程度均对应1200张照片。
结果
模型:MobileNetV2 alpha 0.35
输入大小:128x128x3
量化模型的内存占用情况:
总RAM: 260 KB
- RAM激活:224 KB
- RAM运行时:36 KB
总Flash存储器: 528 KB
- Flash权重:406 KB
- 预估Flash存储器代码:122 KB
精度:
浮动模型: 97.75%
量化模型: 97.25%
STM32H747(高频)上的性能 @ 400 MHz
推断时间: 107 ms
帧频: 9.3 帧/秒
量化模型的混淆矩阵
模型库 ST Edge AI Model Zoo
一系列经过优化的参考AI模型,可在附带相关部署脚本的意法半导体器件上运行。Model Zoo是一种宝贵的资源,可用于为嵌入式应用增添边缘AI功能。
优化工具 STM32Cube.AI
X-CUBE-AI是一个免费的STM32Cube扩展包,可帮助开发人员将预训练的AI算法(例如神经网络和机器学习模型)自动转换为经过优化的STM32 C代码。
兼容 STM32H7系列
STM32系列32位微控制器基于Arm Cortex®-M处理器,旨在为MCU用户提供新的开发自由度。它包括一系列产品,集高性能、实时功能、数字信号处理、低功耗/低电压操作、连接性等特性于一身,同时还保持了集成度高和易于开发的特点。