跳转至

CoherentGS: Sparse Novel View Synthesis with Coherent 3D Gaussians

会议: ECCV 2024
arXiv: 2403.19495
代码: https://people.engr.tamu.edu/nimak/Papers/CoherentGS (项目页面)
领域: 3D视觉
关键词: 稀疏视图合成, 3D高斯分裂, 隐式解码器, 深度初始化, 正则化优化

一句话总结

提出CoherentGS,通过为3DGS引入结构化表示(每像素一个高斯)并利用隐式卷积解码器和全变差损失构建单视图和多视图一致性约束,结合基于单目深度的初始化策略,在极稀疏输入(如3张图像)下实现高质量新视角合成,LPIPS指标显著优于现有NeRF方法。

研究背景与动机

3D高斯分裂(3DGS)在训练速度和渲染质量上相比NeRF有显著优势,但在极稀疏输入(如2-4张图像)下严重过拟合,从新视角看呈现出"针状杂乱"的观感。

现有稀疏视图方法的局限:

NeRF类方法:RegNeRF、FreeNeRF、SparseNeRF等虽提出了各种正则化,但其正则化不够充分,结果仍有明显模糊和伪影

3DGS难以直接应用NeRF的正则化:NeRF方法依赖MLP的隐式连续性来传播稀疏约束,而3DGS是离散、非结构化的显式表示,约束无法自然传播

同期3DGS方法(FSGS、SparseGS、DNGaussian):未能强制邻近高斯之间的一致性,产生浮动伪影

核心矛盾:3DGS的非结构化特性使得在稀疏输入下难以引入有效的正则化约束。

本文核心idea:将非结构化的3D高斯转化为结构化的2D像素级表示,在2D图像空间施加一致性约束,使邻近高斯协同运动而非独立优化。

方法详解

整体框架

  1. 预处理:获取单目深度估计(Depth Anything)和稠密光流对应(FlowFormer++)
  2. 初始化:利用单目深度为每个输入图像的每个像素初始化一个3D高斯,并通过光流对齐不同视角的深度
  3. 正则化优化:通过隐式解码器(单视图约束)+ TV损失(多视图约束)+ 光流正则化进行联合优化

关键设计

  1. 结构化高斯表示(Structured Gaussian Representation)

    • 为每个输入图像的每个像素分配一个高斯,共N×H×W个高斯
    • 每个高斯的位置被约束在连接相机中心和对应像素的射线上,通过标量深度值控制
    • 位置更新采用残差深度:\(\mathbf{x} = g(D_n^{\text{init}}[\mathbf{p}] + \Delta D_n[\mathbf{p}], \mathbf{p})\)
    • 设计动机:将高斯运动限制在射线方向上,大幅降低了优化的自由度,使正则化成为可能
  2. 单视图约束——隐式卷积解码器(Implicit Convolutional Decoder)

    • 不直接优化每个像素的残差深度,而是通过隐式解码器预测整幅图像的残差深度
    • 输入为归一化视图索引n,输出为残差深度图:\(\Delta D_n = f_\phi(n)\)
    • 优化解码器参数 \(\phi\) 而非逐像素深度,确保残差深度平滑、表面协同变形
    • 处理深度不连续性:利用单目深度将图像分为C=5个区域(基于深度值),解码器输出C通道残差深度,通过分割mask选择性地允许不同区域独立变形
    • 同样对全局不透明度 \(\alpha\) 施加类似约束
  3. 多视图约束——全变差(TV)正则化

    • 对所有高斯渲染的深度图施加TV损失,确保跨视角的几何平滑 \(\mathcal{L}_{\text{TV}} = \left\|\nabla\left(\frac{1}{1+R_{\Sigma,\alpha,\mathbf{x},d}}\right)\right\|_1\)
    • 分区域TV损失 \(\mathcal{L}_{\text{MTV}}\) 保留结构细节
    • 采用渐进策略:先最小化全局 \(\mathcal{L}_{\text{TV}}\) 获得全局平滑连续几何,再逐步增大 \(\mathcal{L}_{\text{MTV}}\) 恢复细节 \(\mathcal{L}_{\text{multi}} = (1-\lambda_s)\mathcal{L}_{\text{TV}} + \lambda_s\mathcal{L}_{\text{MTV}}\) 其中 \(\lambda_s\) 从0渐增到1
  4. 光流正则化(Flow-based Regularization)

    • 核心思想:两幅输入图像中的对应点来自同一3D点,因此对应像素的高斯位置应相似 \(\mathcal{L}_{\text{flow}} = \sum_{(i,j)}\sum_\mathbf{p} \|M_{i\to j} \odot (g(D_i[\mathbf{p}],\mathbf{p}) - g(D_j[\mathbf{q}],\mathbf{q}))\|_1\)
    • 使用FlowFormer++计算对应关系,前向-后向一致性检查获取可靠mask
  5. 基于单目深度的初始化

    • 使用Depth Anything获取高质量但跨视角不一致的相对深度
    • 通过光流损失仅优化每幅深度图的全局scale和offset进行粗对齐 \(\mathbf{s}^*, \mathbf{o}^* = \arg\min_{\mathbf{s},\mathbf{o}} \sum_{(i,j)} \|M_{i\to j} \odot (g(s_i \cdot D_i^m + o_i, \mathbf{p}) - g(s_j \cdot D_j^m + o_j, \mathbf{q}))\|_1\)
    • 高斯缩放因子根据深度计算:\(r = f \cdot D^{\text{init}} / H\),使每个高斯恰好覆盖其对应像素
    • 初始不透明度随输入视图数递减:2张=0.6,3张=0.5,4张=0.35

