๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ˜ŽAI/3D Reconstruction

[Paper Review][Workflow Review] DreamFusion: Text-to-3D Using 2D Diffusion

by SolaKim 2025. 1. 23.

DreamFusion ์€ Text input์— 3D output์„ ๊ฒฐ๊ณผ๋กœ ํ•˜๋Š” ๋…ผ๋ฌธ์ž…๋‹ˆ๋‹ค.

https://dreamfusion3d.github.io/

 

DreamFusion: Text-to-3D using 2D Diffusion

DreamFusion: Text-to-3D using 2D Diffusion, 2022.

dreamfusion3d.github.io

 

 

์ •๋ง ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌ๋ฅผ ํ•˜์ž๋ฉด,

NeRF ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋žœ๋คํ•œ 3D ๋ฌผ์ฒด๋ฅผ ๋ Œ๋”ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  text ๋ฐ์ดํ„ฐ๋ฅผ input์œผ๋กœ ๋„ฃ์œผ๋ฉด Stable Diffusion ์„ ์ด์šฉํ•˜์—ฌ 2D image ๋ฅผ generate ํ•ฉ๋‹ˆ๋‹ค.
generated ๋œ ์ด๋ฏธ์ง€์™€ NeRF ์—์„œ ๋ Œ๋”๋œ 3D ์ด๋ฏธ์ง€์˜ 2D, ๊ทธ๋ฆฌ๊ณ  text prompt ๋ฅผ SDS (Score Distillation Sampling) ๋ฅผ ํ†ตํ•ด ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
ํ•ด๋‹น SDS Loss ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ gradient ๋ฅผ back-propagation ์—์„œ ๊ณ„์† ์—…๋ฐ์ดํŠธ ํ•ด๋‚˜๊ฐ‘๋‹ˆ๋‹ค.
๊ทธ๋ ‡๊ฒŒ 3D ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์ ํ™” ํ•ด ๋‚˜๊ฐ‘๋‹ˆ๋‹ค.

 

DreamFusion ๊ฒฐ๊ณผ๋ฌผ

< DreamFusion >

1. ํ…์ŠคํŠธ ์ž…๋ ฅ

- ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” 3D ์žฅ๋ฉด์ด๋‚˜ ๊ฐ์ฒด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    - ์˜ˆ: "a chair with a modern design", "a cute cartoonish robot" 

 

2. NeRF ๋กœ 3D ์žฅ๋ฉด ํ‘œํ˜„

- DreamFusion ์€ NeRF ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 3D ์žฅ๋ฉด์„ ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค.

- NeRF ๋Š” ์ดˆ๊ธฐ์— ๋žœ๋คํ•œ ์ƒํƒœ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

2-1. NeRF ์˜ 3D ๋ Œ๋”๋ง ๊ณผ์ •

- NeRF ๋Š” 3D ๊ณต๊ฐ„์˜ ๊ฐ ์œ„์น˜์— ๋Œ€ํ•ด ๋ฐ€๋„(tau)์™€ ์ƒ‰์ƒ(rgb)๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

- ํ•˜์ง€๋งŒ NeRF ์ž์ฒด์˜ ์ถœ๋ ฅ์€ 3D ๋ฐ์ดํ„ฐ(๋ฐ€๋„์™€ ์ƒ‰์ƒ)๋ผ์„œ ์ด๋ฅผ Stable Diffusion ์˜ 2D ์ด๋ฏธ์ง€์™€ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด ๋ Œ๋”๋ง ๊ณผ์ •์„ ๊ฑฐ์นฉ๋‹ˆ๋‹ค. (= 3D ์žฅ๋ฉด์„ ๊ด‘์„ (ray) ๋‹จ์œ„๋กœ ์ƒ˜ํ”Œ๋งํ•˜๊ณ  ๋ Œ๋”๋งํ•œ๋‹ค.)

๋ Œ๋”๋ง(Rendering) ์ด๋ž€?
NeRF ๋Š” ๋žœ๋คํ•œ ์นด๋ฉ”๋ผ ์œ„์น˜์™€ ๊ด‘์„ (ray) ๋ฅผ ์„ค์ •ํ•œ ๋’ค, ์ด ๊ด‘์„ ์„ ๋”ฐ๋ผ 3D ์žฅ๋ฉด์˜ ๋ฐ€๋„์™€ ์ƒ‰์ƒ์„ ์ƒ˜ํ”Œ๋งํ•ฉ๋‹ˆ๋‹ค. 
์ด๋Ÿฌํ•œ ์ƒ˜ํ”Œ๋ง ๊ณผ์ •์„ ํ†ตํ•ด ํŠน์ • ์‹œ์ ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์žฅ๋ฉด์˜ 2D ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
์ฆ‰, ์นด๋ฉ”๋ผ๊ฐ€ ์—ฌ๋Ÿฌ ์œ„์น˜์—์„œ ๊ด€์ฐฐํ•œ ๋ทฐ(Viewpoint)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

