필터 기반 vs 최적화 기반
긴밀 결합 VIO 내에는 두 가지 추정 패러다임이 있다. 둘 다 동일한 확률적 추론 문제를 풀지만, 재선형화를 얼마나 자주 하려는지에 차이가 있다.
필터 기반 (EKF)
필터 기반 방법(MSCKF, ROVIO, OpenVINS)은 상태 벡터 와 공분산 를 유지하며 재귀적으로 갱신한다:
- 전파는 IMU 측정값으로: , .
- 업데이트는 시각적 측정값으로: 잔차 와 야코비안 로, 칼만 게인 를 적용하여 측정값을 가우시안 신념(belief)에 흡수한다.
각 측정값은 처리되는 순간 한 번만 선형화된다. 이는 상수 시간의 낮은 지연 업데이트를 제공하지만 — 선형화 지점은 영구적이다: 추정값이 이후에 움직이면 이미 흡수된 정보는 재선형화될 수 없으며, 누적된 선형화 오차는 드리프트와 (주의하지 않으면) 불일치를 야기한다. MSCKF의 핵심 통찰은 EKF를 윈도우 형태로 만든 것이었다 — 상태에 슬라이딩 형태의 과거 카메라 자세 집합을 유지하고 특징 제약을 구조 없는 방식으로 적용함으로써 — 그래서 “필터링” VIO조차도 실은 윈도우 방식으로 동작한다.
최적화 기반 (슬라이딩 윈도우 BA)
최적화 기반 방법(OKVIS, VINS-Mono, Basalt, ORB-SLAM3)은 최근 키프레임 상태의 슬라이딩 윈도우를 유지하고 재투영 잔차, 사전 적분된 IMU 잔차, 주변화 사전으로 구성된 결합 비선형 비용을 가우스-뉴턴이나 Levenberg-Marquardt로 최소화한다:
솔버의 매 반복이 윈도우 내의 모든 잔차를 현재 추정값에서 재선형화하기 때문에, 선형화 오차가 훨씬 작고 그에 따라 정확도가 더 높다 — 계산 비용은 더 크다. 오래된 상태는 슈어 보완 주변화를 통해 사전 로 압축되며, 이것이 두 패러다임이 만나는 지점이다(아래 참조).
비교
| 필터 (EKF) | 슬라이딩 윈도우 최적화 | |
|---|---|---|
| 선형화 | 측정값당 한 번 | 매 반복마다 재선형화 |
| 비용 | 낮음, 상수 시간 | 더 높음, 윈도우 크기에 따라 증가 |
| 정확도 | 양호 | (일반적으로) 더 좋음 |
| 지연 시간 | 매우 낮음(측정값당 한 번의 업데이트) | 더 높음(프레임당 반복적 풀이) |
| 일관성 도구 | First-Estimate Jacobians (FEJ), 관측 가능성 제약 | 주변화 사전에 대한 FEJ; 비선형 팩터 복구(Basalt); 지연된 주변화(DM-VIO) |
| 대표 시스템 | MSCKF, ROVIO, OpenVINS | OKVIS, VINS-Mono, Basalt, ORB-SLAM3 |
두 계열은 보이는 것보다 가깝다
- 슈어 보완을 통해 오래된 상태를 주변화하는 슬라이딩 윈도우 최적화기는 주변화된 부분에 대해 수학적으로 필터링 단계를 수행하고 있는 것이다 — 이때 생성되는 사전은 한 번 선형화되어 고정되며, 이는 EKF 업데이트와 정확히 같다.
- 반대로 EKF는 단 한 번의 가우스-뉴턴 반복 후 멈추는 최적화기다; (ROVIO의 업데이트 단계에서 사용되는) 반복(iterated) EKF는 업데이트 내부에서 재선형화하며 최적화 쪽으로 더 나아간다.
- 두 계열 모두 고정된 선형화 지점에서 동일한 병—관측 불가능한 방향을 따른 가짜 정보 이득—을 앓으며, 둘 다 같은 처방(FEJ와 그 친척들)을 사용한다. MSCKF에서 발전한 일관성 문헌은 모든 슬라이딩 윈도우 시스템의 주변화 사전에 적용된다.
따라서 실질적인 차이는 “재귀적 vs 배치”가 아니라 각 설계가 계산 예산을 어디에 쓰는가이다: 필터는 재선형화에 거의 아무것도 쓰지 않고 처리량에 모든 것을 쓰며; 최적화기는 작고 잘 선택된 윈도우를 재선형화함으로써 정확도를 산다.
실전에서의 선택
- 엄격한 실시간, 임베디드 컴퓨팅, 고속 제어 루프 → 필터(MSCKF/OpenVINS 계열). 일정하고 예측 가능한 프레임당 비용; 이러한 효율성 특성이 필터 스타일 추정기가 배포된 AR/VR 트래킹과 연관되는 이유다.
- 정확도가 중요한 매핑, 오프라인 또는 데스크탑급 컴퓨팅 → 슬라이딩 윈도우 최적화, 또는 최적화와 매핑 백엔드의 결합(Basalt, OKVIS2).
- 두 실패 모드를 모두 연구하라: 필터의 불일치는 과신하는 공분산과 요 드리프트로 나타나고; 최적화기의 지연은 부하 하에서 프레임 드롭으로 나타난다. FEJ, 관측 가능성 제약 EKF, 비선형 팩터 복구, 지연된 주변화라는 패치 문헌은 정확히 이런 것들을 다루기 위해 존재한다.
흔한 함정
- 필터와 최적화기를 서로 다른 컴퓨팅 예산에서 비교하고 한 패러다임이 “더 낫다”고 결론짓는 것 — 고전적인 “왜 필터링인가?” 분석(Strasdat 등)은 고정 예산 논증이다: 작은 키프레임 윈도우를 재선형화하는 것이 큰 상태를 필터링하는 것을 이긴다.
- 슬라이딩 윈도우 시스템의 주변화 사전을 정확한 것으로 취급하는 것 — 이는 일회성 선형화이며, 이를 무시하면(FEJ 처리 없이) “최적화 기반” 시스템에도 필터 스타일의 불일치가 다시 유입된다.
- 필터가 정확할 수 없다고 가정하는 것: FEJ, 온라인 캘리브레이션, 좋은 프론트엔드를 갖추면 현대 MSCKF 구현은 훨씬 적은 비용으로 표준 벤치마크에서 경쟁력을 갖는다.
SLAM에서의 의미
이는 시각적 SLAM에 대해 연구된 고전적인 “왜 필터링인가?” 질문(Strasdat 등)의 VIO 버전이다: 고정된 컴퓨팅 예산이 주어졌을 때, 작은 키프레임 윈도우를 재선형화하는 것이 큰 상태를 필터링하는 것을 이긴다. 각 쪽의 실패 모드—필터 불일치 대 최적화기 지연—를 아는 것은 주어진 플랫폼에 어떤 시스템을 선택할지, 그리고 그 실패 모드를 고치기 위해 어떤 논문들(FEJ, 비선형 팩터 복구, 지연된 주변화)이 존재하는지를 알려준다.
관련 문서
- Visual-SLAM why filter? — 이 트레이드오프에 대한 기초적인 분석.
- MSCKF — 대표적인 필터 기반 VIO.
- OKVIS — 대표적인 최적화 기반 VIO.
- Basalt — 주변화 사전의 선형화 오차를 고치는 비선형 팩터 복구.
- Marginalization — 두 세계를 연결하는 메커니즘.
- Consistency — 이 선택에서 관건이 되는 추정기 속성.