损失函数 / 训练策略

总优化目标: $\(\Sigma^*,\phi^*,\mathbf{c}^* = \arg\min \sum_{\mathbf{p}} \mathcal{L}(R(\mathbf{p}), \hat{R}(\mathbf{p})) + \beta_m \mathcal{L}_{\text{multi}} + \beta_f \mathcal{L}_{\text{flow}}\)$

  • \(\beta_m = 5\), \(\beta_f = 0.1\)
  • 初始化阶段:1000次迭代粗对齐
  • 优化阶段:共13000次迭代。前8000次固定旋转为单位阵、缩放按公式计算;后5000次自由优化旋转和缩放
  • 多重采样(Multisampling):在每个像素内采样多个点取平均,解决稀疏输入下高斯未完全覆盖像素导致的半透明问题

实验关键数据

主实验

LLFF数据集(3张输入)

方法 PSNR↑ SSIM↑ LPIPS↓
3DGS 14.99 0.483 0.362
RegNeRF 19.41 0.627 0.306
FreeNeRF 19.97 0.652 0.280
SparseNeRF 20.33 0.657 0.302
CoherentGS 20.33 0.725 0.180

NVS-RGBD ZED2数据集(3张输入)

方法 PSNR↑ SSIM↑ LPIPS↓
FreeNeRF 25.60 0.817 0.166
SparseNeRF 26.56 0.835 0.154
CoherentGS 24.93 0.840 0.135
  • 推理速度:278 fps(LLFF 3输入,V100 GPU),vs NeRF方法0.08 fps,快3475倍

消融实验

配置 PSNR SSIM LPIPS
w/o alignment 19.06 0.679 0.217
w/o implicit decoder 16.68 0.477 0.331
w/o tv reg. 20.20 0.724 0.186
w/o flow reg. 20.32 0.723 0.185
w/o multisampling 19.99 0.718 0.194
完整模型 20.33 0.725 0.180

关键发现

  • 隐式解码器是最关键组件:移除后PSNR降3.65、LPIPS降0.151,说明结构化约束对稀疏输入至关重要
  • 深度对齐初始化对复杂场景尤为关键(PSNR降1.27)
  • LPIPS指标上的优势最显著,说明方法在感知质量上有压倒性优势
  • 遮挡区域可被识别并通过扩散模型修复,这是约束高斯运动的额外优势
  • 2张输入时优势更大(LPIPS: 0.220 vs 次优0.376),说明方法在更极端稀疏情况下更稳健

亮点与洞察

  1. "化非结构化为结构化"的核心思想:通过每像素一个高斯+射线约束,将3D空间中不可控的高斯运动转化为2D图像空间中的标量深度优化问题,是极其elegant的设计
  2. 隐式解码器的巧妙运用:用网络的隐式平滑性来替代显式正则化,一举解决了3DGS非结构化表示的核心困难
  3. 遮挡区域识别能力:约束高斯运动的副产品——未被重建的区域恰好是所有视角的遮挡区域,可被识别并修复
  4. 多重采样策略:看似简单但解决了稀疏输入下高斯仅覆盖像素中心导致的半透明问题
  5. 渐进式TV策略:先全局平滑再恢复细节,是结构化从粗到细优化的good practice

局限与展望

  1. 每像素单高斯限制:无法处理透明/半透明物体(如玻璃),因为一条射线上只有一个高斯
  2. 依赖单目深度质量,若深度估计严重不准确则结果受限
  3. 未考虑遮挡区域的高斯建模,虽然可通过扩散模型修复但增加了pipeline复杂度
  4. 可探索自适应的多高斯/像素策略以处理深度复杂场景
  5. 可结合语义信息指导分区域深度分割(目前简单基于深度值分C=5区域)

相关工作与启发

  • 与NeRF稀疏视图方法的对比表明:隐式表示的内在平滑性是双刃剑——有助于正则化传播但牺牲渲染速度和质量
  • 隐式解码器思路来源于D-NeRF等动态场景重建方法,但这里用于正则化而非建模形变
  • 光流+深度对齐的初始化策略可推广到其他需要多视图对齐的任务
  • 单目深度估计(Depth Anything)在3D重建中的应用潜力:高质量相对深度 + 全局对齐 > 低质量多视图立体匹配

评分

  • 新颖性: ⭐⭐⭐⭐ (结构化高斯+隐式解码器的组合设计新颖,但各组件非首创)
  • 实验充分度: ⭐⭐⭐⭐⭐ (多数据集、多输入配置、详细消融、视觉+数值对比)
  • 写作质量: ⭐⭐⭐⭐⭐ (逻辑清晰,motivation阐述充分,图表信息丰富)
  • 价值: ⭐⭐⭐⭐ (稀疏视图3DGS实用价值高,278fps推理速度有应用前景)

相关论文