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

[Paper Review] 3D Gaussian Splatting for Real-Time Radiance Field Rendering

by SolaKim 2024. 12. 14.

์ด ๋…ผ๋ฌธ ๋‚ด์šฉ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— Pinhole Camera Model ์— ๋Œ€ํ•ด์„œ ์–ด๋Š ์ •๋„ ์ดํ•ด๋ฅผ ํ•˜๊ณ  ๊ฐ€๋ฉด ์ข‹๋‹ค.

 

 

Abstract

1080p ํ•ด์ƒ๋„์˜ ๋ฌด์ œํ•œ ๋ฐ ์™„์ „ํ•œ ์žฅ๋ฉด์˜ ๋ Œ๋”๋ง์—์„œ๋Š” ์ด์ „๊นŒ์ง€๋Š” ์–ด๋–ค ๋ฐฉ๋ฒ•๋„ ์‹ค์‹œ๊ฐ„ ๋””์Šคํ”Œ๋ ˆ์ด ์†๋„(โ‰ฅ30 fps)๋ฅผ ๋‹ฌ์„ฑํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค.

์ด ๋…ผ๋ฌธ์—์„œ๋Š” 1080p ํ•ด์ƒ๋„์—์„œ ๊ณ ํ’ˆ์งˆ ์‹ค์‹œ๊ฐ„(โ‰ฅ30 fps) ์ƒˆ๋กœ์šด ์‹œ์  ํ•ฉ์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ์š”์†Œ๋ฅผ ์†Œ๊ฐœํ•œ๋‹ค.

1. 3D ๊ฐ€์šฐ์‹œ์•ˆ ํ™œ์šฉ: ์นด๋ฉ”๋ผ ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜ ๊ณผ์ •์—์„œ ์ƒ์„ฑ๋œ ํฌ์†Œ ํฌ์ธํŠธ๋ฅผ ์‹œ์ž‘์œผ๋กœ, ์žฅ๋ฉด์„ 3D ๊ฐ€์šฐ์‹œ์•ˆ์œผ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ์—ฐ์†์ ์ธ ๋ณผ๋ฅจ๊ธฐ๋ฐ˜ Radiance Field ์˜ ์žฅ์ ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋นˆ ๊ณต๊ฐ„์—์„œ์˜ ๋ถˆํ•„์š”ํ•œ ๊ณ„์‚ฐ์„ ํ”ผํ•œ๋‹ค.

2. ์ตœ์ ํ™”์™€ ๋ฐ€๋„ ์ œ์–ด: 3D ๊ฐ€์šฐ์‹œ์•ˆ์˜ ๋น„๋“ฑ๋ฐฉ์„ฑ ๊ณต๋ถ„์‚ฐ์„ ์ตœ์ ํ™”ํ•˜์—ฌ ์žฅ๋ฉด์„ ์ •ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•˜๋ฉฐ, ์ตœ์ ํ™”์™€ ๋ฐ€๋„ ์ œ์–ด๋ฅผ ๊ต์ฐจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๐Ÿ’ก ๋น„๋“ฑ๋ฐฉ์„ฑ ๊ณต๋ถ„์‚ฐ ์ตœ์ ํ™”๋ž€?

1. ๋น„๋“ฑ๋ฐฉ์„ฑ(anisotropy)
: ๋น„๋“ฑ๋ฐฉ์„ฑ์€ ์–ด๋–ค ๋ฌผ์ฒด๋‚˜ ๊ตฌ์กฐ๊ฐ€ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ์„ฑ์งˆ์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฒƒ. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณต์€ ๋ชจ๋“  ๋ฐฉํ–ฅ์—์„œ ๋™์ผํ•œ ๋ชจ์–‘(๋“ฑ๋ฐฉ์„ฑ, isotropy)์ด์ง€๋งŒ, ํƒ€์›์ฒด๋Š” ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ๊ธธ์ด์™€ ํญ์ด ๋‹ฌ๋ผ์ง€๋Š” ๋น„๋“ฑ๋ฐฉ์„ฑ์ด๋‹ค.
โžก 3D ๊ฐ€์šฐ์‹œ์•ˆ์—์„œ ๋น„๋“ฑ๋ฐฉ์„ฑ์€ ๊ฐ€์šฐ์‹œ์•ˆ์˜ ๋ชจ์–‘์ด ๊ตฌํ˜•์ด ์•„๋‹Œ ํƒ€์›์ฒด ํ˜•ํƒœ๋กœ ๋‚˜ํƒ€๋‚˜๋ฉฐ, ๊ฐ ๋ฐฉํ–ฅ์œผ๋กœ ๋‹ค๋ฅธ ํฌ๊ธฐ์™€ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง„๋‹ค.