3. Stable Diffusion ์œผ๋กœ Text-Image ๊ด€๊ณ„ ๋ชจ๋ธ๋ง

- Stable Diffusion ๋ชจ๋ธ์„ ํ™œ์šฉํ•˜์—ฌ ํ…์ŠคํŠธ ์กฐ๊ฑด์— ๋งž๋Š” 2D ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

- Stable Diffusion ๋ชจ๋ธ์—์„œ๋Š” ํ…์ŠคํŠธ์™€ ์ด๋ฏธ์ง€๊ฐ€ ๊ณต์œ  ์ž„๋ฒ ๋”ฉ ๊ณต๊ฐ„์—์„œ ์ƒํ˜ธ ์—ฐ๊ด€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, Stable Diffusion ์€ ์ž…๋ ฅ ํ…์ŠคํŠธ์— ์ ํ•ฉํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ ๊ฐ•๋ ฅํ•ฉ๋‹ˆ๋‹ค.

 

4. Score Distillation Sampling (SDS) ๋„์ž…

- DreamFusion ์˜ ํ•ต์‹ฌ ๊ธฐ๋ฒ•์ธ Score Distillation Sampling (SDS) ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Stable Diffusion ์˜ ์ง€์‹์„ NeRF์˜ 3D ํ‘œํ˜„์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. 

- SDS ๋Š” Stable Diffusion ์—์„œ ์ƒ์„ฑ๋œ 2D ์ด๋ฏธ์ง€์™€ NeRF ์—์„œ ๋ Œ๋”๋ง๋œ 2D ์ด๋ฏธ์ง€ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ค„์ด๋Š” ๋ฐฉ์‹์œผ๋กœ NeRF๋ฅผ ์ตœ์ ํ™” ํ•ฉ๋‹ˆ๋‹ค.

    - ๊ตฌ์ฒด์ ์œผ๋กœ, SDS Loss ๊ฐ€ ๊ณ„์‚ฐ๋˜๋Š” ๊ณผ์ •,

        1. NeRF ์—์„œ 2D ์ด๋ฏธ์ง€ ๋ Œ๋”๋ง

        2. Stable Diffusion ์œผ๋กœ ํ…์ŠคํŠธ ๊ธฐ๋ฐ˜ ์ด๋ฏธ์ง€ ์ƒ์„ฑ

        3. Stable Diffusion ์˜ Score Function ์‚ฌ์šฉ 
: Stable Diffusion ์˜ ๋‚ด๋ถ€ ๋ชจ๋ธ์€ ํ…์ŠคํŠธ ์กฐ๊ฑด๊ณผ ์ด๋ฏธ์ง€๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋ถ€ํ•ฉํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ‰๊ฐ€๋Š” Stable Diffusion ์˜ U-Net ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๋ฉฐ, ํ…์ŠคํŠธ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ƒ์„ฑ๋œ ์ด๋ฏธ์ง€๋ฅผ ํ•™์Šต๋œ ์ž„๋ฒ ๋”ฉ ๊ณต๊ฐ„์—์„œ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.

        4. SDS Loss ๊ณ„์‚ฐ
          : 

์œ„์˜ ์‹์€ SDS Loss ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ฐ’์ด ์•„๋‹Œ, SDS Loss ์˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ Gradient ๊ณ„์‚ฐ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. 

- Lsds ๋Š” SDS Loss ์ด๊ณ  ํŠน์ • ์‹œ๊ฐ„ ๋‹จ๊ณ„ t ์— ๋Œ€ํ•œ NeRF ์˜ ์ถœ๋ ฅ(ε)๊ณผ stable diffusion ์˜ scoring ๊ฒฐ๊ณผ(ε ฯ•^(zt;y,t)) ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ธก์ •ํ•˜๋Š” ์†์‹ค๊ฐ’, ์ด score ๋Š” ํ…์ŠคํŠธ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ "๋…ธ์ด์ฆˆ ์ œ๊ฑฐ ๋ฐฉํ–ฅ" ์„ ๋‚˜ํƒ€๋ƒ„

