📌

[Wang+,2024] Object-oriented SLAM「VOOM」の論文紹介

2025/02/04に公開

VOOM: Robust Visual Object Odometry and Mapping using Hierarchical Landmarks

なぜこの論文を選んだか

  • 物体の位置姿勢が特定できれば,逆に自己位置を特定できそう
  • そんなロボット自身の座標系とオブジェクトの座標系を両方扱うような問題設定に興味があり例を探していた
  • ”Object-oriented SLAM”という問題設定があるらしく,新しめの論文をICRA2024からピックアップした

一言でいうと

学習済み Instance segmentation モデルを使って推定した輪郭情報を使って,Visual SLAM の性能を向上する.輪郭から計算した楕円とマップ上の楕円体に,特徴点のマッチング対象を絞ることで誤マッチを防ぎ,詳細な位置合わせは特徴点情報のみで行う.

論文リンク

著者/所属機関

学会/投稿年

  • ICRA2024

技術や手法のキモは?

お題

インスタンスセグメンテーションの情報を使って,Visual-SLAMの精度を上げたい

  • Input
    • RGB-D 画像
  • Output
    • 三次元地図
      • 構成要素1: 3D objects(図中楕円体で表示)
      • 構成要素2: Map points(図中,楕円体内の点で表示)

提案手法

  • 見えてるオブジェクトとマップ上の楕円体オブジェクトの対応関係をとるまでの処理
    • ※論文内の図を処理順に編集(所々オリジナルの図解を入れています)
    • フレームfの,オブジェクトk
    • ここでオブジェクト領域外の不要な特徴点を除外したのが,誤マッチを防いで精度に大きく貢献するっぽい
  • 対応関係が取れてから,カメラ姿勢を再推定までの流れ
    • 論文内の図を処理順に編集(所々オリジナルの図解を入れています)
  • より多くの特徴点を使ってカメラ姿勢を再々推定するまでの流れ
    • 論文内の図を処理順に編集(所々オリジナルの図解を入れています)
    • ORB-SLAM2と同様の基準でキーフレームは追加する(今日は割愛)
    • カメラ姿勢が決まったら,Object Covisibility Graphに基づいてlocal mapをアップデートする
      • Object Covisibility Graph は異なるフレームの異なるオブジェクト間で共起した(同時に視野に写った)関係を記録する.
        • カメラ位置青四角錐を結ぶ,オレンジ色線が共起関係が近いフレームを表していると思われる
        • 今のフレームに最も関係あるフレーム集合を作るのに役立つ
        • このフレーム集合を使うと,ORB-SLAM2と同様にローカルバンドルアジャストメント(Local BA)ができる
          • 参考:ORB-SLAM2のLoaclBA
          • これが,Loop closure的な働きをしたかもと述べられている
          • オブジェクトの楕円体はこれとは別に最適化されるっぽい
            • \mathcal{F}_Lはオブジェクトkが写っている全てのフレーム

先行研究と比べてなにがすごい?

従来研究へのツッコミ

  • Direct法
    • sensitive to camera parameters and exposure
  • 特徴量ベースの手法
    • 特にORB-SLAM2.これを利用する
  • Object-oriented SLAM
    • 計算かデータ量が軽量なのが売りらしい
  • SLAM++
    • 起源のObject-oriented SLAMだが,ドメインによった既知の形状のオブジェクトしか追跡できない
  • Fusion++
    • 再構築したオブジェクトを使ってLocalizationの精度を上げている
    • しかし,
    • 6自由度姿勢グラフ上に配置された三次元オブジェクトの情報しか使ってない(と指摘されているが真意は論文を読まないとわからなそう)
  • その他の研究
    • 自己位置推定の向上にコスト関数にオブジェクトの残さを入れる手法もあるが,特徴量ベースの手法からわずかな改善しかない

再類似研究と思われるOA-SLAMとの差分

  • オブジェクトの残差を直接最適化に導入しない点
    • 代わりに特徴点の対応付けの補助飲みに用いる
    • 時刻で隣接フレームに限らずマッチできるのでオドメトリにおける誤差の累積を低減できる
  • 楕円同士が同一のオブジェクトである判定の式も改良している(追記)

