1. 环境准备与工具链搭建
在开始STM32N6上的YOLOv8人脸检测部署之前,我们需要先搭建完整的开发环境。这个环节虽然看起来繁琐,但却是后续所有工作的基础,我建议花点时间把环境配置妥当,避免后续踩坑。
首先需要准备的是Python开发环境。我强烈推荐使用conda创建独立的虚拟环境,因为STM32N6的NPU工具链对库版本要求比较严格,隔离环境能避免与现有项目冲突。具体操作如下:
conda create -n stm32n6-yolov8 python=3.9
conda activate stm32n6-yolov8
pip install ultralytics==8.3.22 tensorflow==2.19.0
pip install onnx==1.14.0 onnx2tf==1.26.3 sng4onnx onnx_graphsurgeon
这里有个小技巧:安装onnx2tf时指定版本很重要,最新版本可能不兼容STM32N6的NPU编译器。我最初就是用了最新版本,结果转换后的模型在开发板上无法正常运行,折腾了好久才发现是版本兼容问题。
接下来是ST官方工具链的安装。你需要从ST官网下载三个关键组件:STM32CubeMX、STM32CubeIDE和X-CUBE-AI扩展包。安装时要注意版本匹配,X-CUBE-AI需要10.0.0或更高版本才能支持STM32N6的NPU特性。安装完成后,还需要单独下载STEdgeAI-NPU工具包,解压到X-CUBE-AI的Utilities目录下。
硬件方面,除了STM32N6开发板外,你还需要准备一个支持RGB格式的摄像头模块和Micro-USB数据线。我测试时用的是OV5640摄像头,因为它的驱动在ST官方库中已经很好支持,省去了自己写驱动的时间。
2. YOLOv8模型训练与量化
模型训练是整个项目中最能体现技术含量的部分。STM32N6的NPU支持Int8量化推理,所以我们需要训练一个适合量化的YOLOv8n模型。
数据集选择上,WIDER FACE是不二之选。这个数据集
387



被折叠的 条评论
为什么被折叠?



