Kimera

About_work·2024년 7월 24일
0

global mapper

목록 보기
11/37

-1. 그림들

-1.1.

  • (a) 3D 동적 장면 그래프(DSG):
    • 밀집된 3D 모델(예: metric-semantic mesh) -> 추상화 -> 더 높은 수준의 공간 개념(예: 객체, 에이전트, 장소, 방)
    • 이들의 시공간 관계(예: "에이전트 A는 시간 t에 방 B에 있다")를 모델링하는 계층적 표현
  • Kimera는 visual-inertial data를 통해 DSG를 재구성하는 최초의 공간 인식 엔진
    • (a) 장소, 구조물(예: 벽), 방을 분할
    • (b) 매우 혼잡한 환경에서도 견고
    • (c) 인간 에이전트의 밀집된 메쉬 모델을 실시간으로 추적(track)
    • (d) 형태가 알려지지 않은 객체의 중심 및 경계 상자를 추정
    • (e) CAD 모델이 제공된 객체의 3D 자세를 추정
    • 장소와 그 연결성을 그래프로 나타낸 것.
    • (a) (Oleynikova et al. 2018)이 생성한 스켈레톤(장소와 토폴로지) (측면도);
    • (b) 우리 접근 방식으로 생성된 방 구문 분석 (상단 뷰);
    • (c) 확대된 뷰; 빨간색 엣지는 서로 다른 방을 연결
  • Kimera-Core는 실시간 기하학-의미적 SLAM을 위한 오픈 소스 라이브러리
  • 이 라이브러리는
    • (a)
      • IMU 속도로 visual-inertial 상태 추정 (Kimera-VIO)
      • 전역적으로 일관되고 외란에 강한 trajectory 추정 (Kimera-RPGO)을 제공
    • (b) low-latency local mesh of the scene를 계산 (Kimera-Mesher)
    • (c) semantically annotated 3D mesh(Kimera-Semantics) 를 구축
      • global consistency을 위해 최적화될 수 있고, 실제 모델을 정확하게 반영 (Kimera-PGMO)
    • (d) ground truth

  • Kimera-Core의 아키텍처.
    • Kimera-Core는 스테레오 이미지(또는 RGB-D)와 IMU 데이터를 입력으로 사용하며(왼쪽에 표시),
    • (a) 자세 추정과 (b-e) 여러 metric-semantic reconstruction을 출력
    • Kimera-Core는 네 개의 주요 모듈로 구성됩니다:
      • Kimera-VIO,
        • IMU 속도로 visual-inertial 상태 추정
      • Kimera-PGMO(또는 Kimera-RPGO),
        • 전역적으로 일관되고 외란에 강한 trajectory 추정
      • Kimera-Mesher,
        • low-latency local mesh of the scene
      • Kimera-Semantics.
        • semantically annotated 3D mesh

Kimera-VIO 모듈 상세 설명

  • Kimera-VIO 모듈은 시각-관성 오도메트리(Visual-Inertial Odometry)를 위한 시스템
    • 이 모듈은 IMU와 스테레오 이미지 데이터를 입력으로 받아, 로봇의 위치와 자세를 추정

입력 (Input)

  1. 스테레오 이미지 (Stereo Images): 두 개의 카메라로 촬영된 이미지 쌍으로, 환경의 깊이 정보를 제공하여 3D 공간에서 물체의 위치를 파악하는 데 사용됩니다.
  2. IMU 데이터 (IMU Data): 가속도계와 자이로스코프에서 측정된 관성 데이터로, 로봇의 가속도와 각속도를 제공

