RoMa v2

Edstedt 2025 · 論文

一行要約 — RoMaの後継であり、密な特徴マッチングを「より難しく、より良く、より速く、より密に」推し進める: DINOv3マルチビューTransformerマッチャーと、カスタムCUDA相関カーネルを備えた分離型リファイナーを組み合わせ、RoMaのロバスト性とUFM並みの速度を融合し、画素単位の誤差共分散を追加している。

問題

密な特徴マッチング — 2つの画像間のすべてのピクセルについてワープ WABRHA×WA×2\mathbf{W}^{A\mapsto B}\in\mathbb{R}^{H^A\times W^A\times 2} と確信度 pAB\mathbf{p}^{A\mapsto B} を推定すること — は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マッチエンコーダは、類似度行列 Smn=exp(1τcossim(zmA,znB))\mathcal{S}_{mn}=\exp(\tfrac{1}{\tau}\,\text{cossim}(\mathbf{z}^A_m,\mathbf{z}^B_n)) に対するシングルヘッド注意に置き換えられ、最良マッチパッチに対する補助的な密なNLL目的関数を持つ:

LNLL=m=1Mlog(Softmax(Sm)n),\mathcal{L}_{\text{NLL}}=\sum_{m=1}^{M}-\log(\operatorname{Softmax}(\mathcal{S}_m)_{n^*}),

ここで nn^* は正解ワープに最も近いパッチである。DPTヘッドが、マッチ埋め込み+DINOv3特徴を1/4解像度でのワープと確信度に復号する。マッチャーの全体損失: Lmatcher=LNLL+Lwarp+102Loverlap\mathcal{L}_{\text{matcher}}=\mathcal{L}_{\text{NLL}}+\mathcal{L}_{\text{warp}}+10^{-2}\mathcal{L}_{\text{overlap}}

カスタムCUDAカーネルを持つリファイナー(ストライド4、2、1)。 RoMaに似たConvNetリファイナーだが、メモリを大量消費するローカル相関演算はカスタムCUDA/PyTorch拡張カーネルとして書き直され、チャネル次元は2の累乗に設定されている。ワープの教師信号は一般化Charbonnier損失 Lwarp=(ic)α(r2/(ic)2+1)α/2\mathcal{L}_{\text{warp}}=(ic)^{\alpha}\left(\lVert\mathbf{r}\rVert^{2}/(ic)^{2}+1\right)^{\alpha/2}(α=0.5\alpha=0.5c=103c=10^{-3}、ストライド i{4,2,1}i\in\{4,2,1\})を使用し、オーバーラップにはピクセル単位のBCEを使用する。重みのEMA(減衰率0.999)は、学習中に観測されたランダムな±0.1pxのサブピクセル予測バイアスを除去する。

予測的共分散。 RoMa/UFMとは異なり、リファイナーはコレスキー因子(Σ1=LL\Sigma^{-1}=LL^{\top}、Softplus制約された対角成分)を介して残差 rθ=WθABWGTAB\mathbf{r}_\theta=\mathbf{W}^{A\mapsto B}_\theta-\mathbf{W}^{A\mapsto B}_{\text{GT}} の画素単位 2×22\times 2 精度行列を予測し、covisibleなピクセル(r<8\lVert\mathbf{r}\rVert<8px)上でガウスNLL Lprecision=12rΣ1r12logdet(Σ1)+log(2π)\mathcal{L}_{\text{precision}}=\frac{1}{2}\mathbf{r}^{\top}\Sigma^{-1}\mathbf{r}-\frac{1}{2}\log\det(\Sigma^{-1})+\log(2\pi) によって学習され、ストライドをまたいで階層的に累積される。

厳選されたデータ混合。 RoMaのMegaDepthのみに対して、10個のデータセット: 広ベースライン(MegaDepth、AerialMD、BlendedMVS、Hypersim、TartanAir v2、Map-Free、ScanNet++ v2)に加えて小ベースライン(FlyingThings3D、VKITTI2、UnrealStereo4k)、合計5069シーン — 空撮データは大きな回転と空中-地上ビューへのロバスト性をもたらし、小ベースラインデータは細部の描写とテクスチャのない表面の予測をもたらす。

実験結果

SLAMにおける意義

密で確信度を意識したマッチングは、極端な外観変化下でのリローカリゼーション、ループ閉じ込み、オフラインマッピングにおいて選ばれるフロントエンドとなりつつあり、RoMaの系譜はその参照実装である。速度はRoMaクラスのマッチャーをSLAMでオンラインに使用する際の主な障害であったが、RoMa v2の1.7倍の高速化とメモリを抑えた精緻化はそのギャップを縮める。画素単位の誤差共分散はSLAMバックエンドで直接利用可能であり — RANSACや姿勢精緻化で残差を推定パイプラインが期待するとおりに重み付けできる — このモデルはMASt3Rスタイルの2視点再構成にとって自然な特徴バックボーンでもある。

関連ノート