Skip to content

交付物清单

本页面列出了验证过程中开发的所有脚本和工具。

概览

Phase脚本行数功能描述
Phase 0find_worst_jump.py278从数据集中找出倒序运动链最严重的案例
Phase 0p0_causality_demo.py362生成因果分析对比可视化
Phase 1load_kinetic_emg_dataset.py151加载和解析 .mat 格式的多模态数据
Phase 1visualize_kinetic_emg.py195三模态数据可视化
Phase 2extract_features.py412提取 12 个 MVP 特征指标
Phase 2visualize_features.py303特征分布可视化
Phase 3validate_time_sync_simple.py319时间同步验证 (持续时长方法)
Phase 4export_to_rerun.py318导出到 Rerun.io 3D 可视化
Phase 5validate_rules.py373规则引擎验证

总计: 2,711 行 Python 代码


Phase 0: 证明核心价值

find_worst_jump.py

功能: 从 13 个试验中找出倒序运动链最严重的案例

核心算法:

  1. 加载所有试验的 EMG 数据
  2. 计算各肌群的激活时刻 (Onset Detection)
  3. 计算时序差: Core-Forearm Timing
  4. 找出时序差最负的案例 (倒序最严重)

p0_causality_demo.py

功能: 生成因果分析对比可视化,展示 EMG 的独特价值

输出: results/p0_causality_demo.png - 左右对比图

  • 左图: 正常跳跃 (Lower → Core → Upper)
  • 右图: 倒序运动链 (Upper → Core → Lower)

Phase 1: 数据加载与转换

load_kinetic_emg_dataset.py

功能: 加载和解析 MATLAB .mat 文件,提取三模态数据

数据结构:

python
{
    'marker_data': np.ndarray,  # (33, 3, frames)
    'imu_data': np.ndarray,     # (frames, 29)
    'emg_data': np.ndarray,     # (frames, 9)
    'sampling_rates': dict
}

visualize_kinetic_emg.py

功能: 三模态数据可视化 (3D 骨架 + IMU 曲线 + EMG 时间序列)

输出: results/kinetic_emg_visualization.png


Phase 2: 特征提取层验证

extract_features.py

功能: 提取 12 个 MVP 特征指标

特征清单:

Vision 特征:

  • Sway (横向位移)
  • Lift (垂直抬升)
  • X-Factor (扭转角) - 跳跃数据中为 N/A

IMU 特征:

  • Peak Angular Velocity (峰值角速度)
  • Tempo Ratio (节奏比)

EMG 特征:

  • Lower/Core/Upper Activation % (激活强度)
  • Lower-Core / Core-Forearm Timing (时序差)
  • Kinetic Chain Correct (运动链是否正确)

visualize_features.py

功能: 特征分布可视化和运动链分析图

输出:

  • results/features/feature_distributions.png
  • results/features/kinetic_chain_analysis.png

Phase 3: 时间同步验证

validate_time_sync_simple.py

功能: 验证三模态数据的时间对齐精度

方法: 持续时长验证 (比 Impact 检测更通用)

输出:

  • results/time_sync/time_sync_validation.json
  • results/time_sync/time_sync_validation.png

验证结果: 92.3% 试验达到 <50ms 精度


Phase 4: Rerun.io 可视化集成

export_to_rerun.py

功能: 导出多模态数据到 Rerun.io 3D 时间轴

降采样策略:

  • Marker: 128 Hz → 128 Hz (保持)
  • IMU: 240 Hz → 30 Hz (8× 降采样)
  • EMG: 2048 Hz → 100 Hz (20× 降采样)

输出: results/rerun/multimodal_visualization.rrd (8.8 MB)


Phase 5: 规则引擎验证

validate_rules.py

功能: 验证规则引擎的 P0/P1 规则

规则清单:

P0 规则 (严重问题):

  • Inverted Kinetic Chain (倒序运动链)
  • Excessive Arm Swing (过度手臂挥杆)

P1 规则 (改进空间):

  • Rushed Preparation (准备过短)
  • Slow Preparation (准备过长)

验证结果: P0 倒序运动链规则 100% 准确率


代码质量

统计信息

  • 总行数: 2,711 行 Python
  • 平均单文件: ~301 行

代码规范

所有脚本遵循:

  • PEP 8 Python 编码规范
  • 类型提示 (Type Hints)
  • 完整的文档字符串 (Docstrings)
  • 模块化设计 (每个文件单一职责)

下一步

查看 验证总结 了解如何使用这些脚本进行端到端验证。