JINWOOJUNG

3D Concept Learning and Reasoning from Multi-View Image 본문

NLP, LLM, Multi-modal

3D Concept Learning and Reasoning from Multi-View Image

Jinu_01 2025. 6. 26. 00:59
728x90
반응형

Paper

https://arxiv.org/abs/2303.11327

 

3D Concept Learning and Reasoning from Multi-View Images

Humans are able to accurately reason in 3D by gathering multi-view observations of the surrounding world. Inspired by this insight, we introduce a new large-scale benchmark for 3D multi-view visual question answering (3DMV-VQA). This dataset is collected b

arxiv.org

 

Introduction

Visual Reasoning시각적 장면에 대한 질문에 추론하고 답변하기 위해 내부 표현에 대한 규칙을 합성하는 능력이다.

 

Visual Reasoning 위한 데이터 셋이 제안되었지만, 이는 2D 단일 장면 이미지로 제한된다. 하지만, 2D 이미지의 경우 3D 환경의 일부만 표현 가능하고, 가려진(Occlusion) 상황에 대한 추론이 불가하다. 예를 들어, 아래 Counting 질문에 대새서 2D 단일 이미지의 경우 정확하게 6개로 추론할 수 없다. 또한, 2D이기 때문에, 깊이에 대한 추론이 힘든 것과 같이, 3D 관계를 추론하는데 한계가 있다. 

 

 

반면, 사람은 3D 표현에서 시각적 추론(Visual Reasoning)을 수행한다는 연구가 존재한다. 특히, 단순히 한 공간에서 가만히 있는 것이 아니라, 한번에 3D 표현을 제공받는 동시에, 전체 환경을 돌아다니면서 탐색하고, 이 과정에서 얻은 다양한 장면에서의 이미지를 통해 환경을 이해하고 추론하는데 도움이 되는 3D 포현으로 변환하게 된다. 이와 관련하여 사전 연구들이 존재 하지만, 이는 Point Cloud와 같은 실제로 사람이 수행하지 않는 방법으로 연구를 진행하였다. 

 

새로운 Task 정의

본 연구에서는 Agent의 능동적 탐색에 의해 촬영된 다중 뷰 이미지로부터 3D 시각적 추론이라는 새로운 Task를 정의한다.

 

본 Task를 통해 연구하고자 하는 바는 다음과 같다.

  1. Agent를 통해 취득한 Incomplete Observations를 통합하여 Crucial Properties를 Encoding하기 위한 Compact Visual Representation을 효율적으로 얻는 방법
  2. Semantic Concepts을 3D Representation에 접목시키는(ground) 방법
  3. 객체들 간의 관계를 추론하고, 단계별 추론을 수행하는 방법

1번의 경우, Agent가 이동하면서 취득한 여러 이미지들(Incomplete Observations)를 통합하여 3D 시각적 추론을 위해 Semantics, Relations와 같은 중요한 속성을 Encoding하기 위한 시각적 표현을 얻는 방법을 연구하고자 함을 의미한다. 즉, 한 공간 내 여러 장면에서 취득한 여러 이미지들의 정보를 통합해서 하나의 3D Model(Compact 3D Representation)을 만드는 것이다. 이를 통해 중요한 속성들을 모두 담고있는 3D Model을 얻을 수 있다.

 

3DMV-VQA

이 과정에서, 5k개의 장면과 장면에 대한 50k개의 질의응답쌍(Question-Answering Paris)로 구성된 3DMV-VQA(3D Multi-view Visual Question Answering)을 제공한다. 3DMV-VQA는 Habitat-Matterport 환경에서 Agent가 직접 돌아다니면서 환경을 탐색하고 다양한 View에서 이미지를 촬영하면서 생성하게 된다. 또한, 객체의 GT Location, Segmentations, Semantic Information 그리고 그들간의 관계를 포함하는 Scene Graph Annotation을 HM3DSem을 통해 취득한다. 이를 바탕으로, 3D Resoning을 평가하기 위한 concept, counting, relation 그리고 comparison을 포함하는 3D-related 질문 유형을 설계한다. 

 

3D-CLR

