RTG-SLAM

Peng 2024 · 논문

한 줄 요약 — 실시간 가우시안 SLAM(SIGGRAPH 2024)으로, 컴팩트한 이진 불투명도 가우시안 표현, 서펠 방식의 깊이 렌더링, 불안정한 가우시안만 최적화하고 그 픽셀만 렌더링하는 즉석 방식을 통해 3DGS 재구성을 대규모 장면으로 확장한다.

문제

초기 3DGS SLAM 시스템은 매 프레임 모든 가우시안을 최적화하고 모든 픽셀을 렌더링했기 때문에 비용이 지도 크기에 비례해 증가했다 — 당시 가장 빠른 동시대 가우시안 SLAM도 합성 데이터셋 Replica에서 8.34 fps에 그쳤고, 완전한 실제 대규모 장면을 보여준 사례는 없었다. 또한 기본 3DGS는 표면을 여러 개의 겹치는 반투명 가우시안으로 맞추기 때문에 메모리와 연산이 낭비된다. RTG-SLAM은 “가우시안 스플래팅을 이용한 RGBD 카메라 기반 대규모 환경 실시간 3D 재구성 시스템”으로, 프레임당 비용이 지도 크기가 아니라 변화량을 따라가도록 설계되었다.

방법 및 아키텍처

각 가우시안은 위치 pi\mathbf{p}_i, 공분산 Σi\boldsymbol{\Sigma}_i(스케일 si\mathbf{s}_i + 쿼터니언 qi\mathbf{q}_i), 불투명도 αi\alpha_i, SH 계수를 가지며, 여기에 더해 법선 ni\mathbf{n}_i, 신뢰도 카운트 ηi\eta_i, 타임스탬프 tit_i를 갖는 타원 디스크(서펠)로도 취급된다. 불투명도는 생성 시점에 고정된다: 불투명(α=0.99\alpha=0.99, 표면과 주된 색상을 맞춤) 또는 거의 투명(α=0.1\alpha=0.1, 잔여 색상을 맞춤) — 깊은 알파 합성 스택이 필요하지 않다.

pGjr,r=(RgK1u˙)θu+tg,θu=(pjrtg)njr(RgK1u˙)njr,\mathbf{p}_{G_{j}^{\mathbf{r}},\mathbf{r}}=(\mathbf{R}_{g}\mathbf{K}^{-1}\dot{\mathbf{u}})\,\theta_{\mathbf{u}}+\mathbf{t}_{g},\qquad \theta_{\mathbf{u}}=\frac{(\mathbf{p}_{j}^{\mathbf{r}}-\mathbf{t}_{g})\cdot\mathbf{n}_{j}^{\mathbf{r}}}{(\mathbf{R}_{g}\mathbf{K}^{-1}\dot{\mathbf{u}})\cdot\mathbf{n}_{j}^{\mathbf{r}}},

이는 완전히 미분 가능하며, 하나의 불투명 가우시안만으로도 지역 표면 패치를 단독으로 맞출 수 있게 한다. 법선 및 인덱스 지도도 같은 패스에서 함께 나온다.

실험 결과

i9-13900KF + RTX 4090에서 Azure Kinect를 이용한 실시간 스캐닝 기준:

SLAM에서의 의미

RTG-SLAM은 가우시안 SLAM의 계산량을 지도 크기가 아니라 변화한 부분에 비례하도록 만드는 방법을 보여주었다 — 이는 지역 BA와 공가시성 윈도우가 고전적 대규모 SLAM을 다룰 만하게 만들었던 것과 같은 통찰을, KinectFusion 방식의 ICP 추적과 서펠 방식의 신뢰도 관리를 통해 스플래팅 시대로 옮겨온 것이다. RTG-SLAM의 안정/불안정 상태 관리와 디스크 기반 깊이 렌더링은 실제 건물과 실제 로봇으로 가우시안 SLAM을 확장하기 위한 참조 설계가 되었다.

관련 문서