ACE Zero

Brachmann 2024 · 論文

一行要約 — ACE Zero(ACE0)は、インクリメンタルなStructure-from-Motionを、シーン座標回帰の再位置特定器の反復的な学習と適用として再解釈し、事前構築された3D地図なしでポーズ未知の画像コレクションのカメラポーズを復元する。

問題

DSAC*やACEのようなシーン座標回帰(SCR)の再位置特定器は正確でコンパクトだが、そのシーン固有ネットワークの学習には真値のカメラポーズが必要であり、実際にはCOLMAPのような特徴ベースのSfMツールから得られる。これは循環依存である。地図を作るには再位置特定器を学習する必要があるが、再位置特定器を学習するには地図が必要である。ACE0は、再位置特定器自身が再構成をブートストラップできるかどうかを問う — ポーズの事前情報も、順序情報も、事前構築された3D地図もない画像集合に対して、カメラパラメータ H={(Ki,Ti)}\mathcal{H}=\{(K_i, T_i)\} を推定する。

手法とアーキテクチャ

SfM = 反復的な再位置特定。 ACE0は、すべての画像がポーズ推定されるまで、2つのステージ、すなわちニューラルマッピング(現在登録されている画像に対してACE式のSCRモデルを学習する)と再位置特定(それを用いてさらに多くの画像を登録する)の間をループする。シーン表現はACEヘッドである — 固定されたScanNet事前学習済み畳み込みバックボーンの上に載る、9層・512チャンネルのMLP(fp16で4MB)である。画素位置、ポーズ、シーン座標は、投影 pij=π(Ki,Ti,yij)\mathbf{p}_{ij}=\boldsymbol{\pi}(K_{i},T_{i},\mathbf{y}_{ij}) によって結び付けられ、yij=fSCR(pij,Ii)\mathbf{y}_{ij}=f_{\text{SCR}}(\mathbf{p}_{ij},I_{i}) である。

ニューラルマッピング。 反復 tt において、ポーズ推定 Tit,KitT^t_i, K^t_i を持つ登録済み集合 IRegt\mathcal{I}^{t}_{\text{Reg}} が疑似真値として機能し、シーンモデルは画素単位の再投影誤差を最小化することで学習される。

IiIRegt  jIipijπ(Kit,Tit,yijt).\sum_{I_{i}\in\mathcal{I}^{t}_{\text{Reg}}}\;\sum_{j\in I_{i}}\left\|\mathbf{p}_{ij}-\boldsymbol{\pi}(K_{i}^{t},T_{i}^{t},\mathbf{y}_{ij}^{t})\right\|.

以前の登録は近似的なものにすぎないため、ポーズはマッピング中に洗練される。MLP Tit=fPoset(T~it)T_{i}^{t}=f^{t}_{\text{Pose}}(\tilde{T}^{t}_{i}) は、各初期ポーズを12個の値として取り込み、12個の加算オフセットを予測する(回転はグラム・シュミット法によって再直交化される)。これは、AdamWの重み減衰(更新を小さく保つように偏らせる)のもとで fSCRf_{\text{SCR}} と共に結合最適化される — このMLPはカメラ間の相関をモデル化するもので、ポーズごとの逆伝播とは異なる。焦点距離も、単一パラメータ fit=finit(1+αt)f^{t}_{i}=f^{\text{init}}\cdot(1+\alpha^{t}) を通じて洗練される。ここで finitf^{\text{init}} は画像の対角線の70%に設定される。洗練MLPは各マッピング反復の後に破棄される。この結合的な洗練は、SCRにおけるバンドル調整の相当物である。

再位置特定。 すべての画像(登録済みか未登録かにかかわらず)が fSCRtf^{t}_{\text{SCR}} を通過し、PnP + RANSACがポーズと信頼度を返す: T~it+1,sit+1=g(Kit,{(pij,yijt)})\tilde{T}^{t+1}_{i},\,s^{t+1}_{i}=g\left(K^{t}_{i},\{(\mathbf{p}_{ij},\mathbf{y}^{t}_{ij})\}\right)。インライア数を ss として用い、次の学習セットは IRegt+1={Iisit+1>τs}\mathcal{I}^{t+1}_{\text{Reg}}=\{I_{i}\,|\,s^{t+1}_{i}>\tau_{s}\} となる。

単一画像からの初期化。 再投影目的関数は単一視点に対しては不良設定であるため、シードネットワークは単眼深度推定(ZoeDepth)から逆投影された目標に対して学習される: y^ij=dij(Kseedinit)1pij\hat{\mathbf{y}}_{ij}=d_{ij}(K_{\text{seed}}^{\text{init}})^{-1}\mathbf{p}_{ij} であり、シードポーズを単位行列に固定した状態で jy^ijyij\sum_{j}\|\hat{\mathbf{y}}_{ij}-\mathbf{y}_{ij}\| を最小化する。深度はここでのみ使用される。5つのランダムシードが試され、1000枚の保留画像のうち最も多くを再位置特定できたものが選ばれる(各約1分)。適応的なパッチサンプリングと早期停止(バッチの再投影誤差の70%が100バッチにわたって10画素未満に留まったら停止)により、各マッピングラウンドはACEの5分よりもさらに短くなる。

実験結果

3つのデータセットにわたる31シーンで評価される。COLMAPのポーズ自体も推定値であるため、ポーズ品質は自己教師付きの新規視点合成を介して測定される — 各手法のポーズでNerfactoを学習し、テストビューのPSNRを報告する。ACE0のすべてのタイミングは単一のV100上で計測されている。

SLAMにおける意義

ACE Zeroは、SCR系統(DSAC → DSAC* → ACE)を完成させ、その最後の古典的な依存関係、すなわち学習に必要なSfM生成の真値ポーズを取り除いた。これにより、学習ベースの再位置特定は自己完結的になる — 地図は完全にネットワークの重みの中に存在するため、生の画像や明示的な3D点を保存する必要がなく、これはクラウドソースかつプライバシーを保護するマッピングにとって魅力的であり、SCRをCOLMAP式の再構成に対する学習ベースの代替手段として位置づける。それはまた、SCRをリアルタイムSLAM(ACE-SLAM)へ、そして汎化(ACE-G)へと推し進める後続研究にも影響を与えた。

関連ノート