📸 STM32CubeAI 实战
30章 · 从入门到部署
⚡ 图像识别模型移植全流程
📂 课程目录
点击卡片跳转章节
🎯 共30个实战单元
👇 紧凑卡片 · 友好色
1
课程导学与环境准备
工具链
安装CubeMX、CubeIDE、X-CUBE-AI,搭建开发环境
2
AI模型基础与选型
CNN
MobileNet、TinyML,选择适合MCU的轻量模型
3
数据集准备与预处理
增强
清洗、标注、旋转/翻转,划分训练/验证/测试集
4
模型训练与导出
Keras
训练图像分类模型,导出.h5及TensorFlow Lite
5
STM32CubeMX项目创建
外设
时钟、GPIO、USART、DMA配置,生成初始化代码
6
X-CUBE-AI中间件集成
导入
激活AI,导入.tflite,配置内存池与线程
7
代码生成与工程结构分析
架构
app_x-cube-ai.c/h, network.c/h 结构解析
8
输入输出数据接口设计
接口
摄像头/SD卡采集,归一化、尺寸调整预处理
9
模型推理API调用
推理
AI_Network_Process,获取输出张量,解析结果
10
后处理与结果展示
Softmax
Top-K置信度,串口打印/LCD显示识别结果
11
性能优化:内存优化
RAM
激活函数量化、权重共享,减小模型体积
12
性能优化:推理加速
DSP
M4 DSP指令、M7 Cache,优化循环与数据搬运
13
性能优化:量化技术
INT8
INT8量化原理,STM32CubeAI量化校准
14
摄像头驱动集成
OV2640
DCMI接口配置,图像采集与帧缓冲管理
15
图像预处理流水线
RGB
RGB888转RGB565、裁剪、双线性缩放
16
多模型切换与管理
管理器
运行时切换分类/检测模型,共享内存池
17
实时性测试与调优
SysTick
测量推理时间,分析瓶颈,调整优先级
18
功耗优化
低功耗
Sleep/Stop/Standby,推理间隙进入低功耗
19
模型更新与OTA
YModem
串口/YModem更新模型,远程升级
20
调试与日志系统
RTT
SEGGER RTT/串口日志,打印推理时间、内存
21
常见错误排查
避坑
内存溢出、堆栈溢出、模型加载失败解决方案
22
案例实战:手写数字识别
MNIST
训练模型,摄像头识别手写数字
23
案例实战:人脸检测
SSD
MobileNet SSD,人脸框选LCD显示
24
案例实战:物体分类
CIFAR-10
10类物体实时分类
25
案例实战:手势识别
手势
静态手势识别(数字手势)
26
案例实战:二维码识别
QR
OpenMV/自带摄像头,检测与解码
27
案例实战:异常检测
自编码器
工业表面缺陷检测
28
项目部署与测试
稳定性
长时间测试,数据记录
29
项目文档与演示
产出
文档、演示视频、代码整理
30
课程总结与进阶
TinyML
TFLite Micro、Edge Impulse,未来趋势