구성 요소

  1. VIO Front-end

    • 기능:
      • 이미지 피처(feature)를 추출하고 추적하는 역할
      • 이미지 피처는 이미지에서 식별 가능한 지점(코너, 엣지 등)
      • 연속된 프레임에서 동일한 지점을 추적하여 움직임을 파악
    • 출력:
      • 피처 트랙(feature tracks)으로, 이는 이미지 시퀀스에서 추적된 특징점의 궤적
      • 2D Mesh
        • VIO Front-end에서 추출한 피처와 그들의 상대적인 위치 관계를 바탕으로 생성된 2차원 메쉬
        • 이 메쉬는 각 프레임에서의 피처 포인트들을 연결하여, 로컬 환경의 기하학적 구조를 나타냄
        • 주로 피처 포인트 간의 관계를 시각적으로 보여주기 위해 사용되며,
          • 3D 메쉬를 구성하기 위한 초기 단계로 볼 수 있음
        • 연결 관계:
          • VIO Front-end는 추출한 피처 포인트를 사용하여 2D Mesh를 생성하며,
          • 이는 이후 단계에서 보다 정교한 3D 메쉬로 확장
  2. Feature Tracks Preintegrated IMU

    • 기능:
      • VIO Front-end에서 생성된 피처 트랙과 IMU 데이터를 결합하여 사전 통합(preintegration)된 데이터를 생성
      • 이 과정에서는 IMU 데이터를 시간에 따라 통합하여, 상대적인 위치 변화와 자세 변화를 계산
    • 출력: 피처 트랙과 사전 통합된 IMU 데이터를 포함한 결합 정보.
  3. VIO Back-end

    • 기능:
      • VIO Front-end와 Preintegrated IMU에서 제공된 데이터를 사용하여 최종적인 위치와 자세를 추정
      • 이 과정은 주로 비주얼-관성 데이터를 결합하여 전역적으로 일관된 경로를 계산하는 것을 포함
      • 이 단계에서는 피처 트랙과 IMU 데이터를 통합하여 최적화된 경로를 계산하고,
      • 정확한 포즈(pose) 추정을 수행
    • 출력:
      • 로봇 또는 장치의 3D 포즈(위치 및 자세) 추정 값.
      • 3D Landmarks
        • VIO Back-end에서 추정된 3차원 공간상의 특정 지점들
        • 이러한 랜드마크는 로컬 및 전역 좌표계에서 중요한 참조 지점으로 사용
          • 로봇이 환경 내에서 자신의 위치를 파악하는 데 도움을 줌
        • 랜드마크는 주로 환경의 고유한 특징점
          • 다른 위치 추정 및 매핑 알고리즘에서 일관되게 식별될 수 있는 지점을 의미

Loop Detection, Loop Closures, Optimize Mesh? 및 Kimera-PGMO의 작동 원리

전체 작동 과정 요약

  1. Loop Detection:
  • 현재 위치가 이전에 방문한 장소와 일치하는지 감지 (stereo image을 이용)
  1. Loop Closures:
  • 감지된 loop를 사용하여, 로봇의 경로와 지도를 최적화
  1. Optimize Mesh?:
  • Loop Closure 과정에서의 변경 사항을 바탕으로, 3D 메쉬의 최적화 필요성을 판단.
  1. Kimera-PGMO:
  • 포즈 그래프와 3D 메쉬를 동시에 최적화하여 전체 시스템의 일관성과 정확성을 보장

1. Loop Detection

  • 기능:
    • Loop Detection은 로봇이나 장치가 이전에 방문한 위치로 다시 돌아왔을 때 이를 인식하는 과정
    • 이는 위치 추정 및 지도의 정확성을 높이는 데 중요한 역할
  • 작동 방식:
    • Loop Detection은 주로 현재 관찰된 특징점(feature points)이나 위치이전에 관찰된 것들을 비교하여 유사성을 찾음
    • 만약 현재 위치와 이전 위치 간의 유사성이 높다면, 이를 loop로 인식
  • 입력 및 출력:
    • 현재 프레임에서 추출된 특징점 데이터와 이전 프레임의 특징점 데이터를 비교하여 loop를 감지
    • 감지된 loop 정보는 이후의 최적화 과정에서 사용됩니다.

