AnyAngle camera_latent 校准对撞 — c069 螳螂背面镜

验证什么:Fisher 插件精华点①「TripoSplat camera_latent 原始机位校准」相对我们 0930 已验证的绝对 orbit 粗渲,谁更贴「人物右系 90°」意图。
唯一变量:粗渲相机确定方式。上游(抠图→TripoSplat 重建 seed42/50步/cfg7)与终段(qwen21+QI2.1_AnyAngle LoRA, CFG1/25步, prompt 固定式)两臂完全一致。

① 4-yaw 诊断网格 — TripoSplat 世界坐标系勘定

同一 SPLAT、纯 orbit 渲染(无生成段),确定重建场景的朝向真值:

orbit yaw=0 → 螳螂右侧身
orbit yaw=90 → 正面(脸+腹面可见)
orbit yaw=180 → 左侧身
orbit yaw=270 → 背面(=输入视角,翅脉清晰)

定谳:TripoSplat 把输入视角(背面)放进世界系 azimuth≈270°;orbit 的 yaw=0 ≠ 输入视角,二者差 ~90°。任何「绝对 orbit」在换靶图后角度语义都会漂移——这正是 Fisher 校准要解决的问题。

② A/B 粗渲对拍

臂A 绝对 orbit yaw=90臂B FisherAnyAngleCamera 校准
落点=世界系 yaw90=正面。构图居中撑满、锐利(sharpen2)。但因世界系与人物系差90°,「orbit90」拿到的是正面而非预期侧面。落点=侧面偏转(约侧前方30-40°)。相位语义正确(人物右系90°→侧面族),但相位偏转欠账~50-60°(校准后仍掉角)。构图偏小、偏右下、分辨率经 image1 尺寸传递偏软。

主体区域 NCC 定位(值越高=越像该 yaw 视角):
A_coarse: y0=0.274, y90=0.999, y180=0.077, y270=0.624 → 死锁世界系 yaw90(正面)
B_coarse: y0=0.173, y90=0.204, y180=0.498, y270=0.162 → 侧面族偏转(不落任何正交锚)

③ 终段成图 (qwen21 + AnyAngle LoRA)

输入原图(背面)A finalB final

终段判读:LoRA 有强「贴粗图构图」倾向——A 粗渲是正面 → 成图基本回贴背面机位(转角≈0,复现 0930 已知病);B 粗渲带侧转相位 → 成图成功呈现侧面机位(转角≈90° 方向上成立),但主体变小、占位右移(跟随粗图构图)。B 侧成图身份保持良好、场景光影合理。

④ 定谳

维度A 绝对 orbitB Fisher 校准
相位语义正确性✗ 与人物朝向解耦(需人工补世界系偏移)✓ 人物相对系,语义即意图
相位精度✓ 指哪打哪(给定世界系时)△ 欠账 ~50-60°(待归因: 我们的 pose_json 相机语义对齐 / Fisher robust_box 中心系)
跨靶图稳定性✗ 角度语义随重建坐标系漂移✓ 每图从 camera_latent 反解参考系
粗图质量撑满+锐利偏小偏软(构图传递链待修)

结论:camera_latent 校准的方向正确性成立(B 成图是唯一转到侧面的臂);但其实现层在我们环境下存在相位欠账与构图偏小两个待修缺陷。改进方向:①用诊断网格标定世界系偏移后再驱动绝对 orbit(零新依赖,今天就能上);②向 Fisher 报 issue 或本地 patch 相机定位段。推荐:短采 A(补偏移表) 长采 B(修欠账)。

产物: /mnt/agents/output/gpu1/AnyAngleXY/ · 工作流: /tmp/anyangle_collide/ · prompt_id 62010b9c-2cca-4012-a1f2-4329f60dd02a · 2026-10-17