交付物清单
本页面列出了验证过程中开发的所有脚本和工具。
概览
| Phase | 脚本 | 行数 | 功能描述 |
|---|---|---|---|
| Phase 0 | find_worst_jump.py | 278 | 从数据集中找出倒序运动链最严重的案例 |
| Phase 0 | p0_causality_demo.py | 362 | 生成因果分析对比可视化 |
| Phase 1 | load_kinetic_emg_dataset.py | 151 | 加载和解析 .mat 格式的多模态数据 |
| Phase 1 | visualize_kinetic_emg.py | 195 | 三模态数据可视化 |
| Phase 2 | extract_features.py | 412 | 提取 12 个 MVP 特征指标 |
| Phase 2 | visualize_features.py | 303 | 特征分布可视化 |
| Phase 3 | validate_time_sync_simple.py | 319 | 时间同步验证 (持续时长方法) |
| Phase 4 | export_to_rerun.py | 318 | 导出到 Rerun.io 3D 可视化 |
| Phase 5 | validate_rules.py | 373 | 规则引擎验证 |
总计: 2,711 行 Python 代码
Phase 0: 证明核心价值
find_worst_jump.py
功能: 从 13 个试验中找出倒序运动链最严重的案例
核心算法:
- 加载所有试验的 EMG 数据
- 计算各肌群的激活时刻 (Onset Detection)
- 计算时序差: Core-Forearm Timing
- 找出时序差最负的案例 (倒序最严重)
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.pngresults/features/kinetic_chain_analysis.png
Phase 3: 时间同步验证
validate_time_sync_simple.py
功能: 验证三模态数据的时间对齐精度
方法: 持续时长验证 (比 Impact 检测更通用)
输出:
results/time_sync/time_sync_validation.jsonresults/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)
- 模块化设计 (每个文件单一职责)
下一步
查看 验证总结 了解如何使用这些脚本进行端到端验证。