1. ์ฐ๊ตฌ ์ฃผ์ ์ ์ฃผ์ ๊ธฐ์ฌ
DreamFusion์ 2D text-to-image diffusion model์ ํ์ฉํด 3D ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ text-to-3D ํฉ์ฑ ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
โ ์ฃผ์ ๊ธฐ์ฌ
- 3D ๋ฐ์ดํฐ๋ 3D ํ์ต์ด ์ ํ ์์ด, 2D diffusion model๋ง์ผ๋ก 3D ์ฅ๋ฉด์ ์์ฑํ๋ end-to-end pipeline์ ๊ตฌ์ถ
- Score Distillation Sampling (SDS)์ด๋ผ๋ ์๋ก์ด ์ต์ ํ ๊ธฐ๋ฐ ์ํ๋ง ๊ธฐ๋ฒ์ ๊ณ ์ํ์ฌ, pretrained ์ด๋ฏธ์ง diffusion model์ 3D ํ์ต์ loss๋ก ํ์ฉ
- NeRF๋ฅผ ๊ธฐ๋ฐ์ผ๋ก 3D ๋ณผ๋ฅจ์ ํ๋ผ๋ฏธํฐํํ์ฌ, ๋ค์ํ ๊ฐ๋์์ ์ผ๊ด๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑ ๊ฐ๋ฅํ๊ฒ ํจ
2. ์ฐ๊ตฌ ๋ฐฐ๊ฒฝ ๋ฐ ๊ด๋ จ ์ฐ๊ตฌ ๋ํฅ
โ Text-to-Image Synthesis
์ต๊ทผ DALL-E, Imagen, GLIDE ๋ฑ์ ๋ชจ๋ธ๋ค์ด ๋๊ท๋ชจ ์ด๋ฏธ์ง-ํ ์คํธ ํ์ด๋ก ํ์ต๋์ด ๊ณ ํ์ง์ ํ ์คํธ-์ด๋ฏธ์ง ํฉ์ฑ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ์๋ค. ํนํ diffusion model์ ์์ ์ ์ด๊ณ scalableํ ํ์ต ๋ฐฉ์ ๋๋ถ์ text-to-image ๋ถ์ผ์์ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์๋ค.
โ Text-to-3D์ ํ์์ฑ
๊ฒ์, ์ํ, VR ๋ฑ ๋ง์ ๋์งํธ ์ฝํ ์ธ ๋ 3D ์์ฐ์ ํ์๋ก ํ์ง๋ง, ์ง์ ๋ชจ๋ธ๋งํ๋ ๋ฐ ์๊ฐ์ด ๋ง์ด ์์๋๋ค. ์ด์ ๋ฐ๋ผ ํ ์คํธ ์ ๋ ฅ๋ง์ผ๋ก 3D ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ์๋ํ ๊ธฐ์ ์ด ํ์ํ๋ค.
โ ๊ธฐ์กด 3D ์์ฑ ๋ฐฉ์์ ํ๊ณ
- ๋๋ถ๋ถ์ 3D ์์ฑ ๊ธฐ๋ฒ์ voxel, point cloud, mesh ๋ฑ ๋ช ์์ 3D ํํ์ ํ์๋ก ํจ.
- CLIP ๊ธฐ๋ฐ์ Dream Fields ๋ฑ์ 2D ์ด๋ฏธ์ง-ํ ์คํธ joint embedding์ ํ์ฉํ์ผ๋, ์ฌ์ค๊ฐ ์๋ geometry๊ฐ ๋ถ์กฑํจ.
- ๊ธฐ์กด GAN ๊ธฐ๋ฐ ๊ธฐ๋ฒ์ ์ ํ๋ ํด๋์ค์์๋ง ํจ๊ณผ์ ์.
3. ์ฃผ์ ์ ์

โ ํต์ฌ ์์ด๋์ด

