3、数据采集与预处理:无人机飞行数据采集方法、时间同步、去噪、滤波(低通、高通、带通)及缺失值处理
无人机TinyML模型的性能上限,首先取决于训练数据的质量。在特征工程之前,原始传感器数据往往包含噪声、时间戳错位、缺失值等问题。本章聚焦于从物理世界到可用数据集的“第一公里”:如何设计采集方案、如何统一多传感器时间基准、如何通过滤波手段分离信号与噪声,以及如何稳健地处理缺失数据。这些步骤直接决定了后续窗口划分和频域特征提取的有效性。
3.1 无人机飞行数据采集方法
核心原理:无人机数据采集的核心目标是获取能够反映飞行状态的高质量原始信号。典型的数据源包括:惯性测量单元(IMU,包含三轴加速度计和三轴陀螺仪)、气压计(用于高度估计)、GPS模块(提供位置和速度)、电机电流传感器(反映推力状态)以及遥控器输入信号。采集方案设计需考虑三个关键维度:采样率、量程和同步机制。
采样率选择:根据奈奎斯特采样定理,采样率必须至少为信号最高频率成分的两倍。无人机机体振动通常在50-200Hz范围,而姿态变化频率一般在5-20Hz。因此,IMU采样率通常设置为100Hz至1kHz。若后续需要提取高频振动特征(如电机异常检测),采样率应不低于500Hz;若仅用于姿态识别,100Hz即可满足需求。
采集硬件配置:实际工程中,常用方案是采用STM32或ESP32等微控制器,通过I2C或SPI总线读取IMU数据,并利用DMA(直接内存访问)减少CPU开销。GPS数据通过UART接口接收,频率通常为5-10Hz。所有数据需附带硬件时间戳(如微控制器定时器计数),以便后续同步。
3.2 时间同步:多传感器数据对齐
问题背景:不同传感器具有不同的采样率和独立的时钟源。例如,IMU以200Hz采样,GPS以5Hz采样,而气压计以50Hz采样。若直接使用原始时间戳,会导致特征向量中不同维度对应的时间点不一致,严重影响模型训练效果。
同步策略:工程上常用的同步方法有两种:硬件同步和软件同步。
- 硬件同步:使用GPS的PPS(脉冲每秒)信号作为全局时间基准,微控制器在PPS上升沿触发所有传感器同时采样。该方法精度高(误差小于1微秒),但需要额外的硬件连线。
- 软件同步:记录每个数据点的本地时间戳,事后通过插值算法将低频数据对齐到高频数据的时间轴上。最常用的是线性插值或三次样条插值。
操作流程:以软件同步为例,假设IMU时间轴为参考(t_imu),GPS数据需对齐到该时间轴。对于每个t_imu时刻,找到GPS时间戳中最近的前后两个点,进行线性插值计算。若GPS数据更新率为5Hz,IMU为200Hz,则每两个GPS点之间需插值40个点。
# 伪代码示例:GPS数据线性插值对齐到IMU时间轴
def sync_gps_to_imu(gps_time, gps_data, imu_time):
aligned_data = np.interp(imu_time, gps_time, gps_data)
return aligned_data
3.3 去噪与滤波:低通、高通与带通
噪声来源分析:无人机传感器噪声主要分为三类:高频机械振动噪声(来自电机和螺旋桨,频率通常在50-500Hz)、低频漂移(温度变化导致的传感器偏置漂移,频率低于0.1Hz)、以及电磁干扰(来自电机驱动电路,表现为尖峰脉冲)。滤波的目标是根据信号与噪声的频段差异,设计合适的滤波器。
滤波器类型与适用场景:
| 滤波器类型 | 频率特性 | 典型应用场景 | 截止频率建议 |
|---|---|---|---|
| 低通滤波 | 保留低频,衰减高频 | 去除电机振动噪声,提取姿态变化 | 20-30Hz(姿态) |
| 高通滤波 | 保留高频,衰减低频 | 去除温度漂移,检测碰撞冲击 | 0.1-1Hz |
| 带通滤波 | 保留特定频段 | 提取特定振动特征(如桨叶不平衡) | 中心频率±带宽 |
滤波器实现方法:在TinyML场景下,滤波器需在嵌入式设备上实时运行,因此通常采用IIR(无限脉冲响应)滤波器,因其计算量小、延迟低。一阶低通滤波器的递推公式为:
y[n] = α * x[n] + (1 - α) * y[n-1]
其中 α = 1 / (1 + 2π * fc / fs)
fc为截止频率,fs为采样率
对于需要更陡峭衰减特性的场景,可使用二阶巴特沃斯滤波器,但需注意相位延迟会增大。
3.4 缺失值处理策略
缺失值产生原因:无人机飞行数据缺失通常由以下原因导致:无线传输丢包(数传链路不稳定)、SD卡写入延迟(高采样率下缓冲区溢出)、传感器偶发故障(I2C通信错误)。缺失模式可能是单点缺失(随机)或连续缺失(数据块丢失)。
处理方法选择:
- 删除法:当缺失比例低于1%且为随机缺失时,可直接删除对应时间点的数据。但需注意,删除后时间轴不再均匀,需重新插值。
- 线性插值:适用于短时间缺失(小于10个采样点),计算简单,在平滑信号上效果良好。
- 样条插值:适用于连续缺失但时长较短(0.1-0.5秒),能保持信号的一阶导数连续性,对姿态数据尤为重要。
- 模型预测填充:当缺失时间较长(超过0.5秒)时,可利用其他相关传感器数据(如用陀螺仪积分预测加速度计缺失值),但需谨慎使用,避免引入偏差。
处理流程:首先统计各通道缺失率,若超过10%则考虑丢弃该段数据;若低于10%,则根据缺失长度选择插值方法。插值完成后,需检查数据范围是否合理(如加速度值不应超过±16g)。
3.5 预处理流程的完整案例拆解
场景描述:某农业植保无人机需要识别“正常巡航”与“喷洒作业”两种飞行模式。原始数据包含IMU(200Hz)、GPS(5Hz)和电机电流(50Hz)。飞行时长为10分钟,共采集约12万条IMU数据。
初始问题:数据中存在三类问题:GPS时间戳与IMU不同步(最大偏差达120ms);加速度计信号包含明显的电机振动(80-150Hz);由于数传丢包,GPS数据有3.2%的缺失。
处理步骤:
- 步骤1:时间同步。以IMU时间轴为基准,对GPS位置和速度进行线性插值,对电机电流进行样条插值(因其变化较平滑)。同步后,所有数据统一到200Hz时间轴。
- 步骤2:滤波处理。对加速度计数据应用截止频率为20Hz的二阶低通滤波器,消除振动噪声;对电机电流数据应用截止频率为5Hz的低通滤波,提取稳态分量。
- 步骤3:缺失值处理。GPS数据缺失段最长连续0.4秒(约80个插值点),采用三次样条插值填充。插值后检查发现,填充值在转弯处与真实轨迹偏差小于0.5米,可接受。
- 步骤4:数据质量验证。计算滤波前后加速度计信号的均方根误差(RMSE),从0.8g降至0.15g,确认噪声被有效抑制。
结果对比:预处理前直接提取特征训练分类模型,准确率为78%;预处理后准确率提升至96%。关键改进在于时间同步消除了GPS与IMU的错位,使得速度与加速度特征在时间上正确对应。
复盘经验:预处理环节的收益往往大于模型调参。建议在项目初期就建立标准化的预处理流水线,并保存中间结果以便回溯。同时,滤波器的截止频率应通过频谱分析确定,而非随意设定。
3.6 常见误区与总结
误区一:过度滤波。滤波会引入相位延迟,过度滤波会导致信号失真,尤其是对姿态变化快速响应的场景。建议在滤波后对比原始信号与滤波信号的时域波形,确认没有明显滞后。
误区二:忽视时间同步精度。在高速机动中,10ms的时间错位就可能导致加速度与速度特征不匹配,严重影响模型性能。务必记录每个传感器的实际采样时刻,而非假设其均匀分布。
误区三:缺失值处理一刀切。不同通道的缺失模式差异很大,应分别分析。例如,GPS缺失通常为连续块状,而IMU缺失多为单点随机。针对不同模式采用不同策略。
总结:数据采集与预处理是TinyML项目中最耗时但回报最高的环节。一个设计良好的预处理流程应具备以下特征:明确的时间基准、基于物理特性的滤波参数、稳健的缺失值处理策略,以及完整的质量验证机制。完成本章工作后,数据流将具备进入窗口划分和特征提取阶段的条件。