论文阅读_MeshSplatting
MeshSplatting: Differentiable Rendering with Opaque Meshes
基本信息
| 项目 | 内容 |
|---|---|
| 论文标题 | MeshSplatting: Differentiable Rendering with Opaque Meshes |
| 作者 | Jan Held, Sanghyun Son, Renaud Vandeghen, Daniel Rebain, Matheus Gadelha, Yi Zhou, Anthony Cioppa, Ming C. Lin, Marc Van Droogenbroeck, Andrea Tagliasacchi |
| 第一作者单位 | University of Liege |
| 时间 | 2025 |
| 发表会议/期刊 | arXiv预印本(预计投稿至计算机视觉/图形学顶会) |
方法概览
| 特点 | 文章性质 |
|---|---|
| 输入 | 多视角图像(通过SfM获取相机位姿与稀疏点云) |
| 输出 | 带顶点颜色、不透明且顶点共享的三角网格 |
| 所属领域 | 可微分渲染、神经辐射场、三维重建 |
文章内容总结
1. 新提出的场景表示及其对比
本文提出了一种名为 MeshSplatting 的新型场景表示方法。该方法生成的是一种不透明、顶点共享的三角网格。
- 对比的其他三维表示:
- 3D高斯泼溅(3D Gaussian Splatting):基于点状各向异性高斯体的表示,渲染快但非网格,与游戏引擎不兼容。
- Triangle Splatting:如Triangle Splatting,每个三角形独立无连接,且最终透明度非不透明,同样难以直接用于游戏引擎。
- 后处理提取的网格:如2DGS、GOF、RaDe-GS等方法,需要从高斯表示中通过截断符号距离场(TSDF)或泊松重建等复杂后处理提取网格,且常需额外步骤上色。
- 联合优化的网格:如MiLo,在优化中联合处理网格与高斯表示,但颜色仍需单独学习,且网格非完全连接。
- 优势:
- 端到端优化:直接从图像优化得到不透明、带颜色的三角网格,无需后处理。
- 顶点共享:三角形通过顶点连接,形成真正的网格(Mesh),而非汤(Soup)。
- 游戏引擎兼容:生成的不透明三角网格可直接导入Unity等标准游戏引擎,用于物理仿真、实时渲染等下游任务。
- 高质量与高效率:在MipNeRF360等数据集上,视觉质量(PSNR, SSIM, LPIPS)优于现有方法,且训练速度更快(快2倍)、内存占用更少(少2倍)、模型更紧凑。
- 缺点/特点:
- 顶点共享机制:每个顶点存储三维坐标、颜色、不透明度,三角面由顶点索引定义,反向传播时梯度可在共享顶点上累加。
- 专注于生成不透明网格,对透明物体(如玻璃)的重建具有挑战性(见文章图13)。
- 背景区域在视角有限时可能难以准确恢复。
- 非完全水密:未强制约束水密性,存在局部非流形区域,部分边界顶点连接性不足。
2. 摘要精简讲解
MeshSplatting是一种基于网格的重建方法,通过可微分渲染联合优化场景的几何(三角网格)与外观(顶点颜色)。它通过约束Delaunay三角剖分强制网格连通性,并优化使三角形变得不透明,从而生成平滑、高质量且可直接在实时3D引擎(如游戏引擎)中渲染的网格。在MipNeRF360数据集上,其PSNR比当前最好的基于网格的新视图合成方法MiLo高出0.69 dB,同时训练快2倍,内存少用2倍,有效连接了神经渲染与交互式3D图形。
3. 引言(出发点)
当前,以3D高斯泼溅(3DGS)为代表的基元泼溅方法在新视图合成上取得了革命性进展,但其点式表示与AR/VR和游戏引擎中主流的基于网格的管线不兼容。现有方法通常需要将神经辐射场或高斯表示转换为网格,这一过程复杂、不可微分且会导致视觉质量损失。一些早期的可微分网格优化方法又对初始化和场景规模有严格限制。最近的Triangle Splatting虽然用三角形替换了高斯,但生成的仍是“三角形汤”(无连接),且三角形非不透明,在游戏引擎中渲染质量下降。因此,本文出发点是为了直接优化出一个不透明、连通、带颜色、可直接用于游戏引擎的三角网格。
MeshSplatting的两阶段优化流程。(1a-b) 第一阶段优化独立的半透明三角形汤,快速捕捉场景几何与外观。(2a-b) 第二阶段通过受限Delaunay三角剖分建立连接性,并微调得到最终的高质量不透明网格。
4. 相关工作对比与参考
- 可微分渲染与显式表示:参考了点云、体素网格、多边形网格、高斯泼溅等领域的工作。本文方法属于可微分渲染优化显式网格表示。
- 三角形基元回归:参考了Triangle Splatting [16] 的工作,该方法将三角形作为体积渲染基元。MeshSplatting在此基础上,关键改进是引入了顶点共享和不透明性优化。
- 从图像重建网格:
- 隐式场转换法:如BakedSDF、Binary Opacity Fields、MobileNeRF,将神经辐射场烘焙成纹理网格,引入了额外开销。
- 3DGS的网格提取法:2DGS、RaDe-GS 等通过截断符号距离场或泊松重建提取网格,MiLo 将网格提取融入优化,但仍需后处理着色;MeshSplatting 则直接优化带颜色的不透明网格,无需额外步骤。
- 联合优化法:如MiLo [14],将表面网格提取集成到优化中,联合优化网格和高斯,但颜色仍需单独学习。
- 本文定位:与MiLo等联合优化法最相关,但MeshSplatting直接优化带顶点颜色的不透明三角形,一步到位,无需后处理上色或纹理化。
5. 表示的重建、存储、渲染与几何获取
-
重建过程:
-
输入:通过运动恢复结构(SfM)得到的多视角图像、相机参数及稀疏点云。
-
初始化:在每个3D点处初始化一个半透明的等边三角形,尺寸与邻域距离成正比,初始不透明度oi=0.28。
-
两阶段优化:
-
阶段1无拘无束的“三角形汤”优化:优化伊始,方法从一个松散的“三角形汤”开始。每个三角形独立定义自己的三个顶点、颜色和不透明度,彼此之间没有连接关系。这种做法借鉴了3DGS的成功经验:在训练早期,减少对表示的约束(如连接性、不透明性)能让优化器更自由、更快速地探索场景空间,高效覆盖复杂几何并拟合外观。此阶段的关键是可微分渲染公式。对于每个三角形,方法将其投影到2D屏幕空间,并定义一个基于符号距离场的窗口函数 :$$I§$$:
其中, $$\phi§$$是像素 到三角形边的符号距离, 是控制平滑度的参数。当 较大时,三角形边缘是平滑渐变的(半透明),便于梯度在训练初期流动;随着优化进行, 会逐渐减小,使三角形趋向于实心。
-
阶段2(网格创建与优化):当“汤”优化得足够好,能够表征场景的大致形状和颜色后,MeshSplatting 便启动“收网”程序。它利用约束Delaunay三角剖分(Restricted Delaunay Triangulation),将第一阶段优化得到的顶点连接起来,形成一个全局连通的三角形网格。这一步骤不引入新顶点,只是重用现有顶点建立拓扑关系,从而最大程度保留了第一阶段学习到的几何与外观信息。
-
微调阶段:然而,刚“织”好的网是粗糙的,连接性可能带来几何走样和视觉质量下降。因此,一个紧接其后的微调阶段至关重要。此时,顶点的属性(位置、颜色、不透明度)被所有共享该顶点的三角形共同优化。梯度在相邻面之间累积,促使网格表面变得平滑,几何更加精确,并恢复在三角剖分中可能损失的细节。最终,通过一套精心设计的调度策略,所有三角形都趋于完全不透明。
-
不透明化:通过调度不透明度参数 和平滑度参数 ,在训练过程中逐渐使三角形变得不透明。
-
-
-
存储格式:
- 一个顶点列表 ,每个顶点 存储其3D坐标 、颜色 (或用球谐系数表示)和不透明度 。
- 一个三角形列表,每个三角形由三个顶点索引定义。
- 训练后,不透明度参数被丢弃,所有三角形被视为完全不透明。
-
渲染方式:
- 使用可微分的光栅化(splatting)。每个三角形在图像空间定义了一个有符号距离场 和窗口函数 。
- 像素 的最终颜色 通过按深度顺序累积所有重叠三角形的贡献计算:
C(\mathbf{p}) = \sum_{n=1}^{N} \mathbf{c}_{T_n} o_{T_n} I(\mathbf{p}) \left( \prod_{i=1}^{n-1} \left(1 - o_{T_i} I(\mathbf{p}) ight) ight)
- 训练结束后,由于三角形不透明(),该方程简化为 ,即每个像素只需计算最前面一个三角形的贡献,渲染加速(无过度绘制)。
-
获取几何信息:
- 输出的本身就是三角网格,可直接用于生成mesh。
- 如果需要点云,可以直接从网格顶点获取。
约束 Delaunay 三角剖分(Restricted Delaunay Triangulation,RDT)
在MeshSplatting方法中,约束Delaunay三角剖分(Restricted Delaunay Triangulation,RDT)是将无连通性的“三角形汤”转化为全局连通三角网格的核心操作,其本质是在已优化顶点的基础上,通过保留Delaunay剖分的局部优质特性,构建贴合场景表面的连通网格,且不新增顶点、不破坏已学习的几何与外观信息。 结合论文中的实现流程,其具体操作可分为4个关键步骤,同时需先理解其依赖的标准Delaunay四面体化基础:
- 前置:标准Delaunay四面体化 首先对Stage1优化后的三角形汤的所有顶点,执行Delaunay四面体化(3D空间的Delaunay剖分,将顶点集划分为一系列不重叠的四面体),得到一个包含所有顶点的四面体网格。这一步的目的是为后续筛选“有效三角面”提供拓扑基础,且所有四面体的面均满足Delaunay剖分的核心特性——空球特性(即每个四面体的外接球内不包含其他顶点),保证三角面的形状优质(无过扁、过尖的畸形三角面)。
- 提取对偶Voronoi边 对四面体化后的每个三角面,先找到其相邻的两个四面体和(边界的三角面仅一个相邻四面体,直接丢弃);再计算这两个四面体的外接圆圆心(即其对偶Voronoi图的顶点);最后将两个圆心连接,得到该三角面对应的对偶Voronoi边。
- 交集检测筛选有效三角面 这是“约束”的核心步骤:遍历所有对偶Voronoi边,检测其是否与Stage1得到的三角形汤中的三角面发生相交。为了高效完成检测,论文中还做了两个优化
- 先为三角形汤构建包围盒层次结构(BVH),通过轴对齐包围盒的快速重叠检测,过滤掉不可能相交的边;
- 对可能相交的边,使用Möller–Trumbore算法执行精确的射线-三角面相交测试。 若对偶Voronoi边与三角形汤的某三角面相交,则将该对偶边对应的Delaunay三角面标记为有效面,纳入最终网格。
- 生成连通网格 所有被标记的有效Delaunay三角面,共同构成最终的连通网格。这些三角面复用了Stage1已优化的顶点(坐标、颜色、不透明度均不变),仅通过顶点索引的重新组合实现了连通性。
这种MeshSplatting相对于triangleSplatting表示带来了根本性优势:颜色和不透明度在顶点间插值,使得相邻三角形间的外观过渡自然平滑;在反向传播时,一个顶点接收来自所有关联三角形的梯度,这隐式地施加了平滑约束,驱动网格形成流形表面。
不透明度的渐进式调度
直接优化不透明三角形是困难的,因为不透明会阻碍梯度穿过表面传播到被遮挡的部分。MeshSplatting 采用了一种“由虚入实”的策略。它通过一个可学习的顶点不透明度参数 $$o_i$$开始,并在训练中后期对其进行重新参数化:
其中是优化变量,$$O_t$$是一个从0线性增加到1的调度参数。当$$O_t=0$$时,不透明度在0到1之间自由变化;当时,所有不透明度被映射到1,即完全透明。通过这种方式,优化器被渐进地引导至一个完全不透明的解。
窗口参数(平滑度)的退火
与不透明度调度相辅相成的是窗口平滑度参数 的退火(见图4)。训练初期, 设置较大(如1.0),三角形边缘模糊,像一个柔软的“雾团”,允许梯度广泛传播。随着训练进行, 线性减小至接近0(如0.0001),三角形边缘变得锐利,最终收敛为标准的不透明三角形。这个共享的全局 参数,与 Triangle Splatting 中每个三角形拥有独立 的做法不同,简化了优化并确保了结果的一致性。
6. 训练与损失函数
MeshSplatting需要训练,通过梯度下降优化顶点位置、不透明度和颜色(球谐系数)。
训练损失函数 是多个损失的加权和:
\mathcal{L} = \mathcal{L}_{ ext{3DGS}} + eta_o \mathcal{L}_o + eta_z \mathcal{L}_z + eta_n \mathcal{L}_n + eta_d \mathcal{L}_d
其中:
- :来自3DGS的光度损失,包含 和 。
- :不透明度损失,鼓励不透明度趋向0或1。
- :深度对齐损失,对齐顶点预测深度与渲染深度图。
- :法向损失,使用外部法向估计网络或自监督法向正则化。
- :深度损失,使用Depth Anything v2进行尺度-平移对齐后的深度一致性损失。
7. 实验数据集与结果
-
测试数据集:
- MipNeRF360:大型无界真实场景。
- Tanks and Temples (T&T):大型场景重建基准。
- DTU:物体级扫描,用于评估表面重建质量。
-
定量结果:
- MipNeRF360上:MeshSplatting取得最高PSNR(24.78 dB)、最高SSIM(0.728)、最低LPIPS(0.310),且使用的顶点数(3M)远少于GOF、RaDe-GS等。
- T&T上:PSNR(20.52 dB)略低于GOF和MiLo,但SSIM(0.745)最高,LPIPS(0.287)最低,表明其感知质量更好,伪影更少。
- 训练与内存:训练仅需48分钟(比MiLo快2倍以上),内存占用仅100MB(比其他方法小2.5-15倍)。
- 表面重建:在DTU上,其倒角距离(Chamfer Distance)与专门进行网格提取的方法(如2DGS、GOF)性能相当。
-
定性结果:MeshSplatting能重建更精细的结构和细节,渲染结果噪声和伪影更少,更接近真实图像。
8. 消融实验
文章进行了详细的消融实验,验证了各个组件的必要性:
| 消融项目 | PSNR变化 | LPIPS变化 | SSIM变化 | 验证内容 |
|---|---|---|---|---|
| Baseline | 24.78 | 0.31 | 0.728 | 完整模型 |
| w/o 球谐系数(SH) | -2.07 | +0.06 | -0.069 | 颜色表示能力对高视觉保真度至关重要 |
| w/o 深度损失 | +0.05 | -0.04 | +0.006 | 轻微降低视觉质量,但提升几何精度 |
| w/o 深度对齐损失 | +0.02 | -0.01 | +0.002 | 帮助平滑表面,减少伪影 |
| w/o 法向损失 | +0.10 | -0.02 | +0.004 | 鼓励更平滑的表面 |
| w/o 硬剪枝(5k迭代时) | -0.67 | +0.02 | -0.021 | 剪除低不透明度三角形对最终质量重要 |
| w/o 第二阶段(网格创建与优化) | -8.56 | +0.25 | -0.260 | 从三角形汤到连接网格的优化阶段至关重要 |
| w/o 超采样 | -0.80 | +0.04 | -0.040 | 抗锯齿超采样提升渲染质量 |
| w/o 基于权重的剪枝 | -0.62 | +0.05 | -0.045 | 基于混合权重的剪枝能有效移除被遮挡三角形 |
| w/o 衰减(保持平滑) | -7.96 | +0.27 | -0.329 | 从1.0线性衰减到0.0001对梯度稳定和最终不透明化关键 |
此外,实验还表明:
- 线性调度不透明度 和平滑度 优于余弦调度。
- 连接状态下的三角形细分(中点细分)比非连接状态更高效,引入的顶点更少。
- 正则化项()虽然略微降低了视觉分数(PSNR/SSIM),但显著改善了几何准确性和表面平滑度。
9. 创新点总结
- 端到端不透明网格优化:首次实现了从图像直接端到端优化出不透明、连通、带颜色的三角网格,无需任何后处理步骤(如网格提取、上色、纹理化)。
- 两阶段优化策略:先优化自由度高的“三角形汤”快速覆盖场景,再通过约束Delaunay三角剖分建立连接并进行微调,平衡了优化灵活性与网格结构。
- 针对不透明性的训练调度:设计了不透明度参数 和窗口平滑度参数 的调度策略,使训练初期梯度能有效传播,最终收敛到完全不透明的三角形,兼容传统光栅化。
- 高效的表示与渲染:顶点共享的表示比独立三角形汤更紧凑;训练完成后,渲染简化为单个三角形覆盖每个像素,实现了零过度绘制,渲染效率高。
- 即时的下游应用兼容性:生成的网格可直接导入游戏引擎,支持物理仿真、实时行走、光线追踪、场景编辑和基于2D掩码的轻松3D物体分割与提取(得益于不透明三角形的单一样本覆盖特性)。
# MeshSplatting (Differentiable Rendering with Opaque Meshes) ## 基本信息 | 项目 | 内容 | | :---------------- | :----------------------------------------------------------- | | 论文标题 | MeshSplatting: Differentiable Rendering with Opaque Meshes | | 作者 | Jan Held, Sanghyun Son, Renaud Vandeghen, Daniel Rebain, Matheus Gadelha, Yi Zhou, Anthony Cioppa, Ming C. Lin, Marc Van Droogenbroeck, Andrea Tagliasacchi | | 作者单位 | University of Liège(第一单位), Simon Fraser University, University of Maryland, University of British Columbia, University of Toronto, Adobe Research | | 时间 | 2025(arXiv预印本版本为2025年12月7日,编号arXiv:2512.06818v1 [cs.CV]) | | 发表会议/期刊 | arXiv预印本(cs.CV方向)| ## 方法概览 | 特点 | 文章性质 | | ------------ | ----------------------------------------- | | 输入 | 带相机参数的多视角姿态图像、SfM生成的稀疏点云 | | 输出 | 带顶点颜色的连通不透明三角网格(Opaque Connected Triangle Mesh) | | 所属领域 | 基于网格的新型视图合成、可微渲染、3D场景重建 | ## 一、方法对应的场景表示相关介绍 ### 1. 表示名称 该方法提出的场景表示为MeshSplatting,是一种基于共享顶点的连通不透明三角网格表示。 ### 2. 对比的三维表示 - 3D高斯溅射(3D Gaussian Splatting, 3DGS):以离散高斯为基元,需排序和alpha混合,无法直接适配传统图形管线的深度缓冲、遮挡剔除等技术。 - Triangle Splatting:输出无顶点共享的“三角形汤”,且三角形含透明度,在游戏引擎中渲染会损失画质,也无法支持物理仿真。 - 传统网格重建方法(如MiLo、2DGS、GOF、RaDe-GS):多需后处理步骤提取或着色网格,存在流程繁琐、画质损失、内存占用高的问题。 ### 3. 优势与缺点 #### 优势 1. 管线兼容性:直接输出不透明连通网格,可无缝导入游戏引擎,原生支持物理交互、光线追踪、可漫游场景等下游应用。 2. 效率优势:训练速度比SOTA方法快2倍,内存占用降低2倍,在MacBook M4上可实现HD分辨率~200FPS的渲染。 3. 画质与精度:在MipNeRF360数据集上,相比MiLo提升PSNR 0.69dB,且LPIPS(感知相似度指标)显著低于同类方法,几何细节还原更精准。 4. 轻量化:最终网格仅占用100MB内存,是GOF、RaDe-GS等方法的1/15~1/10,可在消费级硬件高效运行。 #### 缺点 1. 背景与视角局限:稀疏点云覆盖的背景区域几何完整性不足,超出训练视角范围后画质会明显下降。 2. 透明物体适配差:仅支持不透明三角面元,无法精准重建玻璃、水瓶等透明/半透明物体。 3. 非完全水密:未强制约束水密性,存在局部非流形区域,部分边界顶点连接性不足。 ## 二、摘要精简讲解 3D高斯溅射等基元溅射方法革新了实时新型视图合成,但点基表示无法适配AR/VR、游戏引擎的网格管线。为此,MeshSplatting提出一种端到端可微渲染的网格重建方案:通过受限Delaunay三角剖分保障网格连通性,优化表面一致性生成不透明三角网格。该方法在MipNeRF360数据集上,相比SOTA的MiLo提升PSNR 0.69dB,同时实现2倍训练加速和2倍内存节省,成功打通神经渲染与传统交互式3D图形管线的壁垒,支持物理交互、光线追踪等下游应用。 ## 三、引言核心出发点 1. 现有技术痛点:3DGS虽画质高、渲染快,但高斯基元依赖排序和alpha混合,无法兼容传统图形管线的深度缓冲、遮挡剔除;而将高斯场转化为网格的方法,存在后处理复杂、画质损失、非可微的问题。 2. 早期网格优化局限:传统可微网格渲染方法需精细初始化,且仅适配小尺度物体,无法处理大场景;Triangle Splatting输出无连通性的“三角形汤”且含透明度,游戏引擎渲染画质衰减。 3. 方法提出目标:构建端到端优化的不透明连通网格表示,既保留神经渲染的高画质,又能直接对接传统3D管线,同时提升训练效率、降低内存消耗。 ## 四、相关工作对比与参考 ### 1. 可微渲染相关工作 - 3D基元演进:从点云、体素、高斯基元,到近年的三角形、凸面体等基元,MeshSplatting参考Triangle Splatting的三角形基元思路,解决了其无连通性、非不透明的缺陷。 - 可微网格渲染:早期Kato等人、Liu等人的方法仅适配小物体;Son等人的DMesh系列提出共享顶点的可微网格,MeshSplatting借鉴其顶点参数化方式并拓展至大场景。 ### 2. 图像驱动的网格重建 - 隐式转显式方法:BakedSDF、Binary Opacity Fields等通过神经符号距离场或不透明度场提取网格,但存在训练耗时、流程繁琐的问题。 - 基于3DGS的网格提取:2DGS、RaDe-GS等通过截断符号距离场或泊松重建提取网格,MiLo将网格提取融入优化,但仍需后处理着色;MeshSplatting则直接优化带颜色的不透明网格,无需额外步骤。 ## 五、场景重建流程、存储格式与几何信息转化 ### 1. 场景重建流程 MeshSplatting的重建分为两个核心阶段: 1. 阶段1:三角形汤优化 - 初始化:基于SfM稀疏点云,为每个3D点初始化等边三角形,尺寸与邻域距离成正比,初始不透明度。 - 无约束优化:以独立三角形为单位优化,快速适配场景几何与外观,同时执行增删策略(基于伯努利采样的中点细分增删、低不透明度三角形裁剪)。 2. 阶段2:网格创建与精修 - 连通化:对三角形汤执行受限Delaunay三角剖分,复用已优化顶点生成连通网格,不引入新顶点。 - 精调优化:基于共享顶点的梯度累加,精修顶点位置、颜色与不透明度,最终得到不透明连通网格。 ### 2. 存储格式 MeshSplatting输出的网格为标准三角网格格式,每个顶点存储三维坐标、球面谐波颜色系数(3阶SH对应48个参数)、不透明度;三角面存储顶点索引,整体可直接导出为游戏引擎兼容的网格文件(如OBJ、FBX),无需格式转换。 ### 3. 渲染与几何信息转化 - 场景渲染 1. 训练阶段:按深度顺序累加三角面贡献,像素最终颜色公式为: $$C§=\sum_{n=1}^{N} c_{T_{n}} o_{T_{n}} I§\left(\prod_{i=1}^{n-1}\left(1-o_{T_{i}} I§
ight)
ight)$$ 2. 推理阶段:因三角面已完全不透明,公式简化为,仅需单次像素采样,大幅提升渲染速度。 其中为窗口函数,定义为: $$I§=\left(ReLU\left(rac{\phi§}{\phi(s)}
ight)
ight)^{\sigma}$$ 为2D三角形的符号距离场,公式为: $$\phi §=\operatorname* {max}{i\in { 1,2,3} }L{i}§, L_{i}§=n_{i}


