Drawing (AI)/Paper review

[논문 리뷰] ConceptGraphs: Open-Vocabulary 3D Scene Graphs for Perception and Planning

생각하는 이상훈 2025. 1. 9. 01:30
728x90

Abstract

ICRA 2024

 

ConceptGraphs는 Open-Vocabulary 3D Scene Graph를 생성하는 시스템으로 다음 세 가지 주요 단계를 통해 구현되었다.

1. 객체 기반 매핑 시스템 설계: Class-agnostic Instance Mask를 사용해 객체를 식별하고, 이를 3D 공간으로 결합한다.

2. 언어 태그 해석 및 추출: 대규모 Vision-Language models을 활용해 각 객체에 대해 언어 태그를 할당한다.

3. 객체 간 공간적 관계 그래프 생성: 대규모 언어 모델의 사전 지식을 활용해 객체 간 관계를 그래프 구조로 표현한다.


Introduction

Scene Representation은 로봇이 Mobility와 Manipulation 같은 다양한 작업을 계획하는 데 필수적인 설계 요소이다. 로봇은 탑재된 센서를 통해 환경을 탐색하며 이러한 표현을 실시간으로 구축해야 한다.

효과적으로 복잡한 작업을 수행하기 위해 이러한 표현은 다음과 같은 특성을 가져야 한다.

 

확장성: 장면의 크기와 로봇 작업 시간이 늘어나도 유지가 용이해야 함.

Open-vocabulary: 학습 중 정의된 개념에 제한되지 않고 추론 중 새로운 객체와 개념을 처리할 수 있어야 함.

유연한 세부 수준: 이동성과 조작을 위한 밀도 높은 기하학적 정보부터 작업 계획에 필요한 추상적 의미 정보까지 다양한 작업 수준을 지원해야 함.

 

이를 위해 ConceptGraphs는 로봇의 인식과 계획을 위한 3D 장면 표현 방식을 제안한다.


Related Works

  1. Closed vocabulary 기반 3D semantic mapping:
    • 기존 연구는 SLAM(Simultaneous Localization and Mapping) 또는 SfM(Structure-from-Motion)을 사용해 3D 지도를 복원하는 데 초점을 맞췄다.
    • 딥러닝 기반 object detection과 segmentaion을 통해 3D scene representaion을 생성했으나 훈련된 데이터셋에 포함된 객체 범주에만 한정되어 활용도가 낮았다.
  2. Foundation model을 활용한 3D 표현:
    • 최근에는 대규모 Vision-Language 모델을 활용해 3D 표현을 생성하는 연구가 활발히 진행되었다.
    • 언어 기반 객체 정렬, 3D 추론, 로봇 조작, 내비게이션 등에서 좋은 성과를 보였으나 메모리 비효율과 동적 업데이트의 어려움이 문제로 지적되었다.
  3. 3D Scene Graphs:
    • 3D Scene Graph는 객체를 노드로 객체 간의 관계를 엣지로 표현하여 장면을 간결하고 효율적으로 나타낸다.
    • 그러나 기존 연구는 Closed vocabulary 환경에 국한되어 다양한 작업에 적용하기 어렵다.

Method

Object-based 3D Mapping

1. Object-centric 3D Representation

  • ConceptGraphs는 입력된 RGB-D observation sequence를 처리하여 3D scene graph를 생성한다.
    • Ot: Objects (nodes)의 집합.
    • Et: Objects 간 관계를 나타내는 edges의 집합.
  • 각 object oj는 다음 두 가지로 표현된다.
    1. 3D point cloud: poj
    2. Semantic feature vector: foj
  • 이 3D map은 실시간으로 업데이트되며, 새로운 RGB-D frame이 들어올 때마다 기존 object set 새 데이터를 추가하거나 새로운 object를 생성한다.

2. Class-agnostic 2D Segmentation

  • 입력된 RGB frame Irgb를 class-agnostic segmentation model에 통과시켜 candidate object masks를 생성한다.
  • 생성된 mask는 visual feature extractor ex)CLIP, DINO를 통해 semantic feature vector로 변환된다.
  • 각 masked region은 3D로 projection되고 DBSCAN clustering을 통해 noise가 제거된 후 point cloud 및 semantic feature vector로 변환된다.

3. Object Association

