안녕하세요, 서른 여덟번째 x-review 입니다. 이번 논문은 2024년도 AAAI에 게재된 FM-OV3D: Foundation Model-based Cross-modal Knowledge Blending for Open-Vocabulary 3D Detection 입니다. 그럼 바로 리뷰 시작하겠습니다 !

1. Introduction
사전학습된 foundation model (FM)은 이미지 차원의 Open-vocabulary task에서 그 활용성을 증명 받았습니다. 그러나 3차원 모델에서는 2D에서와는 다르게 학습에 이미지-텍스트 쌍을 활용하기에는 텍스트와 쌍이 맞는 large scale의 포인트 클라우드 데이터를 수집하기가 어렵습니다. (어노테이션 비용 등등의 이유로 .. ) 3D FM 활용에 있어서 예전에 리뷰한 논문에서도 보였듯이 FM은 내재적으로 3차원 표현력을 가질 수 있는데요, 즉 포인트 클라우드가 사전학습하는 이미지와는 다른 도메인의 데이터이긴 하지만 어쨌든 물체에 대한 3차원 특성 (depth, surface normal 등등)을 학습할 수 있다는 것이죠. 그래서 최근에는 FM를 3D task에서 사용하기 위해 FM의 knowledge를 3D 모델로 효과적으로 전달하기 위한 연구가 진행되고 있습니다.
보통은 단독 FM 모델을 전체 파이프라인에서 사용하는데, 주로 사용되는 모델은 크게 CLIP, SAM 그리고 GPT 정도가 되겠네요. 저자는 현재까지 연구 흐름처럼 꼭 개별적인 FM만을 사용하는 것이 아니라 방금 언급한 FM들을 다양하게 사용해서 상호보완적인 사전학습 지식을 활용하면 좀 더 효과적인 3차원으로의 지식이 가능할 것 이라는 가정을 하였습니다.
그래서 본 연구에서는 사람의 어노테이션 없이 여러 FM을 통합하여 3D 모델의 Open Vocabulary의 localization과 인지 능력을 향상 시킬 수 있는 Foundation Model-based Cross-modal Knowledge Blending for Open Vocabulary 3D Detection (FM-OV3D)를 제안하고 있습니다. 본 논문의 방법론에서는 Open-Vocabulary에서 3D 모델의 localization 능력을 향상시키기 위해 Grounded-SAM을 통해 2D 바운딩 박스를 생성합니다. 다음으로 인지 능력 향상을 위해서는 GPT-3로 생성한 lanuage 프롬프트, Stable Diffusion으로 생성한 이미지 프롬프트를 CLIP으로 feature을 추출해서 세 모달리티 간의 정보를 통합하였다고 합니다. inference 시에는 공유된 하나의 공간에서 포인트와 텍스트 feature을 가지고 물체 검출을 수행하게 됩니다. 여기서 본 논문의 main contribution을 정리하고 방법론으로 넘어가도록 하겠습니다.
- 다양한 FM 지식을 상호 보완적으로 활용하여 2D FM → 3D 공간으로의 효과적인 knowledge 전달
- 어노테이션 없이 Open-Vocabulary 3D detection 성능 개선을 위한 FM-OV3D 모델 제안
- 2개의 Open-Vocabulary 3D detection 데이터셋에서 SOTA 달성
2. Methodology

Fig.1을 통해 간략하게 파이프라인 먼저 살펴보면, 먼저 학습에는 포인트와 쌍이 맞는 이미지, 그리고 학습 클래스에 대한 vocabulary를 입력으로 들어옵니다. inference 시에는 이미지는 사용하지 않고, 테스트 Vocabulary와 포인트 클라우드만 사용합니다. intro에서도 말하였듯이, localization 능력 향상을 위해 Grounded-SAM의 결과를 사용해 변환한 3차원 바운딩 박스를 예측에 활용합니다. 인지 향상을 위해서는 GPT-3, Stable Diffuion, 그리고 CLIP을 사용하고 있네요.
2.1. Open-Vocabulary 3D Localization
Grounded-SAM을 사용한다고 했는데, 이 결과를 이용해서 3차원 바운딩 박스를 생성하고 그 박스를 수도 GT로 삼아 3D 검출기가 박스를 예측하도록 합니다. 구체적으로 Grounded-SAM은 학습 Vocabulary까지 입력으로 받아서 이미지에 대한 2D 바운딩 박스를 생성 합니다. 텍스트 데이터는 M개의 클래스가 프롬프트용으로 사용되는데, 2D 박스의 클래스에 대해 agnostic하다는게 특징이라고 하네요. 이미지 I의 2D 바운딩 박스를 예측하는 과정은 식(1)과 같이 정의할 수 있습니다.

