본문 바로가기
논문 리뷰/Multi-Modal

SpatialVLM: Endowing Vision-Language Models with Spatial Reasoning Capabilities

by 박사개구리 2024. 9. 1.

0. Abstract

  • 공간적인 관계에 대한 이해와 추론을 하는 것은 시각적인 질의응답 (Visual Question Answering, VQA) 과 로봇 문제에 있어 필수적인 능력
  • 최근 비전 언어 모델 (VLM)들은 특정 VQA 문제에서 좋은 성능을 보이지만 여전히 3차원 공간적인 추론에서는 부족한 성능을 보임 → ex. 물리적인 물체의 거리나 사이즈 차이에 대한 정량적인 관계 인지 문제
  • 본 논문의 가정: VLM의 제한된 공간적인 추론 능력은 학습 데이터에 3차원 공간적인 지식이 부족하기 때문이며 인터넷 규모의 (Internet-scale) 공간적인 추론 데이터를 기반으로 VLM을 학습하여 이를 해결할 수 있음
  • 자동적으로 3차원 공간적 VQA 데이터를 생성하는 프레임워크 개발 → 2B의 VQA 예제를 10M 개의 실제 이미지로 생성
  • VLM을 학습하여 정량적이고 정성적인 공간 VQA에 대한 성능을 크게 향상
  • 최종적으로 이 VLM은 정량적 추론 능력을 기반으로 공간적인 추론에 대한 chain-of-thought이나 로봇과 같은 새로운 응용분야에 적용 가능

1. Introduction

  • VLM은 최근 다양한 문제들에서 뛰어난 발전을 달성 → 이미지 캡셔닝, 지각적인 질의 응답, 행동 인지 등…
  • 하지만 대부분의 최신 VLM들도 공간적인 추론에는 좋은 성능을 보이지 않음 → 3차원 공간 상에서 물체들의 위치나 그들간의 공간적 관계를 이해하는 것
  • 사람의 경우 공간적인 이해를 수행하는데 연속적인 추론이나 특별한 연산 과정이 필요 없음 → 많은 경험과 진화적 발전으로 인해 공간 추론 능력이 자연스럽게 숙련되어있음
  • 본 논문의 가정: 현대 VLM의 제한된 공간 추론 능력은 구조적인 한계 때문이 아니라 모델 학습에 사용된 데이터의 한계
    • 많은 VLM들이 인터넷 규모의 이미지-캡션 쌍으로 학습하지만 이런 데이터에는 공간적인 정보의 양이 제한적
  • 이런 제한적인 데이터 문제의 해결을 위해 자동 데이터 생성이나 증강 기법을 사용
    • 본 논문에서는 3차원 세계의 다양성과 복잡성을 나타내기 위해 실제 데이터에서 공간적인 정보를 직접적으로 추출
  • 본 논문에서는 SpatialVLM 시스템을 제안 → 공간적인 추론 능력 향상을 위한 데이터 생성과 VLM의 학습 가능
    • 다음의 기법들을 결합
      • Open-vocabulary 탐지
      • Depth 추정
      • Semantic Segmentation
      • 물체 중심의 캡셔닝 모델
  • SpatialVLM은 비전 모델을 통해 생성된 데이터를 VLM 학습을 위한 형식으로 변환 → 캡셔닝, VQA, 공간 추론 데이터의 형태
  • 실험을 통해서 본 논문의 모델이 다음과 같은 능력을 가진 것을 확인
    • 정성적인 공간 관련 질문의 성능이 크게 향상
    • 노이지한 학습 데이터를 사용해도 안정적으로 정량적인 추론을 수행
    • 공간적인 VLM은 자체적인 자연어 인터페이스를 기반으로 공간적인 chain-of-thought을 수행 → 복잡한 공간적인 추론 문제를 해결
  • 본 논문의 contribution
    • VLM에 사람에게 필수적으로 요구되는 능력인 공간적인 추론 능력 부여
    • 인터넷 규모의 실제 이미지 데이터를 기반으로 자동적으로 3차원 공간 추론 VQA 데이터를 라벨링 할 수 있는 프레임워크 디자인
    • 다양한 학습 레시피 검증 → 데이터의 품질, 학습 파이프라인, 시각적인 인코더의 freeze/unfreeze 등등이 학습에 어떻게 영향을 미치는지 확인
    • SpatialVLM이 복잡한 추론과 로봇 문제에서 새로운 능력을 보이는 것을 확인