2. Loop Closures

  • 기능:
    • Loop Closure는 감지된 loop를 이용하여 전체 경로와 지도를 최적화하는 과정
    • 이는 누적된 위치 추정 오차를 줄이고, 전체 시스템의 정확성을 높이는 데 도움을 줌
  • 작동 방식:
    • Loop Closure는 감지된 loop를 기반으로, 로봇의 경로와 지도의 일관성을 보장하기 위해 최적화 알고리즘을 실행
    • 이 과정에서는 일반적으로 그래프 최적화 기법이 사용
  • 입력 및 출력:
    • Loop Detection에서 감지된 loop 정보를 입력으로 받아,
    • 경로와 지도를 최적화하여 출력

3. Optimize Mesh?

  • 기능:
    • 이 단계는 loop closure 정보를 이용하여 3D 메쉬를 최적화할 필요가 있는지 여부를 결정
  • 작동 방식:
    • Loop Closure 과정에서 경로가 수정되면, 이에 따라 메쉬 또한 수정되어야 할 필요가 있습니다.
    • 이 단계에서는 이러한 필요성을 판단
  • 입력 및 출력:
    • Loop Closure 과정에서의 변경 사항을 입력으로 받아, 메쉬 최적화 여부를 결정
    • 최적화가 필요하다고 판단되면, Kimera-PGMO로 데이터를 전달

4. Kimera-PGMO (Pose-Graph & Mesh Optimization)

  • 기능:
    • Kimera-PGMO는 포즈 그래프와 메쉬를 함께 최적화하는 모듈
    • 이는 로봇의 위치 추정3D 메쉬의 일관성을 보장
  • 작동 방식:
    • Kimera-PGMO: 포즈 그래프 최적화메쉬 최적화를 동시에 수행
      • 포즈 그래프 최적화:
        • 로봇의 위치와 자세를 조정하여 전체 경로의 일관성을 높임
        • 로봇의 위치와 자세 데이터를 그래프 구조로 표현하고,
          • 그래프 최적화 알고리즘을 사용하여 위치 오차를 최소화
      • 메쉬 최적화:
        • 이 조정된 포즈를 반영하여 3D 메쉬를 수정
          • 최적화된 포즈 데이터를 반영하여 3D 메쉬의 기하학적 일관성을 유지하고,
          • 세밀한 부분까지 정확하게 재구성
  • 입력 및 출력:
    • Loop Closure에서 제공된 포즈 수정 정보를 입력으로 받아,
    • 포즈 그래프와 3D 메쉬를 최적화한 후,
    • 최적화된 메쉬와 포즈 데이터를 출력

Figure 7: Kimera-RPGO의 역할과 작동 원리

  • Figure 7은 Kimera-RPGO 모듈의 기능과 작동 방식을 설명하는 그림
    • Pose-Graph Optimization
  • 이 모듈은 주로 루프 클로저(loop closures)를 감지하고 전역적으로 일관된 경로를 추정하는 역할
  • Kimera-PGMO와는 달리, Kimera-RPGO는 3D 메쉬를 최적화하지 않음

그림 설명

  1. VIO poses:

    • 기호: 빨간색 삼각형으로 표시.
    • 의미:
      • VIO(Visual-Inertial Odometry)에서 추정된 로봇의 위치와 자세(pose)를 나타냄
      • 이는 시각 및 관성 데이터를 사용하여 연속된 프레임 간의 위치 변화를 계산한 결과
  2. RPGO poses:

    • 기호: 파란색 화살표로 표시.
    • 의미:
      • Kimera-RPGO(Pose-Graph Optimization)에서 최적화된 포즈를 나타냄
      • 이는 루프 클로저 정보를 반영하여 VIO 포즈의 누적된 오류를 수정한 결과
  3. Odometry:

    • 기호: 빨간색 선으로 표시.
    • 의미:
      • VIO에서 추정된 연속된 위치 변화를 연결한 경로
      • 이는 로봇이 이동한 궤적을 나타냅니다.
  4. Loop closures:

    • 기호: 파란색 점선으로 표시.
    • 의미:
      • 루프 클로저는 로봇이 이전에 방문했던 위치로 다시 돌아왔을 때를 나타냅니다.
      • 루프 클로저는 경로의 누적 오차를 줄이기 위해 중요한 정보입니다.

