原路径:/SSD2/yangzijing/egoview-v9-foundationhand-s9l10-20260901/docs/V9_P3R1_0910_DEPTH_QUALITY_REFINEMENT_ZH.md
SHA256:68718e6cd3cd4bd077f08bcf5029f50efad3f3854315ecb55c022ce6e2140950
1 # 0910:掌部深度初始化修正与控制变量实验 2 3 本次采用 `V9-P3R1 / posed_palm_depth_seed_720_v1`。这里只更新 0910 A-003 运行入口的有深度拟合配置,旧结果保留;不是改名为另一套模型。唯一学习式 3D 模型仍为 **FoundationHand-S9L10 (1e-6)**。 4 5 ## 已确认的问题与修复 6 7 旧初始化把掌部关节采样到的表面 Z 中位数加 1 cm,直接当成手腕 Z。手掌倾斜时,各掌指关节与手腕不在同一深度,因此这个换算存在几何偏差。 8 9 修正后,对每个可靠掌部观测先减去当前姿态下该关节相对手腕的 Z,再取中位数估计手腕 Z,并用标定内参、二维观测和关节相对位置解算 XY。仍沿用原有“关节位于皮肤表面下 1 cm”的近似,此近似本身没有 GT 保证。至少需要三个可靠深度及四个二维关节;深度不一致或越界时保留原初始化,不跨无效区间补手。 10 11 实际控制实验还发现:仅改初始化、仍求解 360 步,第一段的大幅帧间变化会恶化。因此此次采用**正确初始化与 720 步联合求解**,不单独开启初始化修改。模型、YOLO/SAM3/MMPose 观测、内外参、深度输入、损失权重、全序列时序约束均保持相同。已有测试时几何优化仍会修改姿态、形状和 XYZ;此次没有新增输出平滑滤波。 12 13 ## 两段独立视频的结果 14 15 均为原序列前 **160 帧,约 5.52 秒**,不代表完整序列验收。第 02 组抽纸,第 03 组拿遥控器;分别有 68、93 个右手有效帧,左手缺失合法。 16 17 | 指标 | 02 原版 360 步 | 02 修正 +720 步 | 03 原版 360 步 | 03 修正 +720 步 | 18 |---|---:|---:|---:|---:| 19 | 二维观测重投影误差中位数,px | 0.775 | 0.644 | 1.395 | 1.493 | 20 | 重投影误差 P90,px | 5.496 | 4.885 | 7.197 | 7.100 | 21 | 重投影误差 P99,px | 15.023 | 12.420 | 11.594 | 9.883 | 22 | 掌部关节深度约束残差中位数,mm | 16.156 | 10.396 | 10.041 | 6.546 | 23 | 相机关节二阶差分中位数,mm/frame² | 0.965 | 1.013 | 0.965 | 1.095 | 24 | 相机关节二阶差分 P90,mm/frame² | 2.854 | 2.490 | 2.740 | 2.510 | 25 | 相机关节二阶差分 P99,mm/frame² | 5.340 | 4.881 | 5.350 | 4.482 | 26 | 抽帧 mesh / SAM 轮廓 IoU 均值 | 0.7794 | 0.7764 | 0.7641 | 0.7588 | 27 | 抽帧 mesh 表面深度残差中位数,mm | 11.645 | 8.040 | 12.614 | 14.383 | 28 | 独立图像光流运动残差中位数,px | 1.164 | 1.193 | 1.064 | 1.121 | 29 | 独立图像光流运动残差 P90,px | 4.421 | 4.307 | 3.642 | 3.672 | 30 31 选择这组修改的依据是几何换算正确性、两段掌部深度约束及大幅变化尾部的共同改善,以及第一段留出实验的改善。**并非全部指标提升**:第二段 mesh 表面深度残差略增,两段轮廓 IoU 略降,光流中位数略增。保留这些结果,不能把修改描述为已达到最优或消除了抖动。 32 33 二阶差分包含真实手部运动,不能把它直接叫纯抖动误差;光流、SAM、MMPose 和双目深度都不是手部 3D GT。重投影小也不能证明绝对 3D 准确。表面深度指标是在 18 个均匀有效帧上取每帧表面绝对残差中位数,再取中位数;轮廓 IoU 同样抽帧统计。光流来自 640×360 DIS,转换回原生像素,双向一致性小于 2.5 px、同帧侵蚀 SAM 内有效;每个版本使用相同采样起点。 34 35 ## 消融与留出检查 36 37 第 02 组仅改初始化、360 步:二阶差分 P99 从 5.340 增至 10.889 mm/frame²,**没有采用**。 38 39 第 02 组仅增加到 720 步:重投影中位数 0.692 px,深度约束残差 11.273 mm,二阶差分 P99 4.998 mm/frame²。第 03 组仅增加步数:重投影中位数 1.513 px,深度约束残差 6.795 mm,二阶差分 P99 5.340 mm/frame²;尾部改善弱于同时修正初始化。 40 41 第 02 组留出每第五帧,不让该帧参与二维拟合、掌部 PnP 初始化、mask 损失或深度损失;保留轨迹时序约束。原版到新配置: 42 43 | 留出帧指标 | 原版 | 修正 +720 步 | 44 |---|---:|---:| 45 | 重投影中位数,px | 1.612 | 1.482 | 46 | 重投影 P90,px | 8.508 | 6.403 | 47 | 掌部深度残差中位数,mm | 55.774 | 24.192 | 48 49 这验证对未参与拟合的观测的预测一致性,不是独立手部 GT benchmark。 50 51 实际渲染检查了无手帧、入画、稳定抓握帧;初入画只有部分手指时,手腕和被遮挡部分仍较弱约束。物体遮挡剔除对第一段轮廓 IoU 仅约 0.0009 的变化,因此没有把它当作此次错位的主要原因,也没有通过隐藏 mesh 来提高分数。 52 53 ## 实现、测试及运行 54 55 `v9_fusion/s9_pose_initialization.py` 实现几何初始化;`s9_sequence_fit.py` 保留可控开关及初始化报告。`p3r_fit_worker.py` 把开关与 720 步配套;`hf_0910_hands.py` 明确启用。无深度配置和旧批次默认配置保持不变。每份新 reconstruction/manifest 记录质量修订号、完整拟合配置、拟合报告与实现源码 SHA256,防止不同结果混名。 56 57 18 项 focused tests 通过:手部运行时 12 项,egoview 几何运行时 6 项。包含倾斜手掌已知几何、缺失与不一致深度回退、无深度配置隔离、原拟合测试、长序列距离矩阵值/梯度一致性、位姿缺口及坐标变换、深度检查。曾将几何测试放入另一模型的 SciPy 环境执行,其中两项 Euler 角测试数据接口不兼容;在实际使用的 egoview 运行时全部通过,没有改动共享环境。 58 59 主任务目录:`/SSD2/yangzijing/v9_p3r1_0910_a003_20260913`。 60 61 第 02 组对照:`runtime_smoke_160/work/0910_02_155724_5cam/quality_experiments/`。 62 63 第 03 组对照:`runtime_smoke_160_0910_03_160411_5cam/work/0910_03_160411_5cam/quality_experiments/`。 64 65 各目录保留 `comparison.json`、`flow_comparison.json`、逐实验 `report.json` / `fitted.npz`、轮廓检查图、修正版 `overlay.mp4` 和 `before_after.mp4`。原始输出未覆盖。 66 67 全量 worker 已在 `v9-0910-hands-a003` 的 `s9-refined` 窗口启用新配置;启动回执位于 `logs/s9_refined.log`。全量深度和重建仍需完成逐段验收,不能把这些短片当全量已交付。 68 69 SLAM 16 段完成。当前世界系是各自米制 SLAM session,**尚未配准到共享物体世界系**;手部世界轨迹不能直接用于已在 XR 世界系中的物体联合仿真。没有相机/手部 GT 精度结果,TRACKING 状态也不是零漂移证明。