https://arxiv.org/abs/2310.15008
Wonder3D: Single Image to 3D using Cross-Domain Diffusion
In this work, we introduce Wonder3D, a novel method for efficiently generating high-fidelity textured meshes from single-view images.Recent methods based on Score Distillation Sampling (SDS) have shown the potential to recover 3D geometry from 2D diffusion
arxiv.org
์ด ๋ ผ๋ฌธ์์ ์ ์ํ๋ Wonder3D ๋ ๋ค์ค ์์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๋ฒ์ ๋งต(normal maps) ๊ณผ ์์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ์ฌ ๋จ์ผ ์ด๋ฏธ์ง ๊ธฐ๋ฐ 3D ๋ณต์์ ์ํํฉ๋๋ค.
๋ฌธ์ ์ ์:
- ๋จ์ผ ์ด๋ฏธ์ง์์ 3D ๊ธฐํํ์ ๋ณต์ํ๋ ๊ฒ์ ๊ทธ๋ํฝ์ค, VR, ๊ฒ์, ๋ก๋ด ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ์ค์ํ ๋ฌธ์
- ํ์ง๋ง ์ด ๋ฌธ์ ๋ ill-posed(๋ถ์์ ์ ์) ๋์ด ์์ด, ๋ณด์ด์ง ์๋ ๋ถ๋ถ๊น์ง ์์ธกํด์ผ ํจ
- 2D ํ์ฐ ๋ชจ๋ธ์ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ธฐ์กด ๋ฐฉ๋ฒ๋ค์ด ๋ฑ์ฅํ์ง๋ง, ํจ์จ์ฑ๊ณผ ์ผ๊ด์ฑ ๋ฌธ์ ๊ฐ ์กด์ฌ
๊ธฐ์กด ์ฐ๊ตฌ ๋ฌธ์ ์ :
- Score Distillation Sampling(SDS) ๊ธฐ๋ฐ ๋ชจ๋ธ: ์ต์ ํ ๊ณผ์ ์ด ์ค๋ ๊ฑธ๋ฆผ (์์ญ ๋ถ~์ ์๊ฐ ์์)
- 2D ๊ธฐ๋ฐ ๋ชจ๋ธ: ๊ฐ ๋ทฐ๋ฅผ ๋ ๋ฆฝ์ ์ผ๋ก ์์ฑ โ ๋ค์ค ์์ ์์ ์ผ๊ด์ฑ ๋ฌธ์ (Janus ๋ฌธ์ ) ๋ฐ์
- 3D ์ง์ ์์ฑ ๋ชจ๋ธ: ํ์ต ๋ฐ์ดํฐ ๋ถ์กฑ์ผ๋ก ๋ฒ์ฉ์ฑ์ด ๋จ์ด์ง
- ๋ค์ค ์์ ์ด๋ฏธ์ง ์์ฑ ๋ชจ๋ธ(SyncDreamer, MVDream): ์์ ์ ๋ณด๋ง ํ์ฉํ์ฌ ๋ฒ์ ์ ๋ณด ๋ถ์กฑ
Contribution
- Multi-view cross-domain 2D diffusion (๋ค์ค ์์ ๊ต์ฐจ ๋๋ฉ์ธ)
- nomal maps ์ color images ๋ฅผ ์์ธกํ๋ค.
- 3D ํ๋ฉด์ ์ธ๋ถ ์ ๋ณด๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํฌ์ฐฉ
- Cross-domain attention mechanism (๊ต์ฐจ ๋๋ฉ์ธ ์ดํ
์
)
- ๋ค์ค ์์ ์์ ์ผ๊ด๋ ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง ์์ฑ
- Geometry-aware normal fusion algorithm (์ง์ค๋ฉํธ๋ฆฌ ์ธ์ ๋ฒ์ ์ตํฉ)
- ์์ฑ๋ ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง์์ ๊นจ๋ํ 3D ํ์ ์ถ์ถ ๊ฐ๋ฅ
Related Works (๊ด๋ จ ์ฐ๊ตฌ)
2D ํ์ฐ ๋ชจ๋ธ์ ์ด์ฉํ 3D ์์ฑ
- DreamFusion, Magic3D ๋ฑ์ 2D ํ์ฐ ๋ชจ๋ธ์ ์ด์ฉํด 3D๋ฅผ ์์ฑํ์ง๋ง, ์ต์ ํ ๊ณผ์ ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ณ , ์ผ๊ด์ฑ์ด ๋ถ์กฑ
3D ์์ฑ ๋ชจ๋ธ
- Point Clouds, Meshes, Neural Fields ๋ฑ ์ง์ 3D๋ฅผ ์์ฑํ๋ ๋ชจ๋ธ ์กด์ฌ
- ํ์ง๋ง 3D ๋ฐ์ดํฐ ๋ถ์กฑ์ผ๋ก ์ธํด ํน์ ์นดํ ๊ณ ๋ฆฌ์์๋ง ๋์
๋ค์ค ์์ ํ์ฐ ๋ชจ๋ธ(Multi-view Diffusion Models)
- SyncDreamer, MVDream ๋ฑ์ ๋ค์ค ์์ ์์ ์ผ๊ด์ฑ์ ๊ฐ์ ํ๋ ค ํ์ง๋ง, ํ ์ค์ฒ ์ ๋ณด๋ง ํ์ฉํ์ฌ ๋ฒ์ ์ ๋ณด ๋ถ์กฑ
Problem Formulation (๋ฌธ์ ์ ์ ๋ฐ ๋ชจ๋ธ ์ค๊ณ)
๊ธฐ์กด 3D ์์ฐ ํํ ๋ฐฉ์ ๋ฌธ์
- ๊ธฐ์กด ์ฐ๊ตฌ๋ค์ 3D ๋ฐ์ดํฐ๋ฅผ ์ง์ ํ์ต(NeRF, SDF, Mesh, Point Cloud) ํ๊ฑฐ๋, ๋จ์ผ ๋ทฐ ๊ธฐ๋ฐ ํ์ต์ ์ํ
- Wonder3D๋ 3D๋ฅผ ์ง์ ํ์ตํ์ง ์๊ณ , "๋ค์ค ์์ ๋ฒ์ ๋งต & ์์ ์ด๋ฏธ์ง"์ ๊ณต๋ ๋ถํฌ(Joint Distribution)๋ฅผ ํ์ต
- f(y,ฯ1:K) (์์ฑ ํจ์)
- ์ ๋ ฅ: ๋จ์ผ ์ด๋ฏธ์ง ์ ์นด๋ฉ๋ผ ์ ๋ณด ฯ1:K
- ์ถ๋ ฅ: ๋ค์ค ์์ ๋ฒ์ ๋งต n1:K ๊ณผ ์์ ์ด๋ฏธ์ง x1:K
- ์ฆ, ์ด ํจ์๋ ๋จ์ผ ์ด๋ฏธ์ง์์ ์ฌ๋ฌ ์์ (View)์ผ๋ก ํ์ฅ๋ 2D ํํ์ ์์ฑํ๋ ์ญํ
- ฯ1:K (์นด๋ฉ๋ผ ์์ ์ ๋ณด)
- K๊ฐ์ ์นด๋ฉ๋ผ ํ๋ผ๋ฏธํฐ(๊ฐ๋, ์์น ๋ฑ) ์งํฉ
- ๋ค์ค ์์ ์์์ 2D ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ค๋ฉด ๊ฐ ์์ (View)์์์ ์ขํ๊ณ๋ฅผ ์์์ผ ํจ
Wonder3D์ ์ํ์ ํํ
- ํ์ฐ ๋ชจ๋ธ์ ๋ง๋ฅด์ฝํ ์ฒด์ธ ๊ธฐ๋ฐ ํ๋ฅ ๋ถํฌ๋ก ๋ชจ๋ธ๋ง
- ํฌ๋ก์ค ๋๋ฉ์ธ ํ์ฐ(Cross-Domain Diffusion)์ ํตํด ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง๋ฅผ ๋์์ ์์ฑ

