Depth Anything 3
Lin 2025 · 論文
一行要約 — 単一のプレーンなTransformer(アーキテクチャ的特殊化のないバニラDINOv2)を、1つの最小限のターゲット——ビューごとの深度マップとピクセルごとのレイマップ——のみで学習し、既知・未知いずれのポーズであっても任意数のビューから一貫した幾何とカメラポーズを復元する。VGGTに対して平均でポーズ精度35.7%、幾何精度23.6%上回り、単眼深度でもDepth Anything V2を上回る。
問題
単眼深度、SfM、MVS、SLAMはいずれも画像から3D構造を復元するものであり、その違いはしばしば入力ビュー数だけである——にもかかわらず、この分野ではタスクごとに専用モデルを構築してきた。近年の統一モデル(DUSt3R、VGGT)には重要な限界がある:複雑な専用アーキテクチャ、ゼロからのマルチタスク同時最適化、そして大規模事前学習済みバックボーンを十分に活用できないことである。DA3は2つの最小限のモデリングに関する問いを立て、両方に肯定的に答える:(1) 予測ターゲットの最小集合は存在するのか、それとも多数の3Dタスクにわたる同時モデリングが必要なのか?(2) 単一のプレーンなTransformerで十分なのか?もう1つの障害はデータである:実世界の深度(COLMAP、アクティブセンサ)はノイジーで不完全であり、一方でクリーンな合成深度だけではカメラポーズ推定を実世界へ汎化できない。
手法とアーキテクチャ
深度・レイ表現。 枚の入力画像に対して、モデルはビューごとに深度マップとレイマップを予測する——各画素はレイ原点と正規化されていない方向(大きさが投影スケールを保持する)を保持し、を直接回帰する際の直交性制約を回避する。世界座標点は要素ごとの組み合わせで得られる。
カメラパラメータはレイマップから復元可能である:中心はレイ原点の平均であり、がホモグラフィを定義するため、をDLTで解きRQ分解することでが得られる。これは推論時にはコストが高いため、軽量なカメラヘッドがビューごとの単一カメラトークンからFOV 、クォータニオン、並進を予測する(バックボーン計算量の約0.1%)。アブレーションでは、深度+レイが深度+カメラに対しAuc3をほぼ2倍にし、ポイントマップや冗長なマルチターゲット設定を上回ることが示されている。
- 単一のTransformerバックボーン: 事前学習済みViT(バニラDINOv2)に入力適応的なクロスビュー自己注意を組み合わせたもの——アーキテクチャの変更は一切なく、トークンの並べ替えのみである。最初の層は各画像内で注意を行い、残りの層はクロスビュー注意とビュー内注意を交互に行う()。画像が1枚の場合、追加コストなしに自然と単眼深度モデルに帰着する。
- カメラ条件付けの注入: 各ビューの先頭にカメラトークンが付加される——ポーズが既知の場合はMLPがを符号化し、そうでない場合は共有の学習可能トークンが用いられる——これによりポーズ付き・ポーズなし両方の入力を1つのモデルで扱える(学習時には確率0.2で条件付けが有効化される)。
- デュアルDPTヘッド: 深度ブランチとレイブランチはリアセンブリモジュールを共有し、融合層のみが異なる——これにより2つの予測間の相互作用が促される;これを2つの独立したDPTヘッドに置き換えると一貫して性能が悪化する。
- 教師-生徒学習: 単眼相対深度教師モデル(DINOv2 + DPT、純粋に合成データのみで学習され、DA2の視差ではなく指数深度を予測する)が実世界データに対して密な疑似ラベルを生成し、RANSAC最小二乗スケール・シフトで疎な/ノイジーなメトリック深度に整合させる:。これによりポーズと深度の整合性を保ちながらDA2レベルのディテールが加わる。
- 損失: 有効点の平均L2ノルムで正規化される。、——深度・レイマップ・合成されたポイントマップに対する信頼度重み付きL1項、加えてカメラ損失と深度勾配損失。
公開の学術データセットのみを用いて学習される:H100 GPU 128台、20万ステップ、基準解像度504×504、サンプルあたり2〜18ビュー、12万ステップで正解ラベルから教師ラベルへ切り替える。同じレシピから単眼版の生徒モデル、メトリック深度モデル、フィードフォワード3DGSバリアント(画素整合したガウシアンパラメータを予測する追加のGS-DPTヘッド)が得られる。
実験結果
- 新しい視覚幾何ベンチマーク(HiRoom、ETH3D、DTU、7Scenes、ScanNet++——89以上のシーン):20設定中18設定で最先端;平均でVGGT(従来のSOTA)に対しカメラポーズ精度+35.7%、幾何精度+23.6%(アブストラクトより)。
- ポーズ(Auc3): DA3-Giant(11.0億パラメータ)はHiRoomで80.3——VGGT(11.9億パラメータ)の49.1、Pi3の67.0に対して;ScanNet++では85.0対62.6(2位に対し33%の相対的向上);全ベースラインに対し少なくとも8%の相対的Auc3向上。
- 再構成: 平均でVGGTに対し+25.1%、Pi3に対し+21.5%;VGGTより3倍小さいDA3-Large(バックボーン3.0億パラメータ)でも10設定中5設定で上回る。
- 単眼深度(): DA3はKITTIで95.3、NYUで97.4、SINTELで75.5、ETH3Dで98.6、DIODEで95.4——DA2(94.6 / 97.9 / 77.2 / 86.5 / 95.2)を上回る;単眼版の生徒モデルは97.1 / 98.0 / 82.3 / 98.8 / 96.5に達し、ETH3DではDA2を10%以上上回る。DA3-metricはETH3Dのメトリック深度でSOTA( 0.917、UniDepthv2の0.863に対して)。
- フィードフォワードNVS: ファインチューニングしたDA3はDL3DVでPSNR 21.33——VGGTバックボーンの20.96、専用モデルDepthSplatの19.24に対して——幾何品質がそのままレンダリング品質に転化する。
- 効率: A100上、504×336で1画像あたり37.6 FPS(DA3-Giant)——VGGTの34.1に対して;80GBのA100 1台で900〜1000枚の画像を扱える(VGGTは400〜500枚)(DA3-Large: 78.4 FPS、1500〜1600枚)。同等サイズのVGGT型デュアルTransformerは単一バックボーンの性能の79.8%まで低下する——その差は完全な事前学習と、3分の2が未学習のブロックとの違いに起因するとされる。
SLAMにおける意義
DA3は、このロードマップが追う深層幾何の2つの流れを統合するものである。Depth Anything V2の後継として、密な単眼SLAMのためのより強力な差し替え可能な単眼深度事前分布であり、そのメトリックバリアントはスケール問題に直接対処する。DUSt3R/VGGT型の任意ビューモデルとして、SLAMシステムが必要とするまさにそのフロントエンド量——1回の順伝播でクリーンな点群へ融合可能な一貫したビューごとの深度とカメラポーズ——を出力し、しかもVGGTよりポーズ精度が高くビュー容量もおよそ2倍である。これはVGGT-SLAMのようなサブマップベースのシステムにとって重要である(論文はそうしたSLAM応用をこのモデルファミリーの利用者として引用している)。カメラトークン条件付けはSLAMにとって特に注目に値する:トラッカーのポーズ推定値をゼロから再推定するのではなく注入して幾何を改善できるからである。誠実な留保点として、DA3はフィードフォワード再構成でありSLAMそのものではない——ループクロージャ、再位置決め、大域バンドル調整は存在せず、出力は(メトリックバリアントを除き)メトリックではなくスケール正規化されており、動的シーンは明示的に今後の課題とされている。
関連ノート
- Depth Anything V2 — 合成教師モデル/疑似ラベル付き生徒モデルというレシピをDA3が任意ビュー幾何へ一般化した単眼の前身
- DUSt3R — フィードフォワードポイントマップ回帰の起源;DA3は深度+レイの方がより優れた最小ターゲットだと主張する
- VGGT — 多段階アーキテクチャと冗長なターゲットを持つ従来の任意ビューSOTAで、DA3のプレーンなTransformerがこれを上回る