2、传感器异常检测基础:异常检测定义、常见传感器类型、异常模式与数据特征

在进入TFLite Micro模型转换之前,必须先建立对传感器异常检测任务的清晰认知。异常检测(Anomaly Detection)本质上是一个“从正常中识别不正常”的模式识别问题,它与传统的分类或回归任务有本质区别:异常样本往往极其稀少、形态未知且代价高昂。本章将系统梳理异常检测的定义与数学表述、常见传感器的工作原理与数据特性、异常模式与数据特征之间的映射关系,为后续模型设计与量化转换奠定数据层面的基础。

传感器异常检测知识框架 常见传感器 加速度计 陀螺仪 温度传感器 压力传感器 数据特征 时域统计特征 频域特征 时序相关性 多轴耦合关系 异常模式 突变/尖峰 漂移/趋势 周期性异常 相关性破坏 嵌入式异常检测处理链路 数据采集 → 预处理/特征提取 → 模型推理(TFLite Micro) → 异常判定 → 告警/响应 嵌入式部署约束 内存 < 100KB 算力有限(MCU级) 功耗敏感 实时性要求

2.1 异常检测的定义与数学表述

异常检测(Anomaly Detection)是指从数据中识别出不符合预期行为模式的过程。在工业传感器场景中,异常通常对应设备故障、外部冲击、环境突变或传感器自身失效。从数学角度看,给定一个时间序列窗口 \( X = \{x_1, x_2, ..., x_T\} \),其中 \( x_t \in \mathbb{R}^d \) 表示在时刻 \( t \) 的 \( d \) 维传感器读数(例如三轴加速度计的 \( d=3 \)),异常检测的目标是学习一个函数 \( f(X) \rightarrow \{0, 1\} \),其中 0 表示正常,1 表示异常。

在实际工程中,异常检测通常分为三种范式:监督式(需要大量标注异常样本,现实中难以满足)、半监督式(仅用正常数据训练,检测偏离正常分布的样本)和无监督式(无需标签,直接寻找数据中的离群点)。在TFLite Micro的嵌入式场景中,半监督式自编码器(Autoencoder)是最常用的方案,因为正常数据容易采集,而异常数据往往难以穷举。

核心要点:嵌入式异常检测不是“识别已知故障”,而是“发现未知偏离”。模型的目标是学习正常数据的紧凑表示,使得正常样本的重构误差小,异常样本的重构误差大。这种思路避免了异常样本稀缺的问题。

2.2 常见传感器类型与数据特性

不同的传感器具有不同的物理原理、采样频率、量程和噪声特性,这直接影响特征提取和模型设计。下表对比了四种最常见的工业传感器:

传感器类型 物理量 典型采样率 数据维度 噪声特性 典型异常场景
加速度计 加速度 (m/s²) 50-1000 Hz 3轴 (X/Y/Z) 高频噪声,受振动干扰 机械冲击、轴承磨损、安装松动
陀螺仪 角速度 (rad/s) 50-1000 Hz 3轴 (X/Y/Z) 温漂明显,零偏不稳定 旋转机构卡滞、方向突变
温度传感器 温度 (°C) 0.1-10 Hz 1维 低噪声,热惯性大 过热、散热失效、环境温度突变
压力传感器 压强 (Pa/bar) 1-100 Hz 1维或多点 脉动噪声,受温度交叉影响 泄漏、堵塞、泵失效

加速度计和陀螺仪通常组合成惯性测量单元(IMU),提供6轴数据。在旋转机械监测中,加速度计的振动特征(如RMS值、峰值因子、频谱能量分布)是判断轴承故障的关键;而陀螺仪的角速度积分可以得到姿态角,用于检测设备倾斜或旋转异常。温度传感器虽然数据维度低,但其变化趋势(如升温速率)往往能反映热失控等严重问题。压力传感器在液压系统和气动系统中至关重要,其波形形状(如压力脉动频率)能揭示泵阀状态。

2.3 异常模式与数据特征映射

异常模式在数据上表现为不同的特征形态。理解这些映射关系是设计特征提取和模型输入的关键。我们将异常模式归纳为以下四类:

2.3.1 突变/尖峰型异常

表现为信号在极短时间内出现大幅跳变,随后可能恢复或持续。例如,加速度计受到外部撞击时,某个轴会出现尖锐的脉冲。在数据特征上,时域中的峰值(Peak)、峰峰值(Peak-to-Peak)和峭度(Kurtosis)会显著增大。频域上,高频分量能量增加。对于此类异常,使用短时能量或滑动窗口内的最大值检测较为有效。

2.3.2 漂移/趋势型异常

信号缓慢偏离正常基线,通常反映设备性能退化或环境渐变。例如,温度传感器读数在数小时内持续上升,或陀螺仪零偏随温度缓慢漂移。这类异常在时域上表现为均值或方差的缓慢变化,频域上表现为低频分量变化。检测方法包括滑动窗口均值监控、线性回归斜率估计等。

2.3.3 周期性/频率型异常

信号在特定频率上出现异常能量集中或缺失。旋转机械的轴承故障会在振动频谱中产生特征频率(如外圈故障频率BPFO、内圈故障频率BPFI)。加速度计数据的FFT频谱分析是核心手段。在嵌入式环境中,由于算力限制,通常使用带通滤波后的能量统计或小波变换的近似系数。