새로 탐지된 object는 기존 objects와 비교하여 다음 두 가지 유사도를 계산한다.

  1. Geometric similarity:
    • point clouds 간 최근접 점(nearest neighbors)의 비율.
    • 거리 임계값 이내에 있는 점의 비율로 계산.
  2. Semantic similarity:
    • sementic feature간의 normalized cosine similarity.

최종 유사도는 다음과 같이 정의된다

  • Greedy Assignment를 통해 새로 탐지된 object를 기존 object 중 유사도가 가장 높은 것과 매칭한다.
  • 만약 유사도가 특정 임계값을 넘지 않으면 새로운 object로 추가된다.

4. Object Fusion

  • 탐지된 object가 기존 object와 연관된 경우 다음을 업데이트한다:
    • Semantic feature vector

      는 해당 object에 연관된 detections의 수이다.
    • Point cloud
      poj=pt,i∪poj로 병합한 후 중복 점을 제거하기 위해 downsampling을 수행한다.

 

5. Node Captioning

  • 모든 이미지 시퀀스를 처리한 후 vision-language model을 사용하여 각 object에 대해 text captions를 생성한다.
    1. Associated image crops에서 상위 10개의 뷰를 선택해 rough captions 생성.
    2. Language model을 사용하여 initial captions를 요약해 coherent하고 accurate한 final caption cj 생성.

 

B. Scene Graph Generation

1. Spatial Relationships (Edges) 추론

  • 3D objects를 기반으로 각 객체 간 spatial relationships를 추론해 edges를 생성한다.
    1. 각 객체 쌍에 대해 3D bounding box IoU를 계산하여 potential edges를 평가한다.
    2. Minimum Spanning Tree (MST) 알고리즘을 통해 불필요한 edges를 제거해 refined edges를 생성한다.

2. Semantic Relationships 추가

  • 각 edge에 대해:
    • 해당 object pair의 captions와 3D location을 LLM에 입력.
    • LLM은 관계 유형(예: "a on b", "b in a")과 근거(reasoning)를 출력.
    • 언어 모델은 추가적으로 "a backpack may be stored in a closet"와 같은 확장된 관계를 생성할 수 있다.

 

C. Robotic Task Planning through LLMs

1. Scene Graph와 LLM 통합

  • 각 object의 정보를 JSON 포맷으로 변환:
    • 3D location (bounding box), node caption 등 포함.
  • Natural language query 입력 시:
    • LLM이 가장 관련 있는 object를 식별.
    • 해당 object의 3D pose를 downstream task (e.g., grasping, navigation)에 전달.

2. Open-vocabulary Task 수행

  • Scene graph를 통해 로봇이 semantic properties를 활용하여 다양한 복잡한 작업을 수행할 수 있다.

 

D. Implementation Details

1. 모듈화된 설계

  • ConceptGraphs는 다양한 open/closed-vocabulary segmentation model, LVLM, LLM과 호환 가능합니다:
    • Segmentation model: Segment Anything (SAM).
    • Feature extractor: CLIP.
    • Vision-language model: LLaVA.
    • Language model: GPT-4.

2. System Variant (ConceptGraphs-Detector)

  • ConceptGraphs의 변형 시스템(CG-D)은 RAM 및 Grounding DINO를 사용해 object bounding boxes를 생성하고, 배경 객체를 별도로 병합 처리한다.

Experiment

ackal 로봇이 실험실 환경에서 ConceptGraphs를 활용해 사용자 쿼리에 응답한다. 먼저 LLM에 쿼리를 보내 사용자 쿼리에 가장 적합한 객체를 식별한 뒤, LVLM을 사용해 대상 객체가 예상 위치에 있는지 확인한다. 예상 위치에서 객체를 발견하지 못하면, LLM에 다시 쿼리를 보내 누락된 객체가 있을 가능성이 높은 위치나 컨테이너를 찾는다. (파란색) "우주 파티에 입을 무언가"라는 요청을 받았을 때, Jackal은 NASA 로고가 있는 회색 셔츠를 찾으려고 시도한다. 예상 위치에서 셔츠를 발견하지 못하자, LLM은 셔츠가 세탁물 가방에 있을 가능성이 있다고 추론한다. (빨간색) "Ronald McDonald 의상에 어울릴 신발"이라는 요청을 받은 후, Jackal은 빨간색과 흰색 스니커즈를 찾으려고 시도한다. 로봇은 초기 지도에서 스니커즈가 있던 위치에서 발견하지 못한 후, LLM이 신발장으로 이동하라고 지시한다.


728x90