スケール可観測性

単眼カメラは方位(点への方向)のみを計測するため、再構成された世界の絶対的な大きさは可観測ではない。シーン全体とすべての並進を任意の係数でスケーリングしても、まったく同じ画像が得られる。ステレオはこの不定性を構造的に取り除く。2台のカメラ間の既知の、キャリブレーション済みのベースラインBBは、すべてのステレオ計測の内部に置かれた物理的な長さである。Z=fB/dZ = fB/dを通じて、マッチしたキーポイントごとにメートル単位の深度が得られる。メトリックスケールは単一のステレオフレームから可観測であり、動きも、IMUも、シーンの仮定も必要としない。

なぜ単眼のスケールは可観測でないのか

任意の単眼再構成{Xj,(Ri,ti)}\{\mathbf{X}_j, (\mathbf{R}_i, \mathbf{t}_i)\}を取り、これをs>0s > 0でスケーリングすると、点はsXjs\mathbf{X}_jに、並進はstis\mathbf{t}_iになる(回転は変化しない)。すべての射影は変わらない。なぜなら、ピンホール射影は同次座標のスケーリングに対して不変だからである。

π ⁣(K(RisXj+sti))=π ⁣(sK(RiXj+ti))=π ⁣(K(RiXj+ti)).\pi\!\left(\mathbf{K}(\mathbf{R}_i\, s\mathbf{X}_j + s\mathbf{t}_i)\right) = \pi\!\left(s\,\mathbf{K}(\mathbf{R}_i \mathbf{X}_j + \mathbf{t}_i)\right) = \pi\!\left(\mathbf{K}(\mathbf{R}_i \mathbf{X}_j + \mathbf{t}_i)\right).

計測の尤度は任意のssに対して同一である — 単眼データがどれだけあっても、ゆっくり移動する小さな世界と速く移動する大きな世界を区別することはできない。スケールは、グローバルな位置と姿勢の選択とまったく同様に、ゲージの自由度である。

何がスケールを可観測にするのか

計測がひとつでもメートル単位の情報を持てば、その瞬間からスケールは可観測になる。

SLAM推定器への影響

よくある落とし穴

有用な考え方: 単眼SLAMは世界を「最初の並進の単位」で推定する。一方ステレオSLAMは、物差し(ベースライン)がロボットにボルト留めされているため、メートル単位で世界を推定する。

SLAMにおける意義

ロボットはメートル単位で計画・制御し、障害物を回避するため、メトリックスケールはナビゲーションにおいて譲れない要件である。どのセンサー構成がスケールを可観測にするか(ステレオベースライン、IMU加速度、深度カメラ、車輪オドメトリ)を理解することは、なぜ自動運転車が広ベースラインのステレオを使うのか、なぜARヘッドセットがカメラとIMUを組み合わせるのかなど、多くのシステム設計上の選択を説明する。

関連ノート