- Box2D_I \in \mathbb{R}^4 : Grounded-SAM에서 생성한 2D 바운딩 박스
2D 박스를 생성하고 캘리브레이션 파라미터 K를 이용해서 3차원 공간에 reprojection한 후 클러스터링을 통해 보다 3차원 바운딩 박스를 만들며, 이러한 과정은 식(2)를 통해 확인할 수 있습니다.
++ 클러스터링을 하는 이유는 projection하면서 만들어지는 frustum 형태의 3차원 바운딩 박스를 보다 물체에 타이트한 박스 형태로 만들기 위함 입니다.

- Box3D_I \in \mathbb{R}^7 : 2D 박스를 변환한 3차원 바운딩 박스

- Box3D_{pc} \in \mathbb{R}^7 : 3D 검출기에서 예측하는 3차원 바운딩 박스
- L^{3D}_{box} : Box3D_I와 Box3D_{pc} 사이의 박스 regression loss
- P : 학습에서 일치하는 바운딩 박스 수
식(3)은 식(2)를 통해 만든 박스를 수도 GT로 사용해서 3차원 검출기가 박스를 예측하는 과정 입니다. L_{loc}을 최소화 하는 방향으로 학습하면서 별도의 어노테이션 없이 3D 검출기의 Open vocabulry localization 성능을 향상시킬 수 있습니다.
++ 여기서 사용하는 3D 검출기는 3DETR 입니다.
2.2. Open-Vocabulary 3D Recognition
다음은 GPT-3를 활용해서 먼저 텍스트 프롬프트를, Stable-Diffusion으로 2D 이미지 프롬프트를 각각 생성하고 두 개의 프롬프트에서 CLIP으로 feature을 추출합니다. 그런 다음 포인트, 이미지 그리고 텍스트 세 모달리티로 물체에 대한 semantic 정보를 합치게 되는 것 입니다.
Text Prompt Generation
GPT-3는 vocabulary의 풍부한 language description을 생성할 수 있기에 활발히 사용되고 있는데요, 이를 활용해서 본 논문에서도 모든 학습 클래스에 대한 description을 생성하고 있습니다. 기존 연구에서 사용하던 템플릿을 그대로 사용하는데, 대표적으로 몇 가지를 살펴보면 다음과 같습니다.
- ”Describe what {class} look like”
- “How can you identify {class} ?”
- “What does {class} look like?”
- “Describe an image from the internet of {class} ”
- “A caption of an image of {class}”
이렇게 M개의 학습 클래스에 대해 생성된 텍스트 프롬프트 \{T_1, . . ., T_M\}를 전체 텍스트 프롬프트 T로 정의합니다.
2D Visual Prompt Generation
다음은 이미지 프롬프트를 생성해서 3D 모델에 클래스에 대한 풍부한 representation을 제공하고자 합니다. 그런 측면에서 Stable Diffusion은 폭넓은 텍스트-이미지에 대한 해석이 가능하기 때문에 language 프롬프트에 따라 이미지를 생성할 수 있기에 활용하기 적합하죠. 따라서 식(4)와 같이 GPT-3에서 얻은 T1, . . . , T_M을 활용해서 이미지 S_I를 생성하게 됩니다.

- i : 1 ~ M
- S_I : M개의 클래스에 대해 생성된 전체 2D 이미지 프롬프트
학습 Vocabulary가 입력으로 들어오면 이렇게 어노테이션 없이 이미지 및 텍스트로 학습 데이터를 확장할 수 있기 때문에 코스트가 많이 필요한 어노테이션 없이 3D 데이터에서의 제한된 클래스 문제를 해결할 수 있는 것이죠.
Knowledge Blending
3차원 검출기의 포인트 클라우드 feature, Stable Diffusion으로 생성된 2D 시각적 프롬프트을 CLIP으로 추출한 2D 이미지 feature 그리고 텍스트 프롬프트를 CLIP으로 추출한 텍스트 feature 이 세 가지 모달리티에서 GPT-3, Stable Diffusion, CLIP의 knowledge를 합치면 됩니다.
합친 후에는 3차원 검출기가 3D 모달리티에서의 물체와 텍스트 모달리티 사이의 semantic한 연관성을 찾도록 학습됩니다. 먼저 카메라 내부 파라미터 K를 통해 3차원 검출기가 예측한 바운딩 박스 Box3D_{pc}를 쌍이 맞는 이미지로 projection해서 그 영역에 맞는 크롭된 이미지 I_{pc}를 찾습니다. 이 때 Box3D_{pc} 내에 포함된 포인트 클라우드들이 RoI feautre F_{pc}도 같이 추출합니다. 그런 다음 CLIP을 통해 텍스트 프롬프트 T의 feature (F_t), 이미지 SI의 feature F_{2D_{SI}}를 추출할 수 있겠죠. 여기서 두 모달리티의 featue을 통틀어 F_{2D}로 나타냅니다. 결국 이렇게 얻은 모든 모달리티 feature 간의 recognition loss를 정의하면 식(5)와 같이 표현할 수 있습니다. 그리고 포인트 클라우드 샘플의 배치 사이즈가 B로 주어지면 식(6)과 같이 L_{cl}을 계산할 수 있습니다.