- ํ์ฐ ๋ชจ๋ธ์์ ๋ฐ์ดํฐ๋ ์ฒ์์ ์์ ํ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ ์ํ์์ ์์
- ์ดํ t ์์ t-1 ๋ก ์ ์ง์ ์ผ๋ก ๋ ธ์ด์ฆ๋ฅผ ์ ๊ฑฐํ๋ฉด์ ์ ์ ๋ ์ ๋ช ํ ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง๋ฅผ ๋ณต์
- ์ต์ข ์ ์ผ๋ก t=0 ๋จ๊ณ์์๋ ๊นจ๋ํ ๋ค์ค ์์ ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง๊ฐ ์์ฑ
- ๋ง๋ฅด์ฝํ ์ฒด์ธ์ ์์ฑ์ ํ์ฉํ์ฌ, ๊ฐ ๋จ๊ณ์์์ ๋ณํ์ด ์ง์ ๋จ๊ณ์๋ง ์์กดํ๋๋ก ์ค๊ณ



Method

Overview ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ค์ค ์์ ํ์ฐ ๋ชจ๋ธ(Multi-view Diffusion Scheme) ์ ์ฉ
- ๋ค์ค ์์ ์์ ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง๋ฅผ ์์ฑ
- ๋ฉํฐ๋ทฐ ์ดํ ์ (Multi-view Attention) ์ ํตํด ์์ ๊ฐ ์ผ๊ด์ฑ ์ ์ง
- Multi-view attentions => ๋๋ฉ์ธ ์ค์์ฒ(Domain Switcher) ๋์
- ๊ธฐ์กด ํ์ฐ ๋ชจ๋ธ(์: Stable Diffusion)์ ๋จ์ผ ๋๋ฉ์ธ(์ด๋ฏธ์ง) ๊ธฐ๋ฐ
- ๋๋ฉ์ธ ์ค์์ฒ๋ฅผ ํ์ฉํด ๋ฒ์ ๋งต & ์์ ์ด๋ฏธ์ง ๋ ๋๋ฉ์ธ์์ ๋์ ๊ฐ๋ฅ
- ๊ธฐ์กด ์ฌ์ ํ์ต๋ ๋ชจ๋ธ์ ์ฌํ์ต ์์ด ํ์ฉ ๊ฐ๋ฅ โ ๋ฒ์ฉ์ฑ์ด ๋์์ง
- ํฌ๋ก์ค ๋๋ฉ์ธ ์ดํ
์
(Cross-Domain Attention) ๋์
- ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง ๊ฐ ์ ๋ณด ๊ตํ์ ํตํด ๊ธฐํํ์ & ์๊ฐ์ ์ผ๊ด์ฑ ์ ์ง
- ๊ธฐํํ ๊ธฐ๋ฐ ๋ฒ์ ์ตํฉ(Geometry-aware Normal Fusion) ์ ์ฉ
- ๋ค์ค ์์ ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง๋ฅผ ๊ฒฐํฉํ์ฌ ๊ณ ํ์ง 3D ํ์ ๋ณต์
Consistent Multi-view Generation
๊ธฐ์กด 2D ํ์ฐ ๋ชจ๋ธ์ ๊ฐ ์ด๋ฏธ์ง๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์์ฑํ๊ธฐ ๋๋ฌธ์ ๋ค์ค ์์ ๊ฐ ๊ธฐํํ์ & ์๊ฐ์ ์ผ๊ด์ฑ์ด ๋ถ์กฑํ ๋ฌธ์ ๊ฐ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด, Wonder3D๋ ๋ค์ค ์์ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ ์ดํ ์ ๋ฉ์ปค๋์ฆ์ ํ์ฉํ์ฌ ์ผ๊ด์ฑ์ ํฅ์์ํจ๋ค.
- ๋ค์ค ์์ ์ ๋ณด ๊ณต์ ๋ฅผ ์ํ ์ดํ
์
๋ฉ์ปค๋์ฆ ํ์ฉ
- ๊ธฐ์กด Self-Attention ์ ํ์ฅํ์ฌ ๊ธ๋ก๋ฒ ์ดํ ์ (Global-aware Attention) ์ ์ฉ
- ๊ฐ ์์ (View) ๊ฐ Key-Value ๋ฅผ ์ฐ๊ฒฐํ์ฌ ์ ๋ณด ๊ตํ ๊ฐํ
- Query: ํน์ ์์ (View)์ ํฝ์
- Key/Value: ๊ฐ์ ๋๋ฉ์ธ(๋ฒ์ or ์์) ๋ด์ ๋ค๋ฅธ ์์ (View) ํฝ์
- ์ฆ, ํ ์์ ์์ ์ป์ ์ ๋ณด๊ฐ ๋ค๋ฅธ ์์ ์ ์ด๋ฏธ์ง ์์ฑ์๋ ๋ฐ์๋๋๋ก ํจ
- ์ดํ
์
์ ํตํด ๋ค์ค ์์ ๊ฐ์ ์์กด์ฑ์ ํ์ต
- ๋ชจ๋ธ์ด ๋ค์ค ์์ ๊ฐ ๊ณตํต์ ์ธ ํน์ง์ ์ธ์ํ ์ ์๋๋ก ํ์ต
- ๊ทธ ๊ฒฐ๊ณผ, ์ผ๊ด๋ ๋ค์ค ์์ ์์ ์ด๋ฏธ์ง & ๋ฒ์ ๋งต ์์ฑ ๊ฐ๋ฅ!