2. SpatialVLM

  • VLM에 정량적, 정성적 공간 추론 능력을 모두 장착하기 위해 많은 규모의 공간적인 VQA 데이터셋을 생성하도록 제안
    • 데이터 생성 프레임워크를 제안하여 open-vocabulary 탐지, depth 추정, semantic segmentation, 물체 중심의 캡셔닝 모델을 사용하여 물체 중심의 컨텍스트를 추출
    • 템플릿 기반의 접근을 사용하여 좋은 품질을 가지는 다수의 공간적인 VQA 데이터 생성
    • 생성된 데이터로 SpatialVLM을 학습하여 직접적으로 공간적인 추론 능력을 가지도록 함 → LLM의 고차원적인 추론 능력과 결합하여 공간적인 추론에 대한 chain-of-thought 능력을 확인

2.1. Spatial Grounding from 2D Images

  • 최신 VLM들이 공간적인 추론 능력이 부족한 이유는 구조 때문이 아니라 공간적인 추론에 대한 학습 데이터가 부족하기 때문!
  • 공간적인 추론에 대한 질문을 포함하는 VQA 데이터를 생성하는 파이프라인을 디자인 → 그림 2 참고

Semantic Filtering

  • 인터넷 규모의 이미지-캡션 데이터가 VLM 학습에 주로 사용되지만 이들 중 대부분은 단일 물체만을 포함하거나 배경을 가지지 않으므로 공간적인 질의 응답을 학습하는데 적절하지 않음
  • 본 논문에서는 첫번째로 CLIP 기반의 open-vocabulary 분류 모델을 사용하여 모든 이미지를 분류하고 적절하지 않은 것을 제외함

Object-centric Context Extraction from 2D Images

  • 2차원 이미지로부터 얻은 물체 중심의 공간적인 컨텍스트를 추출하기 위해 다수의 전문 모델 사용 → 영역 제안 (region proposal), 영역 캡셔닝, semantic segmentation
  • 픽셀 군집, open-vocabulary 캡션 설명 등으로 구성된 물체 중심의 특징 취득

Lifting 2D Contexts to 3D Contexts

  • 전통적으로 물체 탐지와 바운딩 박스 위치로 생성된 공간적인 VQA 데이터셋은 2차원 이미지 평면으로 제한되어 있음 → 깊이나 높이에 대한 정보를 알 수 없음
  • 본 논문에서는 깊이 추정 (depth estimation)을 통해 단안의 (monocular) 2차원 픽셀을 미터 단위의 3차원 포인트 클라우드로 변경
  • 또한 포인트 클라우드의 카메라 좌표계를 측지(geodetic) 좌표계로 정규화하는데, 이는 수평 표면(예: "바닥", "테이블 위") 분할 및 프레임 전송을 통해 이루어집니다. (원문: which is done by horizontal surface segmentation and frame transfer)
  • 본 논문이 처음으로 인터넷 규모의 이미지를 물체 중심의 3D 포인트 클라우드로 변환한 접근을 사용했으며 이를 사용하여 3D 공간 추론 문제를 위한 VQA 데이터를 임베딩

Ambiguity Resolution

  • 때때로 한 이미지 내에서 유사한 카테고리를 가지는 다수의 물체들이 존재할 수 있음 → 캡션 라벨에 있어 애매한 부분이 발생
  • 이런 물체들에 대해서 질문을 하기 전 참조 표현이 애매하지 않은지 확신할 필요가 있음
  • 이를 위해 두개의 핵심 디자인 선택을 수행
    • 케이크와 같이 고정되며 구체적이지 않은 카테고리를 사용하여 발생하는 공통된 물체 탐지를 피하기 위해 FlexCap를 채택 → 사용자가 설정가능한 물체 중심의 캡셔닝 접근
      • 물체의 설명을 구체적으로 생성 → ex. 집과 같이 생긴 케이크, 플라스틱 용기에 들어있는 컵케이크
    • 의미 중심의 (Semantic-oriented) 후처리 알고리즘 사용 → 물체의 캡션을 강화하거나 거절하여 애매함을 제거 (부록 A.2 참고)

2.2. Large-Scale Spatial Reasoning VQA Dataset

  • 공간적인 추론 QA 쌍이 이미지 내에서 두개 물체 이상을 포함하지 않도록 하고 다음의 두개의 질문의 카테고리를 고려하도록 함

Qualitative Questions

  • 공간적인 관계의 판단에 대한 질문을 수행
  • 예시
    • 두 물체 A와 B가 주어졌을 때 어떤 것이 가장 왼쪽에 있는가?
    • 물체 A가 물체 B보다 더 위에 있는가?
    • A와 B 중 어떤 것은 폭이 더 큰가?