- f_b : 배치 내의 모든 샘플
식(6)에서 F_1은 F_{pc}가 되고 F_2는 F_{2D} 또는 F_t가 될 수 있습니다. f_b에 대한 f(b, positive)와 f(b)는 각각 식(7)과 같이 계산됩니다.

- \tau : temperature parameter
- n : positive 샘플의 수

3차원 검출기의 최종 loss 함수를 식(8)과 같이 정의하면서 방법론 마치도록 하겠습니다.
3. Experiments
실험은 3D detection에서 일반적으로 사용하는 SUN RGB-D, ScanNet 데이터셋을 사용하였습니다.
3.1. Performance on Open-Vocabulary 3D Object Detection


당시에 annotation 없이 Open vocabulary 3D detection에 대한 선행 연구가 이루어지지 않아 본 논문에서는 annotation을 사용하고, 다른 모달리티의 open set 환경을 고려하는 방법론을 비교 모델로 삼았다고 합니다. 어노테이션 없는 구성을 FM-OV3D*로 나타내고, FM-OV3D는 2D 바운딩 박스 예측에 Detic를 사용해서 knowledge 전달을 통해 학습된 모델을 나타냅니다. Detic에 대한 내용은 제 이전 논문의 실험파트를 확인해주시면 좋을 것 같습니다.
이제 실험 결과를 Tab.1, Tab.2를 통해 보면, 어노테이션 없이 기존의 Open vocabulary 3D detection 벤치마킹 결과를 두 데이터셋에서 뛰어넘으면서 학습 vocabulary 외의 3차원 물체를 잘 검출하는 것을 보여주고 있습니다. 이러한 결과를 통해 다양한 Foundation 모델에서 학습한 표현력을 합침으로써 주석이 포함된 데이터셋의 제한적인 클래스와 실제 환경 간의 갭을 줄임으로써 3차원 검출기의 향상된 Open-Vocabulary 성능을 보일 수 있다는 걸 확인할 수 있습니다. FM-OV3D 또한 큰 폭의 성능 향상을 보여주고 있는데요, 다만 특정 클래스에서는 기존 성능에 미치지 못하는 경우가 있습니다. 이는 Open-Vocabulary 컨셉과 관련된 시각적인 정보를 보강해서 FM-OV3D*에서 더욱 성능이 향상될 수 있었다는 점을 보여주고 있습니다.
3.2. Ablation Study
The effect of pre-trained foundation models

이제는 ablation study로 사용한 각각의 FM의 효과를 보여주는 실험 입니다. GS는 Grounded-SAM에서 생성된 2D 바운딩 박스를 사용, GPT-3는 Open-Vocabulary 학습 클래스에 따라 텍스트 프롬프트를 생성하기 위해 GPT-3를 사용, 그리고 SD는 stable diffusion 모델을 통해 2D 이미지 프롬프트를 생생한 것을 의미합니다. Tab.3에서 Annotation 부분은 Detic에서 만들어진 바운딩 박스를 2D detection의 베이스라인으로 적용했음을 나타냅니다.
먼저 어노테이션이 필요한 모델을 비교했을 때, SD 또는 GPT-3만을 사용하면 모두 사용한 모델이 어느 정도 더 나은 성능을 보이고 있습니다. 마찬가지로 어노테이션 없이 GPT-3와 SD를 사용하면 프롬프트만 사용하거나 프롬프트가 전혀 사용되지 않을 때 보다 더 높은 성능을 보입니다. 이러한 결과로 어노테이션이 있는 경우에도 텍스트 생성 모델과 여러 모달리티의 프롬프트를 생성하는 모델이 제공하는 다양한 semantic한 정보가 효과적임을 확인할 수 있습니다. 텍스트 정보만 활용하게 되면 시각적인 표현력과 텍스트 사이의 연결성이 부족하기 때문이라고 분석하고 있네요.
다음은 GS의 영향력을 확인할 수 있는데, Detic의 바운딩 박스를 사용한 경우와 비교했을 때 사람의 어노테이션에 의존하지 않고도 안정적인 성능을 보이며 이를 통해 3D 모달리티에서 물체에 대한 localization을 잘 수행하고 있다는 것을 알 수 있습니다.
결과적으로 여러 FM의 knowledge를 결합하여 3D 검출기가 세 모달리티에서의 표현력을 완전히 흡수할 수 있었다고 분석할 수 있습니다.
Number of classes of used 2D visual prompts

