16. MAXST Mono SLAM 소개

MAXST_Tech
5 min readAug 28, 2023

--

안녕하세요, MAXST CTO 조규성입니다.

이번 글을 통해서 MAXST Mono SLAM 기술을 설명하고자 합니다.

Visual SLAM 기술은 카메라 영상을 이용해서 구동하는 SLAM 기술입니다. Visual SLAM은 코너(Corner)와 엣지(Edge) 같은 영상 특징들을 이용하기 때문에 영상 특징이 거의 없는 환경에서는 동작하기 어렵습니다. 빠른 움직임이 발생할 경우에도 모션 블러(Motion Blur)로 인해 영상 특징이 손실되어 동작이 어렵습니다. 카메라 한 대를 사용하여 Visual SLAM을 구현할 경우 제자리 회전(On-the-spot Rotation)에 가까운 카메라 모션이 발생하면 삼각 측량(Triangulation)이 불가능하기 때문에 SLAM 동작이 실패하는 경우가 많습니다.

그림 1. MAXST Visual Mono Inertial SLAM 구동 화면

MAXST는 카메라 영상과 IMU센서 데이터를 단단히 결합(Tightly Coupled)한 Visual Mono Inertial SLAM을 개발하여 영상 특징에 전적으로 의존하는 Visual SLAM의 단점을 극복하였습니다. 또한 이 SLAM 기술은 모바일 환경에서 고속으로 동작하도록 연산 최적화(Optimization)가 되어 있습니다. 현재 스마트폰과 AR 글래스, 로봇, 드론에는 카메라와 IMU 센서가 장착되어 있어서 대부분의 모바일 기기에 탑재 가능합니다.

Video 1. MAXST Sensor-Fusion SLAM 동작 비디오

안드로이드 환경이라고 가정한다면 MAXST Mono SLAM는 500Hz의 속도로 IMU 센서 데이터를 입력 받고 30Hz의 속도로 카메라 영상 데이터를 입력 받습니다. 이 두 센서 데이터는 동기화된 Timestamp를 가지고 있어야 합니다. 우선 시간적으로 인접한 두 카메라 영상에 대해서 옵티컬 플로우(Optical Flow) 수행을 통해 특징점을 2차원적으로 추적합니다. 만약 추적에 성공한 특징점이 부족해지면 기존 추적하던 특징점 주변 영역들을 마스킹하고 그 외 영역에서 특징점을 추출해서 확충합니다. 인접한 두 영상 사이에 입력된 IMU 센서 데이터를 사전 적분(pre-integration) 합니다. 초기화 단계에서는 특징점들의 이동량으로부터 삼각 측량(Triangulation)을 수행하여 초기 공간맵을 구성합니다. 공간맵의 중력 방향과 스케일 정보는 센서 데이터 사전 적분값과 일치시켜 계산합니다. 초기화 단계를 거치면 중력 방향과 실스케일이 맞는 초기 공간맵이 생성됩니다.

추적 단계에서는 공간맵과 현재 영상의 특징점과의 매칭 관계를 이용하여 6 DOF 자세를 계산합니다. 자세 정확도를 높이기 위해서 현재 영상과 소수의 최근 키프레임이 참여하는 로컬 Bundle Adjustment를 수행합니다. 이 결과 계산된 현재 영상의 6 DOF 자세는 AR 렌더링에 활용됩니다. 이 과정을 프론트엔드(front-end) 프로세스라 부르며 카메라 영상의 입력 속도와 렌더링 속도에 맞춰 동작해야 하므로 고속으로 수행됩니다.

그림 2. MAXST Visual Mono Inertial SLAM

공간맵의 정확도를 높이기 위해서 더 많은 키프레임을 대상으로 글로벌 Bundle Adjustment를 수행합니다. 이 과정은 시간이 많이 소요되기 때문에 실시간 추적이 일어나는 프론트엔드 스레드(thread)가 아닌 다른 스레드에서 수행되며, 이를 백엔드(back-end) 프로세스라 부릅니다. 그럼에도 오랜 시간 SLAM을 동작시키면 필연적으로 드리프트(drift) 현상이 발생합니다. 드리프트 현상은 루프 클로징(Loop-Closing) 과정을 수행해서 해결합니다. 루프 클로징을 위해서는 장면 인식(Scene Recognition)이 필요합니다. 공간맵을 구성하는 키프레임에 대해서 MAXST 모바일 디스크립터를 추출하고 개별 디스크립터를 Visual Word로 변환합니다. 모든 키프레임을 Bag of Visual Word로 표현하고 최종적으로 키프레임과 Visual Word 간에 역색인(Inverse Index)을 생성합니다. 백엔드 프로세스에 입력된 마지막 키프레임에 대해 이미지 리트리벌(Image Retrieval)과 P3P를 수행하여 과거 유사한 키프레임이 있는지 탐색을 합니다. 즉, 현재 지점이 과거 방문했던 장소인지를 탐색하는 과정입니다. 만약 키프레임 탐색에 성공하면 드리프트로 발생한 모션 차이만큼 카메라 경로를 연속적으로 보정합니다.

다음 편에서는 MAXST VPS에 대해서 알아보도록 하겠습니다.

감사합니다.

--

--

MAXST_Tech

MAXST has world-class spatial computing technology. In line with the global AR market, we will introduce MAXST's technology in depth.