Kimera-RPGO의 기능

  1. Visual Loop Closures Detection:

    • 기능: Kimera-RPGO는 시각 정보를 사용하여 루프 클로저를 감지합니다.
      • 이는 현재 관찰된 장면과 이전에 관찰된 장면 간의 유사성을 비교하여 이루어짐
    • 중요성:
      • 루프 클로저를 감지함으로써, 로봇은 현재 위치와 과거 위치 간의 관계를 인식할 수 있습니다.
      • 이는 전체 경로의 정확성을 높이는 데 매우 중요합니다.
  2. Rejection of Spurious Loop Closures:

    • 기능:
      • Kimera-RPGO는 잘못된 루프 클로저를 걸러냄
      • 잘못된 루프 클로저는 로봇의 경로를 왜곡시킬 수 있기 때문에, 이를 정확하게 필터링하는 것이 중요
    • 중요성:
      • 잘못된 루프 클로저를 제거함으로써, 경로 최적화의 정확성을 보장할 수 있음
  3. Estimation of Globally Consistent Trajectory:

    • 기능: Kimera-RPGO는 감지된 루프 클로저 정보를 사용하여 전역적으로 일관된 경로를 추정합니다. 이는 그래프 최적화 알고리즘을 통해 이루어짐

0. Abstract

  • 인간은 자신이 움직이는 환경에 대한 복잡한 정신 모델을 형성할 수 있습니다.
    • 이 정신 모델은 장면의 기하학적 및 의미적 측면을 포착하며,
    • 여러 수준의 추상화 (예: 물체, 방, 건물)에서 환경을 설명하고,
    • 정적 및 동적 엔티티와 그 관계 (예: 사람이 특정 시간에 방 안에 있음)를 포함
  • 이에 반해, 현재 로봇의 내부 표현은 환경에 대한 부분적이고 단편적인 이해를 제공하는데,
    • 이는 희소 또는 밀집된 기하학적 원시 형식(예: 점, 선, 평면, 보젤)이나
    • 객체의 집합 형태로 제공됨
  • 이 논문은 3D Dynamic Scene Graphs(DSG)라는 새로운 표현 방식을 도입하여 로봇과 인간의 인식 차이를 줄이고자 합니다.
    • DSG는 계층화된 그래프로,
      • 노드는 다양한 추상화 수준에서 공간 개념을 나타내고,
      • 엣지: 노드 간의 시공간 관계를 나타냄

  • 두 번째 기여는 Kimera라는 최초의
    • 완전 자동 방식으로 visual-inertial data를 통해 DSG를 구축하는 방법을 제시하는 것
  • Kimera는 아래들을 위한 정확한 알고리즘을 포함
    • visual-inertial SLAM,
    • metric-semantic 3D reconstruction,
    • object localization,
    • human pose and shape estimation,
    • scene parsing
  • 세 번째 기여: 실생활 데이터셋과 사진 현실적 시뮬레이션에서 Kimera의 포괄적인 평가
    • 혼잡한 실내 및 실외 장면을 시뮬레이션하는 새로운 데이터셋인 uHumans2도 포함
  • 평가 결과, Kimera는
    • visual-inertial SLAM에서 경쟁력 있는 성능을 보임
    • 실시간으로 정확한 3D metric-semantic 메쉬 모델을 추정
    • 수십 개의 객체와 인간이 있는 복잡한 실내 환경의 DSG를 몇 분 내에 구축
  • 마지막 기여: real-time hierarchical semantic path-planning을 위해 DSG를 사용하는 방법을 시연하는 것
  • Kimera의 핵심 모듈은 오픈 소스로 공개되었습니다.

profile
새로운 것이 들어오면 이미 있는 것과 충돌을 시도하라.

0개의 댓글