- ฯ• ๋Š” Stable Diffusion ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ(์‚ฌ์ „ ํ•™์Šต๋œ ๋ชจ๋ธ๋กœ์จ, ๊ณ ์ •๋œ ๊ฐ’)

- ๊ฒฐ๊ตญ, Stable Diffusion ์€ NeRF ๊ฐ€ ๋ Œ๋”๋งํ•œ 2D ์ด๋ฏธ์ง€๋ฅผ ์ž„๋ฒ ๋”ฉ ๊ณต๊ฐ„์— ๋„ฃ์–ด ์ด ์ด๋ฏธ์ง€๊ฐ€ ํ…์ŠคํŠธ ์กฐ๊ฑด์— ์–ผ๋งˆ๋‚˜ ๋ถ€ํ•ฉํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ NeRF 2D ๋ Œ๋”๋ง ๊ฒฐ๊ณผ๊ฐ€ ํ…์ŠคํŠธ ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ, ๋†’์€ Loss ๊ฐ’์ด ๋ฐ˜ํ™˜ ๋ฉ๋‹ˆ๋‹ค. (NeRF ๋ Œ๋”๋ง ์ด๋ฏธ์ง€์™€ Stable Diffusion ์ด๋ฏธ์ง€๊ฐ€ ํ”ฝ์…€ ๋‹จ์œ„๋กœ ์ง์ ‘ ๋น„๊ต๋˜์ง€ ์•Š๊ณ  ์ž„๋ฒ ๋”ฉ ๊ณต๊ฐ„์—์„œ ๊ฐ„์ ‘์ ์œผ๋กœ ๋น„๊ต๋ฉ๋‹ˆ๋‹ค.)

5. 3D ์žฅ๋ฉด(NeRF) ์ตœ์ ํ™”

- Gradient Back-Propagation ์„ ์ง„ํ–‰ํ• ๋•Œ SDS Loss ์„ ํ†ตํ•ด NeRF ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ ์ง„์ ์œผ๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

- ์ด๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ NeRF ์˜ ๋ฐ€๋„์™€ ์ƒ‰์ƒ์„ ํ…์ŠคํŠธ ์กฐ๊ฑด์— ๋งž๊ฒŒ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

1. NeRF์˜ ๋ฐ€๋„, ์ƒ‰์ƒ:
- ๋ฐ€๋„์™€ ์ƒ‰์ƒ์€ NeRF ๊ฐ€ ๊ณ„์‚ฐํ•˜๊ณ  ์ƒ์„ฑํ•˜๋Š” ์ถœ๋ ฅ ๊ฐ’ 
    - ๋ฐ€๋„: ํ•ด๋‹น 3D ์ขŒํ‘œ์—์„œ์˜ ๋ฌผ์ฒด์˜ ์กด์žฌ ์—ฌ๋ถ€(๋ฐ€์ง‘ ์ •๋„)๋ฅผ ๋‚˜ํƒ€๋ƒ„. ํ‘œ๋ฉด์˜ ๊ฒฝ๊ณ„๋‚˜ ํˆฌ๋ช…๋„ ๊ฐ™์€ ์ •๋ณด์™€ ์—ฐ๊ฒฐ
    - ์ƒ‰์ƒ(rgb): ํ•ด๋‹น 3D ์ขŒํ‘œ์˜ ์ƒ‰์ƒ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋ƒ„
- ์ด ๊ฐ’๋“ค์€ NeRF ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ๊ณ„์‚ฐ๋œ ๊ฒฐ๊ณผ. ์ฆ‰, ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ฐ’์— ๋”ฐ๋ผ ๋ฐ€๋„์™€ ์ƒ‰์ƒ์€ ๋ณ€ํ•จ

