4. 数据预处理

在Edge Impulse中构建传感器分类模型时,原始时间序列数据几乎不可能直接送入神经网络。传感器信号中混杂着噪声、基线漂移、个体差异以及环境干扰,若不做预处理,模型极易过拟合或欠拟合。本章将系统拆解Edge Impulse中时间序列数据的四大核心预处理环节:切片(Windowing)、滤波(Filtering)、归一化(Normalization)与特征提取(Feature Extraction),并结合实际项目流程说明每个环节在Studio界面中的具体操作与参数选择逻辑。

Edge Impulse 时间序列数据预处理链路 原始传感器数据 加速度/陀螺仪/麦克风 采样率: 50Hz~16kHz 时间序列切片 窗口长度: 2s 步长/重叠: 50% 滤波处理 低通/高通/带通 截止频率: 0.5~40Hz 归一化 Z-score / Min-Max 均值/标准差标准化 特征提取 FFT频谱 / 统计特征 均值/方差/峰值/过零率 分类模型训练 DSP + 神经网络/分类器 参数调优反馈回路(窗口长度/滤波器/特征组合) Edge Impulse Studio 处理流程 Time Series Data → Impulse Design → DSP Block → Classifier

上图展示了Edge Impulse中时间序列数据从原始采集到模型训练前的完整预处理链路。每个环节都对应Studio界面中的特定配置项,且参数选择直接影响后续特征质量与模型精度。下面逐一深入讲解。

4.1 时间序列数据切片:窗口长度与步长的工程权衡

核心原理:传感器数据是连续流,但分类模型需要固定长度的输入。切片(Windowing)将连续信号分割为短时窗口,每个窗口作为一个独立样本。窗口长度决定了模型感知的时间范围——窗口过短会丢失动作的完整周期信息,窗口过长则引入冗余数据并增加计算延迟。步长(Hop)控制相邻窗口的重叠程度,重叠率越高,样本数量越多,模型训练更充分,但数据冗余也越大。

Edge Impulse中的操作流程:在创建Impulse时,进入Time series data配置页,系统会根据输入传感器频率自动推荐窗口长度。关键参数设置如下:

  • 窗口长度(Window size):建议覆盖至少1~2个完整动作周期。例如手势识别中,一次挥手约1秒,则窗口设为1000ms~2000ms。
  • 步长(Hop size):默认等于窗口长度(无重叠)。若样本量不足,可减小步长实现50%或75%重叠,数据增强效果明显。
  • 增加预处理(Add preprocessing):可选项包括Flatten(将多轴数据展平为一维)和Resample(统一采样率)。
经验提示:对于IMU(惯性测量单元)数据,常见配置为窗口长度2秒、步长0.5秒(75%重叠)。这样既能捕捉完整动作,又能将样本量扩大4倍,特别适合小数据集场景。但需注意,重叠过多会导致训练集与验证集之间数据泄漏,建议在分割数据集时使用Split选项中的“时间序列分割”而非随机分割。

4.2 滤波处理:去除噪声与基线漂移

核心原理:原始传感器信号包含高频噪声(如电机振动、电磁干扰)和低频漂移(如温度变化引起的基线偏移)。滤波通过保留目标频段、衰减无关频段来提升信噪比。Edge Impulse内置了Butterworth滤波器,支持低通、高通、带通三种模式。

参数选择方法:滤波器的截止频率需根据信号特征确定。以加速度计的人体活动识别为例:

信号类型 推荐滤波器 截止频率 目的
加速度(人体运动) 低通 20~40 Hz 去除高频抖动,保留动作主频
陀螺仪(角速度) 带通 0.5~15 Hz 抑制直流漂移与高频噪声
麦克风(音频) 带通 300~3400 Hz 保留语音频段,去除环境噪声

操作流程:在Impulse Design的DSP Block中,选择Spectral Analysis或Raw Data模块,点击“Add preprocessing”展开滤波器配置。Edge Impulse允许在Filter下拉菜单中选择类型,并输入截止频率。滤波后的信号会实时显示在右侧预览图中,便于直观验证效果。

风险提示:过度滤波会丢失有效信息。例如,若将低通截止频率设为5Hz,则快速手势(如拍手)的高频分量会被完全滤除,导致分类困难。建议先用FFT查看原始信号的频谱分布,再确定截止频率。Edge Impulse的Raw Data页面提供频谱可视化工具,可辅助决策。

4.3 归一化:消除量纲与个体差异

