Score Distillation Sampling
Score Distillation Sampling (SDS) は、pretrained 2D diffusion model を gradient source として使い、3D 表現を最適化する技術です。DreamFusion で導入され、その後の text-to-3D 研究の出発点になりました。
何を解いているのか
3D scene を表す parameter (例えば NeRF や Gaussian) を、任意の camera から render し、その image が「prompt に合う自然な画像」になるように最適化したい、というのが目的です。
SDS の基本式
ある camera から render された image に noise を加え、diffusion model の予測誤差を gradient signal として使います。
ここで、
- は noisy image
- は text prompt
- は時刻依存の重み
- は differentiable renderer の Jacobian
通常の denoising score matching と違うのは、diffusion model の重みは固定で、3D parameter を更新する点です。
なぜこれが効くのか
直感的には、「ランダムな視点で render した image が、diffusion model の prior に従って高密度な領域に入るように を動かす」ことに相当します。Diffusion model が「自然な画像」を知っているので、その分布へ近づける方向に 3D が形成されます。
課題と発展
SDS には次のような問題が知られています。
| 問題 | 内容 |
|---|---|
| Mode-seeking | 1 つの「平均的」な見た目に収束しやすい |
| Janus problem | 顔が複数 view にできる、対称性の崩れ |
| Over-saturated colors | 強い CFG と SDS の組み合わせによる彩度過多 |
| 低速 | per-asset 最適化が必要 |
これらに対して、VSD (Variational Score Distillation, ProlificDreamer)、CSD、ISM などが提案されています。
関連ページ
主なソース
- DreamFusion paper: https://arxiv.org/abs/2209.14988
- ProlificDreamer (VSD): https://arxiv.org/abs/2305.16213