주변화 (Marginalization)

실시간 SLAM 추정기는 과거의 모든 자세와 랜드마크를 활성 변수로 유지할 수 없습니다 — 그렇게 하면 문제 크기가 무한히 커집니다. 주변화는 오래된 변수를 제거하는 확률적으로 올바른 방법입니다: 단순히 삭제하는 것(그러면 그것들의 정보가 사라집니다) 대신, 결합 분포에서 적분해서 없애버리고, 제거된 변수가 기여한 내용을 요약하는 사전 분포를 나머지 변수에 남깁니다.

대수: 슈어 보완

선형화된 시스템을 유지할 변수 (k\mathbf{k})와 주변화할 변수 (m\mathbf{m})로 분할합니다:

[HkkHkmHmkHmm][ΔxkΔxm]=[bkbm]\begin{bmatrix} H_{kk} & H_{km} \\ H_{mk} & H_{mm} \end{bmatrix} \begin{bmatrix} \Delta\mathbf{x}_k \\ \Delta\mathbf{x}_m \end{bmatrix} = \begin{bmatrix} \mathbf{b}_k \\ \mathbf{b}_m \end{bmatrix}

m\mathbf{m}을 소거하면 축소된 시스템이 됩니다:

Hprior=HkkHkmHmm1Hmk,bprior=bkHkmHmm1bmH_{\text{prior}} = H_{kk} - H_{km} H_{mm}^{-1} H_{mk}, \qquad \mathbf{b}_{\text{prior}} = \mathbf{b}_k - H_{km} H_{mm}^{-1} \mathbf{b}_m

이후 (Hprior,bprior)(H_{\text{prior}}, \mathbf{b}_{\text{prior}})는 유지된 변수에 대한 밀집 사전 팩터로서 이후의 모든 최적화에 작용합니다.

이것은 어디에서 오는 걸까요? 정보 형식으로 표현된 (정보 행렬 HH, 정보 벡터 b\mathbf{b}) 결합 가우시안에서, 변수의 부분집합을 적분해서 없애면 정보 행렬이 정확히 위의 슈어 보완이 되는 또 다른 가우시안이 나옵니다. 따라서 주변화는 희소 시스템을 풀 때의 변수 소거 한 단계와 동일한 대수적 연산입니다 — 차이는 오직 의도뿐입니다: 소거는 임시적입니다(후진 대입에서 변수가 다시 등장합니다), 주변화는 영구적입니다.

대가: 필인 (Fill-in)

정보는 보존되지만 희소성은 보존되지 않습니다 — 주변화는 제거된 변수가 관여했던 변수들 사이의 연결을 밀집화합니다. 작은 예: 윈도우 x0,x1,x2,x3x_0, x_1, x_2, x_3에서 랜드마크 관측이 x0x_0x1x_1x2x_2도 관측하는 여러 랜드마크에 연결한다고 하면, x0x_0과 그 랜드마크들을 주변화하면 x1x_1x2x_2 (그리고 x0x_0이 관여했던 다른 모든 것)를 결합하는 단일 밀집 사전이 생깁니다 — 이전에는 직접적인 에지가 없던 쌍들입니다. 이것이 시스템이 임의의 변수가 아니라 신중하게 선택된 변수 (오래된 키프레임, 그것만이 관측하는 랜드마크)를 주변화하는 이유이며, 일부 시스템이 의도적으로 주변화 전에 몇몇 측정값을 버리는(OKVIS 방식의 스파시피케이션) 이유입니다 — 약간의 정보를 희생하여 사전이 윈도우 전체를 밀집화하지 않도록 막는 것입니다.

고정 지연 스무딩

고정 지연 스무딩은 이 연산 위에 세워진 추정기 아키텍처입니다: 가장 최근 상태들의 슬라이딩 윈도우를 활성 비선형 변수로 유지하고, 윈도우가 가득 차면 가장 오래된 상태를 사전으로 주변화합니다. 이는 프레임당 계산량을 한정하면서 (과거 모든 정보의 선형화된 요약을) 유지합니다 — OKVIS 이후 최적화 기반 VIO의 표준 설계입니다. 예를 들어 VINS-Mono는 들어오는 프레임이 키프레임인지에 따라 가장 오래된 프레임 또는 두 번째로 최신인 프레임을 주변화합니다.

함정: 일관성

사전은 주변화 시점에 유효했던 추정값에서 선형화되며, 이후에는 재선형화할 수 없습니다(주변화된 변수는 이미 사라졌습니다). 남은 변수들의 선형화 지점이 표류하는 동안 고정된 사전은 그대로 있으면, 추정기는 서로 다른 선형화 지점의 야코비안을 섞어서 잘못된 정보 이득을 얻게 됩니다 — “FEJ 문제”입니다. 표준적인 완화 방법:

실무 체크리스트

대안이 되는 백엔드 방식과 대조해 보십시오: 증분 스무딩 (iSAM2)은 모든 변수를 유지하며 영리하게 업데이트하여, (효율적으로 유지되긴 하지만) 문제가 계속 커지는 대가로 고정된 사전 문제를 피합니다. 고정 지연 + 주변화는 엄격하게 한정된 비용을 얻습니다 — 임베디드 VIO에 맞는 트레이드오프입니다.

SLAM에서의 의미

주변화는 실시간, 한정된 메모리의 시각-관성 오도메트리를 가능하게 하는 핵심 도구입니다; 슬라이딩 윈도우 + 슈어 보완 사전 + FEJ 패턴은 OKVIS, VINS-Mono, Basalt, DM-VIO의 실제 아키텍처입니다. 또한 이론이 실무에서 가장 강하게 부딪히는 지점이기도 합니다: 잘못 처리된 주변화는 과신하는, 일관성 없는 추정기의 전형적인 원인이며, 이 때문에 이 개념은 일관성 및 관측 가능성과 밀접하게 연결됩니다.

관련 문서