Cross-Domain Diffusion
Naive Solutions
- ๊ธฐ์กด Stable Diffusion ๋ชจ๋ธ์ ๋จ์ผ ๋๋ฉ์ธ(์ด๋ฏธ์ง) ์์ฑ ์ ์ฉ์ผ๋ก ์ค๊ณ๋จ
- Wonder3D์์๋ ๋ฒ์ ๋งต(Geometry)๊ณผ ์์ ์ด๋ฏธ์ง(Color) ๋ ๊ฐ์ง ๋๋ฉ์ธ์ ๋ค๋ค์ผ ํจ
- ๋ฐ๋ผ์, Stable Diffusion์ ์ด๋ป๊ฒ ๋ค์ค ๋๋ฉ์ธ์ผ๋ก ํ์ฅํ ๊ฒ์ธ์ง๊ฐ ํต์ฌ ๊ณผ์
๋จ์ํ ํด๊ฒฐ์ฑ (ํ์ง๋ง ํ๊ณ๊ฐ ์๋ ๋ฐฉ๋ฒ๋ค)
- ์ถ๋ ฅ ์ฑ๋์ ํ์ฅํ๋ ๋ฐฉ๋ฒ
- UNet์ ์ถ๋ ฅ์ ๋ฒ์ ๋งต์ ์ถ๊ฐํ๋ ๋ฐฉ์(์ฑ๋ ์ ํ์ฅ)
- ๊ทธ๋ฌ๋, ๊ธฐ์กด ๋ชจ๋ธ์ ์ฌ์ ํ์ต๋ ๊ฐ์ค์น(Pre-trained Weights)๊ฐ ์์๋ ์ํ โ ํ์ต ์๋๊ฐ ๋๋ ค์ง๊ณ ๋ฒ์ฉ์ฑ์ด ๋จ์ด์ง
- 2๋จ๊ณ ํ๋ จ ๋ฐฉ๋ฒ(๋ฒ์ ๋งต ๋จผ์ ์์ฑ ํ, ์์ ์ด๋ฏธ์ง ์์ฑ)
- ์ฒซ ๋ฒ์งธ ๋ชจ๋ธ์ด ๋ฒ์ ๋งต์ ์์ฑํ๊ณ ,
- ๋ ๋ฒ์งธ ๋ชจ๋ธ์ด ์์ฑ๋ ๋ฒ์ ๋งต์ ๊ธฐ๋ฐ์ผ๋ก ์์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๋ ๋ฐฉ์
- ํ์ง๋ง, ์ฐ์ฐ ๋น์ฉ์ด ํฌ๊ฒ ์ฆ๊ฐํ๊ณ , ์ฑ๋ฅ์ด ์ ํ๋จ
=> ์ ๋ฐฉ๋ฒ๋ค์ ํ์ค์ ์ผ๋ก ํจ๊ณผ์ ์ด์ง ์๊ธฐ ๋๋ฌธ์ ๋ ๋์ ๋ฐฉ๋ฒ์ด ํ์!!
Domain Switcher
๊ทธ๋์ ๋์ค๊ฒ ๋๊ฒ ๋ฐ๋ก ๋๋ฉ์ธ ์ค์์ณ!
๋๋ฉ์ธ ์ค์์ฒ s
- s ๋ 1์ฐจ์ ๋ฒกํฐ
- ๋ฒ์ ๋งต ์์ฑ ์์๋ sn๊ฐ์ ์ฌ์ฉ
- ์์ ์ด๋ฏธ์ง ์์ฑ ์์๋ sc๊ฐ์ ์ฌ์ฉ
- ์ฆ, ์ด๋ค ๋๋ฉ์ธ(๋ฒ์ /์์)์ ์์ฑํ ์ง ๊ตฌ๋ถํ๋ ๋ฒกํฐ ์ญํ