核心原理:不同传感器(如加速度计±2g与±16g量程)或不同个体佩戴位置产生的信号幅值差异巨大。归一化将数据缩放到统一范围,避免大数值特征主导模型训练。Edge Impulse提供两种归一化方式:

  • Z-score标准化:\( x' = (x - \mu) / \sigma \),适用于数据近似正态分布的场景,对异常值不敏感。
  • Min-Max缩放:\( x' = (x - min) / (max - min) \),将数据映射到[0,1]区间,但易受极端值影响。

Edge Impulse中的实现:在DSP Block的Normalization选项中,选择Z-score或Min-Max。系统会自动计算训练集的均值、标准差或最小/最大值,并在推理时应用相同参数。注意:归一化参数必须仅从训练集计算,避免验证集信息泄漏。

实战建议:对于多轴传感器(如3轴加速度计),建议对每个轴分别归一化,而非将所有轴合并计算。因为不同轴的幅值范围可能差异较大(例如Z轴受重力影响均值不为0)。Edge Impulse默认按轴独立归一化,无需额外配置。

4.4 特征提取:FFT与统计特征的组合策略

核心原理:原始时间序列维度高且冗余,直接输入神经网络计算量大且易过拟合。特征提取将窗口数据转换为低维、判别性强的特征向量。Edge Impulse的Spectral Analysis模块自动提取两类特征:

  1. 频域特征(FFT):将时域信号转换为频谱,提取各频段能量、峰值频率、频谱质心等。FFT点数通常设为窗口内采样点数(如2秒×50Hz=100点),频率分辨率 = 采样率/FFT点数。
  2. 统计特征:包括均值、方差、标准差、均方根(RMS)、峰值、过零率、波形因子等。这些特征描述信号的幅值分布与波动特性。

特征选择方法:Edge Impulse在Features页面展示所有提取特征的分布图(t-SNE或PCA投影),可直观判断类别可分性。若特征重叠严重,需调整窗口长度或滤波器参数。系统还提供Feature importance排序,帮助识别贡献度低的特征并剔除。

特征类别 典型特征 适用场景
时域统计 均值、方差、峰值、过零率 稳态活动(站立、静坐)
频域特征 FFT峰值、频带能量、频谱熵 周期性动作(跑步、骑行)
时频组合 小波系数、短时傅里叶 复杂手势、语音命令

4.5 案例拆解:基于加速度计的人体活动识别预处理调优

背景与约束:某可穿戴设备项目需识别“走路、跑步、上楼、下楼”四种活动。硬件采用BMI160加速度计,采样率50Hz,量程±4g。初始模型准确率仅72%,主要混淆发生在“上楼”与“下楼”之间。

初始现象与诊断:查看Edge Impulse的Feature explorer,发现上楼与下楼的特征点高度重叠。进一步分析原始信号频谱,发现两种活动的频段均在1~3Hz,但上楼时Z轴低频分量(0.5~1Hz)更突出,下楼时X轴高频抖动(3~5Hz)更明显。

关键参数调整过程:

  1. 切片优化:将窗口从2秒调整为3秒(步长1秒),确保包含完整的上下楼周期(约2.5秒)。样本量从1200增至2400。
  2. 滤波调整:将低通截止频率从20Hz降至10Hz,去除腿部摆动的高频噪声;同时启用高通0.5Hz,抑制身体重心缓慢漂移。
  3. 特征增强:在DSP Block中勾选Extra statistical features,添加“峰峰值”和“波形长度”两个特征,增强对上下楼步态差异的捕捉。
  4. 归一化验证:确认Z-score归一化参数仅基于训练集计算,避免数据泄漏。

结果对比:调整后模型准确率提升至91%,其中上楼识别率从68%升至89%,下楼从71%升至93%。混淆矩阵显示主要残留错误为“走路”与“上楼”的过渡状态,属于合理边界情况。

风险与代价:窗口加长导致推理延迟从2秒增至3秒,实时性要求高的场景需权衡。特征数量从12个增至15个,模型大小增加约8%,但仍在MCU可接受范围。

复盘经验:预处理参数不应盲目套用默认值。通过频谱分析定位类别差异的关键频段,再针对性调整滤波与特征组合,是提升分类精度的有效路径。Edge Impulse的Feature explorer是验证预处理效果的核心工具,每次调整后都应重新检查特征分布。

4.6 常见误区与总结复盘

误区一:忽略数据泄漏。在归一化或特征缩放时,若使用全数据集计算参数,会导致验证集信息泄漏,模型评估结果虚高。正确做法是仅用训练集拟合归一化参数。

误区二:窗口重叠率过高。虽然重叠能增加样本量,但过度重叠(>90%)会使相邻样本高度相关,导致模型过拟合训练集,泛化能力下降。建议重叠率不超过75%。

误区三:滤波过度。部分用户为了“干净”信号,将截止频率设得很低,结果滤除了关键分类信息。滤波前务必用FFT查看频谱,确认目标信号频段。

误区四:忽视特征重要性。Edge Impulse自动提取的特征并非全部有效。应定期查看Feature importance,剔除贡献度低于阈值的特征,减少模型复杂度与过拟合风险。

总结:数据预处理是Edge Impulse分类模型成功的基石。切片决定模型的时间感知范围,滤波提升信噪比,归一化消除量纲差异,特征提取将原始信号转化为判别性表示。四个环节环环相扣,需结合具体任务反复迭代调优。建议每次修改参数后,记录模型准确率与特征分布变化,形成系统化的调参日志,以便快速定位最优配置。