
079 STM32Cube.AI的异常检测案例昨晚调试到凌晨三点,板子上的风扇突然不转了——不是硬件烧了,是AI模型把正常工况判成了异常。这种误报在工业现场比模型精度低更让人头疼。今天聊聊STM32Cube.AI做异常检测时那些文档里不会写的坑。从一次现场故障说起客户反馈说设备在启动阶段频繁报警,日志显示模型输出异常概率超过阈值。我第一反应是数据分布漂移,但抓了波形一看,启动电流的上升沿斜率确实比稳态时陡峭很多——模型没错,是阈值设得太死。这个案例暴露了异常检测最容易被忽视的问题:正常工况本身就有动态范围。STM32Cube.AI的异常检测通常基于两种思路:一是用Autoencoder重建误差,二是用One-Class SVM在特征空间画边界。但Cube.AI的部署工具对这两种模型的支持程度完全不同。Autoencoder的量化损失在边缘端会被放大,尤其是当输入信号本身信噪比不高时。数据预处理:别让ADC采样坑了你我习惯在Cube.AI的预处理流水线里加一个滑动窗口均值滤波。别小看这一步,STM32的ADC在高速采样时偶尔会蹦出毛刺,这些毛刺在时域上可能只占几个采样点,但经过FFT或小波变换后会在频域产生虚假分量。模型学到的“异常特征”可能只是ADC的抖动。// 滑动窗口均值滤波,窗口大小根据采样率调整