SDF(Signed Distance Function): 3D ๋”ฅ๋Ÿฌ๋‹์„ ์œ„ํ•œ ํ•ต์‹ฌ ํ‘œํ˜„ ๋ฐฉ์‹

2025. 8. 5. 08:03ยท๐Ÿ› Research/3D Vision
๋ฐ˜์‘ํ˜•

3D ๋”ฅ๋Ÿฌ๋‹์—์„œ๋Š” mesh ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ชจ๋ธ์— ๋„ฃ๊ธฐ ์–ด๋ ต๋‹ค. ๋ฉ”์‰ฌ๋Š” vertex์™€ face๋กœ ๊ตฌ์„ฑ๋œ ๋น„์ •ํ˜• ๊ตฌ์กฐ์ด๋ฉฐ, ๊ฐœ์ฒด๋งˆ๋‹ค topology๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํ…์„œ ํ˜•ํƒœ๋กœ ๊ณ ์ •ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด Signed Distance Function(SDF)์ด ๋„๋ฆฌ ํ™œ์šฉ๋œ๋‹ค.


SDF(Signed Distance Function)

SDF๋ž€, 3D ๊ณต๊ฐ„์˜ ๊ฐ ์ขŒํ‘œ์— ๋Œ€ํ•ด ํ•ด๋‹น ์ ์ด ์–ด๋–ค ํ‘œ๋ฉด์œผ๋กœ๋ถ€ํ„ฐ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ์‹ค์ˆ˜๊ฐ’์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋Š” ํ•จ์ˆ˜์ด๋‹ค. ํ‘œ๋ฉด ๋‚ด๋ถ€์˜ ์ ์€ ์Œ์ˆ˜, ํ‘œ๋ฉด ์œ„๋Š” 0, ํ‘œ๋ฉด ์™ธ๋ถ€๋Š” ์–‘์ˆ˜ ๊ฐ’์„ ๊ฐ–๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ตฌ(sphere)์˜ ์ค‘์‹ฌ์—์„œ ๋ฉ€์–ด์งˆ์ˆ˜๋ก ๊ฐ’์ด ์ฆ๊ฐ€ํ•˜๊ณ , ๋‚ด๋ถ€๋กœ ๊ฐˆ์ˆ˜๋ก ๊ฐ’์ด ๊ฐ์†Œํ•œ๋‹ค. ์ด ์ •๋ณด๋ฅผ 3D ๊ฒฉ์ž ํ˜•ํƒœ์˜ voxel grid๋กœ ์ƒ˜ํ”Œ๋งํ•˜๋ฉด ๊ณ ์ •๋œ ํฌ๊ธฐ์˜ 3D ํ…์„œ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

์ด๋Ÿฌํ•œ 3D ํ…์„œ๋Š” CNN, Transformer ๋“ฑ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์—์„œ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์ ํ•ฉํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด SDF๋ฅผ 128x128x128 ํ•ด์ƒ๋„๋กœ voxelizeํ•˜๋ฉด, ์–ด๋–ค ํ˜•ํƒœ์˜ ๋ณต์žกํ•œ 3D ๋ฉ”์‰ฌ๋“  ๊ฐ„์— ๋™์ผํ•œ ํ•ด์ƒ๋„์˜ ์ž…๋ ฅ์œผ๋กœ ๋ณ€ํ™˜ ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋กœ ์ธํ•ด SDF๋Š” 3D generative modeling, mesh reconstruction, implicit surface learning ๋“ฑ์—์„œ ํ‘œ์ค€์ฒ˜๋Ÿผ ์‚ฌ์šฉ๋œ๋‹ค.

 

SDF ๊ณ„์‚ฐ ๊ณผ์ •

