일관성 (Consistency)

정확도는 추정기가 얼마나 틀렸는지를 알려주고, 일관성은 추정기가 자신이 얼마나 틀렸는지를 알고 있는지를 알려줍니다. SLAM 추정기는 상태 추정값 x^\hat{\mathbf{x}} (자세, 랜드마크)와 그 확신을 표현하는 공분산 PP를 모두 출력합니다. 실제 추정 오차가 그 보고된 공분산과 통계적으로 양립 가능할 때 --- 즉 추정기가 과신하지도(공분산이 너무 작음) 과소신뢰하지도(공분산이 너무 큼) 않을 때 --- 추정기는 일관적입니다.

NEES: 표준 일관성 검정

일관성을 확인하는 표준 도구는 **NEES (Normalized Estimation Error Squared, 정규화된 추정 오차 제곱)**입니다:

ϵk=(xkx^k)TPk1(xkx^k)\epsilon_k = (\mathbf{x}_k - \hat{\mathbf{x}}_k)^T P_k^{-1} (\mathbf{x}_k - \hat{\mathbf{x}}_k)

여기서 xk\mathbf{x}_k는 시간 kk에서의 실제 참값(ground truth) 상태입니다. 추정기가 일관적이고 오차가 가우시안이라면, NEES는 n=dim(x)n = \dim(\mathbf{x}) 자유도를 가진 카이제곱 분포를 따르므로, 그 기댓값은 상태 차원과 같습니다:

E[ϵk]=n\mathbb{E}[\epsilon_k] = n

한 번의 실행에서의 NEES는 잡음이 있는 확률 변수이므로, 이 검정은 몬테카를로 실험으로 수행됩니다: 독립적인 잡음 실현으로 동일한 시나리오를 MM번 반복하고 평균을 냅니다,

ϵˉk=1Mi=1Mϵk(i),MϵˉkχMn2,\bar{\epsilon}_k = \frac{1}{M} \sum_{i=1}^{M} \epsilon_k^{(i)}, \qquad M\,\bar{\epsilon}_k \sim \chi^2_{Mn},

그런 다음 ϵˉk\bar{\epsilon}_kχMn2\chi^2_{Mn} 분위수(quantile)로부터 유도된 신뢰 구간(을 MM으로 나눈 값) 내에 머무는지 확인합니다. 해석:

상태의 위치 블록과 방향 블록을 별도로 평가하는 것이 일반적입니다. 그렇게 하면 하나의 정직한 블록이 과신하는 블록을 가리지 못합니다.

NIS: 참값 없이 검정하기

NEES는 실제 로봇에서는 거의 얻을 수 없는 참값을 필요로 합니다. 온라인으로 동작하는 동반 검정은 **NIS (Normalized Innovation Squared, 정규화된 이노베이션 제곱)**입니다: 이노베이션 ν=zh(x^)\boldsymbol{\nu} = \mathbf{z} - h(\hat{\mathbf{x}})와 이노베이션 공분산 SS를 가진 필터에 대해,

NIS=νTS1νχdim(z)2\text{NIS} = \boldsymbol{\nu}^T S^{-1} \boldsymbol{\nu} \sim \chi^2_{\dim(\mathbf{z})}

일관성 하에서 성립합니다. 여러분은 이미 이 이름을 모른 채로 이 개념을 항상 사용하고 있습니다: 측정값에 대한 카이제곱 게이팅(NIS가 분위수 임계값을 넘는 관측값을 거부하는 것)은 측정값별 일관성 검정입니다 --- 그리고 이는 여기에 입력되는 공분산이 정직할 때만 작동합니다.

SLAM 추정기가 비일관적이 되는 이유

일관성은 단순한 이론적 세부사항이 아니라 SLAM에서 실질적이고 실용적인 문제입니다:

해결 방법

이후 레벨에서 만나게 될 해결 방법들:

실용적인 절차

  1. 알려진 참값과 실제적인 잡음 파라미터를 가진 여러분의 센서 구성 시뮬레이션을 만드세요.
  2. 잡음 시드만 다르게 하여 수십 번의 몬테카를로 시행을 실행하세요.
  3. 위치와 방향 블록에 대해 별도로, 시간에 따른 평균 NEES를 카이제곱 경계와 대비하여 도표화하세요.
  4. 실제 데이터에서는 NIS와 카이제곱 게이트에 의해 거부되는 측정값의 비율을 모니터링하세요 --- 거부율의 상승은 과신하는 추정기의 현장 증상입니다.

SLAM에서의 의미

ATE/RPE 같은 궤적 지표는 평균 오차만을 측정하므로, 동일한 ATE를 가진 두 시스템이라도 이후 단계에서는 매우 다르게 동작할 수 있습니다: 비일관적인 시스템은 과신하는 공분산을 루프 클로저 게이팅, 센서 융합, 또는 플래너에 공급하여 잘못된 결정을 초래합니다. 확률적 SLAM 백엔드 --- 특히 마지널화가 있는 EKF나 고정 지연 스무더 ---를 평가하거나 설계할 때마다, 시뮬레이션된 데이터에서 NEES를 확인하는 것은 추정기가 자신의 불확실성에 대해 정직한지를 검증하는 표준적인 방법입니다.

관련 문서