새로운 Task를 해결하기 위해서 본 논문에서는 3D-CLR(3D Concept Learning and Reasoning)을 제안한다. 다중 장면 이미지로부터 컴팩트한 3D 표현을 효율적으로 얻기 위해 Compact 복셀 그리드를 기반으로 한 Neural-field Model을 이용한다. 이때, 3D-Language Dataset의 부족으로 인해, 3D 장면 이해에 대한 연구가 의미론적 개념(Semantic Comcept)와 관련해서 부족하였다. VLMs(Vision-Language-Models)는 2D 이미지에서 Zero-shot Semantic Grounding 즉, 사전 학습 데이터에 없는 새로운 개념에 대해서도 의미를 이해하고 이미지 상에 위치시키는 능력을 향상시켰지만, 3D 장면으로 확장시키는 것에는 한계가 있다. 따라서, 본 논문에서는 사전 학습된 2D VLM의 Feature를 Voxel 위치에 걸쳐 정의된 압축된 3D 표현에 인코딩하는 방식을 제안한다.

 

Dataset Generation

Multi-View Images

기본적으로 HM3D 내 이미지 정보를 Habitat Simulation에 Rendering 해서 사용한다. 이때, Semantic Annotation을 이용하기 위해 HM3DSem을 사용하게 된다.

 

서로 다른 레벨의 질문을 포함하는 Benchmark를 구성하기 위해 서로 다른 규모의 3D Scene을 포함하는 데이터셋을 구축하였다. 가장 기본적인 질문들을 위해서 1개의 방을 포함하는 HM3D Scenes로 부터 시작하게 된다. 이후, 각 방과 인접한 여러개의 방을 포함하는 Multiple Rooms, 최종적으로 모든 방을 포함하는 집 전체(Whole House)로 구성하게 된다. 각각의 규모는 방의 크기(Bounding Box)로 정의되며, 최종적으로 3DMV-VQA Benchmark는 2,000개의 Single-room, 2,000개의 Multi-room, 100개의 Whole-house scenes로 구성된다.

 

(이미지)데이터 셋을 생성하기 위해, 각각의 규모에 따라 정의된 BBox Scene에 대해서 Habitat Simulator로 가져와 환경을 구성하게 된다.

 

각 Scene에 대해서 RGB Sensor를 가진 Robot Agent은 랜덤하게 초기 위치에 위치하게 된다. 이후 탐색할 수 있는 포인트를 생성하고, 해당 포인트로 이동하는 최단경로로 이동하게 된다. 이 과정에서 Agent는 이미지를 취득한다. 해당 포인트에 도착한 Agent는 도착 포인트에서 30도씩 12번 z축으로 회전하면서 이미지를 취득한다. 이때, Random하게 -10도~10도 범위 내에서 x축 방향으로 고개를 움직이게 된다. 이 과정에서 360의 3D view를 관측할 수 있다. 이때, 카메라가 객체로부터 너무 가깝거나 멀어서 Agent가 객체를 볼 수 없는 경우, Bad-view Image로 간주하고 버리는 정책을 취하게 된다. 

 

이때, 카메라가 객체로부터 너무 가깝거나 멀어서 Agent가 객체를 볼 수 없는 경우, Bad-view Image로 간주하고 버리는 정책을 취하게 된다. 

 

Questions and Answers

앞서 취득한 각각의 Scene에 대해서 본 논문에서는 사전 정의된 템플릿을 기반으로 기계적으로 생성하게 된다. 이때, 모든 질문은 개방형이고, 1개의 단어(단답형)으로 대답할 수 있다.

 

템플릿을 기반으로 기계적으로 생성한다는 의미는, 미리 정의된 템플릿에 대해 특정한 정보(Semantic)을 기반으로 끼워넣어 생성함을 의미한다. 예를들어 아래와 같은 템플릿이 있다고 가정하자.

[ Template 1 ]

Q : Are there any [ Concept ]?
A : [ Yes/No ]

 

이때, Concept 란 구체적인 개념 즉, 객체를 의미한다. 만약 Scene으로부터 취득한 이미지 안에 사과, 가방, 호랑이 등이 존재한다면, 해당 템플릿으로 부터 다음과 같은 질문-대답 조합을 기계적으로 생성할 수 있다.

Q : Are there any Book?
A : Yes

Q : Are thre any baseball?
A : No

 

 