SDF๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๊ณผ์ •์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ๋จผ์ € 3D ๋ฉ”์‰ฌ๋ฅผ ๊ฐ€์ ธ์™€์„œ, ์ „์ฒด ๊ณต๊ฐ„์„ ์ผ์ •ํ•œ ํ•ด์ƒ๋„์˜ voxel grid๋กœ ๋‚˜๋ˆˆ๋‹ค. ๊ฐ ๊ฒฉ์ž์ (voxel center)์— ๋Œ€ํ•ด, ํ•ด๋‹น ์ ์ด ๋ฉ”์‰ฌ ํ‘œ๋ฉด์—์„œ ์–ผ๋งˆ๋‚˜ ๋–จ์–ด์ ธ ์žˆ๋Š”์ง€๋ฅผ ์ธก์ •ํ•˜์—ฌ signed distance ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋ณดํ†ต ๋ฉ”์‰ฌ์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด face์„ ์ฐพ๊ณ , ๊ทธ ๊ฑฐ๋ฆฌ๋ฅผ ๊ธฐ์ค€์œผ๋กœ signed ๊ฐ’์„ ์ •ํ•œ๋‹ค. ์ ์ด ํ‘œ๋ฉด ๋‚ด๋ถ€์— ์žˆ๋Š”์ง€๋Š” ๋ณดํ†ต ray casting์ด๋‚˜ winding number ๊ฐ™์€ ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ํŒ๋‹จํ•œ๋‹ค.

 

์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ํ†ตํ•ด ์–ป์–ด์ง„ signed distance ๊ฐ’๋“ค์€ 3D numpy ๋ฐฐ์—ด์ด๋‚˜ tensor๋กœ ์ €์žฅ๋˜๋ฉฐ, -1์—์„œ +1 ์‚ฌ์ด์˜ ๊ฐ’์œผ๋กœ ์ •๊ทœํ™”๋˜๊ธฐ๋„ ํ•œ๋‹ค. ์ด ์ •๊ทœํ™”๋œ SDF ๋ณผ๋ฅจ์€ ์ดํ›„ 3D CNN์˜ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉ๋˜๊ฑฐ๋‚˜, latent representation์œผ๋กœ ์ธ์ฝ”๋”ฉ๋˜์–ด downstream task์— ํ™œ์šฉ๋œ๋‹ค.

 

SDF ํ™œ์šฉ ์ˆœ์„œ ์˜ˆ์‹œ

SDF๋Š” ์ฃผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

  • (1) ๋ฉ”์‰ฌ → SDF ๋ณ€ํ™˜
  • (2) SDF๋ฅผ ์ธ์ฝ”๋”(VAE ๋“ฑ)๋ฅผ ํ†ตํ•ด latent vector๋กœ ์••์ถ•
  • (3) latent vector๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•™์Šต ๋ฐ ์ƒ์„ฑ ์ˆ˜ํ–‰ (์˜ˆ: diffusion, transformer)
  • (4) ์ƒ์„ฑ๋œ latent๋ฅผ ๋‹ค์‹œ SDF๋กœ ๋ณต์›
  • (5) SDF๋ฅผ Marching Cubes ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ฉ”์‰ฌ surface ์ถ”์ถœ

TripoSG, PartCrafter, DreamFusion ๋“ฑ ์ตœ๊ทผ 3D ์ƒ์„ฑ ๋ชจ๋ธ์€ ์œ„ ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ฅธ๋‹ค. ํŠนํžˆ diffusion ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์—์„œ U-Net ๋Œ€์‹  Transformer(DiT)๋ฅผ ์‚ฌ์šฉํ•˜๋”๋ผ๋„, ์ž…๋ ฅ ํ‘œํ˜„์œผ๋กœ๋Š” ์—ฌ์ „ํžˆ SDF ๊ธฐ๋ฐ˜ latent๊ฐ€ ์“ฐ์ธ๋‹ค.

 

SDF์˜ ํ™œ์šฉ ๋ถ„์•ผ

SDF๋Š” ๋”ฅ๋Ÿฌ๋‹ ์™ธ์—๋„ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ์ถฉ๋Œ ๊ฐ์ง€, ๊ฒฝ๋กœ ๊ณ„ํš ๋“ฑ ๋‹ค์–‘ํ•œ ๋ถ„์•ผ์—์„œ ๊ณต๊ฐ„ ๊ตฌ์กฐ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ํ•ต์‹ฌ ์ˆ˜๋‹จ์œผ๋กœ ํ™œ์šฉ๋œ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ์—ฐ์†์ ์ด๋ฉฐ ํ•ด์ƒ๋„ ๋…๋ฆฝ์ ์ธ surface ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์ ์—์„œ ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๋‹ค.

 

๊ฒฐ๋ก ์ ์œผ๋กœ, SDF๋Š” 3D ๊ตฌ์กฐ๋ฅผ ์ •๋ฐ€ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๊ณ , ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์— ์‰ฝ๊ฒŒ ์—ฐ๋™ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋ณดํŽธ์ ์ด๋ฉฐ ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

SDF๋ฅผ ๊ณ„์‚ฐํ•˜๊ฑฐ๋‚˜ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ์กด์žฌํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, PyMCubes, Trimesh, PyMesh, Kaolin(PyTorch3D ๊ธฐ๋ฐ˜), Open3D ๋“ฑ์€ SDF๋ฅผ voxel grid๋กœ ์ƒ˜ํ”Œ๋งํ•˜๊ฑฐ๋‚˜, SDF ๋ณผ๋ฅจ์œผ๋กœ๋ถ€ํ„ฐ ๋ฉ”์‰ฌ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. PyMCubes๋Š” Marching Cubes ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด SDF๋ฅผ mesh๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ์ž์ฃผ ์“ฐ์ด๋ฉฐ, Trimesh๋‚˜ Open3D๋Š” ๋ฉ”์‰ฌ์™€ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ์˜ ์ „์ฒ˜๋ฆฌ ๋ฐ ์‹œ๊ฐํ™”์—๋„ ์œ ์šฉํ•˜๋‹ค.

 

๋˜ํ•œ NeRF(Neural Radiance Fields)๋‚˜ 3D Gaussian Splatting(3DGS) ๊ฐ™์€ ์ตœ์‹  3D ํ‘œํ˜„ ๋ชจ๋ธ๋“ค๋„ SDF์™€ ๊ฐœ๋…์ ์œผ๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค. NeRF๋Š” ์žฅ๋ฉด์„ ๋ณผ๋ฅจ ๋ฐ€๋„์™€ ์ƒ‰์œผ๋กœ ํ‘œํ˜„ํ•˜์ง€๋งŒ, ์ด๋ฅผ implicit surface๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด SDF๋ฅผ ์ถ”์ •ํ•˜๊ฑฐ๋‚˜ ํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์ด ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค. 3DGS๋Š” ํ‘œ๋ฉด ๊ธฐ๋ฐ˜ ํ‘œํ˜„์€ ์•„๋‹ˆ์ง€๋งŒ, NeRF์™€ ์œ ์‚ฌํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ทฐ ์ผ๊ด€์„ฑ ๋ฐ ๊ณต๊ฐ„ ๊ตฌ์กฐ๋ฅผ ํ•™์Šตํ•˜๋ฉฐ, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ SDF ๊ธฐ๋ฐ˜์˜ prior๋‚˜ ๋ณด์ • ๊ธฐ๋ฒ•์ด ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

 

์ด์ฒ˜๋Ÿผ SDF๋Š” ๊ณ ์ „์ ์ธ 3D geometry๋ถ€ํ„ฐ ํ˜„๋Œ€์˜ neural implicit field๊นŒ์ง€ ํญ๋„“๊ฒŒ ์‘์šฉ๋˜๋Š” ํ‘œํ˜„ ๋ฐฉ์‹์œผ๋กœ, 3D ๋”ฅ๋Ÿฌ๋‹ ์—ฐ๊ตฌ ๋ฐ ์‘์šฉ์—์„œ ์—ฌ์ „ํžˆ ์ค‘์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋‹ค.

๋ฐ˜์‘ํ˜•

'๐Ÿ› Research > 3D Vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[๋…ผ๋ฌธ ๋ฆฌ๋ทฐ] 3D Gaussian Splatting ์™„์ „ ์ •๋ณต  (1) 2025.06.21
[๋…ผ๋ฌธ ๋ฆฌ๋ทฐ] NeRF ๊ฐ„๋‹จ ์„ค๋ช… & ์›๋ฆฌ ์ดํ•ดํ•˜๊ธฐ | ์ƒˆ๋กœ์šด ๋ฐฉํ–ฅ์—์„œ ๋ฐ”๋ผ๋ณธ view๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ์ˆ   (0) 2023.08.10
[๊ธฐ์ˆ  ์†Œ๊ฐœ] 3D Object Scanning | MVS | ๊ฐ์ฒด ์Šค์บ๋‹ | ์‹ค์‹œ๊ฐ„ 3D ๊ฐ์ฒด ๋ณต์›  (0) 2023.04.07
'๐Ÿ› Research/3D Vision' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋…ผ๋ฌธ ๋ฆฌ๋ทฐ] 3D Gaussian Splatting ์™„์ „ ์ •๋ณต
  • [๋…ผ๋ฌธ ๋ฆฌ๋ทฐ] NeRF ๊ฐ„๋‹จ ์„ค๋ช… & ์›๋ฆฌ ์ดํ•ดํ•˜๊ธฐ | ์ƒˆ๋กœ์šด ๋ฐฉํ–ฅ์—์„œ ๋ฐ”๋ผ๋ณธ view๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ์ˆ 
  • [๊ธฐ์ˆ  ์†Œ๊ฐœ] 3D Object Scanning | MVS | ๊ฐ์ฒด ์Šค์บ๋‹ | ์‹ค์‹œ๊ฐ„ 3D ๊ฐ์ฒด ๋ณต์›
๋ญ…์ฆค
๋ญ…์ฆค
AI ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ
    ๋ฐ˜์‘ํ˜•
  • ๋ญ…์ฆค
    moovzi’s Doodle
    ๋ญ…์ฆค
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๊ณต์ง€์‚ฌํ•ญ

    • โœจ About Me
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (213)
      • ๐Ÿ“– Fundamentals (34)
        • Computer Vision (9)
        • 3D vision & Graphics (6)
        • AI & ML (16)
        • NLP (2)
        • etc. (1)
      • ๐Ÿ› Research (75)
        • Deep Learning (7)
        • Perception (19)
        • OCR (7)
        • Multi-modal (5)
        • Image•Video Generation (18)
        • 3D Vision (4)
        • Material • Texture Recognit.. (8)
        • Large-scale Model (7)
        • etc. (0)
      • ๐Ÿ› ๏ธ Engineering (8)
        • Distributed Training & Infe.. (5)
        • AI & ML ์ธ์‚ฌ์ดํŠธ (3)
      • ๐Ÿ’ป Programming (92)
        • Python (18)
        • Computer Vision (12)
        • LLM (4)
        • AI & ML (18)
        • Database (3)
        • Distributed Computing (6)
        • Apache Airflow (6)
        • Docker & Kubernetes (14)
        • ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ (4)
        • C++ (1)
        • etc. (6)
      • ๐Ÿ’ฌ ETC (4)
        • ์ฑ… ๋ฆฌ๋ทฐ (4)
  • ๋งํฌ

    • ๋ฆฌํ‹€๋ฆฌ ํ”„๋กœํ•„ (๋ฉ˜ํ† ๋ง, ๋ฉด์ ‘์ฑ…,...)
    • ใ€Ž๋‚˜๋Š” AI ์—”์ง€๋‹ˆ์–ด์ž…๋‹ˆ๋‹คใ€
    • Instagram
    • Brunch
    • Github
  • ์ธ๊ธฐ ๊ธ€

  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
๋ญ…์ฆค
SDF(Signed Distance Function): 3D ๋”ฅ๋Ÿฌ๋‹์„ ์œ„ํ•œ ํ•ต์‹ฌ ํ‘œํ˜„ ๋ฐฉ์‹
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”