スケール不定性
スケール不定性(Scale ambiguity) は単眼SLAMの根本的な限界であり、画像のみからは絶対的なメトリックスケールを復元できないことを指す。距離、カメラ基線で観測されたシーンは、正の任意のスカラーに対して、距離、基線のシーンとまったく同じ画像を生成する。近くで撮影されたドールハウスと遠くから撮影された実際の家は、単一の移動カメラにとって幾何学的に区別がつかない。
数学的に言えば、単眼再構成は ではなく 相似空間(similarity space) (回転+並進+スケール、7自由度)に存在する。エピポーラ制約は回転と並進の方向を固定するが、並進の大きさ——それとともにマップ全体のスケール——は自由なパラメータのままである。単眼システムは初期化時に単純にスケールを選ぶ(例えば最初の基線を1に正規化する)。
数式の中で見えるもの
世界の点を姿勢のカメラに投影すると
ここで世界全体と各カメラ並進を倍でスケールする: 、。すると
射影的な等号は全体の係数を無視するためである。すべてのカメラのすべての画像測定は変化しないため、いかなる測光的または幾何学的な画像コストも2つの再構成を区別できない——尤度はスケール方向に沿って完全に平坦である。これはまた、この対称性を破るものが何であるかを正確に特定している。すなわち、倍にされない物理単位を持つ測定である。加速度計の測定(m/s²)、ステレオ基線(m)、車輪エンコーダの距離(m)、デプス測定(m)はいずれもスケールされることを拒み、平坦な方向は消滅する——これが以下に列挙するすべてのスケール復元手法の一行での説明である。
同じ理由から、この不定性がなぜちょうど1次元であるかも説明できる。回転と並進の方向はエピポーラ幾何によって固定されるため、の7自由度のうち、画像は6の相対自由度を決定し、残るのはのみである(加えて任意の大域ゲージ——世界原点をどこに置くか——はすべてのSLAM定式化に存在する)。
未知の大域スケールよりも厄介なのはスケールドリフトである。スケールが観測不能であるため、小さな誤差によって推定スケールが軌跡に沿ってゆっくりと漂い、長い単眼ループでは出発点に異なるスケールで戻ってくることがある。これが、ORB-SLAMなどの単眼システムがループ閉じ込みを上で行う理由である——ループ補正は姿勢だけでなくスケールも修正しなければならない。
実際にスケールがどのように復元されるか:
- IMU融合(VIO): 加速度計はメトリックな加速度を測定するため、十分な運動があればスケールは観測可能になる——VINS-Mono、ORB-SLAM3の慣性モード、そしてすべてのスマートフォン/ヘッドセットのトラッカーで使われる手法。
- ステレオまたはRGB-D: 既知の基線または直接的なデプス測定が、構造上スケールを提供する。
- 既知の物体サイズ/幾何的事前情報: 認識された物体(CubeSLAM)、既知のマーカー、地面からのカメラ高さ(運転で一般的)。
- 学習されたデプス事前情報: 現代のメトリック単眼デプスネットワーク(例: Metric3D)やメトリックで学習された3D基盤モデル(例: MASt3R)は、単一画像からおおよそメートル単位の幾何を予測し、単眼パイプラインに近似的な絶対スケールを与える——これは学習された事前情報であり、幾何学的な保証ではないが、実用上はしばしば十分によい。
評価と落とし穴への影響
単眼軌跡には定義された単位がないため、グラウンドトゥルースに対する評価にはスケールを含めたアラインメントの推定が必要である。すなわち通常はUmeyamaの閉形式解法による(7自由度)アラインメントを行った上でATEを計算する。ベンチマークを読む際にはここに注意が必要である。7自由度アラインメントで評価された単眼システムと6自由度アラインメントで評価されたステレオ/VIOシステムは、異なる基準で採点されており、単一の大域スケール補正ではスケールドリフトを隠すことはできない——これが長い屋外の単眼シーケンス(KITTI)が純粹な単眼手法をあれほど顕著に痛めつける理由である。
噛みつく前に知っておくべき落とし穴:
- 純回転はスケールを与えない——三角測量も一切できない: 基線ゼロでは視差が生じないため、単眼初期化は回転のみの運動下で失敗するか退化する。これが初期化手法が十分な視差を待つ(あるいはホモグラフィのケースを別途モデル化する)理由である。
- 等速運動もVIOのスケールを欺く: 加速度計を通じてスケールが観測可能になるのはゼロでない加速の下でのみである。等速で巡航するドローン(あるいはクルーズコントロール中の車)は励振を提供せず、次の加速までVIOのスケールはドリフトしうる。
- 最適化におけるスケール崩壊: 単眼BAはスケール方向に沿って平坦な方向を持つ。ゲージ固定(姿勢間の距離を固定するか事前情報を加える)なしでは、数値的なドリフトによって最適化の実行間でマップ全体が縮小あるいは膨張しうる。
- マージ後の混在スケールマップ: 2つの単眼サブマップ(マルチセッションまたはマルチロボット)をマージするには、ではなく相対的なを推定する必要がある。固定スケールでのマージは、一方のマップを他方に合わせて密かに変形させてしまう。
- 学習されたメトリックデプスは事前情報であり、センサーではない: メトリックデプスネットワークは体系的に誤ることがある(見慣れない焦点距離やシーンタイプによるシーンごとのバイアス)。そのスケールは、グラウンドトゥルースではなく、大きな不確実性を伴う測定として扱うべきである。
SLAMにおける意義
スケール不定性はシステム設計を決定づける。それがまさに、スマートフォンやヘッドセットがIMUを追加し、車がステレオ/LiDARを追加し、単眼論文がグラウンドトゥルースとのスケールアラインメント後にのみ軌跡誤差を報告する理由である。どの測定がスケールを観測可能にするか——そしてスケールドリフトがどのように長い軌跡を破壊するか——を理解することは、単眼または視覚-慣性SLAM論文を読む上で不可欠である。