2.3.4 相关性破坏型异常

多轴或多传感器数据之间的固有相关性被破坏。例如,正常状态下加速度计X轴和Y轴在水平旋转时存在确定的相位关系,当传感器安装松动时,这种相关性消失。检测方法包括计算协方差矩阵的特征值分布、使用相关系数阈值等。

实战经验:在TFLite Micro模型设计中,不要直接输入原始时间序列。建议先计算滑动窗口内的统计特征(均值、方差、峰值、RMS、过零率等),再输入模型。这能大幅降低模型参数量,提高量化后的鲁棒性。例如,一个3轴加速度计,窗口大小64,原始输入为192维;提取5个统计特征后,输入降为15维,模型大小可缩小10倍以上。

2.4 案例拆解:工业泵振动异常检测

下面通过一个完整的案例来说明异常检测的落地过程。某化工厂需要监测离心泵的运行状态,该泵转速为2900 RPM(约48.3 Hz),配备一个三轴加速度计(采样率2000 Hz)和一个温度传感器(采样率1 Hz)。目标是检测轴承早期磨损和汽蚀现象。

初始现象与目标:泵在正常运行时的振动加速度RMS值约为0.8 m/s²,温度稳定在65°C±2°C。工厂希望提前48小时预警轴承故障,避免非计划停机。

关键数据与参数:

  • 加速度计:量程±16g,灵敏度16384 LSB/g,采样率2000 Hz,窗口长度1024点(约0.5秒)
  • 温度传感器:分辨率0.01°C,采样率1 Hz
  • 正常数据采集:连续运行7天,每天24小时,共约120万组窗口数据

分析判断过程:首先对正常数据进行频谱分析,发现基频48.3 Hz及其谐波(96.6 Hz、144.9 Hz)能量稳定。轴承外圈故障特征频率BPFO约为173 Hz(根据轴承几何参数计算)。在正常状态下,BPFO频段的能量占比低于总能量的2%。

实际操作步骤:

  1. 特征提取:对每个窗口计算时域特征(RMS、峰值、峭度)和频域特征(基频能量、BPFO频段能量、高频段能量占比)。
  2. 模型训练:使用正常数据训练一个自编码器,输入为上述特征向量(维度10),隐藏层维度为4,使用ReLU激活函数。训练目标是最小化重构误差MSE。
  3. 阈值设定:在正常验证集上计算重构误差的95%分位数作为异常阈值。
  4. 部署与监控:将模型转换为TFLite Micro格式,部署在STM32F4系列MCU上,每0.5秒执行一次推理。

结果对比:在模拟轴承早期磨损实验中,模型在故障发生前约52小时检测到重构误差持续超过阈值。而传统的固定阈值RMS方法(RMS>1.5 m/s²)仅在故障前6小时才报警。温度传感器在故障前始终未超过70°C,未能提供预警。

风险与代价:该方案在初期出现了约3%的误报率,主要原因是环境振动干扰(如附近其他设备启停)。通过增加“连续3个窗口超阈值才触发报警”的确认机制,误报率降至0.5%以下。代价是报警延迟约1.5秒,对于该场景可接受。

复盘经验:频域特征对轴承故障的早期检测至关重要,但嵌入式FFT计算开销较大。本案例中,我们仅计算了特定频段(BPFO附近±5 Hz)的能量,使用Goertzel算法而非完整FFT,计算量降低了80%。此外,自编码器的重构误差对特征缩放敏感,在量化转换时必须使用与训练时一致的归一化参数。

2.5 常见误区与总结复盘

在传感器异常检测的工程实践中,以下误区需要特别注意:

误区一:忽视传感器噪声特性。加速度计在静止时的噪声底(Noise Floor)约为0.005 g/√Hz,如果直接对原始数据做阈值判断,会产生大量误报。必须结合传感器的数据手册,了解其噪声密度、带宽和量程,在特征提取前进行适当的滤波(如低通滤波截止频率设为100 Hz)。
误区二:窗口大小选择不当。窗口过短(如32点)会导致频域分辨率不足,无法区分48 Hz和50 Hz的邻近频率;窗口过长(如4096点)则增加推理延迟和内存占用。经验法则是窗口长度至少覆盖10个信号周期,对于48 Hz信号,窗口至少为0.2秒(400点)。
误区三:忽略温度对传感器的影响。MEMS加速度计和陀螺仪的零偏随温度变化可达±0.1°/s。如果设备工作环境温度变化超过20°C,必须进行温度补偿或使用温度作为辅助输入特征。否则,模型会将温度引起的漂移误判为异常。

总结复盘:传感器异常检测是一个系统性工程,其核心在于理解物理世界到数据空间的映射关系。本章建立的框架——从传感器类型、数据特征到异常模式的映射——是后续所有模型设计和转换工作的基础。在进入TFLite Micro模型转换之前,务必完成以下工作:明确传感器的安装位置和采样参数、采集足够覆盖各种正常工况的数据、提取具有物理意义的特征、设定合理的异常判定阈值。这些前期工作决定了模型的上限,而模型转换和量化只是将这一上限尽可能无损地部署到嵌入式设备上。