- 3DGS对初始化敏感;
- 引入基于Point-E的3D SDS可以缓解多脸问题;
- 外观细化阶段可以有效抑制异常点,并提高可视化效果;
- 不需要对SDS的改进,用gudiance scale=100可以取得很不错的结果。
[pdf | proj | code]
方法
Geometry Optimization
- text-to-3D任务通畅存在严重的双脸问题。不同于NeRF和DMTE等3D表征,3DGS可以显示控制每个点的位置。因此,本文提出通过Point-E + SDS loss优化3DGS的位置变量。
- 其中,和分别表示加噪的高斯位置和渲染图像。
Appearance Refinement
- 本文引入了额外的外观细化阶段(appearance refinement stage),该阶段间歇执行,仅使用2D图片先验细化和稠密化3DGS。
- 3DGS中使用的稠密化方法需要设置梯度阈值。然而,这个阈值在使用SDS损失时不好确认。由于SDS具有较强的随机性,使用较小阈值会导致产生大量的随机点,较大阈值则会导致点较少进而影响表达能力。
- 为解决该问题,本文提出基于紧凑的稠密化方法(compactness-based densification),可以和较大的位置梯度阈值搭配使用。
- 具体来说,对每个高斯点,首先通过KD树获取K个最近邻点;对每个近邻,如果他们之间的距离小于他们半径之和,则在他们中间新增一个高斯点,新增点的半径为距离残差。
- 如下图所示,本文所提出的稠密化方法可以填补空洞,得到更好的几何结构。
- 为了剪除不需要的高斯点,本文引入了一个透明度正则项,其权重正比于它到中心点的距离(extra loss to regularize opacity with a weight proportional to its distance to the center)。
- 为了确保在外观细化阶段中,高斯点不发生较大位移,本文引入了针对位置的正则项。
- 外观细化阶段损失如下:
- 其中,sg()是梯度截停操作,和是第个高斯点的位置和透明度。
Initialization with Geometry Prior
- 前人工作发现3DGS初始化对结果影响较大。因此,本文使用Point-E来初始化3DGS位置,颜色则随机初始化。
- 缩放、可见度初始化为一个常数,旋转矩阵初始化为单位矩阵。
实验
Implementation Details
- SD 1.5,gudiance scale设置为100,使用了view-dependent prompt
- 500 iter进行一次稠密化,。本文提出的compactness-based densification 1000-iter执行一次。每200-iter移除掉可见度小于的点。
- 在几何优化阶段:;在外观细化阶段。