๋๋ฉ์ธ ์ค์์ฒ๋ ์ด๋ป๊ฒ ๋์ํ ๊น?
- ์ค์์ฒ๋ ์์น ์ธ์ฝ๋ฉ(Positional Encoding)์ผ๋ก ๋ณํ
- ๋๋ฉ์ธ ์ค์์ฒ๋ ๋ฒ์ ๋งต/์์ ์ด๋ฏธ์ง ์ค ์ด๋ค ๋๋ฉ์ธ์ ์์ฑํ ์ง๋ฅผ ๋ํ๋ด๋ ์ ๋ณด
- ์์น ์ธ์ฝ๋ฉ์ ํตํด์ s ๋ฅผ ๊ณ ์ฐจ์ ๋ฒกํฐ๋ก ๋ณํ
- ๋ชจ๋ธ์ด ์ด๋ฅผ ์ดํดํ ์ ์๋๋ก ์ ์ ํ ํํ๋ก ๋ณํ
- ๋ณํ๋ ์ค์์ฒ์ ๊ณ ์ฐจ์ ๋ฒกํฐ๋ฅผ ์๊ฐ ์๋ฒ ๋ฉ(Time Embedding)๊ณผ ๊ฒฐํฉํ์ฌ UNet์ ์
๋ ฅ
- ์๊ฐ(t๋จ๊ณ) ์๋ฒ ๋ฉ์ ๋ ธ์ด์ฆ ์ ๊ฑฐ ๋จ๊ณ๋ฅผ ๋ํ๋ด๋ ์ ๋ณด
- ๊ฒฐํฉ๋ ๋ฒกํฐ๋ Diffusion ๋ชจ๋ธ์ UNet์ ์
๋ ฅ์ผ๋ก ์ ๊ณต๋จ
- Diffusion ๋ชจ๋ธ์ด ํ์ฌ์ ๋ ธ์ด์ฆ ์ ๊ฑฐ ๋จ๊ณ(t)๋ฅผ ์ ์ ์๋๋ก ํ๊ธฐ ์ํด์
- ์ด๋ ๊ฒ ํ๋ฉด ๊ธฐ์กด Stable Diffusion ๋ชจ๋ธ์ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์ ์งํ๋ฉด์๋ ๋๊ฐ์ ๋๋ฉ์ธ์ ์์ฑํ ์ ์์
- ์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ ํ์ต๋ Stable Diffusion ๋ชจ๋ธ์ ๊ทธ๋๋ก ํ์ฉํ๋ฉด์๋ ๋ค์ค ๋๋ฉ์ธ ์ ์ฉ์ด ๊ฐ๋ฅ
Cross-domain Attention
ํ์ง๋ง, ๋๋ฉ์ธ ์ค์์ฒ๋ง์ผ๋ก๋ ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง ๊ฐ์ ๊ธฐํํ์ ์ผ๊ด์ฑ์ด ์๋ฒฝํ ๋ณด์ฅ๋์ง ์์ต๋๋ค.
โ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํฌ๋ก์ค ๋๋ฉ์ธ ์ดํ
์
(Cross-Domain Attention) ์ ๋์
- ๊ธฐ์กด Self-Attention์ ํ์ฅํ์ฌ ๋๋ฉ์ธ ๊ฐ ์ ๋ณด ๊ตํ์ด ๊ฐ๋ฅํ๋๋ก ์ค๊ณ
- ํฌ๋ก์ค ๋๋ฉ์ธ ์ดํ ์ ์ธต์ UNet์ ๊ฐ Transformer Block ๋ด์์ ํฌ๋ก์ค ์ดํ ์ ์ ์ ์ถ๊ฐ๋จ
- ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง์ Key-Value๋ฅผ ํจ๊ป ํ์ตํ์ฌ ๋ ๋๋ฉ์ธ์ด ์๋ก ์ผ๊ด๋ ์ ๋ณด๋ฅผ ๊ณต์ ํ ์ ์๋๋ก ํจ
์ด ๋ฐฉ์ ๋๋ถ์, ์์ ์ด๋ฏธ์ง์ ๋ฒ์ ๋งต์ด ๊ธฐํํ์ ์ผ๋ก ์ ๋ ฌ๋ ์ํ๋ก ์์ฑ๋จ
โ
3D ๋ณต์ ์ ์๊ณก์ด ์ค์ด๋ค๊ณ , ํ์ง์ด ํฅ์๋จ

