返回汇报

卷曲专项:26 组拟合条件

原路径:/SSD2/yangzijing/v9_p3r2_finger_curl_20260915/DIAGNOSIS_ZH.md
SHA256:04e843f329684d8195fc2771072fc65f87175116ecf105009de516910e5117b3

   1 本次已经把用户指出的两段 RGB 视频,与 0907、0910 的三个代表性坏例合并检查,完成 26 组整段拟合条件(23 次新拟合、3 组核对配置和文件哈希后复用的旧消融),保留 FoundationHand-S9L10 (1e-6)。结论是:卷曲存在多种原因叠加,主要涉及错误的指链观测、掌面初始化选错或拒绝有效纠正,以及优化器用手指弯曲补偿这些错误。现有实验没有得到可直接推广到全部视频的统一修复。
   2 
   3 之前检查发现过姿态、关节和掌面异常,但没有把这两处逐关节卷曲单独完成因果验证;此前抽帧验收不能等同于已经排除此问题。这次补做了下面的对照和实际图像检查。它是 5 个代表序列的专项调查,不是对 0907/0910 全体视频重新做完逐帧关节标注,也不提供全量卷曲发生率。
   4 
   5 **具体案例与证据**
   6 
   7 | 视频/位置 | 观测与消融结果 | 能确定的结论与剩余问题 |
   8 |---|---|---|
   9 | `20260824T160047.570868+0800__source_00000`,约 8 秒,左手 | 第 247 帧,MMPose 的食指尖和小指尖只相距 3.4 px,分数约 0.736 / 0.699,图上出现一条可见手指承担两条指链。第 240 帧,原始 S9 中指第一处骨段夹角 7.3°,R2 为 28.7°;无名指第二处 16.8°→36.2°。关掉轮廓约束仍明显存在。 | 有上游指链对应错误,也有拟合额外引入的弯曲。真实手势本来就包含部分屈指,不能把所有弯曲都算错。只删除混淆关键点不足以恢复正确手势,原始模型姿态、遮挡及其他约束仍有影响。 |
  10 | `20260818T170110.207199+0800__source_00000`,6–7 秒,左手 | 第 193 帧(6.433 s),掌面初始化保护要求至少 4 个分数 ≥0.6 的掌部点,实际只有 3 个,因而跳过纠正。关闭该保护后,掌面和伸指视觉上明显改善;同一组可用 2D 点的平均残差 51.49→3.90 px,拇指第一处骨段夹角 60.9°→15.6°。冻结手指或关轮廓仍保留错误掌面。 | 掌面纠正被拒绝是该时刻的重要原因;关节优化在错误整体朝向下产生额外弯曲。但第 200 帧和第 210 帧仍有各自偏差,不能宣布整个 6–7 秒已修好。 |
  11 | `0907_1443_5cam__0907_1443_5cam__clip_18_action`,第 19–20 帧,另看第 131 帧 | 第 19 帧无名指第二处骨段夹角由原始 S9 的约 4.7°变为 R2 的 37.5°;冻结手指可去掉大部分额外弯曲,但掌面仍错。关闭掌面保护后,第 19→20 帧整体旋转从 R2 的 9.29°增加到 152.22°。第 131 帧有运动模糊和聚集的指链,多个控制均不理想。 | 同样有拟合补偿弯曲,但掌面保护在这里确实防止了更严重的翻转。因此不能为修 RGB 的一帧而全局关闭保护。 |
  12 | `0910_05_161036_5cam`,第 46 帧(1.586 s) | 原图为握杆动作,真实关节应当弯曲;R2 的手腕与掌面朝向却明显不合理。中指第一处骨段夹角原始约 16.5°、R2 56.8°、去轮廓 45.2°。R2 可用 2D 点的平均残差仅 5.23 px,错误姿态仍很明显。 | 遮挡、集中在小区域的观测无法充分约束 3D 掌面与手指。关闭保护改变了姿态但仍不正确。低 2D 残差不代表解剖姿态正确。 |
  13 | `0910_17_173551_5cam`,第 3213–3215 帧(约 110.8 s) | R2 腕部断面与掌面翻向错误;冻结手指、去轮廓、去姿态时序项都没有修正整体朝向。关闭掌面保护则明显改善腕部连接和掌面,第 3214 帧平均可用 2D 残差 94.84→19.67 px。 | 这里保护并非简单“拒绝初始化”:它筛掉部分点后改变了候选掌面的拟合及评分,选出不同姿态。该控制揭示初始化分支的重要性,但遮挡手指仍缺少可靠真值,不能宣布全部关节正确。 |
  14 
  15 表中骨段夹角是相邻 3D 骨段方向的无符号夹角,0°为伸直。它用于说明相同输入下拟合如何改变手指,不是带符号的解剖屈曲角,不是 GT 角度误差,也不是“越小越好”。拇指与其他手指的解剖结构不同,不用该数值直接作生理判定。
  16 
  17 2D 残差统一使用原始可用点掩码、分数 ≥0.35 的可见关键点,对像素距离做未加权平均;它与旧报告的置信度加权误差口径不同。关键点本身可能错;无可用点时 JSON 中为 null,不能视为零误差。
  18 
  19 **26 组实验具体改了什么**
  20 
  21 每个序列都在原来的完整时间范围内拟合,不是只截两秒优化。5 段原始序列合计 9,943 帧:900、873、147、3,313、4,710 帧。每个序列做以下 5 组;这些条件均保留原有有效性、检测、跟踪边界、输入来源与模型。
  22 
  23 | 条件 | 唯一改动范围 | 观察到的效果 |
  24 |---|---|---|
  25 | `replay` | 原参数重放 | 5 段全部与已交付 R2 的有效手部关节数组完全相同,最大差 0,证明此次对照确实针对已交付结果。 |
  26 | `freeze_fingers` | 将局部关节旋转增量上限从 0.7 rad 置为 0;整体朝向、位置和形状仍可优化 | 证明不少额外弯曲由后续拟合引入;同时暴露原始 S9 手势也不总正确,冻结后仍有错位、错误张指和错误掌面。 |
  27 | `no_silhouette` | 轮廓 containment 和 coverage 两项权重置零;其余深度/形状约束保留 | 两段 RGB 指定坏帧仍存在明显问题,不能把主因归给 SAM3 轮廓。部分 0907/0910 屈曲幅度有变化,说明轮廓可能参与放大,但不是单独原因。 |
  28 | `no_pose_temporal` | 相机相对姿态加速度项与掌部局部关节加速度项一起置零;根部和深度时序项保留 | 有时降低 2D 残差,但出现侧翻、腕部错误等,未获得一致视觉改进。这是一个时序项家族消融,不能进一步断言是哪一个项单独负责。 |
  29 | `no_palm_guard` | 关闭掌面初始化的高置信度保护 | 对 170110 第 193 帧和 0910_17 指定时刻有明显帮助,对 0907 造成严重翻转;不能全局采用。 |
  30 
  31 额外第 26 组 `drop_ambiguous_index_little_RGB`:仅在用户指定的 160047 第 210–270 帧窗口,食指尖/小指尖间距小于框对角线 4% 时,删除左手两条指链中的 6 个非掌部观测点。实际影响第 230、231、234、235、237、240、245、246、247 帧;保留掌部点、有效状态和所有其他输入,重新拟合完整 900 帧。
  32 
  33 该控制在第 240 帧将小指第一处夹角从 19.7°降至 11.6°,但中指反而由 28.7°增至 31.9°;第 247 帧小指第二处由 16.9°增至 31.3°。近景实际看图也没有恢复正确手势,因此它是一个未通过的控制,不是可用修复。这组对原始所有可用点算的残差包含被剔除的歧义点,不能单凭该残差增加就判其失败;判定依据还包括手势和指形。
  34 
  35 **代码层面为何允许这种结果**
  36 
  37 `s9_pose_initialization.py` 使用腕部和四个 MCP 点估计整体掌面。掌部接近平面,遮挡和错误点对应会造成姿态歧义。保护开启后,不仅决定是否允许初始化,还会把参与拟合与候选评分的点筛到 ≥0.6;因此既可能挡住必要的大角度纠正,也可能改变被选中的候选。仅靠硬置信度门槛不能稳定区分正确掌面。
  38 
  39 `s9_sequence_fit.py` 同时优化 RGB 投影、轮廓、姿态先验及时间连续性。姿态先验是对原始 S9 旋转的距离约束,并非逐关节生理活动范围或手指自碰撞约束;局部旋转允许相对原始值变化约 40°。当整体朝向或指链对应错了,优化器仍可用局部关节变化来降低目标损失。多个坏帧出现接近增量上限的关节改变,且冻结手指会去掉额外弯曲,支持“局部关节在补偿整体/观测错误”的解释。
  40 
  41 这不是把所有问题都归因于拟合器:原始 S9 在一些遮挡和转掌帧也给出错误手势或朝向。现有消融能定位放大环节,不能证明只换一项损失即可修好全部案例。关于增加解剖约束、自碰撞约束和改进候选选择的效果,本轮尚未做实现与验证。
  42 
  43 这些异常在世界坐标变换之前的相机系 MANO 中已经存在;同步对照直接从该阶段渲染。因此不能用 DA3/ViPE 世界轨迹或右侧双栏显示来解释这些卷曲的起点。0907/0910 原有深度约束仍可能参与优化,本轮没有逐一剥离所有深度项,不能进一步声称深度完全无影响。
  44 
  45 **验收、来源与边界**
  46 
  47 已生成 26 张指定帧控制图,计算这些帧所有控制的指标;实际人工图像复核了其中 13 个关键帧的多条件近景图,并查看两段 RGB 的源图关键点近景。另从最终编码的 5 个诊断视频分别解出 3 个邻帧,实际检查 15 帧,以检查时间连续性。精确列表和逐案例视觉结论在各目录 `visual_review.json`。没有把生成但未查看的图宣称已经目视验收。
  48 
  49 5 段对照视频共 225 帧,全部完成编码和全量解码检查;RGB 两段及 0907 为 30 fps,两段 0910 为 29 fps,保持各自原视频的帧序与速度。手部顶点由保存的旋转、形状及位移独立 MANO 解码,与已有指定帧顶点在 2e-6 容差内一致。通过这些检查表示对照制作和时间映射可靠,不表示其中的错误姿态通过了质量验收。
  50 
  51 RGB 批次沿用之前已核验来源的 RGB 场景估计;本轮没有重估深度、相机、尺度。RGB 的 K 是 `fx=fy=960, cx=960, cy=540` 的历史假设,不是实测标定。历史拟合收据中 `native_sensor_K` 一类固定标签不构成标定证据;本报告的来源说明优先。DA3Metric/ViPE 预测数据及其尺度仍然不是 GT。0910/0907 复用对应 R2 的相机与输入,没有对其标定精度增加新的承诺。
  52 
  53 输入路径、哈希、帧率见 `source_inventory.json`;每段 `case.json` 保留完整拟合参数及 surface 配置,`execution_provenance.json` 记录模型、运行环境、代码状态与哈希,`code_snapshot/` 保留实验和关键拟合代码。3 个复用控制的 `reuse.json` 记录原始文件和哈希;再次核对了 fit 配置只有声明的 guard 差异、surface 配置一致。详细中间旋转、关节、形状和指定帧网格在各条件的 `result.npz`,保留在服务器,不放入轻量查看 ZIP。
  54 
  55 后续修复应围绕指链对应的一致性检查,以及结合完整手部证据、可信深度与时间上下文选择掌面候选;同时验证合理的关节活动约束,避免用局部弯曲补偿整体错误。对遮挡且证据不足的部位要保留不确定性。这些是本次实验支持的修复方向,目前没有把任何未通过的控制作为正式 R2 配置,也没有以加强平滑替代定位原因。
  56 
  57 **查看文件**
  58 
  59 诊断视频为六格,上排 `RGB / R2 / freeze_fingers`,下排 `no_silhouette / no_pose_temporal / no_palm_guard`。右下角仅代表关闭保护,前面已有 0907 的严重退化反例,不能按格子位置认定最好。
  60 
  61 静态控制图第一行是 `RGB / MMPose / raw_fingers_at_R2_palm`,第二行 `R2 / replay / freeze_fingers`,第三行是另外三组消融。`raw_fingers_at_R2_palm` 仅把原始 S9 几何刚性旋转、平移到 R2 掌部姿态,方便看局部手指差异,没有缩放;它不是原始模型的直接投影,也不是最终重建。160047 的图另有第四行放第 26 组控制。
  62 
  63 | 案例 | 同步视频 | 重点近景 |
  64 |---|---|---|
  65 | 160047,原视频 7–9 秒 | [comparison_clip.mp4](20260824T160047.570868+0800__source_00000/comparison_clip.mp4) | [第 240 帧](20260824T160047.570868+0800__source_00000/controls_000240.jpg)、[混淆点控制第 247 帧](20260824T160047.570868+0800__source_00000/ambiguous_RGB_000247.jpg) |
  66 | 170110,原视频 5.5–7.5 秒 | [comparison_clip.mp4](20260818T170110.207199+0800__source_00000/comparison_clip.mp4) | [第 193 帧](20260818T170110.207199+0800__source_00000/controls_000193.jpg)、[第 210 帧](20260818T170110.207199+0800__source_00000/controls_000210.jpg) |
  67 | 0907 clip 18,第 10–50 帧 | [comparison_clip.mp4](0907_1443_5cam__0907_1443_5cam__clip_18_action/comparison_clip.mp4) | [第 19 帧](0907_1443_5cam__0907_1443_5cam__clip_18_action/controls_000019.jpg)、[第 131 帧](0907_1443_5cam__0907_1443_5cam__clip_18_action/controls_000131.jpg) |
  68 | 0910_05,第 30–60 帧 | [comparison_clip.mp4](0910_05_161036_5cam/comparison_clip.mp4) | [第 46 帧](0910_05_161036_5cam/controls_000046.jpg) |
  69 | 0910_17,第 3199–3229 帧 | [comparison_clip.mp4](0910_17_173551_5cam/comparison_clip.mp4) | [第 3214 帧](0910_17_173551_5cam/controls_003214.jpg) |
  70 
  71 所有条件目前均为诊断用途,未被接受为正式修复;未覆盖已交付视频,也未替换 HF 的 8 段成品。这个 ZIP 是卷曲消融查看包,不是新的最终双栏 demo 发布包。