2. NeRF์˜ ํŒŒ๋ผ๋ฏธํ„ฐ:
- NeRF ๋ชจ๋ธ ์ž์ฒด์˜ ๋„คํŠธ์›Œํฌ ๊ฐ€์ค‘์น˜(weight) ์™€ ๋ฐ”์ด์–ด์Šค(bias) ๋ฅผ ๋งํ•จ.
- ์ด ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์‹ ๊ฒฝ๋ง์˜ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ๊ฐ’์œผ๋กœ, ์ตœ์ ํ™” ๊ณผ์ •(Gradient Back-propagation) ์„ ํ†ตํ•ด ์กฐ์ •๋จ
- ๋ฐ€๋„์™€ ์ƒ‰์ƒ์€ ์ž…๋ ฅ 3D ์ขŒํ‘œ์™€ NeRF ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ†ตํ•ด ๊ณ„์‚ฐ๋œ ๊ฒฐ๊ณผ ๊ฐ’์ผ ๋ฟ, ์ง์ ‘ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฐ’์€ ์•„๋‹˜
    - ์ฆ‰, ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ฐ”๋€Œ๋ฉด ๋ฐ€๋„์™€ ์ƒ‰์ƒ์€ ๋ฐ”๋€œ

 

6. Bounding Sphere ๋กœ ์žฅ๋ฉด ๋ฒ”์œ„ ์ œํ•œ

- NeRF ๊ฐ€ ํ•™์Šตํ•  ๋•Œ ์žฅ๋ฉด์˜ ํฌ๊ธฐ๋ฅผ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด Bounding Sphere ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

bounding sphere

- ์ด๋Š” NeRF ๊ฐ€ ์นด๋ฉ”๋ผ ๊ทผ์ฒ˜์˜ ๋ถˆํ•„์š”ํ•œ ๋ฐ€๋„(density) ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋„๋ก ํ•˜๊ณ , ์žฅ๋ฉด ์ค‘์‹ฌ๋ถ€์˜ ๊ฐ์ฒด์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค 

- ์ƒ˜ํ”Œ๋งํ•œ ๊ตฌ์˜ ํ‘œ๋ฉด์˜ ์ ์—์„œ ๊ตฌ์˜ ์›์ ์„ ๋ฐ”๋ผ๋ณด๊ฒŒ Look at

- Focal length๋Š” w(=width=64) ์— 0.7~1.35๋กœ ๊ท ๋“ฑํ•˜๊ฒŒ ๋‚˜๋ˆˆ ์ƒ์ˆ˜ ๊ฐ๋งˆ ๊ฐ’์„ ๊ณฑํ•จ

- Light ์˜ ์œ„์น˜๋Š” ์นด๋ฉ”๋ผ ์œ„์น˜๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ํ™•๋ฅ ๋ถ„ํฌ๋กœ๋ถ€ํ„ฐ sampling

 

7. ๋ฐฐ๊ฒฝ ์ฒ˜๋ฆฌ

- ์žฅ๋ฉด์™ธ๊ณฝ(background) ์ฒ˜๋ฆฌ๋Š” Stable Diffusion ์—์„œ ๋ณ„๋„ MLP ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ ํ™˜๊ฒฝ๋งต(environment map)์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.

- NeRF ๋กœ ์ƒ์„ฑ๋œ ๊ฐ์ฒด์™€ ๋ฐฐ๊ฒฝ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ์ž์—ฐ์Šค๋Ÿฌ์šด ๊ฒฐ๊ณผ๋ฌผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

8. ์ตœ์ข… ๊ฒฐ๊ณผ: ํ…์ŠคํŠธ์— ๊ธฐ๋ฐ˜ํ•œ 3D ๋ชจ๋ธ

- ์ตœ์ ํ™”๋œ NeRF ๋Š” ๋‹ค์–‘ํ•œ ๊ฐ๋„์—์„œ ์ผ๊ด€๋œ 3D ๋ชจ๋ธ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

- ์ตœ์ข… 3D ๋ชจ๋ธ์€ ํ…์Šค์ฒ˜, ์กฐ๋ช…, ๊ทธ๋ฆผ์ž๊ฐ€ ์ ์šฉ๋œ ์ƒํƒœ๋กœ ๋ Œ๋”๋ง๋ฉ๋‹ˆ๋‹ค. 

- Limitation:

    - ์„ธ๋ถ€ ํ‘œํ˜„ ํ•œ๊ณ„, ๋””ํ…Œ์ผ์ด ๋ถ€์กฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    - NeRF์˜ ์ตœ์ ํ™” ๊ณผ์ •์€ ๊ณ„์‚ฐ๋น„์šฉ์ด ํฌ๊ณ  ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    - Stable Diffusion ์˜์กด์„ฑ... Stable Diffusion ์˜ ํ…์ŠคํŠธ-์ด๋ฏธ์ง€ ๊ด€๊ณ„ ํ•™์Šต ์ˆ˜์ค€์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๋ฌผ์ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

