Skip to main content

3D Generation Overview

3D Generation は、text、image、video、sketch のような入力から、3D asset や scene を生成する分野です。CVPR / ICCV / ECCV / SIGGRAPH / NeurIPS で、近年とくに伸びているテーマの一つです。Diffusion model、NeRF、3D Gaussian Splatting、mesh generation、large reconstruction model が交差します。

大きな分類

分類代表例特徴
Optimization-basedDreamFusion、ProlificDreamer強力な 2D diffusion を per-asset に蒸留。低速だが品質が出る。
Feed-forwardLRM、GS-LRM、Instant3D一回の推論で 3D を出す。高速だが学習データが重要。
Native 3DPoint cloud diffusion、mesh diffusion3D 空間で直接生成。Topology の扱いが鍵。
Multi-view diffusionZero-1-to-3、MVDream複数 view を生成して 3D 化する中間表現。

詳細ページ

ページ内容
Score Distillation SamplingDreamFusion の核となる SDS の考え方
DreamFusion and Optimization-Based 3DNeRF + 2D diffusion による text-to-3D
Multi-View Diffusion for 3DZero-1-to-3、MVDream など
Large Reconstruction ModelsLRM、GS-LRM、Instant3D
Native 3D GenerationPoint / mesh / Gaussian の直接生成
4D GenerationText / image から動的 3D を生成

3D Reconstruction との違い

観点3D Reconstruction3D Generation
入力実写 image / video / sensorText / 単一 image / sketch
目的観測対象を忠実に復元ありえそうな 3D を作る
強みPhotometric accuracyCreativity、未観測部分の補完
弱み観測のない領域は埋まらないGround truth との一致は保証されない

両者は対立するものではなく、3D Generation が unseen view を補い、3D Reconstruction が observed view を支える、という協調関係にあります。

数式で見る 3D generation の学習目的

3D generation は、条件 cc から三次元表現 S\mathbf{S} を生成する問題として書けます。

Spθ(Sc)\mathbf{S}\sim p_\theta(\mathbf{S}\mid c)

ここで、cc は text prompt、single image、multi-view images、category label などです。S\mathbf{S} は mesh、NeRF、Gaussian、triplane、voxel、point cloud などの三次元表現です。

多くの手法では、生成した 3D 表現を differentiable renderer RR で複数 view に投影し、画像空間の supervision を使います。

L=vV(R(S,Kv,Tv),Iv)+λΩ(S)\mathcal{L}=\sum_{v\in\mathcal{V}}\ell\left(R(\mathbf{S},\mathbf{K}_v,\mathbf{T}_v), I_v\right)+\lambda\Omega(\mathbf{S})

ここで、Kv\mathbf{K}_v は intrinsics、Tv\mathbf{T}_v は camera pose、IvI_v は target image、Ω\Omega は geometry の regularization です。この式の気持ちは、「三次元そのものを直接観測できなくても、いろいろな角度から render した画像が正しければ、背後の 3D 表現も正しいはずだ」と考えることです。

関連ページ

主なソース