Observability
상태(또는 상태 공간에서의 방향)는 사용 가능한 측정값이 그것을 제약할 때 **관측 가능(observable)**합니다; 관측 불가능한 방향은 어떤 측정값도 바꾸지 않고 자유롭게 드리프트할 수 있습니다. 형식적으로, 방향 이 관측 불가능 부분 공간에 속한다는 것은 상태를 방향으로 섭동해도 모든 측정값이 변하지 않는다는 것을 의미합니다—선형화된 시스템의 경우, 은 쌓아 올린 블록으로 구성된 관측 가능성 행렬의 영공간을 생성합니다. VIO에서 정확히 어떤 방향이 관측 불가능한지 아는 것은 일관된 추정기를 설계하는 데 필수적입니다.
VIO의 4개 관측 불가능 DoF
시각-관성 시스템은 랜드마크(카메라)에 대한 방위각과 비력 및 각속도(IMU)를 측정합니다. 중력은 롤과 피치에 대한 절대적인 기준을 제공하며, 가속도계는 일반적인 움직임 하에서 메트릭 스케일을 관측 가능하게 만듭니다. 남아 있는 관측 불가능한 것들:
- 3-DoF 전역 이동(translation) — 전체 궤적과 지도를 함께 이동시켜도 카메라 측정값(자세와 랜드마크 사이의 방위각은 변하지 않음)이나 IMU 측정값(가속도는 이동에 대해 불변)이 전혀 바뀌지 않습니다.
- 1-DoF 전역 요(yaw) — 중력 방향을 축으로 모든 것을 회전시켜도 방위각은 변하지 않으며, 중력 자체도 자신의 축에 대해 대칭이므로 IMU도 이 동률을 깨뜨릴 수 없습니다. 이와 대조적으로, 롤과 피치는 중력이 가속도계에 투영되는 방식을 바꾸기 때문에 관측 가능합니다.
따라서 단안 VIO는 정확히 4개의 관측 불가능 DoF를 가집니다. 비교:
| 시스템 | 관측 불가능 DoF | 자유로운 것 |
|---|---|---|
| 단안 비전만 | 7 | 이동(3) + 회전(3) + 스케일(1) |
| 단안 VIO | 4 | 이동(3) + 요(1) |
| 스테레오 VIO | 4 | 이동(3) + 요(1) — 베이스라인이 두 번째 스케일 소스를 추가하지만, 전역 위치와 요는 여전히 자유롭습니다 |
모션에 의존하는 퇴화
일부 상태는 충분히 자극적인 움직임 하에서만 관측 가능합니다:
- 일정한 가속도(정지 비행이나 등속 운동 포함) 하에서는 메트릭 스케일이 추가로 관측 불가능해집니다—가속도계 판독값을 스케일과 가속도로 분리할 수 없기 때문입니다. 이것이 등속 지상 차량과 부드러운 드론 정지 비행에서 VIO가 저하되는 이유이며, 고속도로 주행에서 스케일 드리프트가 나타나는 이유이고, 초기화 절차가 동적인 움직임을 요구하는 이유입니다.
- 순수 회전 또는 무회전은 가속도계 바이어스, 중력, 외부 캘리브레이션 상태의 분리 가능성을 약화시킵니다; 온라인 카메라-IMU 캘리브레이션 역시 여러 축에 대한 회전 자극이 필요합니다.
- 실용적인 규칙: 움직임이 풍부할수록(다양한 가속도와 회전), 스케일, 바이어스, 외부 파라미터가 더 빠르게 수렴합니다. DM-VIO와 같은 시스템은 초기 움직임이 이를 충분히 자극하지 못했을 수 있다는 이유로 초기화 후에도 명시적으로 스케일 최적화를 계속합니다.
빠른 직관 점검
왜 요는 관측 불가능하지만 롤/피치는 관측 가능할까요? 전체 세계(궤적 + 지도)를 중력 벡터를 축으로 각도 만큼 회전시켜 보세요: 모든 카메라는 여전히 모든 랜드마크를 동일한 방위각으로 봅니다(회전이 둘 다에 적용됨), 그리고 가속도계도 여전히 동일한 중력 투영을 측정합니다(중력이 회전축이므로 변하지 않음). 어떤 측정값도 회전된 세계와 원래 세계를 구별할 수 없습니다—요는 자유롭습니다. 이번에는 수평축을 기준으로 세계를 기울여 보세요: 방위각은 여전히 일관되지만, 중력은 이제 가속도계에 다르게 투영됩니다—IMU가 이를 감지합니다. 롤과 피치는 고정됩니다.
같은 방식의 논증으로 전역 이동이 자유로운 이유(방위각과 가속도는 이동에 대해 불변)와, 일반적인 움직임 하에서 가속도계가 스케일을 고정하는 이유(지도와 궤적을 두 배로 늘리면 실제 가속도도 두 배가 되며, 가속도계가 이를 감지할 것입니다—가속도가 일정한 경우를 제외하고, 그 경우에는 변화가 바이어스/중력 추정값 안에 숨습니다)를 보일 수 있습니다.
일관성과 First-Estimate Jacobians (FEJ)
측정값을 시간에 따라 서로 다른 추정값에서 선형화하는 EKF는 관측 불가능한 방향을 따라 가짜로 정보를 얻을 수 있습니다: 각 야코비안은 개별적으로는 정확하지만, 이들을 함께 쌓으면 진짜보다 더 작은 관측 불가능 부분 공간을 가진 선형화된 시스템이 정의됩니다(일반적으로 요가 관측 불가능함에도 관측 가능한 것처럼 나타남). 그러면 필터는 과신하게 되며—**비일관적(inconsistent)**이 되며—정당한 이유 없이 줄어드는 요 공분산에서 가장 뚜렷하게 나타납니다.
FEJ 해법: 각 상태의 야코비안을 그 첫 번째 추정값에서 평가하고 그 선형화 지점을 계속 사용함으로써, 쌓인 모든 야코비안이 일관된 선형화를 공유하고 올바른 4차원 관측 불가능 부분 공간이 구성상 보존되도록 합니다. 이는 OpenVINS와 현대 MSCKF 변형에서 표준이며, 같은 아이디어가 슬라이딩 윈도우 최적화기에서 주변화 사전을 다루는 방식을 지배합니다(Basalt의 비선형 팩터 복구와 DM-VIO의 지연된 주변화가 대안적 처리 방법입니다).
실용적인 결과
- 게이지를 명시적으로 고정하세요. 첫 번째 자세(위치 + 요)를 고정하거나 사전 정보를 추가하세요; 그렇지 않으면 솔버가 자유로운 방향을 따라 표류하고 헤시안이 특이(singular)해집니다.
- 4-DoF 루프 클로저. VIO 포즈 그래프에서의 루프 클로저 보정은 (VINS-Mono에서처럼) 요와 이동만 조정해야 합니다—롤/피치를 왜곡하면 중력이 관측 가능하게 만든 방향이 손상됩니다.
- 4-DoF 궤적 정렬. VIO 시스템을 그라운드 트루스에 대해 평가할 때는 시각 전용 오도메트리에 적합한 6-DoF 또는 7-DoF () 정렬이 아니라 4-DoF(요 + 이동) 정렬을 사용합니다.
- 공분산 읽기. 루프 클로저나 절대 참조(GPS, 사전 지도)가 없는 경우, 전역 와 요를 따르는 불확실성은 제한 없이 증가해야 합니다; 요 불확실성이 줄어드는 것으로 보고하는 필터는 정확한 것이 아니라 비일관적임을 알려주는 것입니다.
흔한 함정
- 스테레오가 모든 스케일 걱정을 없애준다고 믿는 것: 스테레오는 스케일 관측 가능성을 고정하지만, 전역 이동과 요는 여전히 관측 불가능합니다—루프 클로저나 절대 측정값 없이는 그 방향으로의 드리프트가 불가피합니다.
- 요 드리프트나 고속도로 스케일 드리프트를 버그로 진단하는 것: 이는 센서 구성의 구조적 특성이며, 정보(루프, GPS, 휠 오도메트리, 사전 지도)를 추가함으로써만 완화될 수 있습니다.
- VIO 결과에 완전한 6/7-DoF 평가 정렬을 적용하는 것—이는 요 오차를 숨기고 수치를 과장합니다.
SLAM에서의 의미
관측 가능성 분석은 그렇지 않으면 버그처럼 보이는 동작들을 설명합니다: 절대 멈추지 않는 요 드리프트, 고속도로 주행에서의 스케일 드리프트, 긴 실행 후의 과신하는 공분산. 이는 초기화(자극이 필요), 루프 클로저(4-DoF), 필터 일관성 메커니즘(FEJ)의 설계를 좌우합니다. VIO 논문을 읽을 때는 이렇게 시작해야 합니다: 이 시스템은 어떤 상태를 관측 가능하다고 취급하며, 어떤 움직임 하에서 그런가?
관련 문서
- MSCKF — 후속 문헌이 VIO 관측 가능성 분석을 발전시킨 필터.
- OpenVINS — FEJ 기반 관측 가능성 제약 추정을 구현합니다.
- Scale observability — 스케일에 대한 스테레오 관점.
- Scale ambiguity — 순수 단안의 경우(7개의 관측 불가능 DoF).
- Consistency — 관측 가능성 분석이 보호하는 추정기 특성.
- Metrics — 4-DoF 정렬 규약이 평가에서 나타나는 곳.