Double Window Optimisation
Strasdat 2011 · 논문
한 줄 요약 — 작은 내부 윈도우에서의 완전 번들 조정(bundle adjustment)과 외부 윈도우에서의 소프트한 포즈 그래프 주변부를 결합하는 계층적 백엔드로, 지역 BA의 정확도를 유지하면서 상수 시간 시각 SLAM을 달성.
문제
완전 번들 조정은 키프레임 수에 대해 선형에서 3차까지의 복잡도를 가져 장시간 SLAM에는 실행 불가능합니다. 슬라이딩 윈도우/활성 윈도우 BA는 비용을 상수로 유지하지만 경계 키프레임을 하드 제약으로 고정하여, 루피(loopy)한 움직임 하에서 수렴을 저해합니다. 순수 포즈 그래프 최적화는 정보 손실이 있고, 상대 번들 조정은 루피한 지역 영역에서 메트릭 일관성을 강제하지 못합니다. 정확한 루피 지역 탐색과 빠른 대규모 탐사를 모두 상수 시간에 처리하는 단일 백엔드가 필요했습니다.
방법 및 아키텍처
SLAM 그래프. 키프레임 정점 (절대 포즈 ), 3D 점 , 그리고 각 엣지 가 공가시성 가중치(covisibility weight) (두 프레임에서 모두 관측되는 점의 수)를 갖는 엣지 로 구성됩니다. 현재 참조 키프레임 에서 시작하여, 공가시성에 대한 균일 비용 탐색(가장 높은 우선)이 처음 개의 키프레임을 내부 윈도우 으로, 다음 개를 외부 윈도우 로 선택합니다 ().
하나의 결합 비용, 두 가지 제약 유형. 내부 윈도우에서 관측된 모든 점은 점-포즈(재투영) 제약으로 들어가고, 모든 외부 윈도우 프레임은 공가시적 인접 프레임과 포즈-포즈 제약으로 연결되며, 이 둘은 동시에 최소화됩니다.
여기서 는 프레임 에서 점 의 관측이고, 는 주변화된 엣지에 저장된 상대 포즈입니다. 저자들은 제대로 된 주변화(marginalization) 대신, 저비용의 공가시성 가중 대각 행렬로 정밀도 행렬을 의도적으로 근사합니다.
저자들은 조밀하게 상호 연결된 공가시성 구조 덕분에, 제대로 된 주변화로도 눈에 띄게 더 좋은 결과를 재현할 수 없었다고 밝혔습니다. 포즈 그래프 주변부는 고정된(하드) 경계 키프레임과 달리, BA 핵심을 안정화하는 소프트 제약으로 작동합니다. 최적화에는 g2o가 사용되며, Levenberg-Marquardt 댐핑이 게이지 자유도를 흡수합니다(어떤 프레임도 고정되지 않음). 윈도우로 다시 들어오는 포즈는 상대 포즈 경로 를 따라 재초기화된 후 구조체만 최적화하는 반복이 이어집니다.
단안 스케일 처리. 포즈는 대신 (회전, 이동, 스케일 )에서 표현됩니다. 새 키프레임은 로 시작하며, 스케일 은 외관 기반 루프 클로저에서만 개입합니다. 이때 3D-3D 대응에 대한 3점 RANSAC이 유사도 변환을 복원하여, 상수 시간에 스케일 드리프트를 보정합니다.
루프 클로저. 메트릭 루프 클로저는 더 큰 이웃 에서는 보이지만 바로 인접한 이웃 에서는 보이지 않는 점들을 매칭하여 찾습니다. 개의 점(통상 15—30개)이 공동 정렬되면, 제약 을 갖는 주변화된 엣지가 추가됩니다. 대규모 루프 클로저는 외관 기반 탐지에서 나와 3점 RANSAC으로 검증되며, 매칭된 3D 점 쌍이 병합됩니다.
실험 결과
몬테카를로 스파이럴 시뮬레이션(500 키프레임, 스테레오 모델: 초점 300, 5,cm 기준선, 640x480, 1픽셀 가우시안 노이즈, 10회 시행, Intel i7 960의 단일 코어에서 g2o 실행)에서, 상수 시간 cDWO(내부 윈도우 15, 외부 50)는 내부 윈도우 내에서 완전 BA와 동일한 정확도에 도달하면서 비용은 일정하게 유지됩니다. gDWO(나머지 485개 프레임 전체를 포함하는 외부 윈도우)는 전역적으로 BA에 가까운 수준으로 안정화됩니다. 외부 윈도우를 최적화 동안 고정한 변형은 명확히 더 나쁜 성능을 보여, 소프트 제약의 효용을 입증합니다. 단안 이중 루프 시뮬레이션(내부 30, 외부 100)에서는 평균 1%의 스케일 드리프트가 루프 클로저 시점에 상수 시간으로 탐지되고 보정됩니다. 실제 실험: New College 데이터셋에서 스테레오 SLAM(BRIEF + FAST 프론트엔드)은 대규모 루프 클로저와 함께 5—7 FPS로 거의 실시간에 가깝게 실행되고, 수정된 PTAM 단안 시스템은 단일 스레드에서 17 FPS로 실행되며 루프 클로저 시점에 6%의 스케일 변화를 탐지합니다. RGB-D(PrimeSensor) 시연에는 루피한 오피스 탐색, 바퀴 로봇 매핑, 밀도 객체 모델 구축이 포함됩니다.
SLAM에서의 의미
이 논문은 키프레임 SLAM이 여전히 따르고 있는 백엔드 설계도를 제공했습니다: 정확도가 중요한 곳에는 번들 조정을, 스케일이 중요한 곳에는 공가시성 가중 포즈 그래프를 두고, 이 둘을 하나의 최적화로 결합한 것입니다. ORB-SLAM의 지역 BA/필수 그래프(essential graph) 분할과 그 공가시성 그래프는 이 논문의 직접적인 후속작이며, 여기서 상수 시간에 시연된 스케일 드리프트 처리 방식을 그대로 루프 클로징에 채택했습니다. 현대 백엔드가 왜 이런 구조로 되어 있는지 이해하려면 이 논문을 읽어야 합니다.
관련 문서
- Covisibility graph — 윈도우 선택을 이끄는 그래프 구조
- Pose graph optimization — 외부 윈도우 메커니즘
- Marginalization — 대각 정밀도 근사가 대체하는 대상
- ORB-SLAM — 이 백엔드 설계를 대중화한 시스템
- Visual-SLAM why filter? — 같은 저자의 동반 분석