跳转至

VersatileGaussian: Real-Time Neural Rendering for Versatile Tasks Using Gaussian Splatting

会议: ECCV 2024
PDF: ECVA 代码: 无公开代码
领域: 3D视觉
关键词: 3D高斯泼溅, 多任务学习, 神经渲染, 实时渲染, 语义分割

一句话总结

本文提出 VersatileGaussian,通过为 3D 高斯赋予共享多任务特征并设计任务相关注意力(Task Correlation Attention)模块实现跨任务信息流动,在 ScanNet 和 Replica 数据集上同时达到了多任务标签预测的 SOTA 精度和 35 FPS 的实时渲染速度。

研究背景与动机

领域现状:在 3D 场景中获取多任务(MT)标签(如语义分割、深度估计、表面法向量)对自动驾驶、AR/VR、机器人导航等应用至关重要。传统方法采用 analysis-by-synthesis 策略,先渲染新视角的 RGB 图像再用 2D 模型预测标签;NeRF-based 方法(如 Semantic-NeRF)在隐式表示中编码多任务信息,但渲染速度极慢。

现有痛点:(1) NeRF 管线的渲染速度(< 1 FPS)无法满足实时应用需求;(2) 隐式表示中多任务场的连续性导致渲染时出现边界模糊等 artifacts——不同语义区域之间的标签在连续隐式场中会产生渗透;(3) 3D 高斯泼溅(3DGS)虽然实现了实时渲染,但简单地为每个高斯附加多任务属性会因为缺乏跨任务信息交互而降低渲染质量。

核心矛盾:3DGS 的每个高斯是独立优化的,不同任务的属性之间没有信息流动。但多任务本质上存在相关性(如语义标签与深度存在强关联),忽略跨任务相关性会导致多任务预测质量下降,甚至影响原本的 RGB 渲染质量。

本文目标 (1) 如何在 3DGS 框架中有效编码多任务信息?(2) 如何实现跨任务信息交互以提升各任务的预测质量?(3) 如何保持 3DGS 的实时渲染速度?

切入角度:作者观察到不同任务之间存在互补关系——例如语义分割的边界信息有助于提升深度估计的精度,反之亦然。通过让高斯携带共享的任务特征而非独立的任务属性,再通过注意力机制在渲染时实现跨任务信息交换,可以在不显著增加计算成本的情况下获得任务间的互助效应。

核心 idea:将 3DGS 的多任务属性替换为共享特征 + 任务相关注意力解码的架构,实现跨任务信息流动,保持实时渲染的同时提升多任务预测精度。

方法详解

整体框架

VersatileGaussian 在标准 3DGS 的基础上,为每个高斯球增加一个共享的多任务特征向量。渲染时,这些特征通过 3DGS 的光栅化管线投影到 2D 特征图上,然后经过一个轻量级的 Task Correlation Attention(TCA)模块解码出各任务的预测结果(语义标签、深度、法向量等)。输入是多视角 RGB 图像及对应的多任务标签,输出是可实时渲染任意视角 RGB 图像和多任务标签的 3D 高斯场景。

关键设计

  1. 共享多任务特征高斯(Shared MT Feature Gaussians):

    • 功能:用紧凑的共享特征替代为每个任务独立存储属性的方式,减少参数量并为跨任务交互奠定基础
    • 核心思路:每个 3D 高斯除了标准属性(位置 \(\mu\)、协方差 \(\Sigma\)、不透明度 \(\alpha\)、球谐系数 \(c\))外,额外携带一个 \(d\) 维共享特征向量 \(f \in \mathbb{R}^d\)。这个特征不针对任何特定任务,而是编码了该位置的通用多任务信息。渲染时,特征通过 alpha 混合投影到 2D:\(F(p) = \sum_{i \in \mathcal{N}} f_i \alpha_i \prod_{j=1}^{i-1}(1 - \alpha_j)\)
    • 设计动机:独立存储 \(K\) 个任务的属性需要 \(K \times d_k\) 维,且任务间信息完全隔离。共享 \(d\) 维特征(\(d << K \times d_k\))不仅减少存储开销,还天然为跨任务信息流动创造了条件
  2. 特征图光栅化器(Feature Map Rasterizer):

    • 功能:将 3D 高斯的共享特征高效投影为 2D 特征图
    • 核心思路:扩展标准 3DGS 的 CUDA 光栅化管线,在渲染 RGB 颜色的同时并行渲染特征向量。利用 3DGS 已有的排序和 tile-based 渲染架构,特征图渲染的额外计算开销很小。每个像素的最终特征是覆盖该像素的高斯特征的 alpha 加权混合
    • 设计动机:直接复用 3DGS 的高效光栅化架构,避免了引入额外的渲染分支,保持了实时性能
  3. 任务相关注意力模块(Task Correlation Attention, TCA):

    • 功能:从共享特征图中解码出各任务的预测,同时利用跨任务相关性提升各任务的质量
    • 核心思路:TCA 将渲染得到的 2D 特征图 \(F\) 作为输入,通过多头交叉注意力实现任务间信息交换。具体地,为每个任务 \(k\) 学习一个 query 向量 \(q_k\),共享特征图提供 key 和 value。各任务的 query 同时参与注意力计算,通过软加权机制聚合来自其他任务的有用信息:\(O_k = \text{softmax}(q_k K^T / \sqrt{d}) V + \text{FFN}(F)\)。最后通过任务特定的线性头输出预测
    • 设计动机:多任务之间存在互助关系——语义边界有助于深度不连续检测,法向量有助于几何感知。TCA 通过注意力机制自适应发现和利用这些跨任务相关性,无需人工指定

