Marigold
Ke 2024 · 論文
一行要約 — Stable Diffusionを再利用し、そのU-Netのみをファインチューニングして画像で条件付けた深度潜在変数をデノイズすることで、アフィン不変な単眼深度推定器に変換する。約2.5 GPU日で7万4千枚の合成サンプルのみを用いて学習し、複数の拡散サンプルをアンサンブルすることで画素ごとの不確実性も得られる。
問題
単一画像から3次元深度を復元することは幾何的に不良設定な問題であり——単なる幾何ではなくシーン理解を必要とする。控えめなCNNから大規模なTransformerまで、識別的な深度推定器は学習時に見た視覚世界に限定され、未知の内容やレイアウトに対してゼロショットで苦戦する。一方でStable Diffusionは、インターネット規模の画像コレクション(LAION-5B)を視覚世界の豊かな事前分布に蒸留している。Marigoldは次のように問う: 単眼深度の礎が視覚世界の包括的な表現であるならば、その事前分布を失うことなく、事前学習された画像拡散モデルから広く適用可能な深度推定器を導出できるか?
手法とアーキテクチャ
深度推定は条件付きデノイジング拡散として定式化される: RGB画像が与えられたときの深度に対する条件分布をモデル化する。前方過程はレベルで深度を破損させる:
そしてU-Net は標準的なデノイジング目的関数で学習される。すべてはStable Diffusion v2の潜在空間で実行され、その空間を無傷のまま保つ:
- 両モダリティに対する固定VAE。 深度マップは3チャンネルに複製され、変更を加えないSD VAEでエンコードされる(が無視できる誤差で成立する)。推論時にはデコードされた3チャンネルが平均化される。
- 連結による条件付け。 画像潜在変数とノイズの入った深度潜在変数は特徴次元に沿って連結される。U-Netの最初の層は入力チャンネル数が2倍にされ、事前学習された入力重みが複製されて2で割られる。テキスト条件付けは無効化される。ファインチューニングされるのはU-Netのみである。
- アフィン不変な正規化。 正解の深度はによってにマッピングされる。ここでは深度の2%と98%パーセンタイルであり——スケール/シフトに依存しない標準的な表現である。
- 合成データのみの学習。 Hypersim(屋内約5万4千枚)+ Virtual KITTI(街路約2万枚)——VAEが取り込める密で無雑音の深度(無効画素なし)。学習: 1万8千イテレーション、バッチ32、Adam学習率、1台のRTX 4090で約2.5日。
- ファインチューニング中のアニーリングされたマルチ解像度ノイズ(重ね合わせたマルチスケールガウスノイズをで標準ガウスにアニーリング)がより速く収束し、標準的なDDPMノイズを大幅に上回る。
- 推論とアンサンブル。 ガウスノイズから50ステップに再配置されたDDIM。回の確率的な実行は、ペアごとの距離の和と、画素ごとのメジアンで統合されたマップに対する正則化項を最小化するように、各実行のスケールとシフトを同時最適化することで統合される——正解データは不要であり、サンプル間の広がりが不確実性としても機能する。
実験結果
学習で一度も見ていない5つの実データセットでのゼロショット(指標は%、AbsRelは低いほど、は高いほど良い):
- NYUv2: AbsRel 5.5 / 96.4(アンサンブル使用)、対する最良の先行手法HDNは6.9 / 94.8——概要で言及されている20%超の相対的な改善。
- KITTI: 9.9 / 91.6(DPTの10.0 / 90.1に対して); ETH3D: 6.5 / 96.0(DPTの7.8 / 94.6に対して); ScanNet: 6.4 / 95.1; DIODE: 30.8 / 77.3。
- ベンチマーク全体での平均順位1.4(HDNの3.2、DPTの3.9に対して)——30万~1200万枚の実画像で学習されたベースラインに対し、わずか7万4千枚の合成サンプルのみを使用。
- アブレーション: マルチ解像度+アニーリングノイズによりNYUv2のAbsRelが7.7から5.6に改善; 10個の予測をアンサンブルすることでNYUv2のAbsRelが約8%削減(20個の予測では約9.5%、10個を超えると収益が減少); 精度は約10 DDIMステップで飽和し、画像生成が必要とするステップ数より少ない。
SLAMにおける意義
Marigoldは、インターネット規模の生成的事前分布が幾何タスクに転用できることを示し、拡散ベースの深度モデル群を開いた。SLAMに特化して言えば、そのサンプリングされた不確実性が最大の特徴である: 単眼深度の事前分布をSLAMのバックエンドに融合するにはノイズモデルが必要であり、Marigoldはアンサンブルの分散から画素ごとにそれを無料で提供する。反復的な推論のためリアルタイムのフロントエンドには向かないが、オフラインマッピング、稠密な事前分布生成、そしてより高速なモデル(例えばDepth Anything V2)が比較対象とする精細な品質の基準として価値がある。
関連ノート
- MiDaS — マルチデータセットの相対深度ベースライン
- DPT — 深度のための識別的Transformerアーキテクチャ
- Depth Anything V2 — 合成データで学習された、より高速な識別的競合手法
- Metric3D — カメラを意識した深度のためのメトリックスケールの代替手法
- Align3R — Marigoldのようなフレームごとの深度を映像/SLAM向けに時間的に一貫させる手法