DreamFusion์ ํต์ฌ์, ๊ธฐ์กด์ 2D ์ด๋ฏธ์ง ์์ฑ์ฉ diffusion model์ 3D ๋ชจ๋ธ ํ์ต์ "loss function"์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด๋ค. ์ฆ, diffusion model์ด ์์ธกํ ๋ ธ์ด์ฆ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก NeRF์ ํ๋ผ๋ฏธํฐ๋ฅผ ์ต์ ํํ๋ ๊ตฌ์กฐ๋ค. ์ด๋ฅผ ํตํด ์๋ก์ด ์ด๋ฏธ์ง ์์ฑ์ด ์๋, NeRF๊ฐ ํ ์คํธ์ ๋ถํฉํ๋ 3D ๊ตฌ์กฐ๋ฅผ ์์ฑํ๊ฒ ํ๋ค.
๋ํจ์ ๋ชจ๋ธ๊ณผ NeRF๋ ์์ ํ ๋ค๋ฅธ ํํ์ ๋ชจ๋ธ์ธ๋ฐ, ์ด๋ป๊ฒ ํ ๋ชจ๋ธ์ ์ถ๋ ฅ์ ๊ธฐ๋ฐ์ผ๋ก ๋ค๋ฅธ ๋ชจ๋ธ์ ํ์ตํ ๊น? ๋ผ๋ ์๋ฌธ์ด ๋ ๋ค.
๊ฐ๋จํ๊ฒ๋ ๋ํจ์ ๋ชจ๋ธ์ด ์ด๋ฏธ์ง ํ์ง์ ํ๋จํด์ฃผ๋ ํ๊ฐ์, NeRF๋ ๊ทธ ํ๋จ์ ๋ฐ๋ผ ์กฐ์ ๋๋ ์์ฑ์์ ๋๋์ผ๋ก ๋ณด๋ฉด ๋๋ค.
- ๋ํจ์ ๋ชจ๋ธ: "์ด ์ด๋ฏธ์ง-ํ ์คํธ๊ฐ ์๋ก ์ด์ธ๋ฆฌ๋ ค๋ฉด ์ด๋ ๊ฒ ๋ฐ๊ฟ์ผ๋จ!"
- NeRF: "ใ ใ ํ๋ผ๋ฏธํฐ ๋ฐ๊ฟ๋ณผ๊ฒ~"
โ Score Distillation Sampling (SDS)