2. ๊ณต๋ถ„์‚ฐ(covariance)
: ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ์–ผ๋งˆ๋‚˜ ํผ์ ธ ์žˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜ํ•™์  ํ‘œํ˜„์ด๋‹ค. ํ–‰๋ ฌ์˜ ํฌ๊ธฐ์™€ ๋ฐฉํ–ฅ์€ 3D ๊ฐ€์šฐ์‹œ์•ˆ์˜ ํƒ€์›์ฒด ํฌ๊ธฐ์™€ ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋Œ€๊ฐ์„  ๊ฐ’์€ ๊ฐ ์ถ•์œผ๋กœ์˜ ๋ถ„์‚ฐ(ํผ์ง)์„ ๋‚˜ํƒ€๋‚ด๊ณ , ๋น„๋Œ€๊ฐ์„  ๊ฐ’์€ ์ถ• ๊ฐ„์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
โžก ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์„ ์กฐ์ •ํ•˜๋ฉด ๊ฐ€์šฐ์‹œ์•ˆ์˜ ํ˜•ํƒœ๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋ณ€ํ˜•ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๋น„๋“ฑ๋ฐฉ์„ฑ ๊ณต๋ถ„์‚ฐ ์ตœ์ ํ™”
- 3D ๊ฐ€์šฐ์‹œ์•ˆ์„ ์žฅ๋ฉด์— ์ž˜ ๋งž๊ฒŒ ๋ณ€ํ˜•์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์„ ์ตœ์ ํ™” ํ•˜๋Š” ๊ณผ์ •
- ์žฅ๋ฉด์˜ ์„ธ๋ฐ€ํ•œ ๋””ํ…Œ์ผ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„
- ๋ถˆํ•„์š”ํ•œ ๊ฐ€์šฐ์‹œ์•ˆ์„ ์ค„์ด๊ณ , ์ค‘์š”ํ•œ ์˜์—ญ์— ๋” ์ •ํ™•ํ•œ ๊ฐ€์šฐ์‹œ์•ˆ์„ ๋ฐฐ์น˜
โžก ์ตœ์ ํ™”๋œ ๋น„๋“ฑ๋ฐฉ์„ฑ ๊ฐ€์šฐ์‹œ์•ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด, ๊ฑด๋ฌผ์˜ ๋ฒฝ์ฒ˜๋Ÿผ ์–‡๊ณ  ๊ธด ๊ตฌ์กฐ๋‚˜ ๋ณต์žกํ•œ ๋””ํ…Œ์ผ์„ ์†Œ์ˆ˜์˜ ๊ฐ€์šฐ์‹œ์•ˆ์œผ๋กœ ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

3. ๊ฐ€์‹œ์„ฑ ์ธ์‹(visibility-aware) ๋ Œ๋”๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜: ๋น„๋“ฑ๋ฐฉ์„ฑ Splatting ์„ ์ง€์›ํ•˜๋Š” ๋น ๋ฅธ ๊ฐ€์‹œ์„ฑ ์ธ์‹ ๋ Œ๋”๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•˜์—ฌ ํ•™์Šต ์†๋„๋ฅผ ๊ฐ€์†ํ™”ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋ง์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

 

 

Introduction

1. ๊ธฐ์กด ๋ฐฉ๋ฒ•์˜ ํ•œ๊ณ„
- Meshes ์™€ Points ๋Š” GPU/CUDA ๊ธฐ๋ฐ˜์˜ ๋น ๋ฅธ ๋ž˜์Šคํ„ฐํ™”์— ์ ํ•ฉํ•˜์ง€๋งŒ ์—ฐ์†์ ์ธ ํ‘œํ˜„์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ ํ™”๊ฐ€ ์–ด๋ ต๋‹ค.
- NeRF ๊ธฐ๋ฐ˜์˜ ์—ฐ์†์ ์ธ ํ‘œํ˜„์€ ์ตœ์ ํ™”์— ์œ ๋ฆฌํ•˜์ง€๋งŒ, ํ™•๋ฅ ์  ์ƒ˜ํ”Œ๋ง ๋ฐฉ์‹์„ ๊ณ„์‚ฐ ๋น„์šฉ์„ ๋†’์ด๊ณ  ๋…ธ์ด์ฆˆ๋ฅผ ์œ ๋ฐœํ•œ๋‹ค.
- ๊ธฐ์กด SOTA ๋ฐฉ๋ฒ•(Min-NeRF360)์€ ๋†’์€ ํ’ˆ์งˆ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ์ตœ๋Œ€ 48 ์‹œ๊ฐ„์˜ ํ•™์Šต ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.
- ๋น ๋ฅธ Radiance Field ๋ฐฉ๋ฒ•์€ ํ•™์Šต ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜์ง€๋งŒ, 10-15fps ์—์„œ ๋‚ฎ์€ ํ’ˆ์งˆ์˜ ๋ Œ๋”๋ง์„ ์ œ๊ณตํ•œ๋‹ค.

