Open Buddies-as-you-know opened 11 months ago
https://ieeexplore.ieee.org/abstract/document/10160950
Orbeez-SLAMではORB-SLAMとNeRFをしようして新しいシーンへの迅速な適応とリアルタイム推論での高密度マッピングを実現
ORB-SLAM2とinstant-ngp frameworkに基づくNeRFを使用している。
事前のトレーニングなしでのオンラインかつリアルタイム
NeRF-SLAMのベースラインを上回っている
視覚なオドメトリと高速 NeRF フレームワークを組み合わせる
sotaの更新
既存のベースラインよりOrbeez-SLAMは800倍高速
ビジュアル SLAMの最新版であるTandem は事前学習しないと使えない。
iMAPやNICE-SLAM はRGB-D 入力が必要である(ビジュアル オドメトリ使えよ...と筆者言っている)
COLMAPとか使ってカメラの位置推定して最適化とこやってるけど時間遅すぎ(NeRFの弱点)
従来のニューラルを使用したvision slamは事前学習あるからヤダ
Instant-ngp つかえば早いじゃん
ORB-SLAM2使えばRGB-D 入力いらないじゃん
iMAPとかのNeRF-SLAMじゃビジュアル オドメトリないからこれ入れてあげようぜ
結果としてはえーつえーSLAMができる
入力画像ストリームから画像の特徴を抽出します
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を推定しています。
三角分割によるマップ ポイントを生成し
カメラのポーズとマップ ポイントの最適化は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最適化
TUM RGB-D , Replica , and ScanNet
学習ベース: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データセットのシーケンス名 スキャンネット上の追跡結果 レプリカでの再構成結果。深さ l1 [cm] (↓) と psnr [db] (↑) を使用します。値は、オフィス 0 ~ 4 および部屋 0 ~ 2 で平均化されます。Nice-slam は、色と深度のレンダリング中に gt Depth を使用します。GT深度ありおよびなしのナイススラムの結果を示します。 実行時のフレーム数比較 レプリカのアブレーション研究。再投影誤差のみからカメラのポーズを最適化することを実証します。 レンダリング評価 NeRF生成
論文リンク
https://ieeexplore.ieee.org/abstract/document/10160950
1. どんなもの?
Orbeez-SLAMではORB-SLAMとNeRFをしようして新しいシーンへの迅速な適応とリアルタイム推論での高密度マッピングを実現
ORB-SLAM2とinstant-ngp frameworkに基づくNeRFを使用している。
事前のトレーニングなしでのオンラインかつリアルタイム
NeRF-SLAMのベースラインを上回っている
視覚なオドメトリと高速 NeRF フレームワークを組み合わせる
sotaの更新
既存のベースラインよりOrbeez-SLAMは800倍高速
2. 先行研究と比べてどこがすごいの?
先行研究の嫌なところ
ビジュアル SLAMの最新版であるTandem は事前学習しないと使えない。
iMAPやNICE-SLAM はRGB-D 入力が必要である(ビジュアル オドメトリ使えよ...と筆者言っている)
COLMAPとか使ってカメラの位置推定して最適化とこやってるけど時間遅すぎ(NeRFの弱点)
従来のニューラルを使用したvision slamは事前学習あるからヤダ
筆者が思いついたすげーところ
Instant-ngp つかえば早いじゃん
ORB-SLAM2使えばRGB-D 入力いらないじゃん
iMAPとかのNeRF-SLAMじゃビジュアル オドメトリないからこれ入れてあげようぜ
結果としてはえーつえーSLAMができる
3. 技術や手法の"キモ"はどこにある?
システム概要
入力画像ストリームから画像の特徴を抽出します
VOを使用してカメラを位置推定を行う。
ここで、
uij : 画像j上の点iの画素位置
Cj : カメラjの姿勢(内参行列と外参行列)
Pi : 3D空間上の点i
π : 投影関数で、3D点PiをカメラCjの姿勢に投影する 3D点PiをカメラCjの姿勢で画像平面に投影した位置と、実際に観測された画素位置uijの誤差をすべての点について計算し、その二乗和を最小化することでカメラ姿勢Cjを推定しています。
三角分割によるマップ ポイントを生成し
カメラのポーズとマップ ポイントの最適化はbundle adjustment を行う
最小化問題は、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データセットのシーケンス名 スキャンネット上の追跡結果 レプリカでの再構成結果。深さ l1 [cm] (↓) と psnr [db] (↑) を使用します。値は、オフィス 0 ~ 4 および部屋 0 ~ 2 で平均化されます。Nice-slam は、色と深度のレンダリング中に gt Depth を使用します。GT深度ありおよびなしのナイススラムの結果を示します。 実行時のフレーム数比較 レプリカのアブレーション研究。再投影誤差のみからカメラのポーズを最適化することを実証します。 レンダリング評価 NeRF生成
5. 論文において、研究の成果やデータに基づいて、その意義や影響、さらには限界点について詳細かつ適切に分析や評価がなされている部分は存在するのでしょうか?
6. 次に読むべき論文はあるか?
8. わからない文字
9.論文に使えそうな表現(あれば)
論文情報・リンク