[3D CV ์ฐ๊ตฌ] 3DGS SuGaR joint refinement of mesh and gaussians
์ต์ ํ ๊ณผ์ ์์ ์๋ก์ด Gaussian์ ๋ฉ์์ ๋ฐ์ธ๋ฉํ ํ ์ต์ ํ ๊ณผ์ ์ ๋ํ ์ง๋ฌธ ์์ฝ
์ง๋ฌธ 1: ์๋ก์ด Gaussian์ ์ด๊ธฐ ํ๋ผ๋ฏธํฐ(SH, opacity, scale, rotation) ๊ฐ์ ์ด๋ป๊ฒ ์ ํ๋๋์? ์๋ก์ด Gaussian์ ์ด์ ์ต์ ํ ๋จ๊ณ์ Gaussian๊ณผ ์ฐ๊ฒฐ๋๋์?
์๋ก์ด Gaussian์ ์ด์ Gaussian๊ณผ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค. ๋์ , ์ถ์ถ๋ ๋ฉ์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๊ธฐํ๋ฉ๋๋ค. ๊ฐ ํ๋ผ๋ฏธํฐ์ ์ด๊ธฐํ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์์น/3D ์ค์ฌ: ๋ชจ๋ ๋ฉ์์ ์ผ๊ฐํ์ ์ฌ๋ฌ ๊ฐ์ Gaussian์ ์์ฑํฉ๋๋ค. ์ผ๊ฐํ๋น Gaussian์ ์๋ ์ถ์ถ๋ ๋ฉ์์ ํด์๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ์๋ฅผ ๋ค์ด, low-poly mesh(์: 200k vertices)์์๋ ๋ ๋์ ๊ฐ์ ์ ํํ๊ณ , high-poly mesh(์: 1M vertices)์์๋ ๋ ๋ฎ์ ๊ฐ์ ์ ํํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ํด์๋์์ 1M์์ 2M ๊ฐ์ Gaussian์ ๋ชฉํ๋ก ํฉ๋๋ค.
- Opacity(๋ถํฌ๋ช ๋): ๋ชจ๋ Gaussian์ ์ด๊ธฐ ๋ถํฌ๋ช ๋๋ 3DGS original paper์ ๊ฐ 0.1๋ก ์ด๊ธฐํ๋ฉ๋๋ค. ๋ฉ์๋ ์ฅ๋ฉด์ ๋ถํฌ๋ช ํ ํ๋ฉด์ ๋ํ๋ด๊ธฐ ๋๋ฌธ์ ๋ ๋์ ๋ถํฌ๋ช ๋๋ฅผ ์ ํํ๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ผ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ Gaussian์ ๋ฎ์ ๋ถํฌ๋ช ๋๋ก ์ด๊ธฐํํ๋ฉด ์ต์ ํ ๊ณผ์ ์์ ๋ฉ์ ํ๋ฉด์ ์ธ๋ถ ์ฌํญ์ ๋ ์ ์กฐ๊ฐํ๊ณ ํ ์ค์ฒ๋ง ์ธ๋ถ ์ฌํญ์ ์บก์ฒํ๋ฉฐ ๋ฉ์์ ํด์๋๋ณด๋ค ๋ ์ฌ์ธํ ๋งค์ฐ ์์ ๊ธฐํํ์ ๊ตฌ์กฐ๋ฅผ ์ฌ๊ตฌ์ฑํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ ผ๋ฌธ์ ๊ทธ๋ฆผ 8์์ ์์ ๊ฑฐ์ ๋ฐํด์ด๊ณผ ๊ฐ์ ๋งค์ฐ ์์ ๊ตฌ์กฐ๋ฅผ ์ฌ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
- Scale(ํฌ๊ธฐ): ๋ชจ๋ Gaussian์ ๋ ๊ฐ์ ํ์ต ๊ฐ๋ฅํ ํฌ๊ธฐ ์กฐ์ ์์๋ง ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ธ ๋ฒ์งธ ์์๋ ๊ณ ์ ๋์ด ์์ผ๋ฉฐ ๋งค์ฐ ์์ต๋๋ค. ์ด๋ Gaussian์ ํํํ๊ฒ ํ๊ณ ๋ฉ์์ ์ผ๊ฐํ์ ์ ๋ ฌ๋๋๋ก ํ๊ธฐ ์ํจ์ ๋๋ค. ์ต์ ํ ์์ ์ ๋ ๊ฐ์ ํ์ต ๊ฐ๋ฅํ ๊ฐ์ ๋์ผํ๋ฉฐ, ์ด๊ธฐ ๊ฐ์ ํด๋น ์ผ๊ฐํ์ ํฌ๊ธฐ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค.
- Rotation(ํ์ ): Gaussian์ ์ผ๊ฐํ์ ํ๋ฉด์ ์ ๋ ฌ๋๋๋ก 2D ํ์ ๋ง ์ต์ ํํฉ๋๋ค. ์ด๊ธฐํ ์ ํ์ ์ 0์ ๋๋ค.
- SH(๊ตฌํ ์กฐํ ํจ์): ๊ตฌํ ์กฐํ ํจ์๋ Poisson ์ฌ๊ตฌ์ฑ์ ํตํด ์ป์ด์ง vertex colors output์ ์ฌ์ฉํ์ฌ ์ด๊ธฐํ๋๋ฉฐ, ๋ฌด๊ฒ์ค์ฌ(barycentric) ์ขํ๋ฅผ ์ฌ์ฉํ์ฌ interpolation๋ฉ๋๋ค.
์ง๋ฌธ 2: ์ต์ ํ ๊ณผ์ ์์ Gaussian์ด ํญ์ ๋ฉ์ ์ผ๊ฐํ์ ์ ๋ ฌ๋๊ณ ํ๋ฉด ์์์ ์์ ๋กญ๊ฒ ์ด๋ํ ์ ์๋ ๊ฒฝ์ฐ, ๋ฉ์์ ์ผ๊ฐํ ์์น๋ ์ด๋ํ๊ฑฐ๋ ์ ์ ๋๋์? ์๋๋ฉด ํ๋ฉด์ ๋งค๋๋ฝ๊ฒ ๋ง๋๋ ๊ณผ์ ์ธ๊ฐ์?
- Gaussian์ ์์น๊ฐ mesh์ ์ ์ ์ขํ์ ๋ฏธ๋ถ ๊ฐ๋ฅํ ํจ์๋ก ๊ณ์ฐ๋๊ธฐ ๋๋ฌธ์ mesh triangles๋ ์ด๋ํ๊ณ ์ ์ ๋ฉ๋๋ค. ์ด๋ Gaussian Splatting ๋ ๋๋ง์ ์ฌ์ฉํ์ฌ ๋ฉ์ ํ๋ฉด์ ์ ์ ํ๋ ๊ณผ์ ์ ๋๋ค. ์ค์ ๋ก ์ด ๋จ๊ณ๋ ๋ฉ์ ํ๋ฉด์ ๋งค๋๋ฝ๊ฒ ํ๋ ๋ฐ ๋์์ ์ค๋๋ค. (ํนํ low-poly meshes์์ ๋งค๋๋ฝ๊ฒ ํด์ค๋๋ค.)
์ฃผ์ ํคํฌ์ธํธ
- Gaussian ์ด๊ธฐํ: ์๋ก์ด Gaussian์ ์ด์ ๋จ๊ณ์ Gaussian๊ณผ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ง ์๊ณ , ์ถ์ถ๋ ๋ฉ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ด๊ธฐํ๋ฉ๋๋ค.
- Gaussian์ ํ๋ผ๋ฏธํฐ: ์์น๋ ๋ชจ๋ ๋ฉ์ ์ผ๊ฐํ์ ๋ํด ์ฌ๋ฌ Gaussian์ ์์ฑํ๋ฉฐ, ๋ถํฌ๋ช ๋๋ 0.1๋ก ์ค์ ๋๊ณ , ํฌ๊ธฐ๋ ์ผ๊ฐํ ํฌ๊ธฐ์ ๋ฐ๋ผ ์ด๊ธฐํ๋ฉ๋๋ค. ํ์ ์ ์ผ๊ฐํ ํ๋ฉด์ ์ ๋ ฌ๋๋ฉฐ, ๊ตฌํ ์กฐํ ํจ์๋ ๋ฌด๊ฒ์ค์ฌ ์ขํ๋ฅผ ์ฌ์ฉํด ์ด๊ธฐํ๋ฉ๋๋ค.
- Refinement of mesh: Gaussian์ ์์น๊ฐ mesh์ ์ ์ ์ขํ์ ํจ์๋ก ๊ณ์ฐ๋๋ฏ๋ก, mesh triangles๋ ์ด๋ ๋ฐ ์ ์ ๋ฉ๋๋ค. ์ด๋ ๋ฉ์ ํ๋ฉด์ ๋งค๋๋ฝ๊ฒ ํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
- ํด์๋์ Gaussian ์: low-poly mesh(e.g. 200k vertices)์์๋ ์ผ๊ฐํ๋น ๋ ๋ง์ Gaussian์ ์ฌ์ฉํ๊ณ , high-poly mesh(e.g. 1M vertices)์์๋ ๋ ์ ์ Gaussian์ ์ฌ์ฉํ์ฌ ์ ์ฒด Gaussian ์๋ฅผ ์ผ์ ํ๊ฒ ์ ์งํฉ๋๋ค. ์ ํด์๋์์ ๋ ๋์ ๊ฐ์ ์ฌ์ฉํ๋ ์ด์ ๋ ์ธ๋ถ ์ฌํญ์ ๋ ์ ํฌ์ฐฉํ๊ธฐ ์ํด์์ ๋๋ค.
https://github.com/Anttwo/SuGaR/issues/6
Leave a comment