1. STM32N6工业视觉检测系统概述
工业视觉检测的核心任务,是让设备在产线上“看懂”产品:判断有无、识别字符、测量尺寸、定位缺陷、引导抓取。传统方案通常把图像采集卡与工控机放在电柜里,相机通过线缆把图像送到主机处理。这种架构算力充裕,但体积大、功耗高、布线复杂,单站成本往往在数千元以上。STM32N6 的出现,让“把视觉判断下沉到相机端或检测头内部”成为可行路径——它内置神经处理单元 NPU,可在几百毫瓦到一瓦级功耗下运行轻量卷积网络,同时保留 MCU 的实时控制与外设接口能力。
本课程的目标不是讲清某一个算法,而是完成一套可运行的边缘视觉检测系统集成:从相机/传感器接口取图,经预处理送入 NPU 推理,得到类别、置信度或坐标,再由 MCU 侧完成判定、通信与执行输出。学完后你应当能够独立完成一个“采集—推理—判定—输出”的闭环,并能定位其中最常见的性能与稳定性问题。
工业视觉检测的典型场景
工业现场对视觉的需求差异很大,但落到边缘端,通常集中在几类任务上。第一类是存在性与装配校验:例如连接器是否插到位、螺丝是否漏装、标签是否贴正。这类任务输出是“合格/不合格”加一个置信度,模型小、帧率要求中等(5~15 fps 即可)。第二类是字符与条码识别:读取批次号、日期码,输出字符串,常与 OCR 或专用解码算法配合。第三类是尺寸与位置测量:通过边缘检测或关键点回归得到像素坐标,再结合标定换算为毫米,用于间隙、孔径、偏移量判断。第四类是表面缺陷检测:划痕、脏污、缺料,这类任务对分辨率和模型容量要求最高,边缘端通常只做初筛,把可疑图像上传给上位机复判。
这些场景对系统的共同约束是:节拍固定(例如 200 ms 内必须出结果)、光照会漂移、被检物位置有抖动、现场电磁环境复杂。因此系统集成时必须同时考虑算法精度、推理时延、图像质量与通信可靠性,而不是只调模型。
STM32N6 在边缘视觉中的定位
STM32N6 属于带 NPU 的高性能 MCU,主频可达 800 MHz 级别,片上 SRAM 容量较大,可直接缓存多帧图像与中间特征图,避免频繁访问外部存储带来的带宽瓶颈。它的定位介于“纯 MCU + 传统图像处理”和“MPU + Linux + 独立加速器”之间:比前者能跑更复杂的神经网络,比后者启动更快、功耗更低、实时性更确定。
在系统里,它通常承担三个角色:图像采集与预处理(MIPI CSI 或并口取图、去噪、缩放、归一化)、神经网络推理(NPU 执行量化后的模型)、实时判定与输出(GPIO 触发剔除、UART/CAN/Ethernet 上报结果)。需要明确的是,它不适合训练模型,也不适合处理超大分辨率图像;模型需要在 PC 端训练并量化为 INT8,再部署到片上。
系统集成总体框架
把上述角色串起来,就得到本课程贯穿始终的总体框架。下图给出从光学输入到执行输出的完整信号链,以及各环节对应的关键参数与工具,后续章节将逐段展开。
图中主链路是“采集→预处理→推理→判定→输出”,虚线回路表示结果会反过来影响采集参数或触发重拍。实际调试时,最容易被忽视的是预处理与量化的一致性:PC 端训练用的归一化方式必须与片上量化参数严格对应,否则精度会在部署后明显下降。
学习路径与工程方法
本课程按“先打通链路,再优化指标”的顺序组织。起步阶段先让系统跑起来:用固定测试图验证 NPU 推理输出与 PC 端一致,确认采集、推理、输出三段都能工作。随后进入指标优化:测量单帧时延、调整输入分辨率与模型结构、用双缓冲或 DMA 降低搬运开销。最后是现场化:处理光照变化、增加去抖与异常保护、把结果接入 PLC 或上位机。
建议在每个阶段都保留可复现的记录。下面给出一份最小验证记录表,用于确认链路是否真正打通,字段可根据实际项目增删。
| 检查项 | 示例值 | 判断依据 |
|---|---|---|
| 输入分辨率 | 320×320 | 与模型输入层一致 |
| 单帧推理时延 | 约 45 ms(示例) | 小于节拍预算的 50% |
| PC 与片上输出差异 | 置信度偏差 < 0.05 | 量化与预处理一致 |
| 连续 100 帧判定 | 无丢帧、无超时 | 双缓冲与中断正常 |
| NG 输出响应 | GPIO 脉宽 10 ms | 执行机构可识别 |