<3D ๋ชจ๋ธ์˜ ํ’ˆ์งˆ์„ ๊ฐœ์„ ํ•˜๊ณ , ํ‘œ๋ฉด์˜ ๋””ํ…Œ์ผ๊ณผ ๋ Œ๋”๋ง ๊ฒฐ๊ณผ์˜ ์‚ฌ์‹ค๊ฐ ๋†’์ด๊ธฐ....>

์œ„์˜ ์ˆœ์„œ์—์„œ 2. NeRF 3D rendering์— ํ•ด๋‹นํ•˜๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

์กฐ๋ช…๊ณผ ๋ฒ•์„  ๋ฒกํ„ฐ์˜ ์—ญํ• 

1. Normal Vector

- ๊ณ„์‚ฐ: NeRF ๋Š” 3D ์žฅ๋ฉด์˜ ๋ฐ€๋„๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ€๋„๋Š” 3D ๊ณต๊ฐ„์—์„œ ๋ฌผ์ฒด์˜ ํ‘œ๋ฉด์„ ์•”์‹œ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉฐ, ์ด ๋ฐ€๋„์˜ ๊ทธ๋ž˜๋””์–ธํŠธ๋ฅผ ํ†ตํ•ด ๋ฒ•์„  ๋ฒกํ„ฐ๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ μโ€‹τ ๋Š” ๋ฐ€๋„(τ)์˜ ๊ณต๊ฐ„ ์ขŒํ‘œ(μโ€‹) ์— ๋Œ€ํ•œ ๋ณ€ํ™”์œจ์„ regularization ํ•œ ๊ฒƒ ์ž…๋‹ˆ๋‹ค. 

- ํ™œ์šฉ: ๋ฒ•์„  ๋ฒกํ„ฐ๋Š” ํ‘œ๋ฉด์˜ ๋ฐฉํ–ฅ์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋ฏ€๋กœ, ์กฐ๋ช… ํšจ๊ณผ(๊ทธ๋ฆผ์ž, ํ•˜์ด๋ผ์ดํŠธ ๋“ฑ)๋ฅผ ๊ณ„์‚ฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. DreamFusion ์˜ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ํ‘œ๋ฉด์˜ ๋””ํ…Œ์ผ์„ ๋”์šฑ ๋ถ€๊ฐ์‹œํ‚ค๊ณ , ๋ฌผ์ฒด์˜ ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•˜๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

ํ™”์‚ดํ‘œ๊ฐ€ ๊ฐ€๋ฅดํ‚ค๋Š” ๋ฐฉํ–ฅ์€ Nomal Vector ๋กœ ํ‘œ๋ฉด์˜ ๋ฐฉํ–ฅ(Orientation) ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

2. ์กฐ๋ช…(Lighting)

- light 3D point ์ขŒํ‘œ l ์—์„œ ๋ฐœ์‚ฐ๋˜๋Š” ์กฐ๋ช… ์ƒ‰์ƒ lp ๊ณผ ambient ์กฐ๋ช… ์ƒ‰์ƒ la ๋ฅผ ๊ฐ€์ •ํ•˜์—ฌ Diffuse reflectance(์ž…์‚ฌ๊ฐ๊ณผ ๋™์ผํ•˜์ง€ ์•Š์€ ๋ฐ˜์‚ฌ๊ฐ์„ ๊ฐ–๋Š” ๋ฐ˜์‚ฌ)๊ฐ€ ์•„๋ž˜์ˆ˜์‹์œผ๋กœ ๊ณ ๋ ค๋˜์–ด, 

์ตœ์ข…์ ์ธ color C ๋ฅผ ๊ณ„์‚ฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ, ๋žœ๋คํ•˜๊ฒŒ rgb albedo ρ ๋ฅผ white color (1, 1, 1) ๋กœ ๋ฐ”๊พธ์–ด์ฃผ๊ฒŒ ๋˜๋ฉด, ํ…์Šค์ฒ˜๊ฐ€ ์—†๋Š” shaded output ์„ ๋งŒ๋“ฆ์œผ๋กœ์จ ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. 

Text condition ์„ ๋งŒ์กฑ์‹œํ‚ค์ง€๋งŒ flat ํ•œ geometry ๊ฐ€ ๊ทธ๋ ค์งˆ ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ•ด๋‹น ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด 3D ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์ง€๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

 

