Learned vs hand-crafted

古典的なSLAMは手作業で設計されたモジュールのパイプラインである: コーナー検出器(FAST、Harris)、記述子(ORB、SIFT)、マッチャー(最近傍+比率テスト)、ロバスト推定(RANSAC)、そして非線形最小二乗バックエンドである。これらの各コンポーネントは人間の仮定を符号化している — 「良い」特徴とはどのようなものか、どのようなノイズ分布を想定するか、どのヒューリスティクスで外れ値を拒否するか。深層学習は代替手段を提供する: これらの関数をデータから学習させるというものである。

2つの大きく異なる戦略

学習をSLAMに適用する方法は2つあり、これらを区別しておくことが重要である:

モジュールごとの置換対応表

Level 5のほとんどは、どの古典的モジュールを各論文が置き換えるかを軸に構成されている:

パイプライン段階手作りの標準学習型の置換
キーポイント検出+記述FAST/Harris + ORB/SIFTSuperPoint、R2D2、DISK、XFeat
マッチング最近傍+比率テストSuperGlue、LightGlue、LoFTR(検出器不要)
場所認識bag-of-words (DBoW)NetVLAD、Patch-NetVLAD、HF-Net
深度ステレオブロックマッチング/深度センサMonoDepth、MiDaS、Depth Anything
オプティカルフローLucas-Kanade、変分法フローRAFT、SEA-RAFT
リロカリゼーション3Dマップに対する記述子マッチングPoseNet(回帰)、DSAC/ACE(シーン座標)
外れ値除去/ソルバーRANSAC、Gauss-NewtonDSAC(ソフトRANSAC)、アンロール/暗黙的BA層

新しい論文を読む際に最初に問うべきことは: *どの行に当てはまるか、そして古典的なバックエンドを保持しているか?*である。

それぞれが勝る場面

学習型モジュールが明確に勝るのは、手作りの仮定を破る条件下である: 激しい照明変化、テクスチャの弱い領域、動きブレ、季節や昼夜の見え方変化、ワイドベースラインマッチングなどである。学習型特徴はまさにこの変動性に対して訓練されているのに対し、手作りの記述子は設計者の想像力の範囲しか見ていない。

古典的モジュールが今も勝るのは、テクスチャが豊富で照明の良いシーンで高フレームレートが要求される場合である — ORBは計算コストが桁違いに低く、古典的な幾何は学習分布に関する懸念なしに正確で検証可能な解を与え、失敗モードも解析可能である。RANSACの失敗はインライア数から診断できるが、ネットワークの失敗はしばしば無音である。

エンドツーエンドの姿勢回帰は特に幾何に劣る: 姿勢を直接回帰するネットワーク(PoseNet型)は、三角測量よりも画像検索に近い振る舞いをし、その誤差はテクスチャが増えたりキャリブレーションが改善されたりしても幾何的手法のように縮小しない。これが、この分野がハイブリッド — 学習型の知覚と幾何的な推定 — に収束した理由である。

実践的な目安

問い古典的手法が有利学習型手法が有利
計算予算組み込みCPUGPU利用可能
環境制御された、テクスチャのある環境見え方の変化、低テクスチャ
解釈可能性/認証必須任意
対象領域の学習データ乏しい豊富

学習型モジュール導入時のよくある落とし穴

ハイブリッドの合意

実際には、最も成功している現代的なシステムはハイブリッドである: 学習型の知覚が古典的な幾何最適化に供給される(例えば、ORB-SLAM風パイプライン内の学習型特徴、あるいは古典的なBAソルバーの周りにあるDROID-SLAMの学習型更新)。SLAMの最尤推定の仕組みはブラックボックスでは打破しにくいが、それに供給する知覚層こそが学習が最初に価値を発揮する場所である。Differentiabilityのノートでは、この2つの半分を共に学習させる技術を取り上げている。

SLAMにおける意義

Level 5のほぼすべての論文は、学習型対手作りのスペクトル上の一点であり、ある手法がどこに位置するかを知ることで、その手法がどの問題を解決し、どのようなコストがかかるかがわかる。システムを設計する際、この枠組みは「深層学習を使うべきか?」という問いを、具体的な工学的な問い — どのモジュールが失敗しているのか、自分のプラットフォームで推論コストを負担できるのか、幾何は古典的なままにすべきなのか — に変換する。

関連ノート