Extended Kalman Filter (EKF)

拡張カルマンフィルタ(Extended Kalman Filter)は、非線形モデルを用いた逐次状態推定の主力手法である。状態に対するガウス信念 N(x^,P)\mathcal{N}(\hat{\mathbf{x}}, P) を保持し、予測(predict)(運動モデルを通じて信念を伝播する)と更新(update)(観測によってそれを補正する)の2つのステップを交互に行う — これは、すべての密度をガウス分布で近似し、すべてのモデルを現在の推定値で線形化した、まさに逐次ベイズフィルタである。

セットアップ

システムは非線形な運動モデルと非線形な観測モデルによって記述される。

xk=f(xk1,uk)+wk,wkN(0,Qk)\mathbf{x}_k = f(\mathbf{x}_{k-1}, \mathbf{u}_k) + \mathbf{w}_k, \qquad \mathbf{w}_k \sim \mathcal{N}(\mathbf{0}, Q_k) zk=h(xk)+vk,vkN(0,Rk)\mathbf{z}_k = h(\mathbf{x}_k) + \mathbf{v}_k, \qquad \mathbf{v}_k \sim \mathcal{N}(\mathbf{0}, R_k)

ここで x\mathbf{x} は状態(例えばカメラの姿勢、速度、ランドマーク位置)、u\mathbf{u} は制御入力またはIMU入力、z\mathbf{z} は観測(例えば追跡している特徴点のピクセル座標)、QQRRはプロセスノイズと観測ノイズの共分散である。EKFは、現在の推定値で評価したヤコビ行列を用いてffhhを線形化する。

Fk=fxx^k1k1,Hk=hxx^kk1F_k = \left.\frac{\partial f}{\partial \mathbf{x}}\right|_{\hat{\mathbf{x}}_{k-1|k-1}}, \qquad H_k = \left.\frac{\partial h}{\partial \mathbf{x}}\right|_{\hat{\mathbf{x}}_{k|k-1}}

予測

x^kk1=f(x^k1k1,uk)\hat{\mathbf{x}}_{k|k-1} = f(\hat{\mathbf{x}}_{k-1|k-1}, \mathbf{u}_k) Pkk1=FkPk1k1FkT+QkP_{k|k-1} = F_k P_{k-1|k-1} F_k^T + Q_k

平均は完全な非線形モデルを通して伝播される。共分散のみが線形化を用いる。このステップでは不確実性が増大する(デッドレコニングによるドリフト)。

更新

yk=zkh(x^kk1)(イノベーション)\mathbf{y}_k = \mathbf{z}_k - h(\hat{\mathbf{x}}_{k|k-1}) \qquad \text{(イノベーション)} Sk=HkPkk1HkT+Rk(イノベーション共分散)S_k = H_k P_{k|k-1} H_k^T + R_k \qquad \text{(イノベーション共分散)} Kk=Pkk1HkTSk1(カルマンゲイン)K_k = P_{k|k-1} H_k^T S_k^{-1} \qquad \text{(カルマンゲイン)} x^kk=x^kk1+Kkyk,Pkk=(IKkHk)Pkk1\hat{\mathbf{x}}_{k|k} = \hat{\mathbf{x}}_{k|k-1} + K_k \mathbf{y}_k, \qquad P_{k|k} = (I - K_k H_k)\, P_{k|k-1}

ゲイン KkK_k は観測を予測に対して重み付けする。確信度の高い予測(小さなPP)や雑音の多いセンサー(大きなRR)は小さな補正をもたらし、逆もまた同様である。イノベーション共分散 SkS_kゲーティングもサポートする — マハラノビス検定 yTS1y<χ2\mathbf{y}^T S^{-1} \mathbf{y} < \chi^2 の閾値により、外れ値の観測が状態を汚す前に棄却される。

EKF-SLAM

EKF-SLAM(MonoSLAMの背後にある定式化)では、状態はカメラ/ロボットの姿勢とすべてのランドマーク位置を積み重ねたものである。

x=[xrobotTm1TmnT]T,\mathbf{x} = \begin{bmatrix} \mathbf{x}_{\text{robot}}^T & \mathbf{m}_1^T & \cdots & \mathbf{m}_n^T \end{bmatrix}^T,

そしてPPは、姿勢-ランドマーク間およびランドマーク-ランドマーク間の相関を含む完全な結合共分散を保持する。これらの相互相関こそが、フィルタにおいてループ閉じ込みを機能させるものである。姿勢を補正すると、相関するすべてのランドマークも引き寄せられる。そのコストは構造的なものである。

これらの限界こそが、現代の視覚SLAMがキーフレームベースの非線形最適化に移行した理由である(「なぜフィルタなのか」論争、Strasdat et al.)。一方で、フィルタリングは、その定数時間の逐次形式が生きる領域で生き残っている。視覚慣性オドメトリ(MSCKF、ROVIO、誤差状態EKF)や、GPS/RADAR/ホイールエンコーダとのオドメトリ融合である。

SLAMにおける意義

EKFはSLAMの歴史的な基盤であり(EKF-SLAMは10年間唯一の解であった)、今も実用VIOの背骨である(MSCKF系のフィルタは多くのARヘッドセットやドローンで動いている)。最適化中心のパイプラインにおいても、EKFの概念は至る所に存在する。予測/更新の構造、外れ値棄却のためのイノベーションゲーティング、不確実性伝播のための共分散、そしてマージナライゼーション(固定ラグスマザーのマージナライゼーションステップは、代数的にはカルマン更新である)。EKFの単一線形化という仮定がいつ破綻するかを理解することは、なぜバンドル調整が精度で勝るのか、そしてなぜMSCKF系フィルタが線形化を遅延させるのかを理解する鍵である。

関連ノート