1. 课程导入

无人机系统在飞行过程中持续产生高维度的时序传感器数据——加速度计、陀螺仪、磁力计、气压计、GPS、电流计等,采样频率通常在100Hz到1000Hz之间。以一架典型四旋翼为例,仅IMU(惯性测量单元)每秒就会产生600到6000个数据点。若将这些原始数据直接送入TinyML模型,不仅会耗尽微控制器(MCU)有限的RAM和Flash资源,还会因噪声、冗余和维度灾难导致模型泛化能力急剧下降。特征工程正是解决这一矛盾的核心技术:它通过窗口化切分、频域变换、统计量提取和姿态标签构建,将原始传感器流转化为紧凑、稳定、判别力强的特征向量,使得在Cortex-M4级别(如STM32F4系列,192KB RAM)的MCU上也能运行高效的神经网络或决策树模型。本章作为课程的开篇,将系统阐述特征工程在无人机TinyML中的定义边界、战略价值、典型应用场景,并给出完整的学习路径图。

无人机TinyML特征工程知识框架 传感器数据源 加速度计 (IMU) 陀螺仪 / 磁力计 气压计 / GPS / 电流计 特征工程核心环节 窗口化 滑动窗口 重叠率 采样对齐 特征提取 时域统计 FFT频域 小波/谱熵 标签构建 姿态标注 飞行模式 异常标记 TinyML模型 决策树 / 随机森林 1D-CNN / LSTM 异常检测 (AE) 典型应用场景 飞行模式识别 悬停/巡航/翻滚/降落 基于IMU频域特征 异常检测 电机故障/气流扰动 频谱能量突变检测 姿态估计 欧拉角/四元数回归 互补滤波+ML融合 课程学习路径 数据采集 传感器同步 SDK/ROS 窗口设计 窗长/重叠率 实时性约束 特征提取 时域+频域 降维/归一化 标签构建 半自动标注 数据增强 部署 TFLite CMSIS-NN

4.1.1 特征工程的定义与核心原理

在无人机TinyML语境下,特征工程是指从原始多通道传感器数据中,通过数学变换、统计聚合和领域知识编码,生成能够高效表征飞行状态的低维特征集合的过程。其核心原理基于三个观察:第一,无人机运动信号具有明显的周期性结构(旋翼旋转频率、机体共振频率),这些结构在频域中表现为集中的能量峰;第二,不同飞行模式(悬停、前飞、翻滚)在时域统计量(均值、方差、过零率)上呈现可区分的分布模式;第三,MCU的算力(通常为100-400MHz)和内存(通常为64-256KB)无法直接处理原始高采样率数据流,必须通过特征压缩实现信息浓缩。

特征工程在TinyML中的特殊地位体现在:它不仅是模型性能的保障,更是实时性和功耗的平衡杠杆。以STM32F411(Cortex-M4F,100MHz)为例,一次128点FFT运算约耗时0.5ms,而直接运行一个输入维度为128×6的1D-CNN单次推理可能需要15-20ms。通过特征工程将输入维度压缩至16-32维,推理时间可降至2-3ms,同时RAM占用从数十KB降至4-8KB。这种压缩不是简单的信息丢弃,而是基于无人机动力学模型的结构化降维——保留与飞行状态强相关的频段能量、姿态角变化率、振动特征等物理量。

核心要点:特征工程在无人机TinyML中承担三重角色——数据压缩器(将高维传感器流压缩为低维特征)、物理知识编码器(将空气动力学、旋翼动力学知识融入特征)、噪声滤波器(抑制高频振动和电磁干扰)。三者共同决定了模型在边缘设备上的可行性与鲁棒性。

4.1.2 特征工程的重要性:从数据到决策的桥梁

无人机飞行数据具有高噪声、非平稳、多模态耦合三大特性。高噪声来源于旋翼振动(通常在100-500Hz频段)、风扰和电磁干扰;非平稳体现在飞行状态快速切换时信号统计特性发生突变;多模态耦合则表现为加速度计、陀螺仪、磁力计信号相互影响(如机体振动耦合到加速度计输出)。若跳过特征工程直接将原始数据送入模型,会出现以下问题:

  • 维度灾难:以100Hz采样、2秒窗口为例,6轴IMU数据产生1200维输入,在仅有数百个训练样本的嵌入式场景下极易过拟合。
  • 计算冗余:原始数据中大量信息与飞行状态无关(如高频振动噪声),模型被迫学习噪声模式,浪费MCU算力。
  • 实时性不足:高维输入导致模型参数量膨胀,推理延迟超过控制周期(通常为5-10ms),无法用于实时控制或告警。

特征工程通过以下机制解决上述问题:窗口化将连续数据流切分为有意义的分析单元,频域变换(FFT、功率谱密度)将时域信号分解为频率分量,使旋翼基频(如四旋翼典型转速4000-8000RPM对应66-133Hz)及其谐波成为显式特征;统计量提取(均值、标准差、峰峰值、均方根)捕获信号的宏观趋势和波动强度;姿态标签构建则将连续物理量离散化为类别标签(如悬停、前飞、左滚转),为监督学习提供训练目标。