SDS๋ DreamFusion์ด ์ ์ํ ์๋ก์ด ์ต์ ํ ๊ธฐ๋ฐ ์ํ๋ง ๋ฐฉ์์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก diffusion model์ ํฝ์ ๊ณต๊ฐ์์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ์ง๋ง, ์ด ์ฐ๊ตฌ์์๋ NeRF ํ๋ผ๋ฏธํฐ ๊ณต๊ฐ์์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ ์ ํ๋ฉฐ ์ด๋ฅผ ์ํด ๋ค์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
- ํ ์คํธ์ ๋๋ค ์นด๋ฉ๋ผ ๋ทฐ๋ก๋ถํฐ NeRF๋ฅผ ํตํด ์ด๋ฏธ์ง๋ฅผ ๋ ๋๋ง
- ์ด ์ด๋ฏธ์ง๋ฅผ diffusion model์ ์ ๋ ฅํ๊ณ , ๋ชจ๋ธ์ด ์์ธกํ ๋ ธ์ด์ฆ์ ์ค์ ๋ ธ์ด์ฆ์ ์ฐจ์ด๋ฅผ ๊ณ์ฐํจ
- ์ด ์ฐจ์ด๋ฅผ ํตํด gradient๋ฅผ ๊ณ์ฐํ๊ณ NeRF ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธํจ
๊ธฐ์กด์ diffusion training loss๋ U-Net ๋ด๋ถ๊น์ง ์ญ์ ํ๋์ด์ผ ํ๋ฏ๋ก ๋นํจ์จ์ ์ด๊ณ ๋ถ์์ ํ๋ค. DreamFusion์ U-Net์ Jacobian์ ์๋ตํ๊ณ , ๋์ ๋ํจ์ ๋ชจ๋ธ์ด ์์ธกํ ๋ ธ์ด์ฆ๋ง์ ํ์ฉํด ํจ๊ณผ์ ์ธ gradient๋ฅผ ๊ตฌ์ฑํ๋ค. ์ต์ข ์ ์ผ๋ก๋ ํ๋ฅ ๋ฐ๋ ์ฌ์ด์ KL divergence๋ฅผ ์ต์ํํ๋ ํํ๋ก, ์ด ๊ณผ์ ์ ํตํด ํ๋ผ๋ฏธํฐ ๊ณต๊ฐ์์ ์ํ๋ง์ด ๊ฐ๋ฅํด์ง๋ค. SDS๋ ์ต์ ํ๋ง์ผ๋ก ๊ณ ํ์ง ์ํ์ ์์ฑํ ์ ์๋ ๊ฐ๋จํ๋ฉด์ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์ด๋ค.
SDS๋ Diffusion Model์ด ์์ธกํ ๋ ธ์ด์ฆ ์ ๋ณด๋ฅผ ํ์ฉํด NeRF๋ฅผ ์ต์ ํํ ์ ์๊ฒ ๋ง๋๋ Loss Function์ด๋ผ ๋ณด๋ฉด ๋๋ค.
โ๏ธ SDS๊ฐ ์์๋ค๋ฉด?
- ๋ํจ์ ๋ชจ๋ธ์ ๊ฒฐ๊ณผ๋ฅผ NeRF ํ๋ผ๋ฏธํฐ ์ ๋ฐ์ดํธ์ ์ด๋ป๊ฒ ์จ์ผํ ์ง ์ ์ ์์
- ๋ํจ์ loss๋ฅผ ๊ทธ๋ฅ ์ฐ๋ ค๋ฉด, ๋ํจ์ ๋ชจ๋ธ ์ ์ฒด(U-Net)๋ฅผ ์ญ์ ํํด์ผ ํจ
โ NeRF๋ฅผ ํ์ฉํ 3D ํํ
DreamFusion์ ์ฅ๋ฉด์ NeRF ๊ตฌ์กฐ๋ก ํํํ๋ฉฐ, ์ด NeRF๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ์ผ๋ก ์ค๊ณ๋๋ค.
- MLP๋ฅผ ํตํด ์์น(3D ์ขํ)์ ๋ํด volumetric density(๋ฐ๋)์ albedo(ํ๋ฉด ์์)๋ฅผ ์ถ๋ ฅํจ
- ๊ฐ ํฝ์ ์ ๋ํด ray๋ฅผ ์๊ณ , ray ์์ ์ํ๋ง ์ง์ ๋ค์ ๋ํด MLP ์ถ๋ ฅ์ alpha blending ๋ฐฉ์์ผ๋ก ํตํฉํ์ฌ ์ต์ข ์ด๋ฏธ์ง๋ฅผ ๋ ๋๋งํจ
- normal vector๋ ๋ฐ๋์ gradient๋ฅผ ํตํด ๊ณ์ฐ๋๋ฉฐ, ์ด normal๊ณผ ์กฐ๋ช ์ ์ฌ์ฉํ์ฌ diffuse shading์ ์ ์ฉํจ
์กฐ๋ช ์ ๋ค์ํ๊ฒ ๋ฐ๊พธ๊ฑฐ๋ ์นด๋ฉ๋ผ ๊ฐ๋๋ฅผ ๋ณ๊ฒฝํด๋ ๋์ผํ 3D ๊ตฌ์กฐ๋ฅผ ์ ์งํ ์ ์๊ฒ ํ์ฌ ๋ค์ํ ๋ทฐ์์์ ์ผ๊ด๋ ํํ์ด ๊ฐ๋ฅํด์ง.
์ถ๊ฐ์ ์ผ๋ก ...
- ๋ฐฐ๊ฒฝ์ ๋ณ๋์ MLP๋ก ์ฒ๋ฆฌ
- ์ผ์ ํ๋ฅ ๋ก albedo๋ฅผ ํฐ์์ผ๋ก ๋์ฒดํ "textureless shading"์ ํตํด geometry ํ์ง์ ์ ์งํจ (ํ ์ค์ฒ์๋ง ์์กดํ ์์ ๊ตฌ์กฐ ๋ฐฉ์ง)
- ๋ฐ๋์ ๋ํ regularization (๋ถํ์ํ ๋ฐ๋ ๋ถํฌ ์ต์ )์ orientation loss (normal์ด ์นด๋ฉ๋ผ๋ฅผ ํฅํ๋๋ก ์ ๋)๋ฅผ ํตํด ์์ ์ฑ ํฅ์
โ DreamFusion ํ์ต ๋ฃจํ ์์ฝ

