C2TAM

Riazuelo 2014 · 論文

一行要約 — C2TAM(Cloud framework for Cooperative Tracking And Mapping)は、クラウドベースの協調型単眼SLAMの先駆けであり、バンドル調整、リロケーション、場所認識、マップ融合をサーバーへオフロードすることで、各ロボットは搭載機上に軽量なリアルタイムトラッキングだけを保持する。

問題

協調型単眼SLAMでは、各ロボットが自身の位置を追跡しつつ、一貫したグローバルマップも維持しなければならない。マップ側のコスト(特にバンドル調整)は、軽量な組み込みプラットフォームが持続できる範囲を大きく超える。クラウドコンピューティングは明白な分業を提供するが、決定的な問いを投げかける: SLAM問題を分割し、その強いリアルタイム制約がネットワーク遅延の影響を受けないようにできるか? C2TAMの答え: カメラレートのトラッキングのみが遅延に対して致命的であり、マッピング、大規模なリロケーション、場所認識、マップ融合は、2つのループが分離されていれば標準的な無線接続の遅延を許容できる。

手法とアーキテクチャ

PTAMの分割をネットワークにまで拡張する。 PTAMのトラッキング/マッピングスレッド分解を拡張し、トラッキングクライアントはロボット上でローカルにキャッシュされたマップのコピーに対して動作し、マッピングサービスはクラウド上で動作してll個のマップ{M1,,Ml}\{M_1,\dots,M_l\}を保持する。各マップM={P1,,Pn,C1,,Cm}M=\{P_1,\dots,P_n,\,C_1,\dots,C_m\}は3D点とキーフレームからなる。各点はマルチスケールのパッチ記述子を持ち、各キーフレームは「小さな画像」のグローバル記述子を持つ — フレームを40×30にサブサンプリングし、ガウシアンフィルタと平均正規化を適用したもの: dc=Ic40×30g(σ)Ic40×30g(σ)d_c = I_c^{40\times30}\ast g(\sigma) - \overline{I_c^{40\times30}\ast g(\sigma)}

クラウドマッピング = バンドル調整。 サーバーは、すべての点PiP_iとキーフレームCjC_jにわたるロバストな再投影誤差を最小化して最大尤度マップを計算する:

(P^i,C^j)=argminPi,Cji=1nj=1mρ(Δzij/σ),Δzij=zijf(Pi,Cj,Kj)\left(\hat{P}_i,\hat{C}_j\right)=\arg\min_{P_i,C_j}\sum_{i=1}^{n}\sum_{j=1}^{m}\rho\left(\Delta z_i^j/\sigma\right),\qquad \Delta z_i^j = z_i^j - f(P_i,C_j,K_j)

ここでffは射影モデル、σ\sigmaはメディアンに基づくノイズ推定、ρ\rhoはTukeyのbiweight関数であり、ξ>1|\xi|>1の残差をゼロにして外れ値を除去する。

クライアント側のトラッキング。 フレームごとに: (1)等速運動による位置予測、(2)最も粗いスケールの点からの粗い位置T^t=argminTtiρ(Δzi/σ)\hat{T}_t^{\ast}=\arg\min_{T_t}\sum_i \rho(\Delta z_i^{\ast}/\sigma^{\ast})、(3)すべてのスケールのすべてのマップ点にわたって再最小化される精緻な位置T^t\hat{T}_t。マップの初期化は、PTAMの手動並進儀式を、視差が十分になった時点で最初の2つのキーフレームをサーバーに送るクライアント側の相互作用型多モデルフィルタに置き換えている。

ネットワークを横断するもの。 トラッカーは、画像がマップに対して新しい情報を含む場合にのみ新しい生のキーフレーム(640×480 RGB、約1MB)をアップロードする。サーバーは最適化された3D点を返信する。トラッキングはネットワークをブロックしない: キャッシュされた(場合によっては最適でない)マップ上で継続し、更新が到着するたびにそれを差し替える。

リロケーション、場所認識、マップ融合 — いずれもクラウドサービス。 トラッキング喪失後のリロケーションは2段階: まず小さな画像記述子のユークリッド距離で最近傍のキーフレームを見つけ、次に回転補償された位置精緻化を行う。場所認識は、新しいユーザーがどのマップにいるかを認識するために、保存されているすべてのマップに対して同じ探索を実行する。マップ融合は、新しくアップロードされたキーフレームMkM_kMqM_qのキーフレームにマッチしたときに発動する: 両マップの3D点が共通のキーフレームに射影され、対応関係から剛体変換が得られ、マップが統合され、重複した点が削除される — これらすべてがサーバー側で行われ、クライアントは最適でないマップ上でトラッキングを継続する。

実験結果

すべての実験は、大学の標準WiFi上でリアルタイムに実行され、640×480のRGB-Dカメラを使用した(RGBのみがSLAMに使用され、深度は可視化のみに使用された)。

SLAMにおける意義

C2TAMは、SLAMのためのクラウドロボティクス的な分業(重い最適化はクラウド、カメラレートのトラッキングはエッジ)を確立し、2つのループが非同期に分離されているとき、実際のネットワーク遅延がリアルタイム視覚SLAMと両立することを実証した。その保存マップリロケーションとサーバー側マップ融合は、マップ再利用をクラウドサービスとする発想を先取りしている(RoboEarthプロジェクトから生まれたものである)。C2TAMは、同じアーキテクチャをORB-SLAMのバックボーン上に再構築し、はるかに帯域幅に厳しい(C2TAMの生のキーフレーム画像の代わりにキーポイントと記述子を使う)プロトコルを実現したCCM-SLAMの直接の思想的祖先である。

関連ノート