Quantitative Questions

  • 숫자와 단위를 포함하는 더욱 구체적인 응답에 대한 질문을 수행
  • 예시
    • 물체 A가 물체 B보다 얼마나 더 왼쪽에 있는가?
    • 물체 A는 물체 B로부터 얼마나 떨어져있는가?
    • 카메라의 위치에 상대적으로 A가 B보다 얼마나 뒤에 위치해있는가?
  • 이런 질문들은 주요 질문의 템플릿을 사용하여 합성할 수 있고 물체의 캡션을 사용하여 이름의 칸을 채울 수 있음
  • 이런 질문에 대한 답은 본 논문의 저자들이 개발한 적절한 함수를 통해 얻을 수 있음 (관련된 물체의 segmented 포인트 클라우드와 3차원 바운딩 박스 사용)
  • 38개의 서로 다른 종류의 정량/정성적인 공간적 추론 질문을 선정
    • 각각 20개의 질문 템플릿과 10개의 응답 탬플릿으로 구성 (부록 A.3 참고)
    • 그리고 사람과 일치하는 반올림 메커니즘 추가 (부록 A.2 참고) → 사람과 같은 방식으로 숫자를 반올림하도록 설정
  • 그림 3을 참고하면 몇개의 응답, 질문 쌍의 예시를 살펴볼 수 있음
  • 총 1000만개의 이미지를 통해 2B개의 직접적인 공간적 추론 질의응답 데이터셋을 생성 (50%는 정량적, 50%는 정성적 데이터)

2.3. Learning Spatial Reasoning

Direct Spatial Reasoning

  • 공간적 추론은 다음과 같이 정의
    • 비전-언어 모델이 공간적인 문제에 대한 이미지 $I$와 쿼리 $Q$를 입력으로 하고 응답 $\mathcal{A}$를 출력
  • PaLM-E와 동일한 구조와 학습 과정 사용 (단 PaLM-E 대신 더 작은 PaLM 2-S를 백본으로 사용)
  • 기존 PaLM-E의 데이터와 본 논문의 데이터를 혼합하여 모델을 학습 → 5%의 토큰을 공간 추론 문제에 사용

Chain-of-Thought Spatial Reasoning

  • 다양한 실제 문제에서는 공간적인 추론을 위해 다수의 스텝이 요구될 수 있음
    • ex. 물체 A가 물체 B에 알맞게 들어갈 수 있는지 알기 위해서 사이즈와 제약조건에 대한 추론을 해야함
    • 공간적인 VLM은 자연어를 사용하므로 강력한 LLM과 결합되는 경우 이런 복잡한 공간적 추론을 수행할 수 있음
  • 해당 기법은 “Chain-of-Thought Spatial Reasoning”이라고 명명
    • 합성된 데이터는 오직 공간적 추론 질의를 포함하지만 VLM이 이를 조합하여 다수의 chain-of-throught 추론을 요구하는 복잡한 문제를 풀 수 있음
    • LLM으로는 text-davinchi-003을 사용하고 이것이 SpatialVLM과 통신하면서 chain-of-thought 프롬프팅을 수행하여 복잡한 문제를 해결
    • 그림 4를 참고하면 LLM이 복잡한 질문을 여러 단순한 질문들로 쪼개고 이를 VLM에 질의한 다음 해당 추론들을 결합하여 결론을 도출

3. Experiments

  • 다음의 질문들에 응답할 수 있도록 실험을 수행
    • Q1. 본 논문의 공간적인 VQA 데이터 생성과 학습 파이프라인이 VLM의 일반적인 공간 추론 능력을 향상 시킬 수 있는가? 그리고 얼마나 좋은 성능을 보이는가?
    • Q2. 노이지한 공간적인 VQA 데이터와 다른 학습 전략이 학습 성능에 얼마나 영향을 미치는가?
    • Q3. “직접적인” 공간 추론 능력을 장착한 VLM이 chain-of-thought 추론이나 플래닝 같은 새로운 능력을 가지는가?
  • 본 논문의 모델은 PaLM-E 학습셋과 공간적인 VQA 데이터셋을 혼합하여 학습
  • 공간적인 추론에서 VLM의 한계가 데이터 문제라는 것을 검증하기 위해서 최신의 VLM을 베이스라인으로 사용
    • GPT-4V: GPT-4V는 멀티모달 입력을 지원하는 GPT-4의 한 종류, 다양한 비전-언어 문제에서 최신의 성능을 보임
    • PaLI: 다양한 언어의 말뭉치로 학습된 인코더-디코더 VLM으로 캡셔닝과 시각적인 질의응답 문제에서 SOTA 성능을 보임 → PaLI-X 55B의 변형을 본 실험에 사용
    • PaLM-E: 인터넷 규모의 비전, 언어, 비전-언어 데이터, 로봇 데이터로 학습된 VLM → OKQVA 벤치마크와 로봇 플래닝 문제에서 최신의 성능을 보임 → PaLM-E 12B 모델 사용
    • PaLM 2-E: PaLM-E의 업데이트 버전으로 동일한 학습 과정을 가지지만 더 최신의 LLM 백본 사용, 본 논문에서 제안하는 알고리즘과 동일한 네트워크 구조와 학습 과정을 가지므로 데이터 생성의 효과를 알아보기 위해 사용하는 베이스라인
    • 마지막으로 LLaVA-1.5나 InstructBLIP과 같은 오픈소스 모델 사용