损失函数 / 训练策略

总损失为各任务损失的加权和:\(L = L_{rgb} + \sum_k \lambda_k L_k\)\(L_{rgb}\) 是标准的 L1 + SSIM 损失;语义分割使用交叉熵损失;深度估计使用 L1 损失;法向量使用余弦相似度损失。训练时可以使用 ground truth 标签,也可以使用预训练 2D 模型(如 SAM、DPT)的预测作为伪标签进行弱监督训练。

实验关键数据

主实验

数据集 方法 mIoU (语义) ↑ RMSE (深度) ↓ Angular Error (法向) ↓ FPS ↑
ScanNet VersatileGaussian 68.2 0.089 12.3° 35
ScanNet Semantic-NeRF 63.5 0.102 14.7° 0.3
ScanNet 3DGS + Independent 64.1 0.098 14.1° 32
Replica VersatileGaussian 82.5 0.031 6.8° 35
Replica Semantic-NeRF 78.3 0.038 8.2° 0.3

消融实验

配置 mIoU ↑ PSNR (RGB) ↑ 说明
VersatileGaussian (完整) 68.2 31.4 完整模型
w/o TCA (直接线性解码) 64.8 30.9 TCA 贡献约 3.4 mIoU
w/o 共享特征 (独立属性) 64.1 30.5 共享特征贡献约 4.1 mIoU
TCA 替换为 MLP 66.3 31.0 注意力优于 MLP 1.9 mIoU
特征维度 d=16 66.5 31.1 维度较小略有限制
特征维度 d=64 68.0 31.3 与 d=32 性能接近

关键发现

  • TCA 模块不仅提升了多任务预测质量,还反向提升了 RGB 渲染质量(+0.5 dB PSNR),说明多任务信息确实对几何理解有帮助
  • 即使使用 2D 预训练模型的伪标签(无 GT 标签),VersatileGaussian 仍能获得合理的多任务预测,展示了与现有基础模型结合的灵活性
  • 共享特征维度 \(d=32\) 是性价比最高的选择,进一步增大维度收益递减

亮点与洞察

  • 跨任务信息流动提升单任务质量是核心洞察:多任务不只是简单的参数共享,而是任务间的知识互助。TCA 模块以极小的计算代价实现了这一点,这个设计可以迁移到任何多任务 3D 表示方法中
  • 复用 3DGS 光栅化架构渲染特征图的做法非常高效,几乎不增加 FPS 开销。这个思路为 3DGS 扩展到更多下游任务提供了范式——只需增加特征通道,无需修改核心渲染管线
  • 无 GT 标签时使用 2D 基础模型的伪标签作为弱监督,极大拓展了方法的应用场景

局限与展望

  • TCA 模块是在 2D 特征图上操作的,没有利用 3D 空间中高斯之间的邻域关系,可能遗漏了 3D 几何先验
  • 仅在室内场景(ScanNet、Replica)上验证,未在大规模户外场景(如自动驾驶场景)上测试
  • 共享特征的维度对所有任务相同,但不同任务可能需要不同的信息量,可考虑自适应维度分配
  • 未与最新的 3DGS 变体(如 Mip-Splatting、2D Gaussian Splatting)结合,可能进一步提升渲染质量

相关工作与启发

  • vs Semantic-NeRF: Semantic-NeRF 在隐式场中编码语义,渲染慢且存在连续性 artifacts。VersatileGaussian 用显式高斯 + 共享特征解决了这两个问题,速度提升 100 倍
  • vs 3DGS + Independent: 简单地为每个高斯独立添加多任务属性缺乏跨任务交互。VersatileGaussian 通过 TCA 实现了任务间的信息流动,在所有任务上都有提升
  • vs Feature 3DGS: Feature 3DGS 也为高斯添加特征,但没有跨任务交互机制。VersatileGaussian 的 TCA 模块是关键差异化设计

评分

  • 新颖性: ⭐⭐⭐⭐ 将跨任务注意力引入 3DGS 多任务渲染的思路新颖,但整体框架较为直观
  • 实验充分度: ⭐⭐⭐⭐ 消融实验详细,多数据集多任务验证充分
  • 写作质量: ⭐⭐⭐⭐ 结构清晰,方法描述易懂
  • 价值: ⭐⭐⭐⭐ 为 3DGS 的多任务扩展提供了有效方案,实时性能使其具有较强的应用价值