DUSt3R

Wang 2024 · 論文

一行要約 — ペアワイズ3D再構成を、フィードフォワードTransformerによる画像ペアからの密なポイントマップの直接回帰として再定義し、カメラキャリブレーション、特徴マッチング、明示的な幾何モデルを一切必要としない。

問題

実環境でのマルチビューステレオは、まずカメラの内部・外部パラメータを推定することを要求する。これは対応する画素を3Dで三角測量するために必須であるが、その取得は煩雑である。キャリブレーション、検出、マッチング、姿勢推定、三角測量という古典的パイプライン全体は、脆弱な段階の連鎖であり、どの段階でも失敗しうる。DUSt3R(「Dense and Unconstrained Stereo 3D Reconstruction」)はこの逆の立場をとる。キャリブレーションや視点姿勢に関する事前情報を何も持たずに、任意の画像コレクションを再構成する——3D構造を直接回帰することによって。

手法とアーキテクチャ

ポイントマップ表現: ネットワークF\mathcal{F}は2枚のRGB画像I1,I2RW×H×3I^1, I^2 \in \mathbb{R}^{W \times H \times 3}を受け取り、2つのポイントマップX1,1,X2,1RW×H×3X^{1,1}, X^{2,1} \in \mathbb{R}^{W \times H \times 3}(画素ごとの3D座標)と信頼度マップC1,1,C2,1C^{1,1}, C^{2,1}を出力する。両方のポイントマップはカメラ1の座標系で表現されるため、1回の順伝播でキャリブレーション、対応付け、再構成が同時に解かれる。同じ画像を2回入力すると単眼深度が得られ、この定式化は単眼と両眼の両方の場合を統一する。

アーキテクチャ(CroCo様式、CroCoの事前学習から初期化): 重み共有のシャム型ViT-Largeエンコーダ、F1=Encoder(I1)F^1 = \text{Encoder}(I^1)F2=Encoder(I2)F^2 = \text{Encoder}(I^2)。続いて、各ブロックが自己注意、もう一方のビューのトークンへの交差注意、およびMLPを実行する、2つの絡み合ったViT-Baseデコーダ:

Gi1=DecoderBlocki1(Gi11,Gi12),Gi2=DecoderBlocki2(Gi12,Gi11),G_i^1 = \text{DecoderBlock}_i^1\big(G_{i-1}^1, G_{i-1}^2\big), \qquad G_i^2 = \text{DecoderBlock}_i^2\big(G_{i-1}^2, G_{i-1}^1\big),

G0v:=FvG_0^v := F^vである。各ブランチのDPT回帰ヘッドがすべてのデコーダトークンをポイントマップ+信頼度マップにマッピングする。幾何制約は一切課されない——ネットワークは幾何的に整合した学習データからこの事前分布を学習する。

学習目的: ビューvv内の有効な画素iiそれぞれについてのスケール正規化3D回帰:

regr(v,i)=1zXiv,11zˉXˉiv,1,\ell_{\text{regr}}(v,i) = \left\| \frac{1}{z} X_i^{v,1} - \frac{1}{\bar{z}} \bar{X}_i^{v,1} \right\|,

ここでz,zˉz, \bar{z}は原点からのすべての有効点の平均距離である。これは、予測をどこで信頼できるかを学習する信頼度重み付き損失に包まれる:

Lconf=v{1,2}iDvCiv,1regr(v,i)αlogCiv,1,Civ,1=1+expCiv,1~>1.\mathcal{L}_{\text{conf}} = \sum_{v \in \{1,2\}} \sum_{i \in \mathcal{D}^v} C_i^{v,1} \, \ell_{\text{regr}}(v,i) - \alpha \log C_i^{v,1}, \qquad C_i^{v,1} = 1 + \exp \widetilde{C_i^{v,1}} > 1.

すべてが副産物として得られる: 画素マッチングは3Dポイントマップ空間における相互最近傍探索によって;焦点距離はX1,1X^{1,1}上の画素再投影残差のWeiszfeld様式の最小化によって;相対姿勢はX1,1X1,2X^{1,1} \leftrightarrow X^{1,2}のProcrustes整合、またはPnP-RANSACによって;絶対姿勢(視覚的位置推定)は参照ポイントマップに対するスケーリングによって得られる。

NN視点に対する大域整合: 画像ペア上に連結性グラフG(V,E)\mathcal{G}(\mathcal{V}, \mathcal{E})を構築し(ネットワーク推論はH100上でペアあたり約40ms)、世界座標系のポイントマップχn\chi^n、エッジごとの剛体姿勢PeP_eとスケールσe\sigma_eを最適化する:

χ=argminχ,P,σeEvei=1HWCiv,eχivσePeXiv,e,eσe=1.\chi^* = \arg\min_{\chi, P, \sigma} \sum_{e \in \mathcal{E}} \sum_{v \in e} \sum_{i=1}^{HW} C_i^{v,e} \left\| \chi_i^v - \sigma_e P_e X_i^{v,e} \right\|, \qquad \textstyle\prod_e \sigma_e = 1.

バンドル調整とは異なり、これは2D再投影誤差ではなく3D投影誤差を最小化し、単純な勾配降下法(数百ステップ、GPU上でわずか数秒)によって実行される。χn\chi^nをピンホールパラメータ化に置き換えると、すべての姿勢PnP_n、内部パラメータKnK_n、深度マップDnD^nが復元される。

学習データ: 8つのデータセット(Habitat、MegaDepth、ARKitScenes、Static Scenes 3D、Blended MVS、ScanNet++、CO3D-v2、Waymo)から850万ペア。まず224pxで学習し、その後さまざまなアスペクト比で512pxで学習する。

実験結果

SLAMにおける意義

DUSt3Rは幾何ビジョンにおける「3D基盤モデル」の時代を始めた。単一の事前学習済みネットワークが、キャリブレーションされていない画像や2視点のみに対してさえ動作しながら、古典的な検出-マッチング-三角測量のパイプラインを置き換えるというものである。これはMASt3RとMASt3R-SLAMを直接生み出し、VGGTのようなフィードフォワード型マルチビューモデルに影響を与え、今では学習されたポイントマップ回帰器がフロントエンドとなり古典的な最適化がバックエンドとなる、SLAM研究の一大分野を支えている。その前提(オフラインでのペア形成、大域整合コスト、ペアごとのスケール曖昧性)を理解することは、後続システムが何を修正しているかを説明する。

関連ノート