3.2. Spatial VQA Performance

  • VLM의 공간적인 추론 능력에 대한 스트레스 테스트를 위해 다양한 정량, 정성적인 VQA에 대해 사람이 라벨링한 벤치마크를 생성
  • 331개의 정성적인 공간 추론 VQA 쌍과 215개의 정량적인 공간 추론 VQA 쌍을 사용

Qualitative Spatial VQA

  • 해당 질문에 대해서는 사람의 응답과 VLM 출력 모두 자연어 형태
  • VLM의 성능 평가를 위해 사람 평가자가 해당 응답이 맞는지 결정
  • 각 VLM의 성공률은 표 1의 내용 참고

 

  • 이를 통해 본 논문의 SpatialVLM이 GPT-4V를 포함한 모든 베이스라인 중 가장 높은 정확도를 보이는 것을 알 수 있음
  • 두번째로 뛰어난 모델은 LLaVA-1.5인데 바운딩 박스와 이에 대한 캡션을 사용한 것이 원인으로 파악됨
  • LLaVA-1.5는 2차원의 공간적인 관계 추론에서도 좋은 성능을 보이지만 3차원 공간 추론에서는 약한 모습을 보임
  • 이를 통해 크고 높은 품질의 공간적인 추론 데이터가 공간 추론 능력에서 핵심적이라는 것을 알 수 있음

Quantitative Spatial VQA

  • 해당 질문들에 대해 사람의 응답과 VLM의 출력은 모두 자연어의 형태이며 거리, 높이 등을 그들이 선호하는 단위로 묘사
  • VLM의 성능 평가를 위해 2개의 평가 기준 사용
    • VLM이 정량적인 공간 추론 질문을 이해하고 숫자를 출력한 것에 대한 성공률
    • VLM이 출력한 거리가 실제 거리의 절반 ~ 2배 사이에 들어온 비율
  • 해당 결과를 표 2에서 살펴볼 수 있음
    • 다른 베이스라인들에 비해 큰 차이로 뛰어난 성능을 보임
    • 대부분의 VLM은 “~~사이의 거리를 말해줄 수 있어?” 같은 숫자를 포함한 질문에 대해 “아니오”라고 대답 → 이는 학습 데이터의 분포 때문으로 추정
    • SpatialVLM의 경우 카메라로부터 1-10미터 정도 거리에 대한 추정을 잘 수행

 

3.2. Effect of Spatial VQA Data to General VQA

  • 두번째 질문에 대한 대답: 공간적인 VQA 데이터의 많은 양을 함께 학습하면 다른 문제들에 대해서 성능이 저하되지 않을까?
  • 공간적인 VQA 데이터로 학습하지 않은 일반 PaLM 2-E와 본 논문의 모델을 일반적인 VQA 벤치마크로 비교 → 표 3 참고
  • OKVQA에서는 본 논문의 모델이 PaLM 2-E와 거의 유사한 성능을 보였으며 VQA v2에서는 약간 더 좋은 성능을 보임 (해당 데이터가 공간적인 추론 문제에 대한 질문을 포함)
  • 이를 통해 VLM이 공간적인 추론 문제의 분포에 대해 underfitting 되었다고 생각할 수 있으며 이는 공간적인 VQA 학습이 일반적인 VQA 성능에 나쁜 영향을 미치지 않음을 의미

 

3.3. Effect of Visual Transformer (ViT) Encoder in Spatial Reasoning

  • frozen ViT가 공간적인 추론을 수행할 수 있을 정도로 충분히 정보를 인코딩 할 수 있을까?
  • 이를 알아보기 위해 110k 학습 스텝에서 2개의 학습 실행을 진행 → 하나는 frozen ViT, 하나는 unfrozen ViT 사용
  • 두 모델 모두 70k 스텝만큼 학습을 수행했고 두 모델의 답변은 실제 값에 대한 응답의 범위의 비율로 평가 수행 → 표 4 참고
  • 정답의 절반 ~ 2배까지의 범위에 대한 비율 사용 → unfrozen ViT가 약간 더 좋은 성능을 보임
  • 이를 통해 사전학습된 ViT는 세밀한 공간 정보에 대해 손실이 있음을 가정할 수 있음

 

