任务详情
一、算法目标
实现对老年人佩戴设备(如智能手表)过程中发生摔倒事件的精准识别。
要求准确率(Accuracy)≥ 95%,召回率(Recall)优先考虑,误报率(False Positive Rate)控制在较低水平(建议<5%)。
二、传感器与数据要求
使用传感器:6轴 陀螺仪)+空气压力传感器
采样频率:50Hz~100Hz(建议默认60Hz)
三、算法逻辑需求
1. 预处理
滤波:低通滤波(如Butterworth)去除噪声
标准化:对不同用户动作幅度做归一化处理
2. 特征提取(时域 & 频域)
峰值检测(加速度模长是否超过阈值,通常 >2.5g)
姿态变化(角速度快速变化并结合姿态突变)
冲击前后序列特征(预跌倒+冲击+静止阶段)
静止检测:摔倒后长时间无明显动作
3. 判断逻辑/模型
可选:
规则引擎 + 阈值法(适合嵌入式,耗电低,但难以泛化)
机器学习模型:
决策树、SVM、KNN
更优方案:轻量级神经网络(如1D CNN, LSTM)部署在MCU或Edge上
模型训练数据:需采集真实摔倒动作数据(模拟跌倒 + 正常活动)
四、训练数据要求
数据样本:不少于 1000 次完整动作序列
包括摔倒类型(向前/后/侧跌,滑倒,坐倒)
包括非摔倒运动(走路、跑步、坐下、跳跃等)
数据应来源于真实设备佩戴方式(手表位置、佩戴稳定性)
采集人群:包含老年人及不同体型个体
五、评估指标
准确率 ≥ 95%
召回率 ≥ 97%(避免漏检)
假阳率 ≤ 5%
响应时间 < 1 秒(从跌倒动作发生到报警)
能耗评估(适合长时间佩戴,考虑边缘计算)
六、边缘部署要求(如使用STM32 + LSM6DSOX)
算法内存占用 ≤ 128KB
实时性满足 50Hz处理
七、输出与报警机制
输出跌倒状态布尔值(true/false)
可选:置信度(0~1)
跌倒后触发本地报警 + 4G通知上传(与App或平台对接)