实验定位 per-view 正向但不足
A64 把 A61 的 global MV depth error 拆成 per-view residual:每个候选不再只有 mean MVD,而是记录每个输入视角相对 carrier 的改善/恶化、最大恶化视角、view spread 和 all-view-nonworse 状态。
结果是混合但很有价值:最好的 no-GT per-view selector 是 a64_min_view_spread,mean ΔChamfer=-0.0001264、ΔF@5=0.004870,比 A61 的 global mean selector 更好;但它距离 GT Chamfer oracle 仍差 0.0004317,且 gso008 有 all-view-improve 但 Chamfer 变差的反例。
实验设计(Image-2 风格)
模块设计(Image-2 风格)
Per-view Signals
mean_view_delta:每个视角 depth error 相对 carrier 的平均变化。max_view_worsen:最坏视角的 residual 恶化量。view_delta_spread:不同视角 residual 变化的分歧程度。all_view_nonworse:所有输入视角都不比 carrier 差。
Missing Signal
per-view 只能说明某个相机的整体 depth 更像 VGGT,但不能判断是可见区域该外扩、该内缩,还是背景/遮挡区域被错误解释。因此 A65 需要 per-region signed residual。
实验结果(表格)
selector 汇总
| selector | mean ΔChamfer | mean ΔF@5 | mean max worsen | mean spread | all-view nonworse | selected iters |
|---|---|---|---|---|---|---|
| a64_min_mean_view_delta | 0.0000554 | 0.003458 | 0.0001106 | 0.0007195 | 1 | {'2': 1, '3': 1, '4': 1} |
| a64_min_max_view_worsen | 0.0001475 | 0.002686 | 0.0000535 | 0.0006253 | 2 | {'1': 2, '2': 1} |
| a64_min_view_spread | -0.0001264 | 0.004870 | 0.0000535 | 0.0002894 | 2 | {'1': 2, '8': 1} |
| a64_per_view_risk | 0.0002961 | 0.000594 | 0.0000961 | 0.0006114 | 1 | {'1': 3} |
| a64_all_views_nonworse | -0.0000557 | 0.004951 | 0.0000000 | 0.0002349 | 3 | {'0': 1, '1': 1, '8': 1} |
| a64_majority_improve_low_worst | 0.0003669 | 0.000675 | 0.0000426 | 0.0005569 | 2 | {'0': 1, '1': 2} |
| gt_chamfer_oracle | -0.0005581 | 0.011463 | 0.0024444 | 0.0010750 | 1 | {'3': 1, '8': 2} |
| gt_fscore_oracle | -0.0005167 | 0.011628 | 0.0024960 | 0.0010830 | 1 | {'4': 1, '8': 2} |
case-level 失败模式
| case | GT Chamfer iter | GT F@5 iter | per-view risk iter | all-view iter | min worst iter | key failure |
|---|---|---|---|---|---|---|
| gso_000_input4 | 3 | 4 | 1 | 0 | 1 | best_chamfer_has_some_view_worsen |
| gso_002_input4 | 8 | 8 | 1 | 8 | 2 | late_gt_improvement_with_small_view_worsen |
| gso_008_input4 | 8 | 8 | 1 | 1 | 1 | all_views_improve_but_chamfer_worse |
关键选择明细
| case | selector | iter | ΔChamfer | ΔF@5 | mean view Δ | max worsen | spread | worse views | all nonworse |
|---|---|---|---|---|---|---|---|---|---|
| gso_000_input4 | a64_min_view_spread | 1 | -0.0002122 | -0.000240 | 0.0000239 | 0.0001606 | 0.0001633 | 3 | False |
| gso_000_input4 | a64_all_views_nonworse | 0 | 0.0000000 | 0.000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0 | True |
| gso_000_input4 | gt_chamfer_oracle | 3 | -0.0004159 | 0.000512 | -0.0000564 | 0.0002023 | 0.0002520 | 2 | False |
| gso_002_input4 | a64_min_view_spread | 8 | -0.0016053 | 0.015600 | -0.0008049 | 0.0000000 | 0.0003951 | 0 | True |
| gso_002_input4 | a64_all_views_nonworse | 8 | -0.0016053 | 0.015600 | -0.0008049 | 0.0000000 | 0.0003951 | 0 | True |
| gso_002_input4 | gt_chamfer_oracle | 8 | -0.0016053 | 0.015600 | -0.0008049 | 0.0000000 | 0.0003951 | 0 | True |
| gso_008_input4 | a64_min_view_spread | 1 | 0.0014382 | -0.000748 | -0.0004171 | 0.0000000 | 0.0003097 | 0 | True |
| gso_008_input4 | a64_all_views_nonworse | 1 | 0.0014382 | -0.000748 | -0.0004171 | 0.0000000 | 0.0003097 | 0 | True |
| gso_008_input4 | gt_chamfer_oracle | 8 | 0.0003468 | 0.018277 | 0.0028236 | 0.0071310 | 0.0025779 | 4 | False |
per-view 信号与 GT Chamfer 的相关性
| case | signal | Spearman rho | p-value |
|---|---|---|---|
| gso_000_input4 | mean_view_delta | 0.4667 | 0.2054 |
| gso_000_input4 | max_view_worsen | 0.2000 | 0.6059 |
| gso_000_input4 | view_delta_spread | 0.1833 | 0.6368 |
| gso_000_input4 | per_view_risk | 0.2167 | 0.5755 |
| gso_002_input4 | mean_view_delta | -0.1167 | 0.7650 |
| gso_002_input4 | max_view_worsen | 0.0365 | 0.9257 |
| gso_002_input4 | view_delta_spread | 0.1000 | 0.7980 |
| gso_002_input4 | per_view_risk | -0.9500 | 0.0001 |
| gso_008_input4 | mean_view_delta | -0.0333 | 0.9322 |
| gso_008_input4 | max_view_worsen | 0.4100 | 0.2730 |
| gso_008_input4 | view_delta_spread | 0.4000 | 0.2861 |
| gso_008_input4 | per_view_risk | 0.3000 | 0.4328 |
可视化结果
实验结论
- A64 证明 per-view decomposition 比 global mean MV 更有信息量:
a64_min_view_spread把 active-case mean ΔChamfer 从 A61 的 0.0000166 改到 -0.0001264。 - 但 per-view 仍不是最终答案:gso008 的 iter1 在所有视角 depth residual 都不恶化的情况下,GT Chamfer 仍变差。这说明 view-level aggregate 仍会把错误区域/错误方向平均掉。
- 下一步必须从 per-view 升级到 per-region signed residual:区分 visible locked、conflict、unobserved 区域,并判断 residual 是应外扩还是内缩。
- 论文贡献继续收窄为:用 VGGT 局部可见几何残差约束 TRELLIS.2 sparse denoising,而不是做后验多指标排序。
下一步想法
- A65:把 A64 的 per-view residual 拆到 per-region:输入 mask 内可见区、conflict 区、unobserved closable 区分别计算 signed depth residual。
- 重点验证 gso008 iter1:为什么所有视角总体 residual 变好但 Chamfer 变差,定位具体错误区域。
- 把 residual sign 接回 A47/A52 的 depth-sign 逻辑,形成 sampler-time signed damping,而不是最终 mesh selector。
- 如果 A65 能解释 gso008,就进入 A66:在 sparse sampler hook 中实现 per-region signed residual budget。