3、人体活动识别概述:HAR的定义、常见活动类别与传感器类型
人体活动识别(Human Activity Recognition,HAR)是边缘AI与可穿戴计算领域的核心任务之一,其目标是通过部署在人体不同部位的传感器,自动感知并分类用户当前所处的物理活动状态。在智能手环、老人跌倒监测、康复训练评估、工业安全帽等场景中,HAR系统需要实时、低功耗地完成数据采集、特征提取与分类推理。本章将系统梳理HAR的基本定义、典型活动类别体系,以及支撑这些识别任务的四类核心传感器——加速度计、陀螺仪、磁力计和气压计,为后续章节的传感器融合算法与边缘部署打下基础。
3.1 HAR的核心定义与问题建模
人体活动识别本质上是一个时间序列分类问题:给定一段由可穿戴传感器采集的多维时间序列数据,模型需要输出对应的活动类别标签。与图像分类不同,HAR数据具有明显的时序依赖性——走路时的加速度波形呈现周期性,而坐下动作则表现为短促的瞬态变化。因此,HAR系统通常采用滑动窗口(Sliding Window)机制将连续数据流切分为固定长度的片段(如2秒窗口,50%重叠),每个窗口作为一个独立样本进行特征提取与分类。
从数学角度看,设传感器在时刻 t 的输出为向量 x(t) = [ax, ay, az, ωx, ωy, ωz, mx, my, mz, p],其中 a 为加速度,ω 为角速度,m 为磁场强度,p 为气压。HAR的目标是学习一个映射函数 f: Xwindow → Y,其中 Y ∈ {走路, 跑步, 站立, 坐下, 躺下, 上楼, 下楼}。在边缘部署场景中,这个映射函数通常由轻量级机器学习模型(如决策树、随机森林、1D-CNN或MobileNetV3)实现,模型参数量需控制在数百KB以内,推理延迟低于50ms。
3.2 常见活动类别体系与识别难点
根据活动特性和应用需求,HAR活动类别通常划分为以下五个层次,每个层次对传感器信号的要求和算法复杂度各不相同。
| 活动类别 | 典型示例 | 主要传感器 | 信号特征 | 识别难点 |
|---|---|---|---|---|
| 静态姿势 | 站立、坐下、躺下 | 加速度计 | 重力分量稳定,方差小 | 站立与坐下的加速度分布相似,需结合姿态角 |
| 步态活动 | 走路、跑步 | 加速度计、陀螺仪 | 周期性明显,频率1-3Hz | 走路与跑步的频带重叠,需区分步频与幅值 |
| 楼层过渡 | 上楼、下楼 | 气压计、加速度计 | 气压单调变化,垂直加速度有偏置 | 上下楼方向判别需融合气压变化率 |
| 过渡动作 | 起立、坐下、转身 | 陀螺仪、加速度计 | 瞬态冲击,持续时间0.5-1.5秒 | 窗口边界模糊,需使用事件检测 |
| 复杂活动 | 跌倒、跳跃、骑车 | 全传感器融合 | 高幅值冲击或低频持续振动 | 跌倒与剧烈运动的区分需多级阈值 |
在实际工程中,上下楼识别是最具挑战性的任务之一。单纯使用加速度计,上楼和下楼在垂直方向的加速度波形差异很小,容易混淆。引入气压计后,上楼时气压下降(高度升高),下楼时气压上升,通过计算窗口内气压变化率(Δp/Δt)可以准确判别方向。例如,在2秒窗口内,上楼的气压变化约为-0.12 hPa,下楼约为+0.10 hPa,而平地走路的气压变化接近零。
3.3 核心传感器原理与选型要点
3.3.1 加速度计:HAR的基石
加速度计测量物体在三个正交轴上的线性加速度,其工作原理基于MEMS(微机电系统)中的质量块-弹簧结构。当传感器加速时,质量块发生位移,通过电容或压阻效应转换为电信号。在HAR中,加速度计提供两个关键信息:静态重力分量(用于判断姿态)和动态运动分量(用于识别动作)。
选型时需关注以下参数:量程(±2g至±16g,走路约±2g,跑步可达±6g)、分辨率(16位ADC可提供0.06mg精度)、噪声密度(影响低幅值动作的检测)、以及零偏稳定性(长期漂移影响姿态计算)。在边缘项目中,推荐使用BMI270或LSM6DSOX,它们内置运动识别引擎,可减轻MCU负担。
3.3.2 陀螺仪:姿态变化的敏感器
陀螺仪测量绕三个轴的角速度,单位为rad/s或°/s。其核心是科里奥利效应——当质量块在旋转参考系中运动时,会受到垂直于运动方向的力,通过检测该力的大小即可得到角速度。陀螺仪在HAR中的主要用途包括:判别旋转动作(转身、挥手)、辅助计算姿态角(通过角速度积分)、以及区分走路与跑步(跑步时躯干俯仰角变化更剧烈)。
需要注意,陀螺仪存在积分漂移问题:即使静止时,角速度输出也有微小偏置,积分后姿态角会逐渐偏离真实值。因此,在长时间HAR监测中,通常使用加速度计的重力向量对陀螺仪积分结果进行校正(即互补滤波或卡尔曼滤波)。
3.3.3 磁力计:航向参考与方向判别
磁力计测量地球磁场在三个轴上的分量,用于提供绝对航向角(相对于地磁北极)。在HAR中,磁力计的价值在于:当设备佩戴在手腕或腰部时,可以通过磁场方向判断身体朝向;在上下楼场景中,结合陀螺仪的偏航角变化,可以区分转身动作与直行。然而,磁力计极易受环境干扰——电机、钢筋、手机扬声器都会产生磁场畸变,因此在实际系统中通常只作为辅助传感器,且需要定期校准。
3.3.4 气压计:高度变化的直接证据
气压计基于压阻或电容原理,测量大气压强。在近地面,气压与海拔高度呈近似线性关系:每升高8.5米,气压下降约1 hPa。对于上下楼检测,气压计提供了加速度计无法获得的绝对高度变化信息。例如,一层楼高约3米,对应气压变化约0.35 hPa,远高于气压计的分辨率(0.01 hPa)。
3.4 传感器融合策略与案例分析
单一传感器难以覆盖所有活动类别,多传感器融合是提升识别鲁棒性的必然选择。融合策略分为三个层次:数据级融合(直接拼接原始数据)、特征级融合(分别提取特征后拼接)、决策级融合(各传感器独立分类后投票)。在边缘设备上,特征级融合是性价比最高的方案——它既保留了多源信息,又避免了数据级融合带来的维度灾难。
以我们课程中的实战项目为例,目标是在ESP32-S3上实现六类活动识别(走路、跑步、站立、坐下、躺下、上下楼)。初始方案仅使用加速度计,分类准确率为82%,其中上下楼混淆严重。随后引入气压计特征(窗口内气压变化率、气压方差),准确率提升至91%。进一步融合陀螺仪的俯仰角变化率后,准确率达到94.5%。
具体实现中,我们为每个传感器窗口提取以下特征:
- 加速度计:均值、方差、峰峰值、过零率、FFT主频、能量
- 陀螺仪:均值、方差、角速度积分(姿态变化量)
- 气压计:线性拟合斜率(高度变化率)、气压方差、最大最小差值
- 磁力计:航向角变化量(用于区分转身与直行)
特征向量维度为28维,使用随机森林分类器(100棵树,最大深度12),模型大小约45KB,在ESP32-S3上的推理时间为8ms,满足实时性要求。
3.5 常见误区与设计复盘
在HAR系统开发中,初学者常陷入以下误区,需要特别警惕:
- 采样率越高越好:过高的采样率(>100Hz)会显著增加功耗和计算量,而HAR活动频率通常低于5Hz,50Hz采样率已足够。过采样反而引入更多高频噪声。
- 忽略传感器坐标系对齐:加速度计、陀螺仪、磁力计的坐标系必须统一,否则融合特征会出现相位错位。在代码中应使用传感器厂商提供的旋转矩阵进行对齐。
- 窗口长度一刀切:静态活动(站立、躺下)需要较长窗口(3-5秒)以获得稳定统计量,而过渡动作(起立、坐下)需要短窗口(0.5-1秒)以捕捉瞬态特征。建议使用多尺度窗口并行分析。
- 忽视数据标注质量:HAR数据标注依赖人工记录或视频同步,标注延迟或错误会直接污染训练集。建议使用标注工具(如Label Studio)并设置双人复核机制。
从工程复盘角度看,一个成功的HAR项目应遵循“先简单后复杂”的迭代路径:首先用单加速度计+阈值法实现粗分类,验证数据链路和标注流程;然后逐步引入更多传感器和机器学习模型;最后针对混淆矩阵中的错误样本进行定向优化。这种渐进式开发方式能有效控制风险,避免在初期就陷入复杂的融合算法调试中。