どうやって有効だと検証した?

  • ベンチマークで検証 TUM データセット
    • ORB-SLAM2 のLC(ループクロージャーなし)には全て勝った,提案手法もNo LC
    • 動的物体の多いFr2 personで大勝した
  • 他のベンチマークDiamond dataset
    • Walk where the camera travels long and revisits some same places での性能が良い
    • ループ見つかってない時でも,全体見れるので良いと考察
  • オブジェクト数があってるか
    • 提案法が正解数に近い結果に
    • あとは割愛
  • Ablation
    • VOOM (O)
      • オドメトリは提案手法で,マッピング時にObject-Covisibility Graphを使わない
    • VOOM (M)
      • マッピングは提案手法で,オドメトリはORB-SLAM2の特徴両ベースの手法に戻す
    • VOOM (A)
      • 提案のオブジェクト関連づけ(楕円同士の対応関係Ⅲ.C.)を使わない(先行研究OA-SLAMと同じ)
    • VOOM (F)
      • 全盛り提案手法
    • 結果
      • マッピングへの貢献が,少し,姿勢推定への貢献より大きかった
      • オブジェクト関連づけ手法を変えると性能が大きく落ちる(追記)

議論はある?

  • Futurework: Long-term SLAM としてのパフォーマンスの向上
    • Loop closure できるようにする
    • Relocalization できるようにする

次に読むべき論文は?

  • ORB-SLAM2
    • Visual SLAMといえばこの手法,基礎として抑えたい
    • 2015 IEEE Transactions on Robotics Best Paper Award
  • SLAM++
    • CVPR2013
    • Object-oriented SLAMの初出?
  • Fusion++
    • 2018
    • 3D object information stored in a 6DoF pose graph の Object-oriented SLAM

感想

  • いい加減だが体積を持てる楕円体での表現でマッチすべき特徴点集合を絞り込んで,細かいところは特徴点マッチングで正確に当てに行くアプローチは賢いと思った
  • リアルタイムで回るのかが気になるところ
  • 物体6DoF自体を推定したものを使う問題設定はないのか気になった
  • 楕円にした理由はぴっちりフィットできる以外にも,見る角度によって大きく変わらないとか領域を指定できるから中の対応する特徴点を管理しやすいとかがあると推察

おまけ

補足

  • 今回の撮影モデル
    • 三次元上の楕円に対して,カメラの位置姿勢が与えられると二次元に射影できる
  • 2D楕円と輪郭のフィッテイング(Ⅲ.B. 前半)

    minimizing the sum distance between each segmentation contour point and the ellipse outline

  • 2D楕円と,撮影モデルによれば見えるであろう2D楕円の誤差関数(Ⅲ.B. 後半)
    • 二次元に投影した楕円に対応する二次元の正規分布間の Wasserstein 距離を計算
    • なんでも良かったけど簡単に計算できるものを選んだのかな?
  • 楕円同士のオブジェクト対応付けの方法(Ⅲ.C.)

    • - 楕円での表現はいい加減で,理想的な条件でも誤差が0になることはないことについて私の考察

疑問

  • 正規分布同士の距離ではなく,楕円同士の移動距離って計算できないんだっけ?なぜ正規分布?
  • 計算時間は?
    • 記述はないっぽい.
  • オブジェクトを逐次認識しながら増やしていく設定で評価されているのか?

初学者向け用語解説(要出典)

  • Vision based V.S. LiDAR based SLAM
    • 高性能な3DLiDARが安く手に入るようになってから,視野の広い3DLiDARの方が有利な感じがする
    • しかし,色がついてないとわからない問題設定ではRGBも入力できるVision basedば手法に分があったりする
    • 視野の広い魚眼的なカメラは歪み補正とかが大変そうだが,どれくらい強いのか気になるところ
  • オドメトリー
    • 2フレーム間の相対移動量
    • ホイールオドメトリ(車輪の回転から計算した,二次元移動量)が最も古典的
    • 画像から推定する2フレーム間の相対移動量をヴィジュアルオドメトリと読んだりする
  • ORB特徴量/記述子
    • 画像特徴量の一種
    • 有名なSIFT特徴量はライセンスがキツイらしく,似たようなことができるORB特徴量をみんな使ってる
    • 記述子といった時には,画像のある点を表現するデータ構造(例えばベクトル)と考えれば良い
  • バンドルアジャストメント(BA)
    • オドメトリーとは異なり,複数フレームの整合性を保ちながら推定を行う問題設定のこと
    • 重めの最適化計算が使われるため,並列でバックエンドで行われることが多い印象
    • ループクロージングもこの問題設定の一種と言えると思う
  • 6DoF
    • Degree of freedom : 自由度
    • 6自由度は三次元空間の位置と姿勢(回転)を指します

Discussion