🔬 层C 归因手术审核 — Case01 物理判决翻转
PHC/Isaac Gym 物理化验证 · GVHMR SMPL 数据手术 · 2026-09-21 · 明牌证据页(非盲测)
物理判决:FAIL · Succ 0.000 → PASS · Succ 1.000
同容器 · 同权重(phc_kp_pnn_iccv)· 同评测协议 —— 唯一变量 = GT 数据手术(层A 转换修复 + 接地)
1.000
Success Rate(54起点 全程存活)
① 视频证据 — GT 原片 vs SMPL 物理重演(v3 修复后数据)
GT 原片 case01.mp4 · 1280×704 · 15.0s · 有声
SMPL 重建 GVHMR global 渲染 · 物理人形重演的就是这条轨迹
判读:原片动作 = 汉服女子雨巷站立 + 1.13-1.93s 提裙行礼式爆发 + 末段三次缓走。修复后该 15s 轨迹已被物理人形完整重演(Succ 1.000),物理背书成立。
② 骨架帧0对比 — Isaac 同路径 FK 真值链
用与仿真完全一致的路径(SkeletonTree.from_mjcf + pose_quat_global, is_local=False)FK 出的 GT 帧0骨架。左:修复前腿折进骨盆(骨盆-踝垂直距 0.07m,站立应为 ~0.86m);右:修复后正常站立、脚底接地。
③ 高度轨迹 — 悬空定谳
修复前(上):脚底全程悬空 0.96-1.33m —— 物理人形从空中追一个悬空目标,0.1s 内必崩。修复后(下):骨盆 0.87-0.93m ✓,脚底 0.00-0.04m 接触地面 ✓。
④ 评测器取证探针 — 逐帧跟踪误差
探针注入评测器逐帧收集 max-body 误差(对数轴)。修复前 348 起点 100% 在 ≤0.17s 内突破 0.25m 终止线(首破部位 100% = 右脚趾;step0 手部已错位 108mm)——排除「动作中段 OOD」假设,指向帧 0 数据不自洽。修复后 54 起点全程贴地(35mm 级)。
⑤ 归因链 — 五步定谳
| 步 | 动作 | 发现 / 关键证据 |
| 1 | 评测器探针 | 给 im_amp_players.py 注入逐帧逐部位误差收集并重跑 347 起点:100% 窗口 ≤5 步破线、首破部位 100% R_Toe、step0 手部已 108mm → 帧0 数据坏,非动作后段 OOD |
| 2 | 真值链 FK | 同仿真路径 FK 复算:人物整体悬空 ~1.3m、骨盆-踝距 0.066m(standing 基线 0.859m)→ 腿折进骨盆,几何结构性损坏 |
| 3 | 追凶层A | 源码实读 convert_gvhmr_to_phc.py:把世界旋转 R(Y→Z) 乘到了全部 66 个 rotvec——但 SMPL body_pose 是父链局部关节角,不随世界轴变换 |
| 4 | 数据手术 | 手术一(修旋转):只对 global_orient+trans 施加 R,body_pose 保原值 → 几何比例恢复(骨盆-踝距 0.831m) 手术二(接地):站立段脚底最小 z=0.4624m,整体下落 0.4364m 对齐 PHC 接触高度 0.026m → 脚趾触地 0.00-0.13m |
| 5 | 判决复跑 | Succ 1.000 / Mpjpe 35.0mm / 450 步全长存活 —— 判决翻转,物理背书成立 |
⑥ 核心修复代码(层A)
# 修复前 (v1, 错): 世界旋转乘到全部关节
pose_zup = (R @ pose_aa.reshape(-1,3).T).T.reshape(T,66,3) # body_pose 也被转 = 病灶
# 修复后 (v2): 只动 root 朝向 + trans; body_pose 局部角保持原值
root_mats = sRot.from_rotvec(pose_aa[:, :3]).as_matrix()
pose_aa[:, :3] = sRot.from_matrix(R @ root_mats).as_rotvec() # R @ R_root
trans_zup = (R @ trans.T).T
# body_pose[:, 3:] 不动
⑦ 终审判定
判决翻转归因结论(数据手术有效 · Case01 物理背书成立):
判定口径
✅通过 = 接受归因结论与翻转判决,层C 物理化验证可接入下游(T1 组装器物理置信度字段 / 新案例入库流程)。
🔧需修 = 结论方向认可但有保留项(写在意见框)。
❌否决 = 归因不成立或证据不足(写在意见框)。
数据口径:Succ/Mpjpe 来自 PHC im_eval 协议(pnn 底层 + mcp 策略,312→54 起点重采样差异见探针 dump:v1=348 窗、v3=54 窗);FK 数字来自容器内同路径复算,图表由 /tmp/fk_evidence.npz 生成。