实验定位 selector 正向 / tradeoff 明确
A53 复用 A52 已生成的候选 mesh,不再做新变形。核心问题是:能否用无 GT 多目标 selector 修正 gso_008 的 failure pattern,也就是 A52 outward-only 让 F@5 提升但 Chamfer 反向。
推荐的 saturation_guard_signed_selector 使用 no-GT 规则:中等 conflict 且 depth support 足够时选择 signed-strong;如果 conflict ratio 极高,并且 depth 候选让 visible/conflict/improved proxy p95 全部恶化,则回退 carrier。结果 mean ΔChamfer=-0.000209,几乎贴近 GT oracle=-0.000209,优于 A52 的 -0.000083;但 ΔF@5=0.000728,低于 A52 的 0.001326。
实验设计(Image-2 风格)
模块设计(Image-2 风格)
Selector Rule
- defer case 仍保持 carrier。
- 中等 conflict 且 signed depth support ≥ 0.05:选择 signed-strong。
- conflict ratio > 0.5 且所有 depth 候选让 visible/conflict/improved proxy 变差:回退 carrier。
- GT oracle 只作为事后上界,不参与推荐 selector。
What It Fixes
A52 把 gso008 的 high-conflict/high-outward-support 解释为“应该 outward”。A53 发现这个区域已经是 saturated conflict:所有 residual 都破坏可见/冲突/improved proxy,因此应拒绝编辑。
实验结果(表格)
Selector 聚合对比
| selector | selected counts | mean ΔChamfer | mean ΔF@5 | active ΔChamfer | active ΔF@5 | visible Δ | conflict Δ | 状态 |
|---|---|---|---|---|---|---|---|---|
| gt_chamfer_oracle_upper_bound | {'carrier_control': 8, 'depth_inward_counterfactual': 1, 'depth_signed_strong': 1} | -0.000209 | 0.000943 | -0.000697 | 0.003143 | 0.00022 | 0.00092 | oracle |
| saturation_guard_signed_selector | {'carrier_control': 8, 'depth_signed_strong': 2} | -0.000209 | 0.000728 | -0.000696 | 0.002428 | 0.00024 | 0.00099 | 推荐 |
| a52_original_selector | {'carrier_control': 7, 'depth_outward_only': 1, 'depth_signed_strong': 2} | -0.000083 | 0.001326 | -0.000276 | 0.004420 | 0.00054 | 0.00154 | 对照 |
| proxy_deterioration_guard | {'carrier_control': 8, 'depth_outward_only': 2} | -0.000033 | -0.000090 | -0.000108 | -0.000299 | 0.00004 | 0.00031 | 对照 |
| support_weighted_proxy_selector | {'carrier_control': 7, 'depth_outward_only': 3} | 0.000093 | 0.000508 | 0.000311 | 0.001693 | 0.00033 | 0.00086 | 对照 |
active case 逐项选择
| selector | case | selected | reasons | ΔChamfer | ΔF@5 | visible Δ | conflict Δ | OBJ |
|---|---|---|---|---|---|---|---|---|
| a52_original_selector | gso_000_input4 | depth_signed_strong | ['a52_original_selector'] | -0.000777 | 0.000340 | 0.00121 | 0.00546 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_000_input4/mesh_depth_signed_strong.obj |
| a52_original_selector | gso_002_input4 | depth_signed_strong | ['a52_original_selector'] | -0.001311 | 0.006943 | 0.00121 | 0.00443 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_002_input4/mesh_depth_signed_strong.obj |
| a52_original_selector | gso_008_input4 | depth_outward_only | ['a52_original_selector'] | 0.001259 | 0.005978 | 0.00293 | 0.00555 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_008_input4/mesh_depth_outward_only.obj |
| saturation_guard_signed_selector | gso_000_input4 | depth_signed_strong | ['moderate_conflict_signed_depth_support'] | -0.000777 | 0.000340 | 0.00121 | 0.00546 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_000_input4/mesh_depth_signed_strong.obj |
| saturation_guard_signed_selector | gso_002_input4 | depth_signed_strong | ['moderate_conflict_signed_depth_support'] | -0.001311 | 0.006943 | 0.00121 | 0.00443 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_002_input4/mesh_depth_signed_strong.obj |
| saturation_guard_signed_selector | gso_008_input4 | carrier_control | ['high_conflict_saturation_and_all_depth_candidates_worsen_proxy'] | 0.000000 | 0.000000 | 0.00000 | 0.00000 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_008_input4/mesh_carrier_control.obj |
| gt_chamfer_oracle_upper_bound | gso_000_input4 | depth_inward_counterfactual | ['gt_oracle_chamfer_upper_bound'] | -0.000780 | 0.002486 | 0.00095 | 0.00479 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_000_input4/mesh_depth_inward_counterfactual.obj |
| gt_chamfer_oracle_upper_bound | gso_002_input4 | depth_signed_strong | ['gt_oracle_chamfer_upper_bound'] | -0.001311 | 0.006943 | 0.00121 | 0.00443 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_002_input4/mesh_depth_signed_strong.obj |
| gt_chamfer_oracle_upper_bound | gso_008_input4 | carrier_control | ['gt_oracle_chamfer_upper_bound'] | 0.000000 | 0.000000 | 0.00000 | 0.00000 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a52_routed_10case_depth_sign_residual/gso_008_input4/mesh_carrier_control.obj |
可视化结果
实验结论
- A53 推荐 selector 成功避开 A52 的 gso008 Chamfer 反向:gso000/gso002 仍选 signed-strong,gso008 回退 carrier。
- mean ΔChamfer 从 A52 的 -0.000083 改到 -0.000209,几乎达到 GT Chamfer oracle 的 -0.000209。
- 代价是 F@5 增益变小:A53 推荐 selector ΔF@5=0.000728,A52 ΔF@5=0.001326。这说明 selector 不是“彻底解决”,而是在 Chamfer 安全和覆盖率之间调 tradeoff。
- proxy_deterioration_guard 和 support_weighted_proxy_selector 都被证伪:前者过保守,丢掉 gso000/gso002 的 signed 收益;后者过度追求 depth support,会继续选错高 conflict case。
- 论文价值:A53 把 reject option 从 case-level readiness 推进到 candidate-level saturation guard,形成更完整的 no-GT safety selector。
下一步想法
- A54:做 signed step calibration,针对 gso008 测试更小 max_step / confidence-scaled step,尝试同时保留 F@5 改善并减少 Chamfer 反向。
- A55:对 defer/low-conflict case 运行反事实 residual,验证 A51/A53 reject option 是否确实避免劣化。
- A56:加入 20-view render metrics,检查 A53 Chamfer-safe selector 是否也改善 silhouette/normal/LPIPS。
- A57:把 A53 selector 写成完整 pipeline:readiness route -> candidate generation -> saturation guard -> selected mesh。