3.4. Effect of Noise Quantitative Spatial Answers

  • 공간적인 VQA 데이터의 정량적인 응답은 노이지하기 때문에 VLM이 이렇게 학습 데이터에 이렇게 노이즈를 포함한 데이터가 많아도 일반적으로 학습이 가능해야함
  • 이를 위해 거의 정확한 깊이 정보를 생성하는 depth 카메라를 사용하여 거의 정답에 가까운 깊이 정보를 제공하는 robotic manipulation dataset 사용 → 결과적으로 생성된 정량적인 응답이 더 정확해짐
  • 이 데이터를 사용하여 manipulation 도메인에서 세밀한 거리 추정 능력이 향상될 수 있음을 확인 → 그림 5 참고
  • 노이지한 데이터가 VLM 학습에 얼마나 영향을 미칠 수 있는지 알아보기 위해 정확한 manipulation의 공간적인 VQA 데이터에 Gaussian 노이즈를 추가하고 이 노이즈의 단계를 다양하게 하며 다수의 데이터셋 생성
  • 노이지 한 데이터를 통해 VLM을 학습하고 사람이 라벨링한 정량적인 공간 VQA 벤치마크로 평가 수행
  • 표 5를 확인하면 Gaussian 노이즈의 표준편차가 얼마나 다른가가 정량적인 공간 VQA에 대한 VLM의 성능에 어떻게 영향을 미치는지 확인할 수 있음
  • Manipulation VQA 데이터셋의 물체들은 1m 내에 있음 → 평균 제곱 오차 (Mean Squared Error, MSE)를 평가 기준으로 추가
  • 또한 절반-2배 확률 또한 평가 기준으로 사용
  • 해당 결과를 통해 다른 노이즈 단계의 데이터셋으로 학습된 VLM들이 유사한 공간 추론 정확도를 가지는 것을 알 수 있음 → 노이즈가 포함된 데이터에 대해서도 일반적인 공간 추론 능력을 학습

 

3.5. Spatial Reasoning Unlocks Novel Applications

VLM as a Dense Reward Annotator

  • VLM의 가장 중요한 적용분야는 로봇 분야 → VLM이나 LLM이 로봇 문제에 대해 자연어 보상 annotator나 성공 탐지 등의 목적으로 사용될 수 있으며 이는 유용한 제어 정책을 얻는데 사용될 수 있음
  • 그러나 보상 annotation 능력은 공간적인 인지가 없으면 능력이 제한될 수 있음
  • SpatialVLM이 이미지로부터 정량적으로 거리나 크기의 추정이 가능하므로 이를 보상 annotator로 사용 가능
  • 실제 로봇 실험 수행
    • 자연어로 문제를 설명하고 SpatialVLM에게 경로의 각 프레임에 대해 보상의 annotation을 수행하게 함
    • 그림 6에서 각 점은 물체의 위치를 나타내며 각 색은 annotated 보상을 의미 → 로봇이 특정 목표에 대해 진행하면 보상이 점진적으로 증가하는 것을 확인할 수 있음 → SpatialVLM이 보상에 대한 annotator로 사용될 수 있음을 보임 

Chain-of-Thought Spatial Reasoning

  • VLM이 여러 스텝의 추론을 수행하는데 사용될 수 있을지 확인 → 기초적인 공간적 질문 응답 능력 향상 → 그림 1, 4를 통해 몇가지 예시를 확인할 수 있음
  • GPT-4와 같이 성능이 좋은 언어 모델에 SpatialVLM과 같은 공간 추론 모듈이 추가되면 복잡한 공간 추론 문제에도 사용될 수 있을 것으로 생각됨

4. Conclusion

  • 본 논문에서는 VLM에 공간적인 추론 능력을 더하는 연구를 수행 → 인터넷 규모의 실제 이미지들로부터 3D 공간 추론 VQA를 자동으로 생성하는 프레임워크 제안
  • VLM 학습을 위한 다양한 디자인 선택을 기반으로 ablation 수행 → 다수의 노이지 데이터, ViT unfreezing 등의 성능 비교
  • SpatialVLM은 공간적인 추론 요소를 위한 chain-of-thought 추론으로 확장될 수 있음을 보임
  • SpatialVLM은 또한 로봇 문제에서의 유용성을 보임 → 3D 공간 인지 VLM은 로봇 문제를 위한 보상 annotator로 사용 가능
      •