链接
发表时间:[v1] Fri, 1 Dec 2023 07:04:47 UTC (9,666 KB)
论文重点难点讲解
论文重点
- 提出了一种结合3D高斯绘制(Gaussian Splatting)的神经隐式表面重建方法(NeuSG):
- 该方法通过联合优化神经隐式表面重建(NeuS)和3D高斯绘制,利用高斯点云生成密集且细节丰富的表面,解决了传统方法中表面细节缺失的问题。
- 通过引入尺度正则化(scale regularizer)和法线正则化(normal regularizer),将3D高斯的中心拉到表面上,并利用神经隐式模型预测的法线信息来优化高斯点云。
- 实验验证了NeuSG在复杂场景下的有效性:
- 在Tanks and Temples数据集上的实验表明,NeuSG在表面重建的质量上优于现有的神经隐式重建方法,如NeuS、NeuralAngelo等,并且在细节恢复上表现出色。
- 联合优化框架:
- NeuSG通过联合优化神经隐式模型和3D高斯绘制,充分利用了两种表示方法的优势,生成了完整且细节丰富的表面。这一框架为多视图3D重建提供了一种新的思路。
论文难点
- 3D高斯绘制的表面适配问题:
- 3D高斯绘制生成的点云通常位于表面内部,不能直接作为表面重建的先验。论文通过尺度正则化将高斯椭球压缩成薄片,使其中心靠近表面,但这一过程需要精确控制,以避免过度压缩导致的失真。
- 联合优化的复杂性:
- 联合优化神经隐式模型和3D高斯绘制需要同时考虑多个损失函数,包括渲染损失、Eikonal正则化、点云约束等。如何平衡这些损失函数的权重是一个挑战,尤其是在不同场景下需要调整参数以达到最优效果。
- 计算效率与资源消耗:
- 尽管NeuSG在细节恢复上表现出色,但其训练过程需要较高的计算资源。例如,NeuSG在单个RTX 4090 GPU上训练约16小时,这可能限制了其在资源受限环境中的应用。
论文详细讲解
论文详细解读
1. 研究背景与动机
现有的神经隐式表面重建方法在多视图3D重建中取得了显著进展,但仍然存在细节丢失的问题。这些方法通常依赖于深度图或点云作为几何先验,然而这些先验往往是稀疏的或过度平滑的,导致重建结果缺乏细节。为了解决这一问题,本文提出了一种结合3D高斯绘制(3D Gaussian Splatting)的神经隐式表面重建方法(NeuSG),通过生成密集点云来恢复高细节的表面。
2. 方法概述
本文的核心思想是联合优化神经隐式表面重建(NeuS)和3D高斯绘制,利用3D高斯绘制生成的密集点云为神经隐式模型提供几何约束,同时通过神经隐式模型预测的法线信息来优化3D高斯点云。具体来说,方法包含以下几个关键部分:
-
3D高斯绘制的尺度正则化: 3D高斯绘制生成的点云中心通常位于表面内部,不能直接作为表面重建的先验。为此,本文引入尺度正则化,将3D高斯椭球压缩成极薄的形状,使其中心靠近表面: \(L_s = \| \min(s_1, s_2, s_3) \|_1\) 其中,\(s = (s_1, s_2, s_3)\) 是3D高斯的缩放因子,通过最小化最小缩放因子,使高斯椭球趋于平面化,从而将中心拉到表面附近。
-
法线正则化: 当3D高斯趋于平面化时,最小缩放因子的方向可以视为表面法线方向。本文通过与神经隐式模型预测的法线对齐,进一步优化3D高斯点云: \(L_{\text{align}} = \| 1 - |n_w \cdot \nabla f(p_i)| \|_1\) 其中,\(n_w\) 是经过旋转后的法线方向,\(\nabla f(p_i)\) 是神经隐式模型预测的表面法线。
-
联合优化框架: 本文通过联合优化神经隐式模型和3D高斯绘制,充分利用两种表示方法的优势。优化过程中,神经隐式模型的损失函数包括渲染损失、Eikonal正则化和点云约束: \(L_{\text{total}} = L_{\text{RGB}} + \lambda_1 L_{\text{eik}} + \lambda_2 L_{\text{pt}}\) 其中,\(L_{\text{RGB}}\) 是颜色损失,\(L_{\text{eik}}\) 是Eikonal正则化损失,\(L_{\text{pt}}\) 是点云约束损失。
对于3D高斯绘制的优化,损失函数为: \(L_{\text{Gaussian}} = L_{\text{RGB}} + \lambda_3 L_s + \lambda_4 L_{\text{align}}\)
3. 实验与结果
本文在Tanks and Temples数据集上进行了实验,验证了NeuSG在复杂场景下的有效性。实验结果表明,NeuSG在表面重建的质量上优于现有的神经隐式重建方法,如NeuS、NeuralAngelo等,并且在细节恢复上表现出色。具体结果如下:
方法 | F1 Score | PSNR | 训练时间 (小时) |
---|---|---|---|
NeuS | 0.38 | - | - |
NeuralAngelo | 0.43 | - | 15 |
NeuSG | 0.49 | - | 16 |
从定性结果来看,NeuSG能够重建出完整的屋顶结构(如“Barn”场景),并且在“Courthouse”场景中成功捕捉到楼梯和栏杆的细节,而其他方法则无法达到类似的细节水平。
4. 贡献与创新点
本文的主要贡献包括:
- 提出了一种新的框架,联合优化NeuS和3D高斯绘制,利用3D高斯点云为神经隐式模型提供几何约束,同时通过神经隐式模型预测的法线信息优化3D高斯点云。
- 引入尺度正则化和法线正则化,确保3D高斯点云能够紧密贴合表面。
- 通过实验验证了该方法在复杂场景下的有效性,显著提升了表面重建的质量和细节水平。
5. 限制与未来工作
尽管NeuSG在细节恢复上表现出色,但该方法仍然存在一些限制:
- 对多视图数据的依赖性较强,需要密集的多视角图像才能实现准确的重建。
- 训练过程需要较高的计算资源,尽管NeuSG的训练时间较NeuralAngelo有所减少,但仍然需要16小时。
未来的工作可以探索如何进一步优化计算效率,减少对多视角数据的依赖,从而将该方法应用于更广泛的场景。
论文方法详解
论文方法部分详细讲解
1. 方法概述
本文提出了一种结合3D高斯绘制(3D Gaussian Splatting)的神经隐式表面重建方法(NeuSG),通过联合优化神经隐式模型(NeuS)和3D高斯绘制,利用3D高斯点云提供几何约束,并通过神经隐式模型预测的法线信息优化3D高斯点云,从而重建出高细节的表面。
2. 神经隐式表面重建(NeuS)
NeuS是一种基于体积渲染的神经隐式表面重建方法,使用符号距离函数(SDF)表示表面,并通过体积渲染生成图像。其核心思想是将SDF值转换为不透明度,用于渲染过程。具体公式如下:
- SDF值\(f(\mathbf{x})\)表示点\(\mathbf{x}\)到最近表面的距离,表面定义为\(f(\mathbf{x}) = 0\)。
- 不透明度计算公式为: \(\alpha_i = \max \left( \Phi_s(f(\mathbf{x}_i)) - \Phi_s(f(\mathbf{x}_{i+1})), 0 \right)\) 其中,\(\Phi_s\)是Sigmoid函数。
- 渲染过程中,像素颜色通过沿射线积分得到: \(\hat{C}(\mathbf{o}, \mathbf{d}) = \sum_{i=1}^N w_i \mathbf{c}_i, \quad \text{其中} \quad w_i = T_i \alpha_i\) \(T_i\)是累积透射率,表示光线到达相机的光强比例。
3. 3D高斯绘制(3D Gaussian Splatting)
3D高斯绘制通过3D高斯分布表示场景,每个高斯分布由均值(中心点)\(\mathbf{p}\)和协方差矩阵\(\Sigma\)定义:
- 高斯分布公式为: \(G(\mathbf{x}) = \exp \left( -\frac{1}{2} (\mathbf{x} - \mathbf{p})^\top \Sigma^{-1} (\mathbf{x} - \mathbf{p}) \right)\)
- 协方差矩阵\(\Sigma\)通过缩放矩阵\(S\)和旋转矩阵\(R\)表示: \(\Sigma = R S S^\top R^\top\) 其中,\(S\)是缩放矩阵,\(R\)通过四元数表示。
4. 尺度正则化(Scale Regularization)
为使3D高斯点云中心靠近表面,本文引入尺度正则化,将3D高斯椭球压缩成极薄的形状:
- 尺度正则化损失函数为: \(L_s = \| \min(s_1, s_2, s_3) \|_1\) 其中,\(s = (s_1, s_2, s_3)\)是高斯椭球的缩放因子。通过最小化最小缩放因子,使高斯椭球趋于平面化,从而将中心拉到表面附近。
5. 法线正则化(Normal Regularization)
当3D高斯趋于平面化时,最小缩放因子的方向可以视为表面法线方向。本文通过与神经隐式模型预测的法线对齐,进一步优化3D高斯点云:
- 法线方向计算公式为: \(n_c = \text{OneHot}(\arg \min(s_1, s_2, s_3))\) 其中,\(n_c\)是相机坐标系下的法线方向,通过旋转矩阵\(R\)转换到世界坐标系: \(n_w = R \times n_c\)
- 法线对齐损失函数为: \(L_{\text{align}} = \| 1 - |n_w \cdot \nabla f(\mathbf{p}_i)| \|_1\) 其中,\(\nabla f(\mathbf{p}_i)\)是神经隐式模型预测的表面法线。
6. 联合优化(Joint Optimization)
本文通过联合优化神经隐式模型和3D高斯绘制,充分利用两种表示方法的优势。优化过程中,神经隐式模型的损失函数包括渲染损失、Eikonal正则化和点云约束:
- 渲染损失: \(L_{\text{RGB}} = \| \mathbf{C} - \hat{\mathbf{C}} \|_1\)
- Eikonal正则化: \(L_{\text{eik}} = \frac{1}{N} \sum_{i=1}^N (\| \nabla f(\mathbf{x}_i) \|_2 - 1)^2\)
- 点云约束: \(L_{\text{pt}} = \| f(\mathbf{p}_i) \|_1\)
- 总损失函数: \(L_{\text{total}} = L_{\text{RGB}} + \lambda_1 L_{\text{eik}} + \lambda_2 L_{\text{pt}}\)
对于3D高斯绘制的优化,损失函数为:
- 总损失函数: \(L_{\text{Gaussian}} = L_{\text{RGB}} + \lambda_3 L_s + \lambda_4 L_{\text{align}}\)
7. 优化流程
- 初始化:初始化神经隐式模型和3D高斯绘制的参数。
- 联合优化:交替优化神经隐式模型和3D高斯绘制,每100k次迭代优化一次3D高斯绘制,总共优化30k次。
- 细化:通过法线正则化进一步优化3D高斯点云,提升几何细节。
通过上述方法,NeuSG能够生成完整且细节丰富的表面,同时充分利用了神经隐式模型和3D高斯绘制的优势。
评论