Align3R
Lu 2025 · 論文
一行要約 — Align3R は、単眼深度をファインチューニングした DUSt3R に注入し、そのペアワイズ3Dポイントマップで全フレームを整合させることで、フレームごとにちらつく単眼深度予測を時間的に一貫したビデオ深度とカメラ姿勢に変換する(CVPR 2025 Highlight)。
問題
現代の単眼深度推定器(Depth Pro、Depth Anything V2)は高品質な単一画像深度を生成するが、動的ビデオのフレーム間で一貫したスケール係数を維持できず、推定された深度シーケンスがちらついてしまう。初期の解決策はオプティカルフローやマッチング制約による推論時最適化を行っていたが、大きな動きの下では破綻し、数時間を要する。最近のビデオ拡散アプローチ(DepthCrafter、ChronoDepth)は学習コストが高く、固定長のクリップに限定され、カメラ姿勢を伴わないスケール不変深度のみを出力する——4D再構成やトラッキングには不十分である。Align3R は、拡散モデルのコストを払わずに動的な単眼ビデオに対して一貫したビデオ深度と姿勢を得る方法を問う。
手法とアーキテクチャ
枚のフレーム が与えられると、まず単眼推定器がフレームごとの深度 を予測し、次に修正された DUSt3R がその深度に基づいてペアワイズポイントマップを予測し、最後にグローバルアライメントが深度 と姿勢 を解く。
- DUSt3R バックボーン。 フレームペア に対し、ViT がポイントマップ (いずれもフレーム の座標系)を信頼度 とともに予測する。ペアグラフ 全体に対して、グローバルアライメントは以下を解く。
ここで はエッジごとのスケール係数であり、 はポイントマップを視点 に投影して深度マップにする。
- ControlNet 方式の深度注入。 深度を単純に RGB 入力に連結すると、事前学習済みの DUSt3R エンコーダ特徴を「破壊的に壊してしまう」。そこで代わりに、単眼深度を3Dポイントマップ に逆投影し(Depth Pro が予測した焦点距離、あるいは Depth Anything V2 では固定焦点距離を使用、各軸を に正規化)、パッチ埋め込みしたうえで新しい ViT に通す。その多層特徴 はゼロ畳み込みを介して DUSt3R デコーダに入る: (、)であり、初期化時には元の予測をそのまま保つ。
- 動的シーンに向けたファインチューニング。 エンコーダは固定し、デコーダとポイントマップ ViT を5個の合成データセット(SceneFlow、VKITTI、静止領域のみ使用の TartanAir、Spring、PointOdyssey)上で、時間ストライド1〜10でサンプリングしたペアを用いてファインチューニングする。損失は画像ごとの正規化係数 を用いた DUSt3R 回帰損失 であり、400 m を超える深度はフィルタリングして空が損失を支配しないようにする。学習: RTX 4090 6枚、バッチ12、50エポックで約20時間、AdamW 学習率 。
- 長いビデオに対する階層的最適化。 約30フレームを超えるビデオは通常の DUSt3R アライメントでは 4090 のメモリを超過するため、ビデオは または のクリップに分割される: まずクリップごとに1枚のキーフレームに対するグローバルアライメントでキーフレームの深度・姿勢・焦点距離を初期化し、次に各クリップ内をローカルアライメントで補完する。MonST3R の RAFT フロー損失は推論時に追加され——深度にはほとんど影響しないが姿勢精度には重要である。
実験結果
6つのデータセットで評価し、シーケンス単位(フレーム単位のアライメントより厳しい)で単一のスケール/シフトを用いる。Abs Rel / :
- ビデオ深度(表2): Sintel 0.253/0.681(Depth Anything V2 使用)対 MonST3R 0.335/0.586、DUSt3R 0.422/0.542、DepthCrafter 0.292/0.697; PointOdyssey val 0.077/0.930(Depth Pro variant)対 MonST3R 0.089/0.909; FlyingThings3D 0.102/0.895 対 MonST3R 0.132/0.836; Bonn 0.075/0.972、TUM dynamics 0.109/0.915——すべてのデータセットの全指標で DUSt3R と MonST3R を上回るが、簡単な屋内シーンの Bonn では単一フレームの Depth Pro(0.067/0.974)が既に一貫している。
- カメラ姿勢(表3): 3つのベンチマークすべてで最良の RTE/RRE; TUM dynamics で ATE 0.011(MonST3R 0.020、DUSt3R 0.093、COLMAP 0.076 に対して)、Bonn で 0.646×10⁻²; Sintel では ATE 0.128–0.163 で MonST3R の 0.111 にわずかに劣るが、RRE(0.419–0.432 対 0.780)は優れている。
- アブレーション(表4): ゼロ畳み込み ViT による注入は Sintel の Abs Rel を 0.263 に改善する(深度なしでは 0.306、素朴な RGB-深度連結では 0.399); 階層的最適化はメモリを24.0→5.9 GB、時間を Bonn ビデオ1本あたり2.9→1.1分に削減しつつ、ほぼ同等の精度(Abs Rel 0.054→0.056)を保つ。
SLAMにおける意義
フレーム間で一貫した深度は、まさに密な視覚オドメトリとマッピングが必要とするものである。フレーム間で自己矛盾する単眼深度ネットワークは姿勢推定とマップ融合を台無しにする。Align3R は実用的なレシピを示している——詳細のための基盤モデル深度、幾何的な接着剤としての DUSt3R 方式のペアワイズポイントマップ、そしてバックエンドとしての DUSt3R 自身のグローバルアライメント——これにより単一画像深度モデルがビデオ/SLAM のフロントエンドとして使えるようになり、動的シーケンスでの姿勢精度は DROID-SLAM のような専用システムに匹敵する。これは、逐次的・動的データへ適応が進んでいる DUSt3R ファミリー(MonST3R、MASt3R-SLAM)の急速に発展する系譜の中に位置する。