MeshSplats: Mesh-Based Rendering with Gaussian Splatting Initialization

基本信息

项目 内容
论文标题 MeshSplats: Mesh-Based Rendering with Gaussian Splatting Initialization
作者 Rafal Tobiasz, Grzegorz Wilczynski, Marcin Mazur, Slawomir Tadeja, Przemyslaw Spurek
第一单位 Jagiellonian University
时间 2025 (推断,论文未明确给出发表年份)
发表会议/期刊 目前为arXiv预印本,未明确发表会议/期刊

方法概览

特点 描述
输入 训练好的高斯泼溅(GS)场景表示(如3DGS、2DGS、GaMeS)
输出 可被传统渲染器(如Blender, Nvdiffrast)渲染的网格表示(三角形汤)
所属领域 3D场景表示与渲染、可微渲染

1. 摘要精简

MeshSplats提出了一种将高斯泼溅(GS)转换为网格表示的方法。该方法在GS训练完成后,将高斯元素转换为网格面片,从而能够利用光线追踪进行渲染,实现高级光照效果(如阴影、反射)。转换后的网格可直接使用(质量略有下降),也可通过一个专用的优化算法进一步优化,以提高重建质量。实验表明,MeshSplats在保持与GS相当渲染质量的同时,具备了网格表示的兼容性优势,使其能够在传统渲染环境中应用。

2. 引言与动机

  • 现有方法的不足
    1. 高斯泼溅(GS):作为一种光栅化技术,难以处理非相干光线,因此无法直接支持阴影、反射等高级光照效果。
    2. 现有混合方法(如3DGRT, RaySplat):虽尝试将GS与光线追踪结合,但仍需专用的渲染环境,且可能使用近似(如包围体)降低了几何精度。
    3. 网格基方法的短板:LinPrim 等线性基元网格方法虽能实现高质量渲染,但需专用的训练与渲染环境,无法直接对接现有管线。
    4. 直接优化网格:从图像直接优化网格表示非常困难。
  • 核心出发点:将GS的高质量、易优化的特性与网格表示的通用性、光线追踪能力结合起来。通过将训练好的GS转换为网格,使其能够在传统渲染器(如Blender)中渲染,并利用光线追踪实现高级光照效果,从而弥合GS与生产级图形管线之间的鸿沟

3. 创新点与相关工作对比

核心创新点:

  1. 高斯到网格的直接转换:提出一种将高斯(尤其是平面高斯)几何转换为三角形网格面片的方法,保留颜色和透明度信息。
  2. 面向传统渲染器的兼容性:转换后的网格可直接在标准渲染器(如Blender, Nvdiffrast)中渲染,无需专用GS渲染器。
  3. 可微分的网格优化流程:提供了一套基于可微渲染(Nvdiffrast)的优化流程,对转换后的网格进行微调,以提升细节、减少伪影。

相关工作对比:

方法类别 代表工作 场景表示 渲染速度 兼容性(传统渲染器) 主要问题
NeRF系列 Mip-NeRF360, INGP 隐式神经场 慢(推理时) 渲染慢,不直接兼容,难以实现实时高级光照
高斯泼溅系列 3DGS, 2DGS 各向异性高斯 实时 差(需要专用渲染器) 基于光栅化,不支持光线追踪效果
GS与光线追踪混合 3DGRT, RaySplat 高斯 + 包围体/椭圆近似 实时(需专用管线) 一般(需专用渲染环境) 需高斯包围盒 / 椭圆近似,几何精度降仍需定制化渲染,近似可能损失精度
线性图元渲染 LinPrim 线性图元(如八面体) 实时(需专用环境) 一般(需专用渲染环境) 需要专门的训练和渲染环境,需专用基元定义,场景泛化弱
传统网格渲染 经典图形学 三角形网格 依赖场景复杂度 优秀(直接兼容) 难以从图像直接优化获得高质量网格

4. 系统架构

整体Pipeline分为三个主要步骤(参见图1, 2, 4):

  1. 高斯泼溅训练:使用任一GS变体(3DGS、2DGS或GaMeS(优先平面高斯方法))在目标场景上进行训练,得到一组高斯参数(位置、旋转、尺度、颜色、不透明度)。
  2. 网格转换:将每个高斯图元转换为一个或多个三角形面片,形成“三角形汤”。
    • 平面高斯:转换为一个2D椭圆多边形(三角形扇),最终得到无拓扑连接的初始网格汤
    • 3D高斯:转换为三个正交的椭圆面片(每个面片是一个三角形扇)。
  3. 网格优化(可选):将转换得到的“三角形汤”输入到一个可微渲染优化管线中,使用Nvdiffrast进行渲染,并通过损失函数优化顶点位置、颜色和不透明度,同时执行剪枝以移除冗余面片。
  4. 传统渲染器输出
    • 将优化后的网格导入 Blender(EEVEE 引擎)或 Nvdiffrast,通过光线追踪实现阴影、反射等高级光照,完成最终渲染。

5. 高斯到网格的转换方法

GaMeS平面高斯的转换步骤:

平面高斯采用 GaMeS 表示N(m,R,S)(m为均值,R为旋转矩阵,S=diag(ε,s2,s3),ε可忽略),转换流程如下:

  1. 参数提取:对于每个高斯,提取均值 m\mathbf{m},旋转矩阵 R=[r1,r2,r3]R = [\mathbf{r}_1, \mathbf{r}_2, \mathbf{r}_3],尺度 S = ext{diag}( arepsilon, s_2, s_3)。平面高斯意味着第一个尺度 arepsilon 极小,可忽略,因此使用 r2\mathbf{r}_2r3\mathbf{r}_3 作为椭圆的主轴。

  2. 计算缩放轴:取旋转矩阵R的第 2、3 列r2,r3r_2,r_3,缩放参数s2,s3s_2,s_3

    extscaled_rot1=scale_mul ext{scaled\_rot}_1 = scale\_mul