[NeurIPS 2023] Bridging the Domain Gap: Self-Supervised 3D Scene Understanding with Foundation Models

안녕하세요, 서른 다섯번째 x-review 입니다. 이번 논문은 2023년도 NeurIPS에 게재된 Bridging the Domain Gap: Self-Supervised 3D Scene Understanding with Foundation Models 입니다. 그럼 바로 리뷰 시작하겠습니다 !

1. Introduction

비전 분야에서도 많은 분들이 아시다시피 Foundation Model(VFM)이 등장하면서 (CLIP, DinoV2, SAM 등등) 이미지 차원에서 SOTA를 달성하는 등의 새로운 벤치마킹을 성립하고 있습니다. 그러나 제가 최근들어 리뷰한 여러 편의 논문에서 반복적으로 이야기하고 있는 것처럼 이런 VFM은 3차원 representation에 대해서는 연구가 한창 진행되고 있고 그 중에서도 본 논문에서 다루고자 하는 3D-텍스트 데이터셋에서는 더더욱 사용이 제한적인 상황 입니다. 게다가 3D-텍스트 쌍으로 구성된 데이터셋은 어노테이션 비용도 상당하기 때문에 3D scene에 대한 understanding을 발전시키기 위해서 VFM의 사용이 활발히 이루어지지 못하고 있습니다. 3D understanding에서 CLIP과 같은 VFM이 3차원 representation의 가능성을 확인한 당시 연구들이 있음에도 불구하고 여러 VFM의 유용성과 함께 사용하였을 때의 시너지 효과는 아직 확인되지 않은 영역이었다고 합니다. 그런 상황에서 본 논문에서는 여러 FM의 장점을 활용해서 self supervised learning 방식을 통해 3차원 표현 능력을 향상시키는 새로운 프레임워크로 Bridge3D를 제안하게 됩니다. Bridge3D는 FM으로부터 이미지 캡션을 얻어서 3차원 scene에 대한 프롬프트를 생성함으로써 scene 레벨의 knowledge를 추출을 위한 3D↔텍스트 도메인 사이의 연결 고리를 형성하며, 생성한 프롬프트는 Grounding DINO와 SAM의 instance segmentation 결과를 위해 사용됩니다. 그 다음 self supervised로 학습된 3차원 네트워크로 텍스트와 2차원에서 scene 레벨의 포인트 클라우드로의 knowledge distillation을, 그리고 물체 레벨에서 이러한 다차원의 feature을 3차원 feature로 distillation까지 수행한다고 합니다. 추가적으로 최적화된 포인트 클라우드 reconstruction을 위해 모델이 물체의 전경에 집중할 수 있도록 랜덤 마스킹이 아닌 새로운 마스킹과 패치 필터 방식을 제안하고 있습니다.

이렇게 설계된 프레임워크는 3차원 self-supervised learning에 존재하던 3가지 bottelenck을 피할 수 있었다고 합니다.

(1) 기존 랜덤 마스킹 방식에 메인으로 사용하여 모든 포인트 클라우드가 reconstruction 되는 현상이 발생

→ 새로운 마스킹과 패치 필터 방식을 제안함과 동시에 FM을 적용함으로써 모델이 물체의 전경 표현에 집중할 수 있도록 하여 성능 향상

→ 전체 포인트에서 전경/배경 포인트 비율 불균형이 존재하기 때문에 이로 인해 표현 능력이 낮아지는 기존 3차원 MAE와 차별화된 방식

(2) 기존에 3차원-텍스트 쌍으로 구성된 데이터셋 부족하여 LLM은 3차원 understanding에서 낮은 활용 가능성 O

→ 이미지 캡션을 사용하여 포인트 클라우드와 쌍으로 주어지는 이미지에 대한 텍스트를 생성함으로써 3차원과 텍스트 도메인 사이의 갭 해소

(3) 마스크 생성 성능의 한계로 기존 방법론들은 2D→3D 또는 텍스트→3D로 분리해서 distillation하는 방식

→ FM을 활용하여 기존보다 더 정밀한 물체 레벨의 마스크와 텍스트 정보를 생성

→ 물체 레벨의 3차원 정보, 이미지, 그리고 텍스트 3가지 도메인의 정보를 효과적으로 통합

이렇게 기존에 bottleneck들을 해결하면서 실험을 통해서 성능을 검증하였고, 그 결과 self-supervised learning 3D detection과 3D semantic segmentation에서 SOT를 달성하였다고 합니다. 위에서 대부분 언급하였지만 마지막으로 본 논문의 contribution을 정리하고 넘어가면 다음과 같습니다.

  1. 물체의 전경 표현 능력 향상을 위한 FM 기반 새로운 마스킹/패치 필터 방식 제안
  2. FM을 통해 얻은 마스크, 캡션을 이용한 scene/object 레벨의 멀치 모달리티 knowledge distillation 방식 설계
  3. 처음으로 3D self-supervised 3D scene understanding에서 다양한 FM을 활용한 연구로, 여러 downstream task에서 SOTA를 달성

2. Methodology

Bridge3D는 크게 semantic-guided MAE, 멀티 모달리티의 scene 레벨 knowledge distillation, 그리고 마지막으로 멀티 모달리티의 물체 레벨의 knowledge distillation 이렇게 3가지로 이루어져 있습니다.

2.1. Mask Generation by Foundation Models

먼저 앞서 계속 언급하였던 것처럼 존재하는 FM을 통해 instance segmentation 마스크를 생성합니다. 이미지 캡션을 생성한다고 이야기했는데, 이 때는 BLIP을 기반으로 생성하며 이 이미지 캡션으로 3차원 scene에 대한 프롬프트를 만들기 위해 기존 3D indoor 데이터셋(ex. ScanNet, SUN RGB-D)에 존재하지 않는 물체를 필터링하기 위해서는 ChatGPT를 활용합니다. 그리고 Grounding DINO를 사용하면 바운딩 박스를 생성할 수 있는데, 이를 활용하기 위해 텍스트를 Grounding DINO의 프롬프트로 사용해서 박스를 만들게 됩니다. 이 박스가 결국 SAM의 프롬프트 입력으로 들어가서 zero-shot instance segmentation 라벨링과 마스크 \mathcal{O_1}, . . ., \mathcal{O}_N을 생성할 수 있게 합니다.

이런 과정을 수행하기 앞서 대응하는 visual 토큰과 포인트 토큰 x_i, p_i를 매칭하기 위해 이미지를 포인트 차원으로 reprojection 해야 하는데요, 이는 모델 안에서 동작하는건 아니고 사전에 완료된 상태로 입력으로 들어오도록 합니다.

Fig.4를 보면 FM에서 생성된 마스크는 이전 방법론들 (Fig.4 (a))와 비교해서 훨씬 정교하게 나누고 있는 것을 확인할 수 있습니다. Fig.3은 캡션을 프롬프트로 사용하고 앞서 말한것처럼 3D 데이터셋에서 관련 없는 물체에 대한 텍스트를 필터링 했을 때 FM의 성능이 향상된 것을 보여주면서 텍스트 필터링에 대한 근거를 정성적으로 보여주고 있습니다.

2.2. Semantic Guided 3D Masked Autoencoder

그 다음은 3차원 모델에 대한 내용으로, 사전 학습의 베이스라인으로 Point-MAE를 활용합니다. 간단하게만 Point-MAE 동작 과정을 얘기해보면 인코더-디코더 구조에서 인코더는 visible 토큰 T^v만을 입력으로 받아 인코딩한 토큰 T^e를 출력하고, 디코더는 인코더보다 적은 트랜스포머로 구성하여 reconstruction 3차원 좌표를 생성하게 됩니다. 여기서 포지션 정보를 제공하기 위해서 디코더의 각 트랜스포머 블럭에 위치 임베딩을 합치게 되죠. 디코더를 통해 reconstruction된 결과 P^{pre}를 생성하면 이러한 결과의 정확도를 평가하기 위해 식(1)과 같이 l_2 Chamfer 거리를 통해 reconstruction loss를 계산합니다.

  • P_{mask} : 마스킹된 포인트의 GT

Foreground-aware Masking and Patch Dropping

베이스라인인 Point-MAE는 랜덤 마스킹 방식을 사용하기 때문에 모델이 데이터 전체로 분산해서 살펴보게 되고 물체의 전경에 대해 집중해서 살펴보지 않게 됩니다. 그래서 모델이 중요하지 않은 배경에도 동일한 가중치로 연산을 하게 되고 학습된 표현력이 약할 수 있다는 한계가 존재합니다. 다시 말해서 마스킹 토큰 중에 배경에 대해서도 모두 포함된 토큰을 가지고 reconstruction하는 Point-MAE는 전경과 배경의 불균형으로 인해서 비교적 비율이 더 높을 수 밖에 없는 배경에 지나치게 집중할 수 있기 때문에 표현력이 더욱 약해질 수 있습니다. 그래서 Point-MAE 뿐만 아니라 MAE 전체적으로 3D scene을 마스킹을 어떻게 하면 더 효과적으로 설계할 수 있을지는 여전히 주요한 연구 주제로 진행되고 있다고 합니다.

그래서 이러한 문제를 해결하기 위해 FM에서 얻은 segmentation 결과를 기반으로 semantic-guided 마스킹 방식을 제안합니다. 앞서 segmentation에서 얻은 전경 물체가 있을 때, 전체 마스킹 비율 r_w에 대비 전경 포인트 마스킹 비율 r_f를 더 높게 설정합니다. 이렇게 하면 당연하게도 모델이 전경 물체에 대해서 더 집중하게 되겠죠. 또한 Point-MAE가 모든 패치 \{P_i\}^M_{i=1}을 입력하는 대신, 배경 패치의 비율 r_d를 배제함으로써 사용할 패치 \{P_i\}^N_{i=1}를 얻습니다. 그러면 트랜스포머 디코더는 이러한 비율의 visible 토큰의 feature와 visible 패치, 그리고 마스크 패치에 대한 위치 정보를 모두 사용해서 마스킹 포인트 패치를 reconstruction 하게 됩니다. 참고로 배제한 패치는 reconstruction에 사용하지 않습니다. 이렇게 불필요한 배경 패치가 충분하게 제거되면 디코더가 업샘플링할 포인트의 수가 줄어들어서 중요한 전경 패치에 집중함으로써 표현 능력이 향상되고, 입력 데이터가 줄어드니 사전학습의 속도를 높일 수 있게 됩니다.

2.3. Scene-level Multi-modal Knowledge Distillation

이미지와 포인트 클라우드를 사용하는 멀티 모달리티 연구는 활발히 진행되고 있었지만, 텍스트와 포인트 클라우드의 멀티 모달리티 연구는 여전히 데이터셋의 부족으로 challenge한 연구로 남아있다고 합니다. 이러한 한계를 극복하기 위해 앞서 본 논문에서는 이미지 캡션을 생성하고 관련 없는 물체를 필터링해서 3D scene을 설명하는 텍스트 t_s를 얻고자 하였습니다. 그런 다음에 이제 3차원 모델을 학습시켜서 포인트 클라우드를 scene에 대한 이미지 i_s, 텍스트 t_s와 align을 맞추게 됩니다.

N개의 포인트 클라우드에 대해서 이미지-텍스트 쌍을 \{F^{3D}, F^{2D}, F^{text}\}이라고 정의해볼 때, F^{3D}는 인코더의 scene 레벨 포인트 클라우드 feature를 의미하고 F^{2D}i_s를 사전학습된 FM의 입력으로 넣어 얻은 이미지 feature를 의미하겠죠. 동일하게 F^{text}t_s를 입력으로 사전학습된 FM에서 얻은 텍스트 feature 입니다. 모델은 projection head E_m을 통과해서 scene 레벨의 F^{3D}를 각 모달리티 m에 대한 representation \hat{F}_m에 매핑하게 되고, 이를 식(2)를 통해 정의할 수 있습니다.

여러 도메인에서 representation을 얻기 때문에 기존 방식은 멀티 모달리티에서의 knowledge distillation을 위해 InfoNCE loss를 사용하였습니다. 그러나 본 논문에서는 positive에 대한 L1 loss만을 활용해서 더 나은 결과를 얻을 수 있다는 것을 발견하였다고 합니다. 이러한 결과에 대해 FM이 이미 사전학습 단계에서 구분력있는 feature을 학습하였기 때문에 distillation 단계에서는 negative 쌍에 대한 계산이 필요하지 않았기 때문이라고 분석하고 있습니다. 그래서 다른 loss를 사용하지 않고 3D-이미지, 3D-텍스트 feature 사이의 scene 레벨의 distillation은 식(3)과 같이 정의합니다.

2.4. Object-level Multi-modal Knowledge Distillation

semantic segmentation이나 detection과 같은 downstream task에서 unsupervised 마스크 생성은 여전히 challenge한 영역으로 남아 있습니다. 전통적인 기법으로 Felzenszwalb-Huttenlocher이나 super-pixel을 이전에 사용하고 있었는데요, 이런 전통적 기법을 통해서는 semantic한 라벨을 생성할 정도의 퀄리티를 가지지 않기 때문에 3D-텍스트 사이의 갭을 해소하지 못하고 VLM을 확실하게 사용하지 못한다는 한계가 존재하였습니다. 예를 들어 CLIP2Scene이라는 방법론은 MaskClip을 사용해서 dense한 예측을 할 순 있지만, instance한 결과까지 생성하지는 못해서 물체 레벨의 표현력을 3차원 모델로 distillation 하지는 못하였습니다. 반면 본 논문에서는 FM을 통해서 마스크를 활용해서 물체 레벨의 knowledge distillation을 수행함으로써 3D scene에 대한 understanding 능력을 향상시키고 있습니다.

더 자세히 보면, Bridge3D의 물체 레벨의 knowledge distillation은 다른 모달리티에서 3차원 모델의 인코더로 직접 distillation하는 이전 방식과 다르게 디코더에서 reconstruction된 토큰을 사용하는 방식을 제안하고 있습니다. 계속해서 베이스라인인 Point-MAE와 비교해보겠습니다. Point-MAE는 디코더를 사용해서 마스킹 토큰을 reconstruction하고 특정한 feature을 학습하게 되는데, 본 논문에서는 디코더에서 동일하게 마스킹된 포인트 클라우드를 reconstruction하고 추가적으로 visible 포인트 토큰과 연관된 텍스트 및 이미지 feature을 reconstruction해서 멀티 모달리티의 knowledge를 추출하게 되는 것 입니다. (섹션 3.2에서 살펴본 것 처럼 여기 reconstruction 부분에서는 배제한 마스킹 토큰의 텍스트와 이미지 feature는 마찬가지로 사용되지 않습니다.)

사전학습된 이미지 모델에서 얻은 feature을 I_i로, 이는 마스크 O_i에 속한다고 정의해보겠습니다. 매핑 함수로 포인트를 대응하는 마스크 \mathcal{G}_1, . . . , \mathcal{G}_k에 그룹화하고, 각 scene에 대한 평균 pooling으로 마스크 이미지, 포인트의 feature을 식(4), 식(5)를 통해 계산합니다.

  • H_i : 디코더의 visible 토큰
  • F_{2D} : projection head

이제 텍스트를 보면 전경 물체에 대해서만 텍스트 정보를 가지고 있기 때문에 \mathcal{G}에서 해당하는 전경의 마스크 \mathcal{J}_1, . . . , \mathcal{J}_s를 선택해서 텍스트에 대한 feature를 식(6), 식(7)을 통해 얻습니다.

  • t_{s,i} : 해당하는 마스크의 semantic 라벨
  • \boldsymbol{\phi}_{text} : projection head

이렇게 feature를 얻는 과정을 수행하고 나면 이미지-텍스트 쌍을 포인트-텍스트 쌍 (f^{3D}_{l,i}, f^{text}_{l,i})로 변환하고 텍스트에서 물체 레벨의 knowledge를 포인트 클라우드로 distillation하게 되며 이에 대한 loss는 식(8)과 같습니다.

아까 이야기한 것처럼 여기서는 계속 L1 loss만을 쓰고 있기 때문에 L_{object}에서도 L1 loss를 계속 사용하고 있으며 최종적인 loss는 식(9)로 정의하고 있습니다.

3. Experiments

실험 파트에서는 3D Oject Detection, 3D semantic segmentation을 비롯해서 몇 가지 downstream task에 대한 Bridge3D의 효과를 확인하고 있습니다.

3.1. Self-supervised Pre-training

먼저 실험 세팅에 대해서 살펴보도록 하겠습니다.

3차원 백본 인코더는 먼저 베이스라인인 Point-MAE와 동일한 구조를 사용하였으며 이미지 브랜치에서는 DINOv2를 따르고 있습니다. 텍스트 브랜치에서는 CLIP ViT-B를 통해 텍스트 feature을 추출하고 있으며 이미지 캡션은 Tag2text를 활용한다고 합니다.

사전학습은 포인트 클라우드와 이미지로 구성된 ScanNet 데이터셋을 사용해서 모델 학습을 수행하고, 텍스트 프롬프트는 이미지 캡션에서 생성된 필요없는 클래스를 제거하고 ScanNet과 SUN RGB-D에 해당하는 클래스만 프롬프트로 활용합니다.

3.2. Results on Downstream Tasks

Object Detection

먼저 detection에서의 결과인데요, ScanNetV2에서 사전학습하고 ScanNetV2와 SUN RGB-D의 detection task에 맞게 fine tuning 하였다고 합니다. Tab.1은 indoor 3D Detection에 대한 성능을 리포팅하고 있는데, 베이스라인인 3DETR에 비해서 모두 큰 폭의 성능 개선을 이루었습니다. 이를 통해 본 논문의 방법론이 detection을 위한 높은 3D 표현력을 학습할 수 있다는 것을 확인하였습니다.

Semantic Segmentation

다음은 S3DIS라는 다른 indoor 3D 데이터셋에서의 Semantic segmentation 결과를 나타낸 Tab.2 입니다. 본 논문의 방법론은 사전 훈련 중에 여러 FM을 통합해서 사용하여 다른 최근의 3D self-supervised learning 방식보다 훨씬 높은 성능을 달성하고 있습니다. 이러한 결과를 통해 semantic segmentation을 위한 표현력 역시 향상할 수 있었고, 이러한 성능 향상에는 여러 FM을 활용한 것이 효과가 있다는 것을 증명할 수 있었습니다.

4.3. Ablation Studies

The Effectiveness of Each Component

이제부터는 ablation study로, 먼저 Tab.3은 본 논문에서 제안하는 방식들이 성능에 미치는 영향을 확인하고 있습니다. 먼저 모든 구성을 합쳤을 때가 가장 높은 성능을 달성하고 있죠. semantic guided reconstruction (전경에 집중하는 마스킹 방식)은 3D MAE에서 전경 물체에 대한 표현력을 향상시키기 때문에 성능에 중요한 역할을 하고 있습니다.

이미지 캡션을 통해 포인트 클라우드와 이미지-텍스트 쌍에 대한 설명을 생성하는 Scene-level Distillation은 의도한 것 처럼 scene 레벨에서 3D-텍스트 사이의 갭을 줄이는데 도움이 된다는 것을 확인할 수 있습니다. 다음으로 FM을 사용해서 물체 레벨의 마스크와 텍스트 정보를 생성하는 Object-level Distillation은 세 가지의 도메인에서 추출한 물체 레벨 feature 사이의 갭을 줄일 수 있습니다.

결과적으로 제안한 방법론에서 각 구성에 대한 효과를 증명하고 있고, 3D scene의 표현력을 향상하기 위해 FM을 적재적소로 활용하는 것이 중요하다고 저자는 강조하고 있습니다.

The Effectiveness of Masks from Foundation Models

마지막으로 마스크 생성 방식과 앞선 연구들에서 사용하는 마스크 생성 방식에 대해 비교하는 실험을 살펴보고 리뷰를 마치도록 하겠습니다.

방법론 파트에서 예시로 들었던 CLIP2Scene은 마스크를 생성하기 위해 MaskCLIP을 사용하지만, 이러한 방식은 instance segmentation 마스크까지는 제공하지 못한다고 했었죠. 또한 SLidR은 슈퍼 픽셀이라는 전통적인 기법을 사용해서 물체 레벨의 마스크를 생성합니다. 하지만 슈퍼 픽셀은 semantic한 정보가 부족해서 이미지-3D로 knowledge distillation을 하는데 제한적으로 사용됩니다.

반면에 본 논문의 방법론은 instance semantic 정보를 생성하고 있는데, 이러한 방식 비교를 위해서 슈퍼 픽셀과 MaskCLIP을 결합하여 이미지-3D, 텍스트-3D로의 distillation을 모두 유도하였습니다. 이러한 세팅으로 실험한 결과 FM을 사용한 Bridge3D에서 생성한 마스크가 MaskCLIP과 슈퍼 픽셀을 합쳐서 사용할 때 보다 훨씬 개선된 성능을 달성한 것을 확인할 수 있습니다.

Author: 손 건화

2 thoughts on “[NeurIPS 2023] Bridging the Domain Gap: Self-Supervised 3D Scene Understanding with Foundation Models

  1. 안녕하세요 건화님, 좋은 리뷰 감사합니다.
    건화님이 해당 태스크를 잘 몰라서 이해하기 어려웠습니다만 친절하게 잘 설명해주셔서 감사했습니다.
    질문이 몇가지 있습니다.
    1. 이 이미지 캡션으로 3차원 씬에 대한 프롬프트를 만들기 위해, 기존 3d indoor 데이터셋에 존재하지 않는 물체를 필터링하기 위해서 챗지피티 활용.에서 -> 어떤 챗지피티 모델을 활용한 것인가요? 이런 연구에선 open ai의 api를 가져다 쓰는 건가요?

    2. blip을 기반으로 생성되고 챗지피티를 통해 물체 종류가 필터링된 이미지 캡션인 텍스트가 grounding DINO의 프롬프트로 사용된다는 건, grounding이라는 개념이 어떤 물체에 대한 캡션 혹은 텍스트 쿼리를 통해 바운딩박스를 예측하는 것이라고 이해하면 되나요?

    1. 안녕하세요 ! 리뷰 읽어주셔서 감사합니다.
      1. 어떤 챗지피티 모델을 쓴다고 방법론에서 명확하게 나타내진 않았지만 인트로에서 건 reference로 미루어보아 GPT-3를 쓴 것으로 추정됩니다 . .
      2. grounding이라는 것은 물체의 시각적인 특징과 클래스 라벨 간에 관계를 의미하는데, Grounding Dino 같은 경우는 pretrained dino를 이용해서 novel class에 대한 물체를 detection한 후에 detection한 물체의 feature와 클래스 사이를 연결하여 상호작용을 수행하게 됩니다. 결국에 생성하는 텍스트를 grounding dino의 프롬프트로 사용해서 해당 텍스트에 맞는 물체를 찾게 되는 것입니다 !
      감사합니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다