마지막으로 2D 시각적 프롬프트 클래스의 수를 달리 적용했을 때의 실험 결과를 보면서 리뷰 마치도록 하겠습니다. 5개 클래스의 프롬프트를 적용했을 때 가장 좋은 결과를 보여주는데, 더 적거나 시각적 프롬프트를 사용하지 않을 때와 비교해보면 결국 모델의 인지 능력을 향상시키는데 시각적 프롬프트가 긍정적인 효과를 주고 있다는 것을 보여주고 있네요. 눈에 띄는 점은 5개를 넘어서는 클래스를 사용하면 오히려 모델의 성능이 감소하게 됩니다. 이러한 결과를 저자는 노이즈와 conflict를 유발할 수 있는 많은 negative 샘플이 생성되어 모델이 정확한 feature 표현력을 학습하는데 어려워지게 된다고 분석하고 있습니다. 따라서 시각적 프롬프트를 사용하려면 모델의 성능을 향상시키는 것 또한 중요하지만, 최적의 결과를 위해 적절한 클래스 수를 선택하는 것이 고려되어야 하겠네요.
안녕하세요 ! 좋은 리뷰 감사합니다.
바로 이전에 올린 리뷰를 읽어봤을 때도 3D detector로 3DETR을 사용한다고 봤었는데 이 모델은 보통 해당 task에서 기준이 되는 모델인걸까요 ??? 그리고 모델 이름상 트랜스포머 기반의 모델인 거 같은데 트랜스포머 모델이 일반적으로 활용하는 특별한 이유가 있을까요 . . .. . ?
또, 리뷰를 보았을 때 클래스별로 사용되는 텍스트 프롬프트를 어떻게 달리 하는지도 성능에 많은 영향을 미칠 거 같은데 이에 대한 실험은 리포팅되어 있지 않았는지 궁금합니다 !
감사합니다.
안녕하세요, 좋은 리뷰 감사합니다.
output을 2D bbox 형태로 나타내는 Grounded-SAM을 이용하여 이를 3D localization으로 문제를 해결하도록 설계한 것으로 이해를 하였는데요. Grounded-SAM은 기존의 SAM과 다른점이 segmentation 정보를 기반으로 2D bbox를 출력으로 하는 부분이라고 보면 될까요? 어떤 부분이 다른지 간단히 설명해주시면 감사하겠습니다.
knowledge blending에서 사용되는 stable diffusion의 역할은 단순히 2D 이미지 프롬프트를 기반으로 이미지를 생성하는 과정으로 보면 되나요? 그리고 diffusion을 통해 어떤 형태로 이미지를 생성되어 사용되는지 궁금합니다.
감사합니다.
좋은 리뷰 감사합니다.
GroundSAM을 활용하여 2D Detection 결과를 reprojection 시켜 타이트한 3D bounding box를 만드는 과정이 Detic를 이야기 하시는 게 맞을까요? 아니라면 이 과정에 대한 신뢰도는 따로 고려하지 않는 지 궁금합니다.
또한, 2D의 예측 결과를 3D로 전달하기 위한 과정이다보니 3차원 정보인 z축에 대한 평가가 중요할 것 같은데 관련 방법론들에서는 이에 대한 고려나 고찰은 따로 없나요??
또한 실험 결과를 보면 annotation-free인 경우와 아닌 경우가 따로 있는데, 기존 연구들과 공정한 비교는 어노테이션을 사용한 경우로 이해하면 될까요??
안녕하세요. 좋을 리뷰 감사합니다.
본 논문을 세미나로도 설명을 듣고 리뷰로도 읽으니 계속 생각나는 부분은 이렇게 많은 모델들을 합쳐서 사용하면 당연히 속도 부분에서 많은 손해를 볼 것 같은데 3D detection 분야에서는 속도가 그렇게 중요하게 평가되는 요소는 아닌건가요? 따로 이것과 관련한 리포팅이 없어 질문드립니다.
또한, 세미나에서 Diffusion 모델의 결과물을 봤는데 단순히 object에 대한 그림만 그리는 것이 아니라 배경에 여러 색상이 들어가 있다던지 하는 식으로 생성되는 것을 봤는데 이러한 부분이 노이즈로 작용하여 오히려 성능 향상에 도움이 되지 않을 수도 있을 것 같은데 본 논문에서는 이와 관련하여서 따로 언급하는 부분이 있을까요?
감사합니다.