ํ•ด๋‹น ๋…ผ๋ฌธ์—์„œ๋Š” Samplingํ•œ camera pose, light position์„ ์ด์šฉํ•ด์„œ 64x64 ํ•ด์ƒ๋„๋กœ shade ๋œ NeRF๋ฅผ ๋ Œ๋”๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด NeRF ์™€ ๋‹ค๋ฅธ ์ ์€ 3๊ฐ€์ง€์˜ rendering ๋ฐฉ๋ฒ•์„ ๋žœ๋คํ•˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

1) shading ์—†์ด albedo ρ ๋กœ ๋ Œ๋”๋ง(์ตœ์ดˆ์˜ NeRF์™€ ๋™์ผ)

2) shading ํ•˜์—ฌ ๋ Œ๋”๋ง

3) albedo ρ ๋ฅผ white ๋กœ ๋ฐ”๊ฟ”์„œ shading ํ•˜์—ฌ ๋ Œ๋”๋ง (which means Textureless)

=> albedo ๋Š” ์กฐ๋ช…์ด๋‚˜ ๊ทธ๋ฆผ์ž์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ๋ฌผ์ฒด์˜ ์ˆœ์ˆ˜ํ•œ ์ƒ‰์ƒ ์ •๋ณด์ž…๋‹ˆ๋‹ค. 
albedo ๋ฅผ white ๋กœ ๋ฐ”๊พธ๋ฉด ๋ชจ๋ธ์€ ๋” ์ด์ƒ ํ…์Šค์ณ ๊ธฐ๋ฐ˜์˜ ์ •๋ณด์— ์˜์กดํ•˜์ง€ ์•Š๊ณ  ๋น›๊ณผ ๊ทธ๋ฆผ์ž(shading) ๊ฐ€ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ธฐํ•˜ํ•™์  ์ •๋ณด๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

1) ๋ฒˆ ๋ฐฉ๋ฒ•์˜ ๊ฒฝ์šฐ, ํ‰ํ‰ํ•œ 3D ๋ชจ๋ธ์„ ๋ Œ๋”๋งํ•˜์—ฌ๋„ ์ ์ˆ˜๊ฐ€ ๋†’๊ฒŒ ๋‚˜์˜ต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ 2), 3) ๋ฒˆ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•ด์„œ ํ‰ํ‰ํ•˜์ง€ ์•Š๊ณ  ๋ณผ๋ฅจ์ด ์žˆ๋Š” 3D ๋ชจ๋ธ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๊ฒŒ๋” ํ•ฉ๋‹ˆ๋‹ค.

Top: albedo, Middle: shaded, Bottom: Textureless

(iv)๋Š” Rendering without color helps to smooth the geometry, but also causes some color details like the skull and crossbones to be carved into the geometry ๋กœ, 3)๋ฒˆ ๋ฐฉ๋ฒ•์˜ ํƒ€๋‹น์„ฑ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ทธ๋ฆผ ์ž…๋‹ˆ๋‹ค.

 

 

์ด์ œ ๋งˆ์ง€๋ง‰์œผ๋กœ Overview ๋กœ ๋ณต์Šตํ•˜๋ฉฐ ๋งˆ๋ฌด๋ฆฌ ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

overview๋Š” xoft ๋‹˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค. https://xoft.tistory.com/39

DreamFusion pipeline

sudo code ๋กœ ์‚ดํŽด๋ณด์ž๋ฉด

## Training Process
random weight ๋กœ NeRF ๋ฅผ initialization
For iteration in range(15000):
    1. randomํ•œ camera ์œ„์น˜์™€ ๊ฐ๋„, random ํ•œ light ์œ„์น˜์™€ ์ƒ‰์ƒ์„ sampling
    2. NeRF๋กœ ์ด๋ฏธ์ง€๋ฅผ rendering
    3. NeRF parameter ๋“ค๊ณผ text-embedding ๊ฐ’์œผ๋กœ SDS(Score Distillation Sampling) Loss ๊ณ„์‚ฐ
    4. NeRF ์˜ weight ๋ฅผ update

## Test Process
ํ•™์Šต๋œ NeRF weight ๋กœ ํŠน์ • camera ์œ„์น˜, ๊ฐ๋„์—์„œ NeRF ์ด๋ฏธ์ง€๋ฅผ ํ•ฉ์„ฑ

 

 

๊ธด ๊ธ€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌ์‹œ๋งˆ์Šค.... ๊ทธ๋ƒฅ ๊ฐœ์ธ ๊ณต๋ถ€์šฉ์ด๊ธด ํ•ด์š”...