论文阅读_2DGS
2D Gaussian Splatting for Geometrically Accurate Radiance Fields
基本信息
| 项目 | 内容 |
|---|---|
| 论文标题 | 2D Gaussian Splatting for Geometrically Accurate Radiance Fields |
| 作者 | Binbin Huang, Zehao Yu, Anpei Chen, Andreas Geiger, Shenghua Gao |
| 第一单位 | ShanghaiTech University, China |
| 时间 | 2024 |
| 发表会议/期刊 | SIGGRAPH Conference Papers '24 |
方法概览
| 特点 | 描述 |
|---|---|
| 输入 | 多视角RGB图像及其对应的相机位姿(由COLMAP估计的稀疏点云初始化) |
| 输出 | 可实时渲染的2D高斯场景表示、高质量新视角合成图像、噪声低且几何准确的表面网格(Mesh) |
| 所属领域 | 3D场景表示与渲染、多视角几何重建 |
1. 摘要精简
3D高斯泼溅(3DGS)在新视角合成和渲染速度上表现出色,但其三维体积表示与物体表面的“薄层”本质相冲突,导致几何重建不准确。本文提出2D高斯泼溅(2DGS),将3D高斯“压扁”为一系列2D有向高斯圆盘来建模场景。2D高斯本质上建模表面,提供了多视角一致的几何表示。为实现精确的薄表面重建和稳定优化,本文引入了利用射线-面片相交的透视准确2D泼溅光栅化过程,并融合了深度畸变和法向一致性正则化项。该方法能够重建出无噪声、细节丰富的几何,同时保持了有竞争力的外观质量、快速的训练速度和实时渲染能力。
2. 引言与动机
- 现有方法不足:
- 3D高斯泼溅(3DGS):其体积式的高斯 blob 与表面的薄层特性冲突,导致几何重建不准确、多视角不一致(如图2所示,不同视角下评估高斯值的相交平面不同)。
- 传统Surfel(表面元)方法:虽然能有效表示复杂几何,但通常需要真实几何(GT)、深度传感器数据或在已知光照的受限场景下运行。
- 基于神经隐式表面的方法(如NeuS):尽管重建质量高,但训练和优化非常耗时(例如Neuralangelo重建一个场景需128 GPU小时)。
- 核心出发点:结合3DGS的高效、高质量渲染和Surfel的精确几何表示优势,提出一种仅需多视角RGB图像和光度监督,即可同时优化外观与精确几何的表示方法——2D高斯泼溅。
3. 创新点与相关工作对比
核心创新点:
- 2D高斯场景表示:用“扁平”的2D有向高斯圆盘代替3D高斯,其法向由切空间自然定义,能够更本质地贴合物体表面,实现视角一致的几何。
- 透视准确的2D光栅化:提出基于显式射线-面片相交的可微分渲染方法,替代3DGS中仅在高斯中心准确的仿射投影近似,实现了透视正确的泼溅。
- 针对几何重建的正则化:引入深度畸变损失和法向一致性损失,以抑制优化中的噪声,促使2D高斯紧密贴合表面,从而得到干净、准确的网格重建。
相关工作对比:
| 方法类型 | 代表工作 | 指出问题 |
|---|---|---|
| NeRF系列 | NeRF, Mip-NeRF, Instant NGP | 渲染速度慢(非实时),训练耗时;隐式表示提取表面需额外步骤。 |
| 3D重建 (隐式表面) | NeuS, VolSDF, Neuralangelo | 重建质量高但训练极慢(数十小时),对初始化和正则化敏感。 |
| 可微分点/面渲染 | NPBG, DSS, 3DGS | 3DGS几何噪声大、多视角不一致;DSS等方法需要GT法向或已知光照。 |
| 并发改进工作 | SuGaR, NeuSG, 各向异性3DGS | SuGaR用3D高斯近似2D,过程复杂;NeuSG联合优化高斯与SDF网络,仍非直接表面表示。 |
| 方法类型 | 场景表示 | 渲染速度 | 优化灵活性 | 几何重建 | 核心问题 |
|---|---|---|---|---|---|
| NeRF 系列 | 隐式 | 慢 | 高 | 复杂 | 渲染耗时久,几何提取流程繁琐 |
| 3DGS | 显式 | 实时 | 高 | 差 | 体素化基元导致几何不准确 |
| Surfel 方法 | 显式 | 较快 | 低 | 较好 | 需真实几何 / 深度标注 |
| SDF 类方法 | 隐式 | 慢 | 中 | 优 | 训练耗时极长,对初始化敏感 |
4. 网络/系统架构
本文方法是一个非神经网络的、基于梯度下降的优化框架,构建于3DGS代码库之上。其核心Pipeline如下:
- 初始化:从COLMAP生成的稀疏点云创建初始的2D高斯基元(设置初始中心、切向向量、缩放、不透明度和颜色)。
- 可微分渲染(前向):
- 对于每个像素射线,使用射线-面片相交计算与每个相关2D高斯的交点 和深度 。
- 根据交点计算高斯值 ,并结合退化处理得到最终权重 。
- 通过体渲染alpha混合(公式12)合成像素颜色 、深度和法向,结合 alpha blending 生成视图、深度图和法向图。
- 优化(反向):计算光度重建损失、深度畸变损失和法向一致性损失,反向传播更新2D高斯的参数(位置、旋转、缩放、不透明度、球谐系数)。
- 自适应密度控制:继承自3DGS的策略,定期根据位置梯度克隆或分裂高斯,并根据不透明度移除高斯。
- 网格提取(后处理):训练完成后,从多个视角渲染深度图,使用截断符号距离函数(TSDF)融合得到最终的三角形网格。
5. 3D高斯的定义与属性
本文主要使用2D高斯,但对作为基础的3DGS中的3D高斯进行了回顾:
一个3D高斯基元由其在世界空间中的中心位置 和3D协方差矩阵 定义:
\mathcal{G}(\mathbf{p})=xp(-rac{1}{2}(\mathbf{p}-\mathbf{p}_{k})^{ op} \Sigma^{-1}(\mathbf{p}-\mathbf{p}_{k}))
协方差矩阵 通过缩放矩阵 和旋转矩阵 参数化:。此外,每个高斯拥有不透明度 lpha 和用球谐函数(SH)编码的视角相关外观颜色 。
本文的2D高斯定义:
一个2D高斯是一个嵌入3D空间的椭圆形圆盘,由以下参数定义:
- 中心点:
- 局部切空间:由两个正交的切向量 和 张成,其叉积定义了法向 ,然后构成旋转矩阵
- 缩放: 控制椭圆在两个切方向上的方差。
- 这些参数可以组合成一个齐次变换矩阵 (公式5)来描述该2D平面的几何,用于将局部 uv 坐标系的点映射到世界坐标系。在局部 坐标下,其高斯值计算为:$$\mathcal{G}(\mathbf{u})=xp\left(-rac{u^{2}+v^{2}}{2}
ight)$$ - 每个2D高斯同样拥有不透明度 lpha ∈[0,1]。
- 视角相关颜色:采用球谐函数(SH)编码,实现视角依赖的颜色建模,记为 。
6. 可微分栅格化渲染的详细实现(Splatting)
2DGS 的可微分渲染核心是 透视准确的射线-面片相交(Ray-Splat Intersection) 和 基于权重的 Alpha 混合。整个过程完全可微,支持梯度从像素颜色反向传播到 2D 高斯的所有参数。以下是具体步骤与公式:
1. 建立2D高斯的局部坐标系
每个2D高斯定义了一个3D空间中的椭圆平面。其几何由齐次变换矩阵 描述:
\mathbf{H}=egin{bmatrix}s_{u}\mathbf{t}_{u} & s_{v}\mathbf{t}_{v} & 0 & \mathbf{p}_{k}\ 0 & 0 & 0 & 1nd{bmatrix}=egin{bmatrix}\mathbf{R}\mathbf{S} & \mathbf{p}_{k}\ 0 & 1nd{bmatrix}
其中 是单位正交切向量, 是缩放因子, 是中心点。该矩阵将局部 坐标(定义在圆盘平面上)映射到世界空间:。
2. 射线-面片相交求解
核心创新。为规避直接计算变换矩阵的逆 的不稳定性,将像素射线表示为两个正交平面(x-plane和y-plane)的交线。将这些平面通过 变换到2D高斯的局部 坐标系。
目标是找到从相机发出、穿过像素 的射线与2D高斯平面的交点 及其深度 。
步骤1:将射线表示为两个平面的交线
在屏幕投影空间中,像素射线可被唯一地定义为两个正交平面的交线:
- X平面:法向量为 ,偏移为 ,用齐次坐标表示为 。
- Y平面:法向量为 ,偏移为 ,表示为 。
步骤2:将平面变换到2D高斯的局部空间
将世界到屏幕的变换矩阵记为 。将射线平面变换到2D高斯的局部 坐标系,等价于对平面参数应用变换矩阵的逆转置 。巧妙的是,这等价于直接使用 来避免显式求逆:
步骤3:求解交点坐标
在局部坐标系中,点 必须同时位于变换后的两个平面上,即满足:


