Basic Probability & Statistics

SLAMはその本質において確率的推定問題である。すなわち、雑音を含むセンサーデータが与えられたとき、ロボットの最も尤らしい状態(ポーズ+マップ)は何かという問題である。確率論は、不確実性の下で推論するための厳密な言語を提供する。

ガウス分布

平均 μ\mu、標準偏差 σ\sigma を持つ一変量ガウス(正規)分布の確率密度関数は次の通りである:

p(x)=1σ2πexp ⁣((xμ)22σ2)p(x) = \frac{1}{\sigma\sqrt{2\pi}} \exp\!\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)

SLAMの状態は多次元であるため、多変量ガウス分布を用いる。平均 μ\boldsymbol{\mu}、共分散行列 Σ\boldsymbol{\Sigma}(対称正定値)を持つ確率変数ベクトル xRn\mathbf{x} \in \mathbb{R}^n について:

p(x)=1(2π)n/2Σ1/2exp ⁣(12(xμ)TΣ1(xμ))p(\mathbf{x}) = \frac{1}{(2\pi)^{n/2}|\boldsymbol{\Sigma}|^{1/2}} \exp\!\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^T \boldsymbol{\Sigma}^{-1}(\mathbf{x}-\boldsymbol{\mu})\right)

指数関数の引数 (xμ)TΣ1(xμ)(\mathbf{x}-\boldsymbol{\mu})^T\boldsymbol{\Sigma}^{-1}(\mathbf{x}-\boldsymbol{\mu})マハラノビス距離であり、x\mathbf{x} が平均からどれだけ離れているかを尺度不変に測る指標である。SLAMでは、共分散 Σ\boldsymbol{\Sigma} は不確実性を符号化する。対角成分 Σii\Sigma_{ii} が大きいということは、状態の第 ii 成分について不確実であることを意味する。

ガウス分布が推定の中心的な道具である理由は、2つの性質にある:

ベイズの定理

ベイズの定理は確率的SLAMの原動力である。これは事後分布 p(xz)p(\mathbf{x}|\mathbf{z})(観測 z\mathbf{z} が与えられたときの状態 x\mathbf{x} に関する我々の信念)を、尤度 p(zx)p(\mathbf{z}|\mathbf{x})事前分布 p(x)p(\mathbf{x}) に関連づける:

p(xz)=p(zx)p(x)p(z)p(zx)p(x)p(\mathbf{x} \mid \mathbf{z}) = \frac{p(\mathbf{z} \mid \mathbf{x})\, p(\mathbf{x})}{p(\mathbf{z})} \propto p(\mathbf{z} \mid \mathbf{x})\, p(\mathbf{x})

SLAMでは、x\mathbf{x} はロボットのポーズ(およびマップ)であり、z\mathbf{z} はカメラ画像(または特徴点の観測)である。事前分布は運動モデルから、尤度は観測モデルから得られる。ベイズの定理の再帰的な適用 — 予測してから更新する — は、拡張カルマンフィルタ(EKF-SLAM)やパーティクルフィルタの基礎である。

MAPとMLE

事後分布を最大化する状態を求めることが**最大事後確率(MAP)**推定である:

x=argmaxxp(xz)=argmaxxp(zx)p(x)\mathbf{x}^* = \arg\max_{\mathbf{x}}\, p(\mathbf{x} \mid \mathbf{z}) = \arg\max_{\mathbf{x}}\, p(\mathbf{z} \mid \mathbf{x})\, p(\mathbf{x})

事前分布が一様分布であるとき、MAPは**最大尤度推定(MLE)**に帰着する。ガウス雑音モデルの場合、MLEは二乗誤差の和を最小化することと等価であり、これはまさにバンドル調整が行っていることである。

MLEから最小二乗法へ(重要な導出)

独立な観測 zi\mathbf{z}_i がガウス雑音を持つと仮定する: zi=hi(x)+ϵi\mathbf{z}_i = \mathbf{h}_i(\mathbf{x}) + \boldsymbol{\epsilon}_iϵiN(0,Σi)\boldsymbol{\epsilon}_i \sim \mathcal{N}(\mathbf{0}, \boldsymbol{\Sigma}_i)。尤度は積であるため、その負の対数は和になる:

logip(zix)=12i(zihi(x))TΣi1(zihi(x))+const-\log \prod_i p(\mathbf{z}_i \mid \mathbf{x}) = \frac{1}{2}\sum_i \big(\mathbf{z}_i - \mathbf{h}_i(\mathbf{x})\big)^T \boldsymbol{\Sigma}_i^{-1} \big(\mathbf{z}_i - \mathbf{h}_i(\mathbf{x})\big) + \text{const}

したがって尤度の最大化は、マハラノビス重み付き残差の二乗和の最小化と等価である。この一行が確率と最適化を結びつける。バンドル調整、ポーズグラフ最適化、因子グラフ推論はすべて、ガウス雑音下でのMAP推定であり、情報行列 Σi1\boldsymbol{\Sigma}_i^{-1} はまさに各残差に与えられる重みである。

よくある落とし穴

SLAMにおける意義

SLAMバックエンドの2つの主要な系統 — フィルタリング(EKF、パーティクルフィルタ)とスムージング(因子グラフ、バンドル調整) — は、いずれもガウス雑音下でのベイズ推定の直接的な応用である。ガウス分布、ベイズの定理、そしてMAP/MLEの結びつきを理解することで、カルマンフィルタの更新と最小二乗法の解が、同じ推論問題の2つの見方であることが見えてくる。

関連ノート