C2TAM
Riazuelo 2014 · 論文
一行要約 — C2TAM(Cloud framework for Cooperative Tracking And Mapping)は、クラウドベースの協調型単眼SLAMの先駆けであり、バンドル調整、リロケーション、場所認識、マップ融合をサーバーへオフロードすることで、各ロボットは搭載機上に軽量なリアルタイムトラッキングだけを保持する。
問題
協調型単眼SLAMでは、各ロボットが自身の位置を追跡しつつ、一貫したグローバルマップも維持しなければならない。マップ側のコスト(特にバンドル調整)は、軽量な組み込みプラットフォームが持続できる範囲を大きく超える。クラウドコンピューティングは明白な分業を提供するが、決定的な問いを投げかける: SLAM問題を分割し、その強いリアルタイム制約がネットワーク遅延の影響を受けないようにできるか? C2TAMの答え: カメラレートのトラッキングのみが遅延に対して致命的であり、マッピング、大規模なリロケーション、場所認識、マップ融合は、2つのループが分離されていれば標準的な無線接続の遅延を許容できる。
手法とアーキテクチャ
PTAMの分割をネットワークにまで拡張する。 PTAMのトラッキング/マッピングスレッド分解を拡張し、トラッキングクライアントはロボット上でローカルにキャッシュされたマップのコピーに対して動作し、マッピングサービスはクラウド上で動作して個のマップを保持する。各マップは3D点とキーフレームからなる。各点はマルチスケールのパッチ記述子を持ち、各キーフレームは「小さな画像」のグローバル記述子を持つ — フレームを40×30にサブサンプリングし、ガウシアンフィルタと平均正規化を適用したもの: 。
クラウドマッピング = バンドル調整。 サーバーは、すべての点とキーフレームにわたるロバストな再投影誤差を最小化して最大尤度マップを計算する:
ここでは射影モデル、はメディアンに基づくノイズ推定、はTukeyのbiweight関数であり、の残差をゼロにして外れ値を除去する。
クライアント側のトラッキング。 フレームごとに: (1)等速運動による位置予測、(2)最も粗いスケールの点からの粗い位置、(3)すべてのスケールのすべてのマップ点にわたって再最小化される精緻な位置。マップの初期化は、PTAMの手動並進儀式を、視差が十分になった時点で最初の2つのキーフレームをサーバーに送るクライアント側の相互作用型多モデルフィルタに置き換えている。
ネットワークを横断するもの。 トラッカーは、画像がマップに対して新しい情報を含む場合にのみ新しい生のキーフレーム(640×480 RGB、約1MB)をアップロードする。サーバーは最適化された3D点を返信する。トラッキングはネットワークをブロックしない: キャッシュされた(場合によっては最適でない)マップ上で継続し、更新が到着するたびにそれを差し替える。
リロケーション、場所認識、マップ融合 — いずれもクラウドサービス。 トラッキング喪失後のリロケーションは2段階: まず小さな画像記述子のユークリッド距離で最近傍のキーフレームを見つけ、次に回転補償された位置精緻化を行う。場所認識は、新しいユーザーがどのマップにいるかを認識するために、保存されているすべてのマップに対して同じ探索を実行する。マップ融合は、新しくアップロードされたキーフレームがのキーフレームにマッチしたときに発動する: 両マップの3D点が共通のキーフレームに射影され、対応関係から剛体変換が得られ、マップが統合され、重複した点が削除される — これらすべてがサーバー側で行われ、クライアントは最適でないマップ上でトラッキングを継続する。
実験結果
すべての実験は、大学の標準WiFi上でリアルタイムに実行され、640×480のRGB-Dカメラを使用した(RGBのみがSLAMに使用され、深度は可視化のみに使用された)。
- コストと帯域幅(4961フレームのシーケンス): クライアントのトラッキングは、マップが数千点まで成長しても約10ms/フレームで一定であり、33msのフレーム予算を大きく下回る(自動初期化は最初の20フレームで約70ms/フレームのコストがかかる)。平均帯域幅は約1MB/sで、測定された利用可能リンク1.45MB/sに対して十分である。キーフレームのアップロード(約1MB)は約1秒の遅延を意味し、マップのダウンロードは100-200msである — どちらも1/30秒のフレーム周期を大きく超えており、非同期設計を正当化する。
- 複数マップでのリロケーション: 3つの保存済みマップ(デスクトップ、壁・本棚、病室)は、研究室を横断する新しいシーケンスによってそれぞれ認識され拡張された — デスクトップ: 2662点/28キーフレーム → 3313/47; 壁: 2711点/32キーフレーム → 3987/58; 病室: 642点/29キーフレーム → 1624/58。
- 精度: テープメジャーによる実測値とマップ上の測定値は、ミリメートルからセンチメートル単位で一致する。例えば、ノートPC 0.340m 対 0.337m、ベッド 2.039m 対 2.044m、壁 3.105m 対 3.096m。
- マップ融合: オンラインのデスクトップAマップ(112キーフレーム、7925点)と保存済みのデスクトップBマップ(42キーフレーム、4098点)が融合された。約16MBの融合後ダウンロードには約5秒かかったが、クライアントのトラッキングは影響を受けず継続した。
- 協調的な2ユーザー実験では、同じ部屋の2つの独立したマップが重複部分で融合され、その後両トラッカーによって共同で拡張された。
SLAMにおける意義
C2TAMは、SLAMのためのクラウドロボティクス的な分業(重い最適化はクラウド、カメラレートのトラッキングはエッジ)を確立し、2つのループが非同期に分離されているとき、実際のネットワーク遅延がリアルタイム視覚SLAMと両立することを実証した。その保存マップリロケーションとサーバー側マップ融合は、マップ再利用をクラウドサービスとする発想を先取りしている(RoboEarthプロジェクトから生まれたものである)。C2TAMは、同じアーキテクチャをORB-SLAMのバックボーン上に再構築し、はるかに帯域幅に厳しい(C2TAMの生のキーフレーム画像の代わりにキーポイントと記述子を使う)プロトコルを実現したCCM-SLAMの直接の思想的祖先である。