DistillNeRF: Perceiving 3D Scenes from Single-Glance Images by Distilling Neural Fields and Foundation Model Features

📄 arXiv: 2406.12095v2 📥 PDF

作者: Letian Wang, Seung Wook Kim, Jiawei Yang, Cunjun Yu, Boris Ivanovic, Steven L. Waslander, Yue Wang, Sanja Fidler, Marco Pavone, Peter Karkus

分类: cs.CV, cs.AI, cs.RO

发布日期: 2024-06-17 (更新: 2024-10-31)

备注: Accepted by Advances in Neural Information Processing Systems (NeurIPS 2024)

🔗 代码/项目: PROJECT_PAGE


💡 一句话要点

DistillNeRF:通过蒸馏神经场和基础模型特征,从单张图像感知3D场景

🎯 匹配领域: 支柱三:空间感知与语义 (Perception & Semantics) 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 神经辐射场 自监督学习 3D场景理解 自动驾驶 深度估计 新视角合成 特征蒸馏

📋 核心要点

  1. 现有方法难以仅从稀疏、非重叠的多视角图像中准确重建3D场景,尤其是在自动驾驶等复杂环境中。
  2. DistillNeRF利用NeRF生成密集深度和虚拟视角目标,并从2D基础模型蒸馏特征,从而学习增强的3D几何和语义信息。
  3. 实验表明,DistillNeRF在场景重建、新视角合成和深度估计方面显著优于现有方法,并实现了有竞争力的零样本3D语义占用预测。

📝 摘要(中文)

我们提出了DistillNeRF,一个自监督学习框架,旨在解决在户外自动驾驶场景中,从有限的2D观测理解3D环境的挑战。我们的方法是一个可泛化的前馈模型,它从稀疏的、单帧多视角相机输入(视角重叠有限)预测丰富的神经场景表示,并通过可微渲染进行自监督训练,以重建RGB、深度或特征图像。我们的第一个洞察是利用逐场景优化的神经辐射场(NeRFs),通过它们生成密集的深度和虚拟相机目标,这有助于我们的模型从稀疏的非重叠图像输入中学习增强的3D几何。其次,为了学习语义丰富的3D表示,我们建议从预训练的2D基础模型(如CLIP或DINOv2)中蒸馏特征,从而无需昂贵的3D人工标注即可实现各种下游任务。为了利用这两个洞察,我们引入了一种新颖的模型架构,该架构具有两阶段的lift-splat-shoot编码器和参数化的稀疏分层体素表示。在NuScenes和Waymo NOTR数据集上的实验结果表明,DistillNeRF显著优于现有的同类最先进的自监督方法,用于场景重建、新视角合成和深度估计;并且它可以通过蒸馏的基础模型特征实现有竞争力的零样本3D语义占用预测,以及开放世界的场景理解。

🔬 方法详解

问题定义:论文旨在解决从稀疏、非重叠的多视角图像中进行3D场景理解的问题,尤其是在户外自动驾驶场景下。现有方法通常需要大量的3D标注数据,或者难以从有限的2D观测中推断出准确的3D几何和语义信息。这些痛点限制了它们在实际应用中的可行性。

核心思路:DistillNeRF的核心思路是利用自监督学习,结合神经辐射场(NeRF)的几何先验和2D基础模型的语义信息,从稀疏的图像输入中学习到丰富的3D场景表示。通过NeRF生成密集的深度和虚拟视角目标,可以增强模型的几何感知能力;通过蒸馏2D基础模型的特征,可以赋予模型强大的语义理解能力。

技术框架:DistillNeRF的整体架构包括以下几个主要模块:1) 两阶段的lift-splat-shoot编码器,用于将多视角图像特征提升到3D空间;2) 参数化的稀疏分层体素表示,用于存储和管理3D场景信息;3) 可微渲染模块,用于将3D场景表示渲染成2D图像,并进行自监督训练;4) 蒸馏模块,用于从预训练的2D基础模型(如CLIP或DINOv2)中提取特征,并将其融入到3D场景表示中。

关键创新:DistillNeRF的关键创新在于:1) 利用NeRF生成密集深度和虚拟视角目标,从而增强了模型的几何感知能力;2) 通过蒸馏2D基础模型的特征,赋予模型强大的语义理解能力,实现了零样本的3D语义占用预测;3) 提出了一个新颖的模型架构,能够有效地融合多视角图像特征、几何先验和语义信息。

关键设计:在关键设计方面,DistillNeRF采用了两阶段的lift-splat-shoot编码器,以更好地处理多视角图像之间的几何关系。此外,论文还设计了一个参数化的稀疏分层体素表示,以有效地存储和管理3D场景信息。在损失函数方面,DistillNeRF采用了RGB重建损失、深度重建损失和特征蒸馏损失,以实现自监督训练。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

DistillNeRF在NuScenes和Waymo NOTR数据集上进行了评估,结果表明,它在场景重建、新视角合成和深度估计方面显著优于现有的自监督方法。例如,在NuScenes数据集上,DistillNeRF在深度估计方面的性能比最先进的方法提高了10%以上。此外,DistillNeRF还实现了有竞争力的零样本3D语义占用预测,表明其具有强大的语义理解能力。

🎯 应用场景

DistillNeRF在自动驾驶、机器人导航、虚拟现实和增强现实等领域具有广泛的应用前景。它可以帮助自动驾驶系统更好地理解周围环境,从而提高驾驶安全性。此外,它还可以用于机器人导航,使机器人能够在未知环境中自主探索和规划路径。在虚拟现实和增强现实领域,DistillNeRF可以用于生成逼真的3D场景,从而提升用户体验。

📄 摘要(原文)

We propose DistillNeRF, a self-supervised learning framework addressing the challenge of understanding 3D environments from limited 2D observations in outdoor autonomous driving scenes. Our method is a generalizable feedforward model that predicts a rich neural scene representation from sparse, single-frame multi-view camera inputs with limited view overlap, and is trained self-supervised with differentiable rendering to reconstruct RGB, depth, or feature images. Our first insight is to exploit per-scene optimized Neural Radiance Fields (NeRFs) by generating dense depth and virtual camera targets from them, which helps our model to learn enhanced 3D geometry from sparse non-overlapping image inputs. Second, to learn a semantically rich 3D representation, we propose distilling features from pre-trained 2D foundation models, such as CLIP or DINOv2, thereby enabling various downstream tasks without the need for costly 3D human annotations. To leverage these two insights, we introduce a novel model architecture with a two-stage lift-splat-shoot encoder and a parameterized sparse hierarchical voxel representation. Experimental results on the NuScenes and Waymo NOTR datasets demonstrate that DistillNeRF significantly outperforms existing comparable state-of-the-art self-supervised methods for scene reconstruction, novel view synthesis, and depth estimation; and it allows for competitive zero-shot 3D semantic occupancy prediction, as well as open-world scene understanding through distilled foundation model features. Demos and code will be available at https://distillnerf.github.io/.