2. ๋…ผ๋ฌธ ํ•ต์‹ฌ ๊ธฐ์—ฌ
- 3D Gaussian ํ‘œํ˜„ ๋„์ž…:
    - ์นด๋ฉ”๋ผ ์บ˜๋ฆฌ๋ธŒ๋ ˆ์ด์…˜(SfM) ์—์„œ ์ƒ์„ฑ๋œ ํฌ์†Œ ํฌ์ธํŠธ ํด๋ผ์šฐ๋“œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ 3D Gaussian ์„ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค.
    - Multi-View Stereo(MVS) ๋ฐ์ดํ„ฐ ์—†์ด๋„ SfM ํฌ์ธํŠธ๋งŒ์œผ๋กœ ๊ณ ํ’ˆ์งˆ ์žฅ๋ฉด ํ‘œํ˜„ ๊ฐ€๋Šฅ
    - NeRF-synthetic ๋ฐ์ดํ„ฐ์…‹์—์„œ๋Š” ๋žœ๋ค ์ดˆ๊ธฐํ™”๋งŒ์œผ๋กœ๋„ ๋†’์€ ํ’ˆ์งˆ ๋‹ฌ์„ฑ
    - 3D Gaussian ์€ ์—ฐ์†์ ์ด๊ณ  ๋ฏธ๋ถ„ ๊ฐ€๋Šฅํ•œ ๋ณผ๋ฅจ ํ‘œํ˜„์œผ๋กœ, ํšจ์œจ์ ์ธ 2D ํˆฌ์˜ ๋ฐ ํ‘œ์ค€ ๐›ผ-๋ธ”๋ Œ๋”ฉ์„ ์ง€์›ํ•œ๋‹ค.

- 3D Gaussian ์†์„ฑ์˜ ์ตœ์ ํ™” ๋ฐ ์ ์‘ํ˜• ๋ฐ€๋„ ์ œ์–ด:
    - ์ตœ์ ํ™” ๋Œ€์ƒ ์†์„ฑ: 3D ์œ„์น˜, ๋ถˆํˆฌ๋ช…๋„(๐›ผ), ๋น„๋“ฑ๋ฐฉ์„ฑ ๊ณต๋ถ„์‚ฐ, ๊ตฌ๋ฉด ์กฐํ™” ํ•จ์ˆ˜(Spherical Harmonics, SH) ๊ณ„์ˆ˜
    - ์ ์‘ํ˜• ๋ฐ€๋„ ์ œ์–ด: ํ•„์š”์— ๋”ฐ๋ผ 3D Gaussian ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•˜์—ฌ ์žฅ๋ฉด์˜ ํ‘œํ˜„์„ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ •๋ฐ€ํ•˜๊ฒŒ ์œ ์ง€
    - ๊ฒฐ๊ณผ: ์‹คํ—˜ ์žฅ๋ฉด์—์„œ ํ‰๊ท  1~5๋ฐฑ๋งŒ ๊ฐœ์˜ Gaussian์œผ๋กœ ๊ณ ํ’ˆ์งˆ, ๋น„๊ตฌ์กฐ์  ์žฅ๋ฉด ํ‘œํ˜„์„ ์ƒ์„ฑํ•œ๋‹ค.

- ์‹ค์‹œ๊ฐ„ GPU ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง:
    - GPU ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํƒ€์ผํ˜• ๋ž˜์Šคํ„ฐํ™”๋ฅผ ๊ฒฐํ•ฉํ•œ ๋น ๋ฅธ ๋ Œ๋”๋ง ๋ฐฉ๋ฒ• ์ œ์•ˆ
    - ๊ฐ€์‹œ์„ฑ ์ •๋ ฌ: ๋น„๋“ฑ๋ฐฉ์„ฑ splatting ์„ ์‚ฌ์šฉํ•ด ๊ฐ€์‹œ์„ฑ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ, ๐›ผ-๋ธ”๋ Œ๋”ฉ์„ ํ†ตํ•ด ์ •ํ™•ํ•œ ์ด๋ฏธ์ง€ ์ƒ์„ฑ
    - ์—ญ์ „ํŒŒ ํšจ์œจ: ์ •๋ ฌ๋œ splat ์˜ ์ˆœ์ฐจ์  ์ถ”์ ์„ ํ†ตํ•ด ๋น ๋ฅด๊ณ  ์ •ํ™•ํ•œ ์—ญ์ „ํŒŒ ๊ฐ€๋Šฅ

3. ์‹คํ—˜ ๊ฒฐ๊ณผ ์š”์•ฝ (๋…ผ๋ฌธ์˜ ๋ฐ์ดํ„ฐ์…‹)

- ๊ธฐ์กด์— ๋ฐœํ‘œ๋œ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์…‹(Barron et al. 2022; Hedman et al. 2018; Knapitsch et al. 2017)์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰
- ์ตœ์ข…์ ์œผ๋กœ, ์‹œ๊ฐ์  ํ’ˆ์งˆ์€ SOTA ์ธ NeRF ๋ฐฉ๋ฒ•์— ํ•„์ ํ•˜๊ฑฐ๋‚˜ ์šฐ์ˆ˜ํ•˜๊ณ  ์ตœ์ดˆ๋กœ ๊ณ ํ•ด์ƒ๋„์—์„œ ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋ง(1080p, โ‰ฅ30fps)์„ ๋‹ฌ์„ฑ

 

 

Related Work

๊ธฐ์กด ๋ทฐ ์ƒ์„ฑ ๊ธฐ์ˆ (light field, MVS(๋ฉ€ํ‹ฐ๋ทฐ ์Šคํ…Œ๋ ˆ์˜ค))์€ ์ •๋ฐ€ํ•˜์ง€๋งŒ ์žฌ๊ตฌ์„ฑ ์˜ค๋ฅ˜ ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Œ.
NeRF ์™€ ๊ฐ™์€ ์‹ ๊ฒฝ ๋ Œ๋”๋ง์€ ๋” ๋‚˜์€ ํ’ˆ์งˆ์„ ์ œ๊ณตํ•˜์ง€๋งŒ ์†๋„ ๋ฌธ์ œ๊ฐ€ ์กด์žฌ.
๋ณธ ์—ฐ๊ตฌ๋Š” 3D ๊ฐ€์šฐ์‹œ์•ˆ์„ ํ™œ์šฉํ•ด ๊ธฐ์กด ๋ฐฉ๋ฒ•์˜ ๋‹จ์  ๊ทน๋ณตํ•˜๊ณ , ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋ง ๋ฐ ๋ณต์žกํ•œ ์žฅ๋ฉด ํ‘œํ˜„ ์‹คํ˜„ํ•˜๊ณ ์ž ํ•œ๋‹ค.

 

Overview

์ด ๋ฐฉ๋ฒ•์€ ์ •์  ์žฅ๋ฉด์˜ ๋ณด์ •๋œ ์ด๋ฏธ์ง€ ์„ธํŠธ(SfM ์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ sparse point cloud ํฌํ•จ)๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ํฌ์ธํŠธ๋ฅผ ์œ„์น˜(ํ‰๊ท ), ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ(covariance), ๋ถˆํˆฌ๋ช…๋„(opacity, ๐›ผ) ๋กœ ์ •์˜๋œ 3D ๊ฐ€์šฐ์‹œ์•ˆ์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์œ ์—ฐํ•˜๊ณ  ์••์ถ•๋œ 3D ์žฅ๋ฉด ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํŠนํžˆ anisotropy(๋น„๋“ฑ๋ฐฉ์„ฑ) volume splatting ์„ ์‚ฌ์šฉํ•ด ์„ธ๋ถ€ ๊ตฌ์กฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

์žฅ๋ฉด์˜ radiance field (์ƒ‰์ƒ)์€ ๊ตฌ๋ฉด ์กฐํ™” ํ•จ์ˆ˜(Spherical Harmonics, SH) ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‘œํ˜„ํ•˜๋ฉฐ, ์ด๋Š” ๊ธฐ์กด ํ‘œ์ค€ ๋ฐฉ์‹์„ ๋”ฐ๋ฅธ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜์€ 3D ๊ฐ€์šฐ์‹œ์•ˆ parameter(์œ„์น˜, ๊ณต๋ถ„์‚ฐ, ๐›ผ, SH ๊ณ„์ˆ˜)์˜ ์ตœ์ ํ™”์™€ ๊ฐ€์šฐ์‹œ์•ˆ ๋ฐ€๋„์˜ ์ ์‘์  ์ œ์–ด๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋ฐฉ์‚ฌ ํ•„๋“œ ํ‘œํ˜„์„ ์ƒ์„ฑํ•œ๋‹ค.

์ด ๋ฐฉ๋ฒ•์˜ ํ•ต์‹ฌ์€ ํƒ€์ผ ๊ธฐ๋ฐ˜ rasterizer ๋กœ, anisotropy splatting ์˜ ๐›ผ-๋ธ”๋ Œ๋”ฉ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋น ๋ฅธ sorting ์„ ํ†ตํ•ด ๊ฐ€์‹œ์„ฑ ์ˆœ์„œ๋ฅผ ์ค€์ˆ˜ํ•œ๋‹ค. ๋˜ํ•œ, ๋ˆ„์ ๋œ ๐›ผ ๊ฐ’์„ ์ถ”์ ํ•˜๋Š” ์—ญ๋ฐฉํ–ฅ ์—ฐ์‚ฐ(backward) ์„ ์ง€์›ํ•˜์—ฌ gradient ๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ ๊ฐ€์šฐ์‹œ์•ˆ ๊ฐœ์ˆ˜์— ์ œํ•œ์ด ์—†๋‹ค.

 

 

Differentiable 3D Gaussian Splatting

๋ชฉํ‘œ : ๋ฒ•์„  ์ •๋ณด ์—†์ด sparse ํ•œ SfM ํฌ์ธํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ๋ทฐ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ํ’ˆ์งˆ์˜ ์žฅ๋ฉด ํ‘œํ˜„์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ

๊ฐ€์šฐ์‹œ์•ˆ ๋ชจ๋ธ๋ง
: 3D ๊ฐ€์šฐ์‹œ์•ˆ์€ ์›”๋“œ ์ขŒํ‘œ์—์„œ ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ ฮฃ์™€ ํ‰๊ท  ๐œ‡๋กœ ์ •์˜๋œ๋‹ค.

์ด ๊ฐ€์šฐ์‹œ์•ˆ์€ ๋ธ”๋ Œ๋”ฉ ๊ณผ์ •์—์„œ ๋ถˆํˆฌ๋ช…๋„(๐›ผ)๋ฅผ ๊ณฑํ•ด ์‚ฌ์šฉ๋œ๋‹ค.

2D ๋กœ์˜ projection
: 3D ๊ณต๋ถ„์‚ฐ ฮฃ๋ฅผ ์นด๋ฉ”๋ผ ์ขŒํ‘œ๊ณ„๋กœ ๋ณ€ํ™˜ํ•œ ฮฃโ€ฒ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ  J ๋Š” ํˆฌ์˜ ๋ณ€ํ™˜์˜ ์•„ํ•€ ๊ทผ์‚ฌ์— ๋Œ€ํ•œ ์•ผ์ฝ”๋น„์•ˆ์ด๋‹ค.
2D ๋ Œ๋”๋ง์„ ์œ„ํ•ด ฮฃโ€ฒ์˜ 3๋ฒˆ์งธ ํ–‰๊ณผ ์—ด์„ ์ƒ๋žตํ•˜์—ฌ 2ร—2 ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

๊ณต๋ถ„ ํ–‰๋ ฌ ์ตœ์ ํ™” ๋ฌธ์ œ
: ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ ฮฃ๋Š” ์–‘์˜ ์ค€์ • ์ •์˜(positive semi-definite)์ด์–ด์•ผ ํ•˜๋ฏ€๋กœ, ์ด๋ฅผ ์ง์ ‘ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ต๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๋ถ„์‚ฐ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„ํ•ดํ•˜์—ฌ ์ตœ์ ํ™”๋ฅผ ํ•œ๋‹ค.

- S : ํฌ๊ธฐ(์Šค์ผ€์ผ) ํ–‰๋ ฌ โ†’ 3D ๋ฒกํ„ฐ  s ๋กœ ํ‘œํ˜„
- R : ํšŒ์ „ ํ–‰๋ ฌ โ†’ ์ฟผํ„ฐ๋‹ˆ์–ธ  q ๋กœ ํ‘œํ˜„

ํšจ์œจ์  ์ตœ์ ํ™”
1. s ์™€ q ๋ฅผ ๋…๋ฆฝ์ ์œผ๋กœ ์ €์žฅํ•˜์—ฌ ๋ณ€ํ™˜๊ณผ ์กฐํ•ฉ์„ ๋‹จ์ˆœํ™”ํ•œ๋‹ค.
2. q ๋ฅผ ์ •๊ทœํ™”ํ•ด ์œ ํšจํ•œ ์ฟผํ„ฐ๋‹ˆ์–ธ์„ ์œ ์ง€.
3. ์ž๋™ ๋ฏธ๋ถ„์˜ ๊ณ„์‚ฐ ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ๋ช…์‹œ์ ์œผ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๊ธฐ์šธ๊ธฐ๋ฅผ ์œ ๋„

์œ„์˜ ๋‚ด์šฉ์€ ๋…ผ๋ฌธ์— ๋‚˜์˜จ ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ ์ •๋ฆฌํ•ด์„œ ์ ์–ด๋ณธ ๊ฒƒ์ธ๋ฐ, ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์„œ ๋ถ€๋ก์— ๋‚˜์™€์žˆ๋Š” algorithm 1์„ ํ† ๋Œ€๋กœ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

 

 

Optimization with Adaptive Density Control of 3D Gaussians

 

์ตœ์ ํ™”(Optimization)

- ์žฅ๋ฉด์˜ 3D ๊ฐ€์šฐ์‹œ์•ˆ์„ ์ตœ์ ํ™”ํ•˜์—ฌ ์ž์œ ๋กœ์šด ๋ทฐ ์ƒ์„ฑ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.
- ๊ฐ€์šฐ์‹œ์•ˆ์˜ ์œ„์น˜(๐‘), ๋ถˆํˆฌ๋ช…๋„(๐›ผ), ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ(ฮฃ), ์ƒ‰์ƒ(SH ๊ณ„์ˆ˜)๋ฅผ ํ•จ๊ป˜ ์ตœ์ ํ™”ํ•˜์—ฌ ์žฅ๋ฉด์˜ ๋ทฐ ์˜์กด์  ํŠน์„ฑ์„ ์บก์ฒ˜

์ตœ์ ํ™” ํ”„๋กœ์„ธ์Šค

1. ๋ Œ๋”๋ง๊ณผ ๋น„๊ต

- ๋ Œ๋”๋งํ•œ ์ด๋ฏธ์ง€์™€ ๋ฐ์ดํ„ฐ์…‹์˜ ํŠธ๋ ˆ์ด๋‹ ๋ทฐ๋ฅผ ๋น„๊ตํ•ด ์ตœ์ ํ™” ์ˆ˜ํ–‰