对比维度 原始数据直接建模 特征工程后建模
输入维度(2s窗口) 6轴 × 200样本 = 1200维 32-64维(统计量+频域特征)
RAM占用(模型+特征) 80-120KB 8-16KB
单次推理延迟(Cortex-M4) 15-25ms 1-3ms
训练所需样本数 5000+ 500-1000
对噪声鲁棒性 低(模型易过拟合噪声) 高(频域滤波天然抑噪)

4.1.3 典型应用场景深度解析

场景一:飞行模式识别。在农业植保无人机中,需要区分“匀速巡航喷洒”和“地头转弯”两种模式以调整喷洒流量。通过提取IMU的频域特征——特别是偏航角速度的功率谱密度在0.5-2Hz频段的能量占比——可以准确识别转弯动作。实际部署中,在STM32G474上使用128点FFT提取8个频段能量特征,配合决策树模型(深度≤5),实现了99.2%的分类准确率,推理时间仅0.8ms。

场景二:异常检测。物流无人机在飞行中需要实时监测电机健康状态。当电机轴承磨损时,振动信号在1000-2000Hz频段会出现特征性边带。通过计算加速度计信号的功率谱密度在特定频段的能量比值(如高频能量/总能量),并设置自适应阈值,可以在故障发生前5-10秒发出预警。某物流无人机团队在实机测试中,利用该特征成功提前8秒检测到电机轴承故障,避免了坠机事故。

场景三:姿态估计辅助。在GPS拒止环境下(如隧道、室内),无人机依赖IMU进行姿态解算。传统互补滤波在剧烈机动时会产生较大漂移。通过提取加速度计和陀螺仪的时域特征(如加速度幅值方差、角速度变化率),输入小型LSTM网络(隐藏单元16个),可以修正滤波器的增益参数,将姿态角误差从±5°降低至±1.5°。该方案在Cortex-M7上运行,额外RAM开销仅3.2KB。

实战经验:在无人机异常检测项目中,不要只关注时域特征。将加速度计信号进行FFT后,观察特定频段(如电机基频的2倍频、3倍频)的能量变化,往往比时域均方根值更早暴露故障征兆。建议在特征工程阶段同时保留时域和频域特征,通过特征选择算法(如基于随机森林的重要性排序)确定最优特征子集。

4.1.4 常见误区与课程学习路径

误区一:特征越多越好。在TinyML场景中,每个额外特征都意味着更多的RAM存储(特征缓冲区)、更长的计算时间(特征提取)和更大的模型输入维度。实践中,20-40个精心设计的特征通常优于100个粗糙特征。建议使用前向特征选择或L1正则化进行特征筛选。

误区二:忽视窗口长度的物理意义。窗口长度应与被分析信号的周期匹配。例如,识别悬停/巡航模式需要至少1-2秒窗口以捕获完整的姿态调整周期;而检测电机故障则需要更短窗口(0.2-0.5秒)以捕捉瞬态冲击。固定窗口长度会导致某些模式无法被有效表征。

误区三:标签构建过于粗糙。在姿态估计中,若仅使用“水平/倾斜”二分类标签,模型无法区分小幅倾斜和大幅倾斜,导致控制精度不足。应采用连续值回归标签(如欧拉角)或细粒度离散标签(每10°一个类别)。

误区四:忽略特征提取的计算开销。FFT虽然强大,但在低端MCU上计算128点FFT需要约0.5ms,若每个控制周期(5ms)都要执行,将占用10%的CPU时间。需要评估特征提取的总耗时是否满足实时性预算。

本课程的学习路径遵循“数据→特征→模型→部署”的工程主线,共分为五个阶段:

  1. 基础阶段(第1-5章):掌握无人机传感器数据特性、窗口化设计原则、时域/频域特征提取方法,以及姿态标签的构建规范。
  2. 进阶阶段(第6-12章):深入频域特征工程(FFT、功率谱密度、小波变换)、特征降维(PCA、自动编码器)和特征选择方法,并结合具体飞行模式识别案例进行实战。
  3. 应用阶段(第13-20章):聚焦异常检测、姿态估计、剩余寿命预测等高级应用,学习如何针对不同任务设计专用特征集。
  4. 优化阶段(第21-26章):探讨特征工程与模型架构的联合优化、量化感知特征设计、以及特征提取的硬件加速(CMSIS-DSP)。
  5. 综合实战(第27-30章):完成一个完整的无人机TinyML项目——从传感器数据采集、特征工程流水线搭建、模型训练到MCU部署与调优。
重要提醒:特征工程不是一次性的工作。在无人机飞行中,环境温度变化会影响IMU零偏,电池电压下降会影响旋翼转速进而改变振动频率。因此,特征工程方案必须包含在线自适应机制(如定期重新计算特征均值和方差)或鲁棒性设计(如使用归一化频率特征而非频率)。建议在课程学习过程中,始终带着“这个特征在飞行包线变化时是否依然稳定”的批判性思维。