논문리뷰

[논문 리뷰] OpenScene: 3D Scene Understanding with Open Vocabularies

씨주 2025. 4. 29. 13:22

OpenScene: 3D Scene Understanding with Open Vocabularies

 

https://arxiv.org/pdf/2211.15654

 

0. Abstract

전통적인 3D scene은 labeled 3D dataset에 의존되었다. 하지만 저자들인 제안하는 OpenScene은 CLIP feature space의 image pixel과 text를 이용하여 학습하고 예측한다. 예를 들어 3D semantic segmentation을 위해 모든 3D point을 CLIP feature space에 대입하고 유사도를 기반으로 classification한다. 또한 open vocabulary는 보지 못했던 scene에 대한 이해가 가능하다. 예를 들어 임의의 text query에 따라 scene에 일치하는 부분을 heat map으로 표현가능하다. 

 

1. Introduction

3D scene understanding은 3D mesh나 point cloud와 RGB image를 사용하여 semantic(part of a fan), affordance(where a person can sit), function(where a person can work), physical property(which surfaces are soft)를 이해하는 것이 목표이다.

Figure 1.

여러 방면의 scene understanding 목표는 query의 다양성 때문에 어려운 일이다. 전통적인 3D scene understanding은 특정 task에 맞게 설계된 benchmark dataset을 사용하는데 이는 하나의 query에 대해서만 대답이 가능하다. 

본 논문에서는, pre-trained text-image embedding model(CLIP)을 어떻게 사용하여 3D scene understanding을 할지 제시한다. 2D semantic segmentation에 대한 연구들은 있으나 3D scene understanding에 대한 query의 다양성을 향상시키는 방법은 없다. 

제안하는 OpenScene은 open-vocabulary 3D scene understanding의 zero-shot에 효과적이다. 본 논문의 핵심은 CLIP feature space에서 text, image를 함께 embedding한 3D point의 dense feature를 계산하는 것이다. 

Figure 2.

3D point cloud를 모든 image로 project한 후 multi view fusion을 통해 관련있는 pixel의 feature를 추출한다. 3D point cloud geometry의 feature와 pixel feature의 차이를 최소화하도록 학습한다. 그 후 2D fusion과 3D point의 feature를 ensemble하여 2D-3D feature를 통합하여 더 robust하고 descriptive하도록 한다.

CLIP은 자연어와 함께 학습하기 때문에, affordance, material, attribute, function을 한번에 이해할 수 있다. 

해당 모델은 zero shot모델이기 때문에 20개의 class를 가지는 3D semantic segmentation같은 benchmark에서는 성능의 한계가 있을 수 있다. 하지만 40, 80, 160개의 class에 대해서는 더 나은 성능을 보이며, novel dataset에 대해 retrain없이 활용 가능하다.

Contribution은 다음과 같다.

- 여러 task(semantic segmentation, affodance estimation, room type classification, 3D object search, 3D scene exploration)를 수행할 수 있는 open vocabulary 3D scene understanding task를 제안한다.

- multi view fusion과 3D convolution을 통해 3D dense feature를 추출하여 zero shot을 수행하는 OpenScene을 제안한다.

- 추출한 feature를 통해 fully supervised 방법보다 나은 성능의 3D semantic segmentation이 가능하다.

 

3. Method

Figure 3.

open vocabulary 2D semantic segmentation을 위해 pre train된 모델을 사용하여 모든 image의 pixel feature를 계산한다. 그 후 pixel feature를 모든 3D point의 feature vector로 할당한다. 3D point cloud만을 활용하여 feature를 다시 뽑기 위해 3D noetwork에 distillation을 한다. 그 후 2D feature와 distill한 3D feature를 ensemble하고 이를 이용하여 open vocabulary를 수행한다.

 

3.1. Image Feature Fusion

RGB image에서 dense pixel feature를 뽑는 것이 첫 단계이다. 그 후 이를 3D surface point에 역투영한다.

 

Image Feature Extraction.

RGB(H*W)를 입력하면 frozen segmentation model을 통해 C차원의 pixel embedding을 추출한다. 이 때 저자들은 OpenSeg, LSeg로 실험하였다.

 

2D-3D Pairing.

point cloud 중 일부 M개의 point에 대해 corresponding pixel u(u, v)를 계산한다. 이 때 intrinsic, extrinsic matrix가 제공되어 u=I * E * p로 계산된다. depth image가 주어지는 indoor dataset(ScanNet, Matterport3D)는 occlusion test를 수행하여 pixel u가 surface point p와 연결되는지 확인한다.

 

Fusing Per-Pixel Features.

K개의 이미지에서 매칭된 점 p에 대해 K개의 pixel embedding을 연결하여 average pooling을 통해 feature point cloud F를 얻을 수 있다.

 

3.2. 3D Distillation

2D image로 추출한 language-image feature cloud F는 3D scene understanding에 바로 사용 가능하다. 하지만 2D 예측값이 불안정하거나 일관되지 않을 경우 noise가 포함될 수 있다. 또한 3D point cloud나 mesh로만 수행할 수 있는 task가 있기도 하다. 따라서, 2D visual language knowledge를 point network로 distill한다.

이는 point cloud가 입력되면 point embedding을 출력하는 encoder가 학습된다. 2D feature와 3D feature가 연결되게 하기 위해 cosine similarity loss를 사용한다.

Eq 2.

이렇게 distilled 3D model의 출력은 CLIP과 같은 space에 embedding되며, 2D observation없이 text-3D coembedding이 가능하다. 

 

3.3. 2D-3D Feature Ensemble

2D, distilled 3D 각각이 open vocabulary가 가능하지만 더 나은 성능을 위해 2D-3D ensemble한 방법을 제안한다. 2D는 작은 object(mug on the table)나 모호한 geometry(painting on the wall)에 우수하며, 3D feature는 distinctive shape(walls and floors)에 우수한 것에 영감을 받아 이 두가지를 결합하는 것을 목표로 한다.

우선 CLIP을 이용하여 N개의 text prompt를 계산하여 text embedding으로 변환하고 각 3D point에 대해 2D, 3D distilled embedding을 추출한다. 그 후 text feature와 2D, 3D feature의 cosine similarity를 계산한다.

Eq 3.

이 중 가장 높은 점수의 ensemble feature를 사용한다.

 

3.4. Inference

모든 feature와 text를 통해 추출한 CLIP feature의 cosine similarity를 계산하여 평가한다. 이 중 가장 높은 점수를 가지는 text prompt를 이용하여 segmentation을 수행한다.

 

4. Experiments

Table 1.
Table 2.
Figure 4.

 

6. Limitations and Future Work

본 논문에서는 3D point와 text, image pixel feature space를 coembedding한 방법을 제안하였다. 이는 zero-shot, open vocabulary 3D scene understanding에서 유용함을 증명하였으며, zero-shot 3D semantic segmentation에서 SOTA성능을 달성했다.foundation model을 활용하여 제한된 3D dataset이 아닌 거대한 multi modal dataset을 사용한 3D scene understanding이 가능하도록 하였다.

하지만 몇가지 제안점이 있다. 첫째, inference algorithm에서 초기 단계에서 image를 활용할 경우 더나은 방법이 있을 것이다. 둘째, closed set 3D semantic segmentation을 많은 평가를 하였으나 다른 작업에는 정성적 평가만 수행하였다. open vocabulary 3D scene understanding의 다양한 task를 수행하는데 3D dataset의 GT가 부족하여 한계가 있었다. 향후 정량적 평가를 위한 설계를 할 예정이다.