Textured Mesh Extraction
์ด ํํธ์์๋ Wonder3D ๊ฐ 2D๋ก ์์ฑ๋ ๋ฒ์ ๋งต๊ณผ ์์ ์ด๋ฏธ์ง๋ฅผ ํ์ฉํ์ฌ 3D ๊ธฐํํ์ ํ์์ ๋ณต์ํ๋ ๊ณผ์ ์ ์ค๋ช ํฉ๋๋ค.
Wonder3D๋ Signed Distance Field (SDF) ๋ฅผ ์ต์ ํํ์ฌ 3D ํ์์ ๋ง๋ค๋ฉฐ, ๊ธฐ์กด SDF ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ค์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด Geometry-aware Optimization(๊ธฐํํ์ ์ต์ ํ ๊ธฐ๋ฒ) ์ ์ ์ํฉ๋๋ค.
SDF๋?
- SDF๋ 3D ๊ณต๊ฐ์ ๊ฐ ์ ์ด ๊ฐ์ฅ ๊ฐ๊น์ด ํ๋ฉด๊น์ง์ ๋ถํธ๊ฐ ์๋ ๊ฑฐ๋ฆฌ(Signed Distance)๋ฅผ ๊ฐ์ง๋ ํจ์
- ์์์ด๋ฉด ํ๋ฉด ๋ฐ๊นฅ, 0์ด๋ฉด ํ๋ฉด ์, ์์์ด๋ฉด ํ๋ฉด ๋ด๋ถ
- SDF ๊ธฐ๋ฐ ํํ์ ๋ฉ์ฌ๋ณด๋ค ๋ ๋ถ๋๋ฝ๊ณ ๋ฏธ๋ถ ๊ฐ๋ฅ(Differentiable)ํ์ฌ ์ต์ ํ๊ฐ ์์ ์ ์
๊ธฐ์กด SDF ๊ธฐ๋ฐ 3D ๋ณต์ ๊ธฐ๋ฒ์ ๋ฌธ์ ์
- ๊ธฐ์กด SDF ๊ธฐ๋ฐ ๊ธฐ๋ฒ(์: NeuS)์ ์ค์ ์ดฌ์๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ์ด์ฉํ๋ ๋ฐฉ์์ด์ด์ ์ ํํ ๋ค์ค ์์ ๋ฐ์ดํฐ๊ฐ ํ์
- ๊ทธ๋ฌ๋, Wonder3D๋ ์์ฑ๋(normal generated) ๋ฐ์ดํฐ์ด๋ฏ๋ก ์๋ฒฝํ๊ฒ ์ ๋ฐํ์ง ์์
- ์์ฑ๋ ๋ฐ์ดํฐ๋ ์์ ์ด ๋น๊ต์ ์ ๊ณ , ํฝ์ ์์ค์์ ์์ ์ค์ฐจ๊ฐ ์กด์ฌํ ๊ฐ๋ฅ์ฑ์ด ์์
- ์ด๋ก ์ธํด ๊ธฐ์กด ๋ฐฉ๋ฒ์ ๊ทธ๋๋ก ์ ์ฉํ๋ฉด ๊ธฐํํ์ ์ค๋ฅ(์๊ณก, ๋ ธ์ด์ฆ, ๋ถ์์ ํ ํ์)๊ฐ ๋์ ๋จ
Geometry-aware Optimization
Optimization Objectives.
- ๊ฐ์ฒด ๋ง์คํฌ(Mask) ์ถ์ถ
- 2D ๋ฒ์ ๋งต & ์์ ์ด๋ฏธ์ง์์ ๊ฐ์ฒด์ ์์ญ(๋ง์คํฌ) M0:N์ ๋ถ๋ฆฌ
- ์ธ๊ทธ๋ฉํ ์ด์ (Segmentation) ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ๋ฐฐ๊ฒฝ๊ณผ ๊ฐ์ฒด๋ฅผ ๋ถ๋ฆฌํจ
- 3D ๊ณต๊ฐ์์ ์ํ๋ง๋ ํฝ์
๋ฐ์ดํฐ ์งํฉ ์์ฑ
- ๋ชจ๋ ๋ทฐ(Views)์์ ๋๋ค ํฝ์ ๋ค์ ์ํ๋งํ์ฌ ํด๋น ํฝ์ ์ ์ ๋ณด(๋ฒ์ , ์์, ๋ง์คํฌ, ๊ด์ ๋ฐฉํฅ)๋ฅผ ๊ฐ์ ธ์ด


