ElasticFusion

Whelan 2015 · 논문

한 줄 요약 — 루프 클로저 시점에 비강체 탄성 변형을 지도에 직접 적용함으로써 포즈 그래프 없이 전역적으로 일관된 재건을 달성하는 서펠(surfel) 기반 밀도 RGB-D SLAM 시스템.

문제

밀도 SLAM 시스템은 길게 이어지면서도 루피(loopy)한 움직임 — 핸드헬드 깊이 카메라로 방을 “칠하듯” 스캔하는 상황 — 에서 어려움을 겪었습니다. KinectFusion의 고정 볼륨은 장면 크기를 제한합니다. Whelan의 이전 연구인 Kintinuous는 포즈 그래프 변형을 통해 복도 규모로 확장되지만, 지역적으로 루피한 궤적에서는 성능이 나쁘고 재방문한 지도 영역을 재사용할 수 없습니다. DVO-SLAM은 키프레임 포즈를 최적화하지만 명시적인 연속 표면을 구축하지 않습니다. ElasticFusion은 이 우선순위를 뒤집습니다: 카메라 궤적(포즈 그래프)을 최적화하고 지도를 재구축하는 대신, 지도 자체를 최적화합니다 — 표면 루프 클로저를 일찍부터 자주 적용하여, 시스템이 항상 지도 분포의 모드(mode) 근처에 머물도록 합니다.

방법 및 아키텍처

프레임별 루프: RGB-D 입력 → 스플랫된(splatted) 서펠 예측 → 프레임-대-모델 ICP+RGB 추적 → 서펠 융합 → 지역(모델-대-모델) 루프 검사 → 전역(펀, fern) 루프 검사 → 비강체 변형. CUDA가 추적 리덕션과 지도 관리를 수행하고, OpenGL이 뷰 예측을 담당합니다.

Eicp=k((vkexp(ξ^)Tvtk)nk)2,E_{\mathrm{icp}} = \sum_{k} \Big( \big(\mathbf{v}^k - \exp(\hat{\boldsymbol{\xi}})\,\mathbf{T}\,\mathbf{v}_t^k\big)\cdot\mathbf{n}^k \Big)^2 ,

광도 항 ErgbE_{\mathrm{rgb}}는 라이브 색상 이미지와 예측된 활성 모델 색상 사이의 강도 차이에 페널티를 부과합니다. 결합 비용 Etrack=Eicp+wrgbErgbE_{\mathrm{track}} = E_{\mathrm{icp}} + w_{\mathrm{rgb}} E_{\mathrm{rgb}} (wrgb=0.1w_{\mathrm{rgb}} = 0.1)는 3단계 거칠기-에서-세밀도 피라미드에서 Gauss-Newton으로 최소화됩니다(GPU 트리 리덕션이 6×6 시스템을 구성하고, CPU Cholesky가 이를 풉니다).

M^ps=nIwn[GRn(MpsGgn)+Ggn+Gtn],wn=(1MpsGgn2/dmax)2.\hat{\mathcal{M}}^s_{\mathbf{p}} = \sum_{n\in I} w^n \big[ \mathcal{G}^n_{\mathbf{R}} (\mathcal{M}^s_{\mathbf{p}} - \mathcal{G}^n_{\mathbf{g}}) + \mathcal{G}^n_{\mathbf{g}} + \mathcal{G}^n_{\mathbf{t}} \big], \qquad w^n = \big(1 - \lVert \mathcal{M}^s_{\mathbf{p}} - \mathcal{G}^n_{\mathbf{g}} \rVert_2 / d_{\max} \big)^2 .

실험 결과

SLAM에서의 의미

ElasticFusion은 “지도가 곧 상태다”라는 설계를 실용적으로 만들었습니다: 카메라 궤적을 보정하고 측정값을 다시 통합하는 대신, 밀도 표면 자체를 자주 작게 변형함으로써 지도 분포의 모드에 가깝게 유지하며 표면 자체를 직접 보정합니다. 이는 표준적인 서펠 기반 밀도 SLAM 백본이 되었습니다 — SemanticFusion은 그 서펠에 CNN 의미(semantics)를 직접 추가합니다 — 그리고 그 활성/비활성 모델 분할, 모델-대-모델 지역 루프, 펀 재위치추정(fern relocalisation)은 이후의 밀도 시스템들에서 반복적으로 등장합니다. 온라인 루프 클로저를 갖춘 방 규모의 고품질 밀도 재건을 공부하기에 좋은 연구입니다.

관련 문서