实验定位 混合机制结果
A37 接在 A36 后面,问题很具体:如果已经用 observable-state mask 删除了 surface_conflict faces,能不能靠后处理把 mesh 拓扑修回来?这一步测试普通封孔、最大组件清理、体素隐式闭合和凸包水密对照。
结果显示:fill_holes 的 watertight rate=0.000,基本不能处理这种大面积、不规则、多组件的开放边界;voxel_close_p025 的 watertight rate=1.000,但平均面片数降到 15540,相对 A35 repair surface 的 Chamfer proxy=0.01827,说明它是“重新隐式化闭合”,不是忠实局部替换。
实验设计(Image-2 风格)
模块设计(Image-2 风格)
Repair Operators
A36 deleted:删除冲突面后的开放 mesh,对照组。fill_holes:传统封孔,只适合较小、规则洞。largest_fill:先保留最大组件再封孔,降低碎片但可能丢结构。voxel_close:体素填充 + marching cubes,能闭合但会重采样表面。convex hull:水密上界对照,证明 topology clean 不等于形状正确。
Evaluation Logic
本页没有把 A35 repair mesh 当作 GT,而只把它作为 post-hoc surgery 的 reference surface,测候选是否大幅偏离原 repair 表面。核心指标是 watertight、boundary_edges、components、faces 和 reference Chamfer proxy。
实验结果(表格)
方法聚合
| 方法 | 水密率 | 平均 boundary | 平均组件 | 平均面片 | 面片/reference | reference Chamfer | boundary Δ vs deleted |
|---|---|---|---|---|---|---|---|
| A36 删除后对照 | 0.0% | 8201.5 | 95.5 | 220670 | 0.5540 | 0.01350 | 0 |
| trimesh fill_holes | 0.0% | 7826.5 | 98 | 220811 | 0.5544 | 0.01353 | -375 |
| 最大组件 + fill_holes | 0.0% | 2890 | 1.5 | 141732 | 0.4261 | 0.06244 | -5311.5 |
| 体素闭合 p=0.025 | 100.0% | 0 | 6 | 15540 | 0.0613 | 0.01827 | -8201.5 |
| 凸包水密对照 | 100.0% | 0 | 1 | 1991 | 0.0043 | 0.03625 | -8201.5 |
逐 case 输出
| case | 方法 | 拓扑 | boundary | components | faces | face ratio | ref Chamfer | boundary Δ | OBJ |
|---|---|---|---|---|---|---|---|---|---|
| gso_002_input4 | A36 删除后对照 | 非水密 | 5895 | 60 | 188631 | 0.8028 | 0.00925 | 0 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_002_input4/mesh_a36_deleted.obj |
| gso_002_input4 | trimesh fill_holes | 非水密 | 5507 | 67 | 188781 | 0.8035 | 0.00904 | -388 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_002_input4/mesh_fill_holes.obj |
| gso_002_input4 | 最大组件 + fill_holes | 非水密 | 4434 | 2 | 167278 | 0.7119 | 0.01464 | -1461 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_002_input4/mesh_largest_fill.obj |
| gso_002_input4 | 体素闭合 p=0.025 | 水密 | 0 | 2 | 27936 | 0.1189 | 0.01678 | -5895 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_002_input4/mesh_voxel_close_p025.obj |
| gso_002_input4 | 凸包水密对照 | 水密 | 0 | 1 | 1254 | 0.0053 | 0.04337 | -5895 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_002_input4/mesh_convex_hull_control.obj |
| gso_008_input4 | A36 删除后对照 | 非水密 | 10508 | 131 | 252708 | 0.3052 | 0.01774 | 0 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_008_input4/mesh_a36_deleted.obj |
| gso_008_input4 | trimesh fill_holes | 非水密 | 10146 | 129 | 252841 | 0.3054 | 0.01801 | -362 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_008_input4/mesh_fill_holes.obj |
| gso_008_input4 | 最大组件 + fill_holes | 非水密 | 1346 | 1 | 116186 | 0.1403 | 0.11024 | -9162 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_008_input4/mesh_largest_fill.obj |
| gso_008_input4 | 体素闭合 p=0.025 | 水密 | 0 | 10 | 3144 | 0.0038 | 0.01976 | -10508 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_008_input4/mesh_voxel_close_p025.obj |
| gso_008_input4 | 凸包水密对照 | 水密 | 0 | 1 | 2728 | 0.0033 | 0.02913 | -10508 | /home/jiachen/TRELLIS/experiments/nonorthogonal_gpt_orthoview/outputs/data_survey/vggt_spatial_adapter/support_guidance_a37_deletion_closure_repair/gso_008_input4/mesh_convex_hull_control.obj |
可视化结果


实验结论
- A37 证伪了“删除 conflict faces 后直接 fill holes 就行”的路线:普通封孔水密率=0.000,平均 boundary 仍有 7826.5。
- 最大组件清理能显著减少碎片组件,但仍不是水密解,并且 reference Chamfer proxy 升到 0.06244,说明它会丢掉可见结构。
- 体素闭合能把 boundary 降到 0 且水密率=1.000,但它是全局重建式闭合:面片数和局部细节都被重新分配,不能作为最终局部替换算法。
- 凸包对照说明“水密 + 少面片”可以很容易做到,但几何会变成粗糙外壳;所以论文指标必须同时看 topology、face budget 和可见几何一致性。
- A37 的机制结论是:A35/A36 的 mask 有价值,但它应该进入 patch replacement / SDF constrained completion / generation-time observable-state guidance,而不是后验删除再修补。
下一步想法
- A38:做 baseline-nearest conflict replacement。对 conflict patch 的边界和 centroid 找 baseline/TRELLIS.2 raw surface 最近面,生成局部替换候选,而不是删除后让 fill_holes 猜。
- 加入 patch graph smoothing 和最小岛过滤:先把 A35 face labels 做区域连通清理,减少小碎片对拓扑编辑的污染。
- 尝试 SDF 局部补全:只在 unobserved/closable 或 conflict patch 附近重建隐式场,visible-locked surface 作为硬约束保留。
- 把 A37 写进论文反证链:post-hoc topology repair 不是核心创新,真正创新点应是 observation-aware generation constraint。