- 3D์—์„œ 2D๋กœ์˜ ํˆฌ์˜ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ธฐํ•˜ํ•™์  ๋ชจํ˜ธ์„ฑ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ž˜๋ชป ๋ฐฐ์น˜๋œ ๊ธฐํ•˜ํ•™์  ์š”์†Œ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ œ๊ฑฐ

2. ๊ธฐ๋ฒ•

- ํ™•๋ฅ ์  ๊ฒฝ์‚ฌ ํ•˜๊ฐ•๋ฒ•(SGD)์„ ์‚ฌ์šฉํ•˜๋ฉฐ, GPU ๊ฐ€์† ๋ฐ CUDA ์ปค๋„์„ ํ™œ์šฉํ•ด ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”

- ์ฃผ์š” ๋ณ‘๋ชฉํ˜„์ƒ์ธ ๋น ๋ฅธ ๋ž˜์Šคํ„ฐํ™”๋ฅผ ํ†ตํ•ด ์—ฐ์‚ฐ ํšจ์œจ์„ฑ ํ™•๋ณด

3. ํ™œ์„ฑํ™” ํ•จ์ˆ˜

- ๐›ผ: ์‹œ๊ทธ๋ชจ์ด๋“œ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ [0, 1) ๋ฒ”์œ„๋ฅผ ์œ ์ง€

- ๊ณต๋ถ„์‚ฐ ์Šค์ผ€์ผ: ์ง€์ˆ˜ ํ™œ์„ฑํ™” ํ•จ์ˆ˜(Exponential) ์‚ฌ์šฉ

4. ์ดˆ๊ธฐํ™” ๋ฐ ํ•™์Šต

- ๊ณต๋ถ„์‚ฐ ํ–‰๋ ฌ์€ ์ดˆ๊ธฐํ™” ์‹œ, ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์„ธ ์ ์˜ ํ‰๊ท  ๊ฑฐ๋ฆฌ๋กœ ๋“ฑ๋ฐฉ์„ฑ(isotropic) ๊ฐ€์šฐ์‹œ์•ˆ์œผ๋กœ ์„ค์ •

- ์†์‹ค ํ•จ์ˆ˜๋Š” L1๊ณผ D-SSIM์„ ์กฐํ•ฉ:

- ์ด ๋…ผ๋ฌธ์—์„œ๋Š”  ฮป=0.2๋กœ ์„ค์ •.

 

3D ๊ฐ€์šฐ์‹œ์•ˆ์˜ ๋ฐ€๋„ ์กฐ์ ˆ (Adaptive Control of 3D Gaussians)

์ ์‘์  ๋ฐ€๋„ ์กฐ์ ˆ์˜ ํ•„์š”์„ฑ
- ์ดˆ๊ธฐ์˜ ํฌ์†Œํ•œ SfM ํฌ์ธํŠธ ์„ธํŠธ๋ฅผ ์‹œ์ž‘์ ์œผ๋กœ ์‚ฌ์šฉํ•ด ๊ฐ€์šฐ์‹œ์•ˆ ๋ฐ€๋„๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ฆ๊ฐ€
- ๋ชฉํ‘œ๋Š” ๊ธฐํ•˜ํ•™์  ํŠน์„ฑ์ด ๋ถ€์กฑํ•œ ์˜์—ญ(under-reconstruction)๊ณผ ๊ณผ์ž‰์œผ๋กœ ํ‘œํ˜„๋œ ์˜์—ญ(over-reconstruction)์„ ๋ณด์™„ํ•œ๋‹ค.

์ ์‘์  ๋ฐ€๋„ ์ฆ๊ฐ€
1. ๋ฐ€๋„ ์ฆ๊ฐ€ ์กฐ๊ฑด
- ๋ทฐ ๊ณต๊ฐ„์—์„œ ์œ„์น˜ ๊ธฐ์šธ๊ธฐ(view-space position gradients)๊ฐ€ ์ž„๊ณ„๊ฐ’ ๐œpos(0.0002) ์ด์ƒ์ธ ๊ฒฝ์šฐ ๊ฐ€์šฐ์‹œ์•ˆ์„ ์ฆ์‹
2. ์ฒ˜๋ฆฌ ๋ฐฉ์‹ (fig. 4 ์ฐธ๊ณ )
- ์ž‘์€ ๊ฐ€์šฐ์‹œ์•ˆ(under-reconstruction): ๋™์ผ ํฌ๊ธฐ์˜ ๋ณต์‚ฌ๋ณธ์„ ์ƒ์„ฑํ•˜์—ฌ ์œ„์น˜ ๊ธฐ์šธ๊ธฐ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•œ๋‹ค.
- ํฐ ๊ฐ€์šฐ์‹œ์•ˆ(over-reconstruction): ๋‘ ๊ฐœ์˜ ์ž‘์€ ๊ฐ€์šฐ์‹œ์•ˆ์œผ๋กœ ๋ถ„ํ• ํ•˜๋ฉฐ, ํฌ๊ธฐ๋ฅผ 1.6(๐œ™)์œผ๋กœ ๋‚˜๋ˆˆ๋‹ค.