๊ฐ ์์ค ํญ๋ชฉ ์ค๋ช
์์ค ํจ์ | ์ค๋ช |
Lnormal | ๋ฒ์ ๋งต๊ณผ SDF ๋ฒ์ ๊ฐ ์ฌ์ด์ ์ฐจ์ด๋ฅผ ์ต์ํํ๋ ์์ค |
Lrgb | ์์ฑ๋ ์์ ๊ฐ๊ณผ ๋ณต์๋ ์์ ๊ฐ์ MSE ์์ค |
Lmask | ๋ง์คํฌ ์์ธก ์ค๋ฅ๋ฅผ ์ค์ด๋ Binary Cross-Entropy ์์ค |
Reik | Eikonal ์ ๊ทํ: SDF์ ๊ทธ๋ผ๋์ธํธ ํฌ๊ธฐ๋ฅผ 1๋ก ์ ์งํ์ฌ ์ฌ๋ฐ๋ฅธ SDF๋ฅผ ์์ฑ |
Rsparse | SDF ํฌ์์ฑ ์ ๊ทํ: SDF๊ฐ ๋ถํ์ํ ํ๋กํ ์ํฐํฉํธ(๊ณต์ค์ ๋ ์๋ ๋ ธ์ด์ฆ)๋ฅผ ๋ฐฉ์ง |
Rsmooth | SDF ๋ถ๋๋ฌ์ ์ ๊ทํ: 3D ๊ณต๊ฐ์์ SDF ๋ณํ๊ฐ ๋๋ฌด ๊ธ๊ฒฉํ์ง ์๋๋ก ์กฐ์ |
Geometry-aware Nomal Loss.
Wonder3D๋ ๋ฒ์ ๋งต์ ๊ธฐ๋ฐ์ผ๋ก 3D ํ์์ ๋ณต์ํ ๋, ๋ถ์ ํํ ๋ฒ์ ์ ๋ณด๋ฅผ ๋ณด์ ํ๋ ๊ธฐ๋ฒ์ ์ ์ฉ

