0%

OpenScene: 3D Scene Understanding with Open Vocabularies

OpenScene

CVPR 2023 OpenScene: 3D Scene Understanding with Open Vocabularies

https://pengsongyou.github.io/openscene

在复杂的3D场景中识别对象材料可利用性活动房间类型,所有这些都使用同一个模型进行训练,而不需要任何标记的3D数据,引入了开放词汇3D场景理解任务,arbitrary text queries are used for semantic segmentation, affordance estimation, room type classification, 3D object search, and 3D scene exploration

image-20230918100919261

Motivation

给定一个带有一组位姿以及RGB信息的三维网格或点云,目标是推断每个三维点的语义、可利用性、功能和物理特性

Given a 3D mesh or point cloud with a set of posed RGB images, the goal is to infer the semantics, affordances, functions, and physical properties of every 3D point

例如,在上图中所示的房子中,我们想要预测哪些表面是风扇的一部分(语义)、由金属制成(材料)、在厨房内(房间类型)、一个人可以坐的地方(可利用性)、一个人可以工作的地方(功能),以及哪些表面是软的(物理特性)。

Answers to these queries can help a robot interact intelligently with the scene or help a person understand it through interactive query and visualization.

挑战:

  • 传统的3D场景理解模型通过针对特定任务设计的基准数据集的监督训练而得到的(例如,针对20个类别的封闭集合的3D语义分割)。它们每个都设计用于回答一种类型的查询(这个点是在椅子、桌子还是床上吗?),但对于训练数据稀缺的相关查询(例如,分割罕见的物体)或没有3D监督的其他查询(例如,估计材料特性),提供的帮助很少

Key idea

compute dense features for 3D points that are co-embedded with text strings and image pixels in the CLIP feature space

为了实现这一目标,作者建立了3D场景中的3D点与位姿图像中的像素之间的关联,并训练一个3D网络,使用CLIP像素特征作为监督来编码3D点。这种方法将3D点与特征空间中的像素对齐,进而与文本特征对齐,从而实现对3D点的开放词汇查询。

image-20230918102823219

  • Closed-set 3D Scene Understanding
  • Open-Vocabulary 2D Scene Understanding
  • Zero-shot Learning for 3D Point Clouds

Methodology

  • 使用一个预训练的面向开放词汇的2D语义分割模型为每个图像计算每个像素的特征,多视图的像素特征聚合到每个3D点上,形成每个点的融合特征向量(Image Feature Fusion)
  • 使用仅接受3D点云(只有坐标)作为输入的3D网络来提炼出这些融合特征(3D Distillation),从3D点云几何形状中进行特征提取,并使用最小化与聚合像素特征之间差异的损失
  • 将2D融合和3D网络产生的特征组合成每个3D点的特征(2D-3D Feature Ensemble),并使用它来回答开放词汇的查询(Inference)

image-20230918110510765

Image Feature Fusion

利用2D视觉语言分割模型(作者实验了OpenSeg和LSeg)提取每个RGB图像的密集像素级Embeddings,然后将它们反投影到场景的3D表面点上。使用average pooling来融合多视角特征。

3D Distillation

当存在图像时,特征点云$\mathbf{F}^{2 \mathrm{D}}=\left\{\mathbf{f}_{1}^{2 \mathrm{D}}, \cdots, \mathbf{f}_{M}^{2 \mathrm{D}}\right\} \in \mathbb{R}^{M \times C}$可以直接用于基于语言的3D场景理解。然而,这样融合的特征可能会导致嘈杂的分割,因为2D预测可能是不一致的。此外,有些任务只提供3D点云或网格。因此,作者提出将这种2D视觉语言知识提炼到一个只接受3D点位置作为输入的3D点网络中。

  • 使用MinkowskiNet18A作为3D backbone

  • 最大化$\mathbf{F}^{2 \mathrm{D}}$和$\mathbf{F}^{3 \mathrm{D}}$的余弦相似度

    $\mathcal{L}=1-cos(\mathbf{F}^{2 \mathrm{D}},\mathbf{F}^{3 \mathrm{D}})$

2D-3D Feature Ensemble

作者仍然提出了一种2D-3D集成方法,用来获得混合特征以提高性能。作者观察到:2D融合特征更擅长预测小物体(例如桌子上的杯子)或几何不确定的物体(例如墙上的画),而3D特征则对具有独特形状的物体(例如墙壁和地板)具有良好的预测效果。作者的目标是将两者的优点结合起来。作者提出的集成方法利用一组文本提示,在推理或离线时提供(例如来自ScanNet等公共基准测试中预定义的类别,或由用户定义的任意类别)。

使用CLIP文本编码器提取所有文本提示的embeddings,然后计算文本embeddings和2D融合特征/3D Distillation特征的余弦相似度,将最大值作为对应特征的集成分数。

Experiment

Datasets:

  • ScanNet
  • Matterport3D
  • nuScenes Lidarseg

Comparison on zero-shot 3D semantic segmentation

主要对比的工作:

  • MSeg Voting
  • 3DGenz
    • divides the 20 classes of the ScanNet dataset into 16 seen and 4 unseen classes, and trains a network utilizing the ground truth supervision on the seen classes to generate features for both sets.

image-20230918123000208

Comparison on 3D semantic segmentation benchmarks

image-20230918123045123

image-20230918124109308

Impact of Increasing the Number of Object Classes

image-20230918124357695

Ablation Studies

OpensSeg准确率和泛化性比LSeg更好

image-20230918124812666

Applications

query是文本

image-20230918140218203

image-20230918140200850

Image-based 3D object detection

query是image

image-20230918140744435

Open-vocabulary 3D scene understanding and exploration

image-20230918140713424