๋ถˆํˆฌ๋ช…๋„์™€ ๊ฐ€์šฐ์‹œ์•ˆ ์ œ๊ฑฐ
- ๐›ผ ๊ฐ’์ด ์ž„๊ณ„๊ฐ’ ๐œ–_๐›ผ ์ดํ•˜์ธ ๊ฐ€์šฐ์‹œ์•ˆ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ œ๊ฑฐํ•œ๋‹ค.
- N=3000 ๋ฐ˜๋ณต๋งˆ๋‹ค ๐›ผ ๊ฐ’์„ 0์— ๊ฐ€๊น๊ฒŒ ์„ค์ •ํ•ด ๋ถˆํ•„์š”ํ•œ ๊ฐ€์šฐ์‹œ์•ˆ์˜ ์ฆ๊ฐ€๋ฅผ ์–ต์ œํ•œ๋‹ค.

ํšจ์œจ์  ๊ด€๋ฆฌ
- ์›”๋“œ ๊ณต๊ฐ„์—์„œ ๋„ˆ๋ฌด ํฐ ๊ฐ€์šฐ์‹œ์•ˆ์ด๋‚˜ ๋ทฐ ๊ณต๊ฐ„์—์„œ ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๊ฐ€์šฐ์‹œ์•ˆ์„ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ œ๊ฑฐํ•œ๋‹ค.
- ์œ ํด๋ฆฌ๋“œ ๊ณต๊ฐ„์˜ ์›์‹œ ์š”์†Œ๋กœ์„œ ๊ฐ€์šฐ์‹œ์•ˆ์„ ์œ ์ง€ํ•˜๋ฉฐ, ๋‹ค๋ฅธ ๊ธฐ๋ฒ•์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ณต๊ฐ„ ์••์ถ•, ์™œ๊ณก, ํˆฌ์˜ ์ „๋žต์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

 

์œ„์˜ ๋‚ด์šฉ์€ ๋…ผ๋ฌธ์— ๋‚˜์˜จ ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ ์ •๋ฆฌํ•ด์„œ ์ ์–ด๋ณธ ๊ฒƒ์ธ๋ฐ, ์ž˜ ์ดํ•ด๊ฐ€ ์•ˆ๋˜์„œ ๋ถ€๋ก์— ๋‚˜์™€์žˆ๋Š” algorithm 1์„ ํ† ๋Œ€๋กœ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.

 

<์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐ„๋‹จ ์š”์•ฝ ์ด์ •๋ฆฌ>

์•Œ๊ณ ๋ฆฌ์ฆ˜ (Optimization and Densification)
์ž…๋ ฅ: SfM ํฌ์ธํŠธ (M), ์ดˆ๊ธฐ Gaussian ์†์„ฑ (S, C, A), ๋ฐ˜๋ณต ํšŸ์ˆ˜ i = 0
1. SampleTrainingView: ์นด๋ฉ”๋ผ ๋ทฐ ๋ฐ ์ด๋ฏธ์ง€ ์ƒ˜ํ”Œ๋ง.
2. Rasterize: Gaussian์„ 2D ํ™”๋ฉด์— ํˆฌ์˜.
3. Loss ๊ณ„์‚ฐ:
โ€ข L = (1โˆ’ฮป)L1 + ฮปL_D-SSIM
4. Backprop & Step: ADAM ์ตœ์ ํ™”๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ ์—…๋ฐ์ดํŠธ.
5. Gaussian ๊ด€๋ฆฌ:
โ€ข Pruning: ฮฑ < ฮต ๋˜๋Š” ๋„ˆ๋ฌด ํฐ Gaussian ์ œ๊ฑฐ.
โ€ข Densification:
โ€ข Over-reconstruction (๊ณผ์ž‰ ์žฌ๊ตฌ์„ฑ): Gaussian ๋ถ„ํ• .
โ€ข Under-reconstruction (๋ถ€์กฑ ์žฌ๊ตฌ์„ฑ): Gaussian ๋ณต์ œ.
6. Iteration ์ฆ๊ฐ€ ๋ฐ ๋ฐ˜๋ณต

 

Fast Differentiable Rasterizer for Gaussians

๋ชฉํ‘œ:
- ๋น ๋ฅธ ๋ Œ๋”๋ง๊ณผ ๋น ๋ฅธ ์ •๋ ฌ์„ ํ†ตํ•ด ฮฑ-blending์„ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•œ๋‹ค.
- ์ด์ „ ๋ฌธ์ œ์  ํ•ด๊ฒฐ
    - ์ •๋ ฌ ๋น„์šฉ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ํ”ฝ์…€ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ํƒ€์ผ ๋‹จ์œ„๋กœ ์ •๋ ฌ
    - ๋™์  ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์ตœ์†Œํ™”ํ•˜์—ฌ ๋ชจ๋“  Gaussian ์— ๋Œ€ํ•œ ๊ธฐ์šธ๊ธฐ ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์›