- : SDF ๋ฒ์ gk^๊ณผ ์์ฑ๋ ๋ฒ์ gk ์ฌ์ด์ ์ค์ฐจ (Cosine Similarity ์ฌ์ฉ)
- wk(๊ฐ์ค์น): ๋ทฐ ๋ฐฉํฅ( vk )๊ณผ ๋ฒ์ ๋ฒกํฐ gk ์ ๊ฐ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ค๋ฅด๊ฒ ์ ์ฉ
- ์ ๊ฐ์ค์น๋ฅผ ์ ์ฉํ ๊น?
- ๋์ผํ 3D ์ ์ ์ฌ๋ฌ ๋ทฐ(View)์์ ๊ด์ฐฐ๋ ์ ์์
- ํ์ง๋ง ๋ชจ๋ ๋ทฐ์์ ์์ฑ๋ ๋ฒ์ ๋งต์ด ์๋ฒฝํ ์ผ์นํ์ง ์์ ์ ์์
- ๋ฐ๋ผ์, ๋ ์ ๋ขฐํ ์ ์๋ ๋ฒ์ ์ ๋ณด์ ๋ ๋์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ฌ ๊ธฐํํ์ ์ ํ๋๋ฅผ ๋์
- ์ ๊ฐ์ค์น๋ฅผ ์ ์ฉํ ๊น?