DreamFusion์ ์ต์ข ํ์ต ๋ฃจํ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ํ ์คํธ ํ๋กฌํํธ ๊ณ ์ (์: "a frog wearing a sweater")
- ๋๋คํ ์นด๋ฉ๋ผ ์์น์ ์กฐ๋ช ์ ์ํ๋ง (๋ค์ํ ์์ ์ ํตํด 3D ๊ตฌ์กฐ์ ์ผ๊ด์ฑ์ ํ์ต)
- ํด๋น ์นด๋ฉ๋ผ๋ก NeRF๋ฅผ ๋ ๋๋ง (์ปฌ๋ฌ ๋ ๋๋ง, albedo(์ฌ์ง ์์), textureless shading ์ค ํ๋๋ก ์ด๋ฏธ์ง ์์ฑ)
- ๋ ธ์ด์ฆ ์ํ๋ง, ๋ ธ์ด์ฆ ๋ํ๊ธฐ
- diffusion model (U-Net)์ผ๋ก๋ถํฐ ๋ ธ์ด์ฆ ์์ธก๊ฐ ์์ฑ
- ๋ ธ์ด์ฆ ์์ธก๊ฐ <-> ์ค์ ๋ ธ์ด์ฆ๊ฐ์ผ๋ก SDS loss ๊ณ์ฐ
- ํด๋น loss์ gradient๋ก NeRF ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฐ์ดํธ
์ด ๊ณผ์ ์ ๊ณ์ ๋ฐ๋ณตํ๋ฉด, ํน์ ํ ์คํธ์ ๋ถํฉํ๋ 3D NeRF ๋ชจ๋ธ์ด ํ์ต๋๋ค.
์ ๋ฆฌํด๋ณด๋ฉด, DreamFusion์ NeRF๊ฐ ์์ฑํ ์ด๋ฏธ์ง์์ Diffusion model๋ก ์์ธกํ ๋ ธ์ด์ฆ์ ์ค์ ๋ ธ์ด์ฆ์ ์ฐจ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก NeRF ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ์ ๋ฐ์ดํธํจ์ผ๋ก์จ ํ ์คํธ ์กฐ๊ฑด์ ๋ง๋ 3D ๋ชจ๋ธ์ ํ์ตํ๋ ๊ฒ์ด๋ค!
4. ์คํ

