5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

記事投稿キャンペーン 「AI、機械学習」

ORB-SLAMとNeRFを組み合わせた最速の3DSLAM

Posted at

簡単に言うと、これは何?

Orbeez-SLAMは、カメラが捉えた映像を使って、リアルタイムで周囲の3Dマップを作成できるシステムです。これまでの手法よりも速く、新しい環境にもすぐに対応できます。既存のORB-SLAMという技術と、即時レンダリングが可能なNeRF技術を組み合わせています。

詳しい説明

論文リンク

1. どんなもの?

  • Orbeez-SLAMではORB-SLAMとNeRFをしようして新しいシーンへの迅速な適応とリアルタイム推論での高密度マッピングを実現
  • ORB-SLAM2とinstant-ngp frameworkに基づくNeRFを使用している。
  • 事前のトレーニングなしでのオンラインかつリアルタイム
  • NeRF-SLAMのベースラインを上回っている
  • 視覚なオドメトリと高速 NeRF フレームワークを組み合わせる
  • sotaの更新
  • 既存のベースラインよりOrbeez-SLAMは800倍高速

2. 先行研究と比べてどこがすごいの?

先行研究の嫌なところ

  • ビジュアル SLAMの最新版であるTandem は事前学習しないと使えない。
  • iMAPNICE-SLAM はRGB-D 入力が必要である(ビジュアル オドメトリ使えよ...と筆者言っている)
  • COLMAPとか使ってカメラの位置推定して最適化とこやってるけど時間遅すぎ(NeRFの弱点)
  • 従来のニューラルを使用したvision slamは事前学習あるからヤダ

筆者が思いついたすげーところ

  • Instant-ngp つかえば早いじゃん
  • ORB-SLAM2使えばRGB-D 入力いらないじゃん
  • iMAPとかのNeRF-SLAMじゃビジュアル オドメトリないからこれ入れてあげようぜ
  • 結果としてはえーつえーSLAMができる

3. 技術や手法の"キモ"はどこにある?

システム概要

image

  • 入力画像ストリームから画像の特徴を抽出します
  • VOを使用してカメラを位置推定を行う。
\begin{equation*}L_{rpj}= \sum\limits_{ij}\Vert u_{ij}-\pi(\mathscr{C}_{j},P_{i})\Vert_{2} \tag{6}\end{equation*}

ここで、

  • uij : 画像j上の点iの画素位置

  • Cj : カメラjの姿勢(内参行列と外参行列)

  • Pi : 3D空間上の点i

  • π : 投影関数で、3D点PiをカメラCjの姿勢に投影する
    3D点PiをカメラCjの姿勢で画像平面に投影した位置と、実際に観測された画素位置uijの誤差をすべての点について計算し、その二乗和を最小化することでカメラ姿勢Cjを推定しています。

  • 三角分割によるマップ ポイントを生成し
    image

  • カメラのポーズとマップ ポイントの最適化はbundle adjustment を行う

\begin{equation*}\min\limits_{\{[R\vert t]_{j}\},\{P_{i}\}}L_{rpj} \tag{8}\end{equation*}

最小化問題は、Levenberg-Marquardt法を用いて解いています。

  • 更新されたカメラのポーズとマップを利用して NeRF をトレーニング
  • 損失関数出して最適化
実装の詳細
  • Intel i7-9700 CPU と NVIDIA RTX 3090 GPU を搭載したデスクトップ PCを用意
  • ORB-SLAM2からループ終了プロセスを継承している
  • NeRF に渡した後にキーフレームが削除されないように、ORB-SLAM2 のようにキーフレームをカリング
  • instant-ngpでNeRF最適化

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

データセット

  • TUM RGB-D , Replica , and ScanNet

Baselines

  • 学習ベース:SLAM: DI-Fusion, iMap, NICE-SLAM,
  • 従来ベース : SLAM: BAD-SLAM, Kintinuous , ORB-SLAM2

評価設定

  • 深度バージョンでの有効性

メトリクス

  • ATE:ラウンド トゥルース (GT) 軌道と位置合わせされた推定軌道の間の二乗平均平方根誤差 (RMSE)
  • PSNR(ピーク信号対雑音比):NeRF でレンダリングされた画像と GT 軌跡が通過した GT 画像の歪み率を評価
  • Depth L1:推定された深度とGT深度のL1誤差を計算(2乗しない)
    tum rgb-d での追跡結果。frは、TUM RGB-Dデータセットのシーケンス名
    image
    スキャンネット上の追跡結果
    image
    レプリカでの再構成結果。深さ l1 [cm] (↓) と psnr [db] (↑) を使​​用します。値は、オフィス 0 ~ 4 および部屋 0 ~ 2 で平均化されます。Nice-slam は、色と深度のレンダリング中に gt Depth を使用します。GT深度ありおよびなしのナイススラムの結果を示します。
    image
    実行時のフレーム数比較
    image
    レプリカのアブレーション研究。再投影誤差のみからカメラのポーズを最適化することを実証します。
    image
    レンダリング評価
    image
    NeRF生成
    image

5. 論文において、研究の成果やデータに基づいて、その意義や影響、さらには限界点について詳細かつ適切に分析や評価がなされている部分は存在するのでしょうか?

  • 大規模なシーンにおける性能が課題
  • レイキャスティング三角測量がハードコーディングの可能性あり(実際の実装のしきい値として 64 を選択)

6. 次に読むべき論文はあるか?

  • orb-slam2
  • Instant Neural Graphics Primitives with a Multiresolution Hash Encoding
5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?