核心贡献位于表示层。
传统 MC 由 signed distance 的符号决定离散拓扑,拓扑变化处无法稳定反向传播。DMC 将拓扑写成 8 个 Bernoulli 占据变量诱导的分布,并把几何写成每条网格边上的连续位移。
把 Marching Cubes 改造成可微的概率曲面层:网络同时预测体素占据概率与网格边上的顶点位移,直接用稀疏点云监督三角网格。
传统 MC 由 signed distance 的符号决定离散拓扑,拓扑变化处无法稳定反向传播。DMC 将拓扑写成 8 个 Bernoulli 占据变量诱导的分布,并把几何写成每条网格边上的连续位移。
点集方法需要额外表面重建;占据网格或 TSDF 方法先优化中间表示,再调用不可训练的 MC。最终需要的是 mesh,训练期间优化的却常是点距或体素误差。
非闭合网格与稀疏点云缺少可靠 inside/outside 标注,把它们转换为 dense occupancy 或 TSDF 会引入错误监督。
经典边交点 \(x=d/(d-d')\) 在 \(d=d'\) 处出现奇异性,符号翻转对应离散拓扑跳变,训练难以跨越。
稀疏点只约束曲面位置;模型还要借助边界自由空间先验、内部占据先验与局部平滑性推断未观测区域及内外方向。

论文实验输入为 \(K\) 个三维点,网络输出 \(O\) 与 \(X\)。DMCL 把两者转换为每个 cell 的拓扑分布和三角面位置;训练目标是期望曲面误差与三类正则项的加权和。

每个角点的占据输出充当 Bernoulli 参数。八个角点独立相乘得到 cell topology 的概率,再与连续 edge displacement 一起定义 mesh 分布。
get_accept_topology(3),仅列 48 个 topology,再加入 inside/outside dual 后得到 96 个训练条目;140 个最多四三角 topology 只用于可视化路径。共享角点与共享 edge parameter 提供局部一致性,论文与代码均没有给出全局 watertightness 保证。每点 \(3\to256\to16\) 的 1D convolution / fully connected 映射。
同一 cell 内对 16 维点特征 max pool;空 cell 使用零向量。
16→32→64→128 编码,三次 pooling;unpooling 与 skip connection 恢复分辨率。
occupancy head 输出 1 通道,offset head 输出 3 通道,均使用 sigmoid 约束。
推理时选择每个 cell 的高概率 topology,按 edge offset 生成共享顶点与三角面。


对 topology 分布计算期望点到网格距离与期望法向一致性。占据正则和邻域平滑直接作用在 \(O\)。误差通过 DMCL、自定义 C/CUDA 运算与 3D CNN 反向传播。
官方验证代码输出每个 cell 的 topology probability 与 offset,并调用 mesh 保存逻辑产生 OFF。论文没有报告 beam search、随机采样、温度、reranking 或 test-time optimization。
稀疏点云只提供曲面附近证据。完整目标借助边界自由空间、内部占据区域、邻域 occupancy 一致性和相邻面法向一致性补足未观测信息。
ℓ 取点到最近三角面的欧氏距离。它直接测量预测 mesh 与监督点的几何兼容性;仅有这一项会允许远离观测点的多余表面。
边界集合 \(\mathcal{B}\) 的六个外表面被鼓励为空;内部子体积 \(\mathcal{S}\) 被鼓励占据。自适应权重 \(w\) 随高置信占据体素增加而减小,避免强行填满中心。
相邻体素多数处于同一状态,变化主要发生在表面。该项传播局部 occupancy 信息并抑制碎片化边界。
\(\kappa\) 是跨共享边连接的三角面法向量平方 \(\ell_2\) 距离;不连通时取 0。该项在稀疏、含噪监督下抑制局部折皱。
| Supplement Table 1 参数 | 值 | 作用 |
|---|---|---|
| \(w_1\) on \(\mathcal{L}_{\mathrm{mesh}}\) | \(1.0/N^3\) | 点到网格期望距离 |
| \(w_2\) on \(\mathcal{L}_{\mathrm{occ}}\) | \(0.4/N^3\) | 边界空闲与内部占据 |
| \(w_3\) on \(\mathcal{L}_{\mathrm{smooth}}\) | \(0.6/N^3\) | 相邻 occupancy 平滑 |
| \(w_4\) on \(\mathcal{L}_{\mathrm{curve}}\) | \(0.6/N^3\) | 连接三角面法向平滑 |
| Optimizer | Adam | 补充材料没有给出 β₁、β₂、weight decay |
| Learning rate | 5e-4 | 补充材料报告值 |
| Batch size | 8 | 训练批量 |
| Epoch | 20 | 补充材料报告值 |
所有距离以 voxel 为单位,数值越低越好。accuracy 衡量预测表面到 ground truth 的距离,completeness 衡量 ground truth 到预测表面的距离;Chamfer 综合双向误差。
| Loss configuration | Chamfer ↓ | Accuracy ↓ | Completeness ↓ | Hamming ↓ |
|---|---|---|---|---|
| \(\mathcal{L}_{\mathrm{mesh}}\) | 0.339 | 0.388 | 0.289 | 83.69% |
| + \(\mathcal{L}_{\mathrm{occ}}\) | 0.357 | 0.429 | 0.285 | 4.67% |
| + \(\mathcal{L}_{\mathrm{smooth}}\) | 0.240 | 0.224 | 0.255 | 0.56% |
| + \(\mathcal{L}_{\mathrm{curve}}\) | 0.245 | 0.219 | 0.272 | 0.53% |
occupancy prior 将 Hamming 从 83.69% 降至 4.67%,说明它主要解决内外翻转;smoothness 带来最大的几何改善。curvature 改善 accuracy 和 Hamming,但 Chamfer 与 completeness 略降,作者所说“without decreasing performance”只在视觉平滑与部分指标上成立。

| \(\sigma\) (voxel) | Chamfer ↓ | Accuracy ↓ | Completeness ↓ |
|---|---|---|---|
| 0.00 | 0.245 | 0.219 | 0.272 |
| 0.15 | 0.246 | 0.219 | 0.273 |
| 0.30 | 0.296 | 0.267 | 0.325 |
| Missing angle | Chamfer ↓ | Accuracy ↓ | Completeness ↓ |
|---|---|---|---|
| 15° | 0.234 | 0.210 | 0.257 |
| 30° | 0.250 | 0.227 | 0.273 |
| 45° | 0.308 | 0.261 | 0.354 |
| Resolution | Method | Chamfer ↓ | Accuracy ↓ | Completeness ↓ |
|---|---|---|---|---|
| 32³ | Occupancy + MC | 0.407 | 0.246 | 0.567 |
| 32³ | TSDF + MC | 0.412 | 0.236 | 0.588 |
| 32³ | weighted TSDF + MC | 0.354 | 0.219 | 0.489 |
| 32³ | PSR-5 | 0.352 | 0.405 | 0.298 |
| 32³ | Ours | 0.218 | 0.182 | 0.254 |
| 256³ | PSR-8 | 0.198 | 0.196 | 0.200 |
同为 32³ 时,DMC 的 Chamfer 相比 weighted TSDF + MC 从 0.354 降至 0.218,下降 38.4%;相比 PSR-5 从 0.352 降至 0.218,下降 38.1%。PSR-8 使用 256³,高分辨率下 Chamfer 和 completeness 更低,DMC 的 accuracy 仍为更低的 0.182。

| Method | Chamfer ↓ | Accuracy ↓ | Completeness ↓ |
|---|---|---|---|
| Occupancy + MC | 0.277 | 0.217 | 0.337 |
| TSDF + MC | 0.271 | 0.191 | 0.350 |
| TSDF (weighted) + MC | 0.276 | 0.200 | 0.352 |
| Ours | 0.265 | 0.211 | 0.318 |
DMC 获得最佳 Chamfer 与 completeness,TSDF + MC 获得最佳 accuracy。该实验还使用 occupancy 输入过滤:仅保留占据区域大于完整 cube 的 2% 的对象。


Conv1d(3,256,1) → ReLU → Conv1d(256,16,1);按 cell 做 max pooling,空 cell 为零。sigmoid - 0.5 得到 \([-0.5,0.5]\) offset,再以 \(0.5-\mathrm{offset}\) 转换为 edge 上的 \([0,1]\) 位置;与论文直接把 \(X\) 写成 \([0,1]\) 的记号等价,但变量含义需要转换。get_accept_topology(3) 的 48 个条目及 48 个 inside/outside dual,共 96 个概率,再按概率和重新归一化。get_accept_topology(4) 返回 140 个条目,只交给 train/val 的可视化路径;源码注释标明该处仍需修复。.data 阻止该权重反向传播。val.sh 先输出 OFF,再由 mesh-evaluation 对 3000 个采样点计算距离。PSR baseline 的 oriented normals 由 MeshLab 估计。config.py 的默认值为 lr=1e-4、510 epochs、weight decay=1e-3,以及 distance/prior/smoothness/curvature 权重 5/10/3/3;train.sh 没有覆盖这些默认值。仓库没有提供与论文表格绑定的完整命令、checkpoint 或 commit 说明,因此直接运行公开脚本无法保证复现论文设置。论文证实 end-to-end surface loss、32³ 输出、稀疏 point supervision、三类 ShapeNet、四项 loss 与表格结果。
“arbitrary topology”应理解为整体网格可形成多样 topology;论文表述覆盖 140 个 singly connected configuration,训练源码的几何 loss 实际使用 96 个 topology 条目。低分辨率会错误连接分离部件,也没有证明全局 watertightness。
将 occupancy 与 edge parameter 放入 octree、sparse voxel DAG 或 learned adaptive grid,集中预算到薄结构和高曲率区域,同时保持显式 connectivity。
学习 cell tessellation template 或使用 tetrahedral decomposition,覆盖 disconnected case、锐边与非流形风险,并显式检查跨 cell consistency。
引入 visibility-aware free-space rays、法向、深度或 differentiable rendering,使未观测区域与多余表面获得更可靠约束,降低对中心占据先验的依赖。
当前 Bernoulli independence 产生 topology distribution,却没有评估概率校准。可对歧义区域建模相关角点分布,并报告 topology entropy 与几何误差关系。
使用 sparse 3D convolution 或 point transformer 替代 dense 32³ U-Net,并保持 DMCL 作为显式 surface decoder,评估容量与表示收益。
公开确定性 ShapeNet ID、preprocessing、完整训练命令、checkpoint、编译环境和 metric scripts,并对多个随机种子报告均值与标准差。
e6efeb4。