DreamFusion์ ์คํ์ ๋ค์ ๋ ๊ฐ์ง ์ง๋ฌธ์ ์ด์ ์ ๋ง์ถ๋ค.
- ์ ๋ง๋ก 2D diffusion model๋ง์ผ๋ก ์๋ฏธ ์๋ 3D geometry๋ฅผ ์์ฑํ ์ ์๋๊ฐ?
- ๊ธฐ์กด์ CLIP ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ค๋ณด๋ค ์ด๋ค ์ ์์ ๊ฐ์ ๋์๋๊ฐ?
์คํ์ ํตํด ์ ์๋ค์ ๋จ์ํ ์๊ฐ์ ์ผ๋ก ๋ณด๊ธฐ ์ข์ 3D ๋ชจ๋ธ์ด ์๋๋ผ, ๋ค์ํ ๊ฐ๋์์๋ ๊ตฌ์กฐ์ ์ผ๋ก ํ๋นํ geometry๋ฅผ ๊ฐ๋ 3D ํํ์ ์์ฑํ ์ ์์์ ์ ์ฆํ๋ค.
- ๊ธฐ์กด์ Dream Fields๋ CLIP-Mesh๋ ๋๋ถ๋ถ ํ ์ค์ฒ์ ์์กดํ์ฌ ํ ์คํธ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋ฉฐ, geometry ํ์ง์ด ๋จ์ด์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง์์. (์: ํํํ ๋ฉด์ ์ด๋ฏธ์ง๊ฐ ๊ทธ๋ ค์ง ํํ)
- ๋ฐ๋ฉด, DreamFusion์ textureless render ๊ธฐ์ค์์๋ ๋์ ์ผ๊ด์ฑ๊ณผ ์ ํ๋๋ฅผ ๋ณด์ฌ์ฃผ๋ฉฐ, geometry ์์ฒด๊ฐ ํ ์คํธ ์๋ฏธ๋ฅผ ๋ฐ์ํจ. ์: ๊ฐ์์ง๊ฐ ์ ์ฒด์ ์ผ๋ก ํํ๋จ.
์ฆ, DreamFusion์ ํ ์คํธ์ ๋ถํฉํ๋ ์ง์ง 3D ๊ตฌ์กฐ๋ฅผ ์์ฑํ ์ ์๋ ๋ฐฉ๋ฒ์ด๋ผ๋ ๊ฒ์ ์คํ์ ์ผ๋ก ์ฆ๋ช ํ๋ค.
๋ํ, ์ฌ๋ฌ ๊ตฌ์ฑ์์๊ฐ ์ต์ข ์ฑ๋ฅ์ ์ด๋ค ์ํฅ์ ์ฃผ๋์ง ๋ถ์ํจ์ผ๋ก์จ, DreamFusion์ด ์ ์ ์๋ํ๋์ง๋ฅผ ํด์ํ๋ค.
- View-dependent text๋ฅผ ์ถ๊ฐํด์ผ ๋ค์ํ ๊ฐ๋์์ ์๋ฏธ ์๋ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค ์ ์์. (์: "side view" ์กฐ๊ฑด์ ๋ฐ์ํ์ง ์์ผ๋ฉด ์ผ๊ตด์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฐ๊ณผ ๋ฐ์)
- Textureless rendering์ geometry ํ์ต์ ํต์ฌ์ ์ธ ์ญํ ์ ํจ. ์์ ์์กดํ์ง ์๊ณ ์์ํ ๊ตฌ์กฐ๋ฅผ ํ์ตํ ์ ์๋๋ก ํจ.
- ์กฐ๋ช ๋ค์ํ๋ ํ๋ฉด์ ๊ตด๊ณก์ ๋ช ํํ ๋๋ฌ๋ด๋ฉฐ, geometry ํ์ต์ ๊ธฐ์ฌํจ.
5. ๊ฒฐ๋ก
โ ์ฅ์
- 3D ๋ฐ์ดํฐ ์์ด๋ ๊ณ ํ์ง Text-to-3D ์์ฑ ๊ฐ๋ฅ
- ํ๋์ pretrained diffusion model๋ก ๋ค์ํ ํ๋กฌํํธ์ ๋์ ๊ฐ๋ฅ
- geometry์ ์์ ๋ชจ๋์์ ๋์ ์ผ๊ด์ฑ๊ณผ ์ฌ์ค๊ฐ์ ๋ณด์ฌ์ค
โ ํ๊ณ
- SDS๋ oversmoothing ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ผ๋ฉฐ, ๋ค์ํ ์๋์์ ์์ฑ๋ ๊ฒฐ๊ณผ์ ๋ค์์ฑ์ด ๋ฎ์
- ์ฌ์ฉ๋ Imagen ๋ชจ๋ธ์ 64x64 ํด์๋๋ก, ์ธ๋ฐํ ๋ํ ์ผ ๋ถ์กฑ
- ์ต์ ํ๋ ๋ค์ ๋๋ฆฌ๋ฉฐ, 15,000 step์ ์ฝ 1.5์๊ฐ ์์๋จ (TPU ๊ธฐ์ค)
๊ฐ์ธ์ ์ผ๋ก ์์ฆ์ ์ด๋ฏธ ์ ๋ง๋ค์ด์ง ๋ชจ๋ธ์ ์ฐฝ์์ ์ผ๋ก ์ฌํ์ฉํ๊ฑฐ๋ ์๋ก์ด ๋ฐฉ์์ผ๋ก ์ ๋ชฉํด ํจ์จ์ ๊ทน๋ํํ๋ ค๋ ์๋๊ฐ ๋ง์์ง ๊ฒ ๊ฐ๋ค. Vision-Language Model(VLM) ๋ถ์ผ๋ ๋ํ์ ์ธ ์์ด๊ณ , DreamFusion์ฒ๋ผ ๊ธฐ์กด 2D diffusion model์ loss function์ผ๋ก ์ ์ฉํด ์ ํ ๋ค๋ฅธ 3D ์์ฑ์ ํ์ฉํ ์ฌ๋ก๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ์ด๋ฐ ์ฐ๊ตฌ ํ๋ฆ์ ๊ผญ ๋ด๊ฐ ์ํ ์ธ๋ถ ๋ถ์ผ๊ฐ ์๋๋๋ผ๋, ์ธ์ ์์ญ์์ ์์ด๋์ด๋ฅผ ๊ฐ์ ธ์ ์ตํฉํ์ ๋ ๋ ํฐ ์๋์ง๋ฅผ ๋ง๋ค ์ ์๋ค๋ ์ ์์ ๋งค์ฐ ์ธ์ฌ์ดํธํํ๊ฒ ๋๊ปด์ง๋ค.