マップマージ
マップマージとは、異なるロボット(あるいは同一ロボットの異なるセッション)が構築したサブマップを、1つの一貫した大域マップに整合させる処理である。各ロボットは自身の任意の座標系でSLAMを開始する。マージによって、分断されたローカルマップの集まりが1つの共有表現に変わる。
標準的なパイプライン
- アンカーを見つける。 ロボット間閉ループ(場所認識+幾何学的検証)が、異なるマップのキーフレーム間の相対ポーズ制約を提供する。1つの検証済み閉ループがあれば2つのフレームを関係付けるのに十分であり、複数あれば整合の条件がより良くなる。
- マップ間変換を推定する。 マッチしたキーフレームから、2つのマップフレーム間の変換を計算する――両マップがメトリック(ステレオ、RGB-D、VIO)の場合は、単眼マップをマージする場合でスケールが異なる場合は(スケールを加えた)である。推定には、マッチした特徴に対するPnPまたは基礎行列法、あるいは共有ランドマークの3D-3D整合を用いる。
- データを融合する。 一方のマップを他方のフレームに変換し、重複するコンテンツをマージする。両方のロボットから観測された共可視ランドマークは統合され、キーフレームデータベースと共可視性/ポーズグラフは結合され、閉ループのエッジは通常のグラフエッジになる。
- 共同で最適化する。 マージされたグラフに対してポーズグラフ最適化またはバンドル調整を実行し、整合誤差が接合部に集中するのではなく両方の軌跡に分散されるようにする。分散システムではこの段階は分散最適化であり、集中型システムではサーバーがグローバルBAを実行する。
整合の数学
両方のマップで観測された共有ランドマークによる個の対応する3D点のペアが与えられたとき、マップ間変換は次の閉形式最小二乗整合である。
これはHorn/Umeyama法によって解かれる。重心を引き、相関行列のSVDを取ってを得て、分散の比からを復元し(の場合は)、重心からを得る。この方法を対応点についてのRANSACに包んだものが、ステップ2の主力手法である。2D観測しか得られない場合(単眼)は、一方のマップのランドマークを他方のキーフレームに対してPnPを行うか、基礎行列分解を行うことで、同じ役割を果たす。
一方のマップフレームは基準(「ゲージ」)として選ばれなければならない――典型的には、古いマップ、より大きなマップ、あるいはサーバーの正準フレームがその座標系を保持し、もう一方のマップがそれに変換される。
重複を適切に融合する
整合後、重複領域は2重に存在する。これをうまくマージすることが重要である。
- ランドマークの統合: 重複候補ランドマークは、一方のマップの点を他方のキーフレームに投影し、記述子距離と再投影誤差で絞り込むことで見つけられる。マッチしたペアは、両方の観測リストを引き継ぐ単一のランドマークに統合される。
- グラフの再結線: 共可視性エッジとBoWデータベースは接合部を越えて再構築され、以後の追跡・再局在化・閉ループ検出が、マージされた領域を1つの場所として扱うようになる――これは本質的に、古いマップに再遭遇したときにORB-SLAM3のAtlasが行う「溶接」処理である。
- その後に最適化する: 接合部を除去できるのは共同最適化(ステップ4)だけである。剛体整合のみでは、両方のマップの内部ドリフトはそのまま残り、アンカー部分の不連続性を単に隠すだけである。
設計上の考慮事項と落とし穴
- 1回だけマージするか継続的にマージするか: マージは最初の遭遇時に行うこともできるし、より多くのマップ間閉ループが到着するにつれて継続的に洗練することもできる。遅れて到着する閉ループは、破棄されるのではなく、整合をさらに改善し続けるべきである。
- 誤ったマージは破滅的である: 偽のロボット間閉ループは、同じでない場所を1つにマージしてしまう。そのため、ロバストなバックエンド(PCM、GNC)は、コミットする前に閉ループの集合を検証する――マージ不能なマップの方が、損なわれたマップよりも良い。
- スケールの不一致: 2つの単眼マップを変換でマージすると、一方のマップのスケールが他方に暗黙的に強制されてしまう。両方のマップがメトリックでない限り、を使うべきである。
- 二重計上: 重複ランドマークが統合されない場合、同じ物理的特徴が最適化に2回貢献し、重複領域を過剰に重み付けして結果に偏りを生じさせる。
- 同じ仕組みが「マルチセッション」SLAM(maplab 2.0、ORB-SLAM3のAtlas)を支えている――「ロボット」は単に昨日のマッピング走行であってもよい。
SLAMにおける意義
マップマージは、協調が実際に成果を上げる場所である――個の部分的でドリフトしたマップを、単一のロボットでは達成できないほどのカバレッジと閉ループを持つ1つのマップに変換する。マップ間変換、重複ランドマークの融合、共同最適化という同じ概念は、マルチセッションマッピング、事前マップへの再局在化、AR・自動運転向けのクラウドソースマッピングにも繰り返し現れる。