1. ํƒ€์ผ ๊ธฐ๋ฐ˜์˜ ์ •๋ ฌ ๋ฐ ๋ž˜์Šคํ„ฐํ™”
- ํ™”๋ฉด์„ 16 x 16 ํƒ€์ผ๋กœ ๋ถ„ํ• ํ•œ๋‹ค.
- ๊ฐ€์šฐ์‹œ์•ˆ ํ•„๋”๋ง
    - 99% ์‹ ๋ขฐ๊ตฌ๊ฐ„์ด ๋ทฐ ํ”„๋Ÿฌ์Šคํ…€๊ณผ ๊ฒน์น˜๋Š” Gaussian ๋งŒ ์œ ์ง€ํ•œ๋‹ค.
    - ๊ทน๋‹จ์  ์œ„์น˜(near plane ๊ทผ์ฒ˜)๋Š” Gaurd Band ๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐ์ œํ•œ๋‹ค. (๋ถˆ์•ˆ์ •ํ•œ ํˆฌ์˜ ๋ฐฉ์ง€)
- ์ •๋ ฌ ๋ฐฉ์‹:
    - ๊ฐ€์šฐ์‹œ์•ˆ์„ ํƒ€์ผ ๋‹จ์œ„๋กœ ์ค‘์ฒฉ๋˜๋Š” ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ๋ณต์ œ
    - ๊ฐ ๊ฐ€์šฐ์‹œ์•ˆ์— ๊นŠ์ด ๊ฐ’๊ณผ ํƒ€์ผ ID ๋ฅผ ํ‚ค๋กœ ํ• ๋‹น
    - GPU Radix Sort ๋ฅผ ํ†ตํ•ด ๋น ๋ฅด๊ฒŒ ์ •๋ ฌ

2. ฮฑ-Blending (ํ•ฉ์„ฑ)
- ์ •๋ ฌ๋œ Gaussian์„ ํƒ€์ผ์— ํ• ๋‹น โ†’ ๊ฐ ํƒ€์ผ๋‹น ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑํ•œ๋‹ค.
- ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ: ํƒ€์ผ ๋‹จ์œ„๋กœ ์Šค๋ ˆ๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•œ๋‹ค. ๊ณต์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ด Gaussian ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๊ณ , ๊ฐ ํ”ฝ์…€์— ๋Œ€ํ•ด ฮฑ์™€ ์ƒ‰์ƒ์„ ๋ˆ„์ 
- ๋น ๋ฅธ ์ข…๋ฃŒ:
    - ฮฑ ๊ฐ’์ด 1 (ํฌํ™”) ์— ๋„๋‹ฌํ•œ ํ”ฝ์…€์˜ ์ฒ˜๋ฆฌ๋Š” ์ค‘๋‹จ
    - ํƒ€์ผ์˜ ๋ชจ๋“  ํ”ฝ์…€์ด ํฌํ™”๋˜๋ฉด ํ•ด๋‹น ํƒ€์ผ ์ฒ˜๋ฆฌ๋ฅผ ์ข…๋ฃŒ

3. Backward Pass (๊ธฐ์šธ๊ธฐ ๊ณ„์‚ฐ)
- ์ด์ „ ๋ฌธ์ œ ํ•ด๊ฒฐ: ๋™์  ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์—†์ด ์ „๋ฐฉ ํŒจ์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ์‚ฌ์šฉ
- Gradient ๊ณ„์‚ฐ ์ตœ์ ํ™”:
    - Gaussian์˜ ์ •๋ ฌ๋œ ๋ฆฌ์ŠคํŠธ์™€ ํƒ€์ผ ๋ฒ”์œ„๋ฅผ ์žฌ์‚ฌ์šฉํ•ด ๋’ค์—์„œ ์•ž์œผ๋กœ(back-to-front) ๋ฐ˜๋ณต ํƒ์ƒ‰ํ•œ๋‹ค.
    - ๊ฐ ํ”ฝ์…€์€ ์ „๋ฐฉ ํŒจ์Šค์—์„œ ๊ธฐ์—ฌํ•œ ๊นŠ์ด ๊ฐ’ ์ดํ•˜์˜ Gaussian๋งŒ ์ฒ˜๋ฆฌ
- ์ค‘๊ฐ„ ฮฑ ๊ฐ’ ๋ณต๊ตฌ:
    - ์ „๋ฐฉ ํŒจ์Šค์—์„œ ๋ˆ„์ ๋œ ์ตœ์ข… ฮฑ ๊ฐ’๋งŒ ์ €์žฅ
    - ๊ธฐ์šธ๊ธฐ ๊ณ„์‚ฐ ์‹œ, ์ตœ์ข… ฮฑ๋ฅผ ๊ฐ Gaussian์˜ ฮฑ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆ ์„œ ์ค‘๊ฐ„ ฮฑ ๊ฐ’์„ ๋ณต๊ตฌ

 

Result