- : k๋ฒ์งธ ์ํ์ ๋ทฐ ๋ฐฉํฅ(Viewing Direction)
- gk : k๋ฒ์งธ ์ํ์ ๋ฒ์ ๋ฒกํฐ(Normal Vector)
- cosโก(vk,gk) : ๋ทฐ ๋ฐฉํฅ๊ณผ ๋ฒ์ ๋ฒกํฐ ์ฌ์ด์ ์ฝ์ฌ์ธ ์ ์ฌ๋(๊ฐ๋ ๊ด๊ณ)
- ฯต: ์๊ณ๊ฐ(Threshold), ์์ ์์ ๊ฐ(์: -0.1)
- wk: ํด๋น ํฝ์ ์ ์ ๋ขฐ๋ ๊ฐ์ค์น(Geometry-aware Weight)
๐ผ ์์ ์ ๊ฒฝ์ฐ
- ๊ฐ์ค์น = 0
- ์ฆ, ๋ฒ์ ๋ฒกํฐ์ ๋ทฐ ๋ฐฉํฅ์ด ๋๋ฌด ๊ฐ๊น์ด ๊ฒฝ์ฐ, ํด๋น ๋ฐ์ดํฐ๋ฅผ ์ ๋ขฐํ์ง ์์
- ๋ฒ์ ๋ฒกํฐ๋ ํํ์ด ๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ (outward-facing)์ด๊ณ , ๋ทฐ ๋ฐฉํฅ์ ์นด๋ฉ๋ผ ๋ฐฉํฅ(inward-facing)
- ์ด ๋์ ๋ด์ (์ฝ์ฌ์ธ ๊ฐ์ด) ํน์ ์๊ณ๊ฐ๋ณด๋ค ํฌ๋ฉด, ๋ฒ์ ๋ฐฉํฅ์ด ์๋ชป๋์์ ๊ฐ๋ฅ์ฑ์ด ๋์
- ๋ฐ๋ผ์ ์ด๋ฐ ๋ฐ์ดํฐ๋ ๋ฌด์ํจ
๐ฝ ์๋ ์์ ๊ฒฝ์ฐ
- ๋ฒ์ ๋ฒกํฐ์ ๋ทฐ ๋ฐฉํฅ์ด ์ ์ ํ ๊ฒฝ์ฐ, ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋ ์ ๋ขฐํจ
- ์ฝ์ฌ์ธ ๊ฐ์ด ์์์๋ก(์ฆ, ๋ฒ์ ๋ฒกํฐ์ ๋ทฐ ๋ฐฉํฅ์ด ๋ ์์ง์ ๊ฐ๊น์ธ์๋ก) ๊ฐ์ค์น๊ฐ ์ปค์นจ
- exp ์ ์ฌ์ฉํ์ฌ ๊ฐ์ค์น๋ฅผ ๋ถ๋๋ฝ๊ฒ ์กฐ์
Outlier-dropping Losses.
๋ฒ์ , ์์, ๋ง์คํฌ ์ ๋ณด๊ฐ ์ผ๋ถ ๋ถ์ ํํ ์ ์๊ธฐ ๋๋ฌธ์, ์ต์ ํ ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ํฐ ๋ฐ์ดํฐ๋ค์ ์ ๊ฑฐํ๋ ๊ธฐ๋ฒ์ ์ ์ฉํจ.
- ๋จ์ํ ๋ชจ๋ ํฝ์ ์์ค์ ํฉ์ฐํ๋ ๊ฒ์ด ์๋๋ผ, ์์ค์ด ํฐ ๋ฐ์ดํฐ(์๋ฌ๊ฐ ์ฌํ ํฝ์ )๋ฅผ ์ผ๋ถ ์ ๊ฑฐํ๋ ๋ฐฉ์
- ์๋ฅผ ๋ค์ด, ์์ ์์ค์ ๊ณ์ฐํ ๋, ์๋ฌ๊ฐ ํฐ ์์ %๋ฅผ ๋ฒ๋ฆฌ๋ ์ ๋ต ์ฌ์ฉ
- ์ค๋ฅ๊ฐ ์ฌํ ๋ฐ์ดํฐ๋ ์ ๋ขฐ๋๊ฐ ๋ฎ๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ๋ฐฐ์ ํ๋ฉด ๋ ์ ํํ 3D ๋ณต์์ด ๊ฐ๋ฅ
โ ์ด ๋ฐฉ์ ๋๋ถ์ ์ต์ ํ ๊ณผ์ ์์ ์๊ณก๋ ํ์์ด๋ ๋ ธ์ด์ฆ(๊ตฌ๋ฉ, ์ด์ํ ํ์)๊ฐ ์ค์ด๋ ๋ค!