Learned vs hand-crafted
古典的なSLAMは手作業で設計されたモジュールのパイプラインである: コーナー検出器(FAST、Harris)、記述子(ORB、SIFT)、マッチャー(最近傍+比率テスト)、ロバスト推定(RANSAC)、そして非線形最小二乗バックエンドである。これらの各コンポーネントは人間の仮定を符号化している — 「良い」特徴とはどのようなものか、どのようなノイズ分布を想定するか、どのヒューリスティクスで外れ値を拒否するか。深層学習は代替手段を提供する: これらの関数をデータから学習させるというものである。
2つの大きく異なる戦略
学習をSLAMに適用する方法は2つあり、これらを区別しておくことが重要である:
- モジュール置換(Module replacement): 古典的なパイプライン構造を維持しつつ、個々の手作りモジュールを学習型のものに置き換える。システムは解釈可能性を保ち、その幾何的バックエンド(バンドル調整、姿勢グラフ最適化)は変更されない。
- エンドツーエンド学習(End-to-end learning): パイプライン全体(あるいはその大部分)を、画像から姿勢やマップへ直接写像するネットワークに置き換える。例えば、LSTMで動きを回帰するDeepVOや、微分可能なバンドル調整層の周りで再帰的な更新演算子を学習するDROID-SLAMなどである。
モジュールごとの置換対応表
Level 5のほとんどは、どの古典的モジュールを各論文が置き換えるかを軸に構成されている:
| パイプライン段階 | 手作りの標準 | 学習型の置換 |
|---|---|---|
| キーポイント検出+記述 | FAST/Harris + ORB/SIFT | SuperPoint、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-Newton | DSAC(ソフトRANSAC)、アンロール/暗黙的BA層 |
新しい論文を読む際に最初に問うべきことは: *どの行に当てはまるか、そして古典的なバックエンドを保持しているか?*である。
それぞれが勝る場面
学習型モジュールが明確に勝るのは、手作りの仮定を破る条件下である: 激しい照明変化、テクスチャの弱い領域、動きブレ、季節や昼夜の見え方変化、ワイドベースラインマッチングなどである。学習型特徴はまさにこの変動性に対して訓練されているのに対し、手作りの記述子は設計者の想像力の範囲しか見ていない。
古典的モジュールが今も勝るのは、テクスチャが豊富で照明の良いシーンで高フレームレートが要求される場合である — ORBは計算コストが桁違いに低く、古典的な幾何は学習分布に関する懸念なしに正確で検証可能な解を与え、失敗モードも解析可能である。RANSACの失敗はインライア数から診断できるが、ネットワークの失敗はしばしば無音である。
エンドツーエンドの姿勢回帰は特に幾何に劣る: 姿勢を直接回帰するネットワーク(PoseNet型)は、三角測量よりも画像検索に近い振る舞いをし、その誤差はテクスチャが増えたりキャリブレーションが改善されたりしても幾何的手法のように縮小しない。これが、この分野がハイブリッド — 学習型の知覚と幾何的な推定 — に収束した理由である。
実践的な目安
| 問い | 古典的手法が有利 | 学習型手法が有利 |
|---|---|---|
| 計算予算 | 組み込みCPU | GPU利用可能 |
| 環境 | 制御された、テクスチャのある環境 | 見え方の変化、低テクスチャ |
| 解釈可能性/認証 | 必須 | 任意 |
| 対象領域の学習データ | 乏しい | 豊富 |
学習型モジュール導入時のよくある落とし穴
- 分布シフト: 屋外の landmark で訓練されたマッチャーは屋内では性能が低下する場合がある;論文のベンチマークだけでなく、必ず自分の領域のデータで検証すること。
- スループットの見積もり: 論文はGPU推論時間を報告するが、ロボット上ではGPUを他の知覚タスクと共有する場合があり、前処理(リサイズ、正規化)が隠れたコストになることが多い。
- 規約の混在バグ: 学習型特徴は独自の解像度、スコア規約、サブピクセル挙動を持っている;ORB向けに調整されたパイプラインにSuperPointをしきい値(マッチング、RANSAC、キーフレーム選択)を再調整せずに組み込むのは、精度が静かに低下する典型的な原因である。
- 評価リーク: 一部の学習型モジュールは、評価に使われるベンチマークそのもの(あるいはその近縁データ)で訓練されている;比較を信頼する前に学習セットを確認すること。
ハイブリッドの合意
実際には、最も成功している現代的なシステムはハイブリッドである: 学習型の知覚が古典的な幾何最適化に供給される(例えば、ORB-SLAM風パイプライン内の学習型特徴、あるいは古典的なBAソルバーの周りにあるDROID-SLAMの学習型更新)。SLAMの最尤推定の仕組みはブラックボックスでは打破しにくいが、それに供給する知覚層こそが学習が最初に価値を発揮する場所である。Differentiabilityのノートでは、この2つの半分を共に学習させる技術を取り上げている。
SLAMにおける意義
Level 5のほぼすべての論文は、学習型対手作りのスペクトル上の一点であり、ある手法がどこに位置するかを知ることで、その手法がどの問題を解決し、どのようなコストがかかるかがわかる。システムを設計する際、この枠組みは「深層学習を使うべきか?」という問いを、具体的な工学的な問い — どのモジュールが失敗しているのか、自分のプラットフォームで推論コストを負担できるのか、幾何は古典的なままにすべきなのか — に変換する。