RoMa v2
Edstedt 2025 · 論文
一行要約 — RoMaの後継であり、密な特徴マッチングを「より難しく、より良く、より速く、より密に」推し進める: DINOv3マルチビューTransformerマッチャーと、カスタムCUDA相関カーネルを備えた分離型リファイナーを組み合わせ、RoMaのロバスト性とUFM並みの速度を融合し、画素単位の誤差共分散を追加している。
問題
密な特徴マッチング — 2つの画像間のすべてのピクセルについてワープ と確信度 を推定すること — は2視点対応関係のゴールドスタンダードとなっているが、既存のマッチャーは依然として多くの困難な実世界のシナリオで失敗し(RUBIKは極端な視点変化下でのRoMaの弱点を露呈させる)、高精度モデルは低速である。UFMは密なマッチングがはるかに高速にできることを示したが、バックボーンをファインチューニングしており(WxBSにおける極端な外観変化へのロバスト性を損なう)、サブピクセル精度を失っている。RoMa v2は両方の強みを組み合わせることを目指す。
手法とアーキテクチャ
分離型2段階パイプライン。 マッチングと精緻化は(RoMaスタイルの)勾配を切り離した共同学習ではなく、(UFMスタイルで)2つの別段階で学習され、迅速な実験を可能にする: 粗いマッチャーはバッチサイズ128で30万ステップ学習(約3800万ペア)、その後凍結され、3つのリファイナーがバッチサイズ64で30万ステップ学習される(約1900万ペア)。
粗いマッチャー(ストライド4)。 凍結されたDINOv3 ViT-LがDINOv2を置き換える(linear-probe EPE 19.0 対 27.1、ロバスト性86.4% 対 77.0%)。両画像からの特徴は、フレーム単位注意とグローバル注意を交互に行うViT-Bマルチビュー Transformer(VGGTスタイル、正規化グリッドRoPE)を通過する。RoMaのGaussian Processマッチエンコーダは、類似度行列 に対するシングルヘッド注意に置き換えられ、最良マッチパッチに対する補助的な密なNLL目的関数を持つ:
ここで は正解ワープに最も近いパッチである。DPTヘッドが、マッチ埋め込み+DINOv3特徴を1/4解像度でのワープと確信度に復号する。マッチャーの全体損失: 。
カスタムCUDAカーネルを持つリファイナー(ストライド4、2、1)。 RoMaに似たConvNetリファイナーだが、メモリを大量消費するローカル相関演算はカスタムCUDA/PyTorch拡張カーネルとして書き直され、チャネル次元は2の累乗に設定されている。ワープの教師信号は一般化Charbonnier損失 (、、ストライド )を使用し、オーバーラップにはピクセル単位のBCEを使用する。重みのEMA(減衰率0.999)は、学習中に観測されたランダムな±0.1pxのサブピクセル予測バイアスを除去する。
予測的共分散。 RoMa/UFMとは異なり、リファイナーはコレスキー因子(、Softplus制約された対角成分)を介して残差 の画素単位 精度行列を予測し、covisibleなピクセル(px)上でガウスNLL によって学習され、ストライドをまたいで階層的に累積される。
厳選されたデータ混合。 RoMaのMegaDepthのみに対して、10個のデータセット: 広ベースライン(MegaDepth、AerialMD、BlendedMVS、Hypersim、TartanAir v2、Map-Free、ScanNet++ v2)に加えて小ベースライン(FlyingThings3D、VKITTI2、UnrealStereo4k)、合計5069シーン — 空撮データは大きな回転と空中-地上ビューへのロバスト性をもたらし、小ベースラインデータは細部の描写とテクスチャのない表面の予測をもたらす。
実験結果
- MegaDepth-1500 姿勢: AUC@5°/10°/20°で62.8/77.0/86.6、RoMaの62.6/76.7/86.3、UFMの41.5、MASt3Rの42.4に対して — すべてのマッチャーとフィードフォワード3Dモデルの中で最良。
- ScanNet-1500 姿勢: 33.6/56.2/73.8、RoMaの31.8/53.4/70.9に対して — VGGT(33.9)およびMASt3Rと同等。
- 密なマッチング(640×640、EPEは低いほど良い): MegaDepth 1.47 対 RoMa 2.34、TartanAir-WB 13.82 対 UFM 15.85およびRoMa 60.61、AerialMegaDepth 4.12 対 RoMa 25.05(84%低い)、FlyingThings3D 0.93、ScanNet++ v2 4.00、MapFree 2.03 — 6つのデータセットすべてで最良。
- 実行時間(バッチ8、H200): 4.8GBで30.9ペア/秒 — RoMa(18.5ペア/秒)より1.7倍速く、メモリは同程度。UFMはより速い(43.0)が16.2GBを必要とする。
- WxBS: mAA@10pxで55.4 — RoMa(60.8、その差はIR-RGB部分集合に起因)を下回るが、UFM(42.3)を大きく上回る。新しいSatAst(宇宙飛行士-衛星)ベンチマークでは: AUC@10pxで37.0、RoMaの23.5、UFMの1.8に対して。
- 共分散の効果(Hypersim): 共分散重み付き精緻化は姿勢AUC@1°を54.9から76.4に(約20ポイント)引き上げる。
SLAMにおける意義
密で確信度を意識したマッチングは、極端な外観変化下でのリローカリゼーション、ループ閉じ込み、オフラインマッピングにおいて選ばれるフロントエンドとなりつつあり、RoMaの系譜はその参照実装である。速度はRoMaクラスのマッチャーをSLAMでオンラインに使用する際の主な障害であったが、RoMa v2の1.7倍の高速化とメモリを抑えた精緻化はそのギャップを縮める。画素単位の誤差共分散はSLAMバックエンドで直接利用可能であり — RANSACや姿勢精緻化で残差を推定パイプラインが期待するとおりに重み付けできる — このモデルはMASt3Rスタイルの2視点再構成にとって自然な特徴バックボーンでもある。
関連ノート
- RoMa — 前身であり中核アーキテクチャ
- LoFTR — より早期の検出器フリーマッチングの系譜
- Foundation models — ロバストな粗特徴の源
- MASt3R — 3D再構成と融合した密なマッチング
- DeDoDe — 同じグループによる分離型の疎な検出器/記述子