MAC-VO

Qiu 2024 · 論文

一行要約 — メトリックスケールを意識したマッチング共分散を予測し、それをキーポイント選択と姿勢最適化における残差重み付けの両方に利用する、学習ベースのステレオ視覚オドメトリ。

問題

学習ベースのVOモデルは信頼性の推定が苦手である。教師なしで学習される信頼度重み(DROID-SLAM、DPVO)はスケールに依存しないものであり、マッチ同士を相対的にランク付けするだけでメートル単位での実際の3D推定誤差を反映しない。これにより「スケールが異なる環境間で共分散が一貫しなくなり」、「異なるモダリティやセンサーからの複数の制約を統合することがより難しくなる」。一方でキーポイント選択は依然としてテクスチャの豊富なエッジやコーナーを好むが、そこはまさに補間やエッジの曖昧さのために学習によるマッチングと深度が最も不正確になる場所である — D3VOはそのような特徴点がランダム選択よりも悪い性能になり得ることを示した。MAC-VOはこの両方を、単一の学習済みでメトリックスケールを意識した不確実性モデルに置き換える。

手法とアーキテクチャ

不確実性を考慮したマッチングネットワーク。 FlowFormerバックボーンを共有するネットワークが、フレーム間の深度、オプティカルフロー f^R2\hat{f} \in \mathbb{R}^2、およびそれらの不確実性 Σ^f=diag(σu2,σv2)\hat{\Sigma}_f = \mathrm{diag}(\sigma_u^2, \sigma_v^2) を同時に推定する。共分散デコーダは再帰的なフローデコーダに相乗りし、対数空間での反復更新 logΔσ\log \Delta\sigma を予測する(加算的な更新、正の分散が保証され、勾配が安定する)。教師信号は更新反復にわたる負の対数尤度損失である。

Lcov=iNαi((yf^i)Σ^f1(yf^i)+log(detΣ^f))L_{cov} = \sum_i^N \alpha_i \left( (y - \hat{f}_i)^\top \hat{\Sigma}_f^{-1} (y - \hat{f}_i) + \log(\det \hat{\Sigma}_f) \right)

ここで yy は正解フロー、αi\alpha_i は指数的に減衰する重み(比率0.8)である。TartanAirのみで学習され、それ以外の場所ではゼロショットで評価される。

不確実性に基づくキーポイント選択。 3つの重ねられたフィルタからなる。空間的な分散のための非最小値抑制、画像の境界や無効な深度を除去する幾何フィルタ、そして深度またはフローの不確実性がフレーム中央値の1.5倍を超えるピクセルを除去する不確実性フィルタである — これは動く車両、遮蔽、反射、テクスチャのない領域を暗黙的に除去する。

メトリックスケールを意識した3D共分散。 2Dの不確実性はピンホールモデルを通じて各キーポイントの完全な3D共分散へ伝播される。対角項は次のとおり(xxについて、yyは対称、σz2=σd2\sigma_z^2 = \sigma_d^2)。

σx2=(σu2σd2+σu2d2+(ucx)2σd2)/fx2\sigma_{x}^2 = \left( \sigma_u^2 \sigma_d^2 + \sigma_u^2 d^2 + (u - c_x)^2 \sigma_d^2 \right) / \mathrm{f}_x^2

3つの座標すべてが深度 dd を共有するため、このモデルは非対角項も保持する。例えば σxz=σd2(ucx)/fx\sigma_{xz} = \sigma_d^2 (u - c_x)/\mathrm{f}_x および σxy=σd2(ucx)(vcy)/(fxfy)\sigma_{xy} = \sigma_d^2 (u - c_x)(v - c_y)/(\mathrm{f}_x \mathrm{f}_y) であり、これはDROID-SLAMのスケール不変な対角行列とは異なり、メートル単位の非等方的で相関のある共分散である。深度の不確実性はさらにシーンの幾何に応じて補正される。マッチ周辺の32ピクセルのパッチ内で、σd2=jφj(djμD)2\sigma_d^2 = \sum_j \varphi_j (d_j - \mu_D)^2 という分散が、(σu2,σv2)(\sigma_u^2, \sigma_v^2) から構築された2Dガウスカーネル φ\varphi で重み付けされる — つまり深度の不連続点付近のマッチは大きな深度不確実性を継承する。

姿勢グラフ最適化。 カメラ姿勢 TtSE(3)T_t \in SE(3) はTartanVOの動き推定によって初期化され、マッチした3Dキーポイントの2フレーム間レジストレーションによって伝播された共分散で重み付けして精緻化される。

T=arg minTtipi,t1Ttcpi,tΣi2,Σi=Σi,t1p+RtcΣi,tpRtT^{\star} = \operatorname*{arg\,min}_{T_t} \sum_i \left\lVert \mathbf{p}_{i,t-1} - T_t\, {}^c\mathbf{p}_{i,t} \right\rVert^2_{\Sigma_i}, \qquad \Sigma_i = \Sigma^p_{i,t-1} + R_t\, {}^c\Sigma^p_{i,t}\, R_t^\top

PyPose上でLevenberg-Marquardt法によって解かれる。注目すべきは、複数フレームにわたるバンドル調整やループ閉じ込みが一切ないことであり、精度はすべて校正された重み付けから得られている。

実験結果

すべてのデータセットで同一の設定と重みを使用する。評価にはフレームごとの相対誤差 trelt_{rel}(m/フレーム)と rrelr_{rel}(deg/フレーム)を用いる。

SLAMにおける意義

MAC-VOは学習ベースのオドメトリの成熟を象徴している。単に姿勢やフローを予測するだけでなく、その予測がどれだけ誤っているかを、古典的な推定理論が扱い方を知っている形式(メトリックで相関のある共分散)で予測するのである。校正された不確実性こそが、学習によるフロントエンドをフィルタ、ファクターグラフ、マルチセンサーシステムと融合するために必要なものであり — 著者が述べる次のステップでもある — この不確実性マップは下流の意思決定のための信頼性信号としても機能する。

関連ノート