위와 같이 개념(Concept, 객체) 및 관계(Relationship)에 대한 질문과 답변을 생성하기 위해 HM3DSem의 Semantic Annotation을 이용하게 된다. 이를 통해, Semantic Comcept와 해당 Bounding Box 뿐만 아니라, 방의 Bounding Box를 얻을 수 있다. 이때, 의미가 유사한 Semantic Concept를 병합하며, 11가지의 Relationships를 정의한다.

Relationships : inside, above, below, on the top of, close, far, large, small, between, on the left, on the right

 

최종적으로 질문을 생성하기 이전, 모든 Concept와 Relation을 포함하는 각 장면에 대한 Scene Graph를 생성한다.

질문-답변을 생성하기 위해서는 해당 Scene의 3D 정보들을 알고 있어야 하고, 본 논문에서는 이를 Scene Graph 형태로 다루게 됨. 
: Semantic Annotation을 기반으로 Scene Graph를 생성하는 연구가 추가적으로 필요!

 

Question Types

본 연구에서는 Concpet, Counting, Relation, Comparison 4개로 질문의 유형을 정의한다.

Audio가 추가됨에 따라서 객체-소리 정보를 기반으로 질문을 생성하기 위한 유형을 추가적으로 정의해야함. 혹은 그 세부 구조가 바뀌면 됨.
Ex) 11개의 Relationship을 소리로 확장,,

 

  • Concept

개념적 질문은 장면에 특정 객체가 포함되었는지, 혹은 해당 객체를 방이 포함하고 있는지 여부를 물어보게 된다.

  • Counting

특정 객체의 갯수, 해당 객체를 포함하고 있는 방의 갯수를 물어보게 된다.

  • Relation

앞서 정의한 11개의 관계와 구성에 대해서 질문하게 된다. 질문에서 사용되는 관계 개수에 따라 one-hop ~ three-hop Questions로 구분된다.

  • Comparison

두 객체, 두 Semantic Concep 또는 두 방을 비교하게 된다. 이는 Relation, Counting과 결합하여 질의되기도 한다.

 

Bias Control

모델이 실제 시각적 추론 능력보다는 데이터의 특정 패턴, 분포에 의해 정답을 맞추는 것Datset Bias라 한다. 본 논문에서는 Dataset Bias를 피할 수 있는 기계 생성 질문을 사용하게 된다.

 

질문은 사전에 정의된 템플릿을 기반으로 Semantic Concept, Relation을 사용하여 자연어 질문으로 변환되게 된다. 이때, 41개의 템플릿을 사전 정의하게 되며, Depth-first Search(깊이 우선 탐색)을 사용해서 질문을 생성하게 된다. 이때, 깊이 우선 탐색을 사용한다는 것은, 동일한 템플릿의 질문에 대해서 생성 시, Bias Control에 의해 제한된다면, 가능한 다른 조합을 이용해서 동일한 템플릿으로 질문을 생성함을 의미한다.

 

Bias Control은 다음과 같이 3가지 관점에서 수행하게 된다.

  • Template Counts

질문간의 균형을 맞추기 위해, 매 질문을 생성할 때 마다 템플릿을 정렬시킨다. 특정 템플릿에만 질문이 편향적으로 생성되는 것을 방지하여 각 템플릿의 균형을 위해서 Regection Sampling을 적용한다.

 

  • Answer Counts

각 질문 템플릿에 대해 정답 분포가 편향되지 않도록 조정한다. 생성된 질문에 대한 답변을 생성한 뒤, 해당 정답-템플릿의 조합이 다른 조합보다 훨씬 많으면, 해당 질문을 폐기하고 다시 생성하게된다. 이상적인 답변분포에 해당되는 답변을 찾으면 깊이 우선 탐색을 종료하게 된다.

 

예를 들어, 정답이 "Yes"인 경우가 "No"인 경우가 매우 많으면 "Yes"로 대답하도록 Dataset Bias가 생성될 수 있기에 이를 방지하고자 하는 것이다.

 

  • Concept Counts

Answer Counts와 동일한 방식으로 각 질문 템플릿에 사용된 Concept 분포가 편향되지 않도록 조절한다. 동일한 방법으로 Concept 집합으로 구성된 Relation의 구성에 대한 분포도 제어하게 된다.

728x90
반응형