์„œ๋น„์Šค
๊ต์œก ์ฒ ํ•™

Real-Time Neural Appearance Models

๊ทธ๋ฆผ 1
์ด์ „์—๋Š” ์˜คํ”„๋ผ์ธ ๋ Œ๋”๋ง์—์„œ๋งŒ ๊ฐ€๋Šฅํ–ˆ๋˜ ๋ณต์žกํ•œ ์™ธ๊ด€์„ ๊ฐ€์ง„ ์žฅ๋ฉด์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๋Š” ์™„์ „ํ•œ ์‹œ์Šคํ…œ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.
์ด ์‹œ์Šคํ…œ์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์  ํ˜์‹ ๊ณผ ์‹œ์Šคํ…œ ์ˆ˜์ค€์˜ ํ˜์‹ ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.
์šฐ๋ฆฌ์˜ ์™ธ๊ด€ ๋ชจ๋ธ(appearance model)์€ ํ•™์Šต๋œ ๊ณ„์ธต์  ํ…์Šค์ฒ˜(hierarchical textures)๋ฅผ ํ™œ์šฉํ•˜๋ฉฐ, ์ด ํ…์Šค์ฒ˜๋Š” ์‹ ๊ฒฝ๋ง ๋””์ฝ”๋”(neural decoders)๊ฐ€ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค. ๋””์ฝ”๋”๋Š” ๋ฐ˜์‚ฌ์œจ(reflectance) ๊ฐ’๊ณผ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง๋œ ๋ฐฉํ–ฅ(importance-sampled directions)์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
๋””์ฝ”๋”์˜ ๋ชจ๋ธ๋ง ์šฉ๋Ÿ‰์„ ์ตœ๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ๋‘ ๊ฐ€์ง€ ๊ทธ๋ž˜ํ”ฝ์Šค ์‚ฌ์ „(prior)์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์ฒซ ๋ฒˆ์งธ ์‚ฌ์ „: ํ•™์Šต๋œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„(shading frames)์œผ๋กœ ๋ฐฉํ–ฅ์„ ๋ณ€ํ™˜ํ•˜์—ฌ ์ค‘๊ฐ„ ๊ทœ๋ชจ ํšจ๊ณผ(mesoscale effects)๋ฅผ ์ •ํ™•ํžˆ ์žฌ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๋‘ ๋ฒˆ์งธ ์‚ฌ์ „: ๋งˆ์ดํฌ๋กœํŒจ์‹ฏ ์ƒ˜ํ”Œ๋ง ๋ถ„ํฌ(microfacet sampling distribution)๋ฅผ ํ†ตํ•ด ์‹ ๊ฒฝ๋ง ๋””์ฝ”๋”๊ฐ€ ํšจ์œจ์ ์œผ๋กœ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ๊ฐœ๋ฐœ๋œ ์™ธ๊ด€ ๋ชจ๋ธ์€ ๋น„๋“ฑ๋ฐฉ(anisotropic) ์ƒ˜ํ”Œ๋ง, ๋ ˆ๋ฒจ ์˜ค๋ธŒ ๋””ํ…Œ์ผ ๋ Œ๋”๋ง, ๊ทธ๋ฆฌ๊ณ  ๊นŠ๊ฒŒ ๊ณ„์ธตํ™”๋œ ๋จธํ‹ฐ๋ฆฌ์–ผ ๊ทธ๋ž˜ํ”„๋ฅผ ์••์ถ•๋œ ๋‹จ์ผ ์‹ ๊ฒฝ ํ‘œํ˜„(neural representation)์œผ๋กœ ๋ฒ ์ดํ‚น์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ, ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ ์…ฐ์ด๋”(ray tracing shaders)์— ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ํ…์„œ ์—ฐ์‚ฐ์„ ์ง์ ‘ ๋…ธ์ถœ์‹œ์ผœ ์‹ ๊ฒฝ๋ง ๋””์ฝ”๋”๋ฅผ ์‹ค์‹œ๊ฐ„ ๊ฒฝ๋กœ ์ถ”์ ๊ธฐ(path tracer) ๋‚ด์—์„œ ํšจ์œจ์ ์œผ๋กœ ์ธ๋ผ์ธ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ์„ ์ฆ๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค.
์‹ ๊ฒฝ ๋จธํ‹ฐ๋ฆฌ์–ผ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•  ๋•Œ์˜ ํ™•์žฅ์„ฑ(scalability)์„ ๋ถ„์„ํ•˜๊ณ , ์ผ๊ด€์ (coherent) ๋ฐ ๋น„์ผ๊ด€์ (divergent) ์‹คํ–‰ ์ฝ”๋“œ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ์‹ ๊ฒฝ ๋จธํ‹ฐ๋ฆฌ์–ผ ์…ฐ์ด๋”๋Š” ๋น„์‹ ๊ฒฝ ๊ธฐ๋ฐ˜ ๊ณ„์ธต์  ๋จธํ‹ฐ๋ฆฌ์–ผ๋ณด๋‹ค 10๋ฐฐ ์ด์ƒ ๋น ๋ฅธ ์†๋„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
์ด ์—ฐ๊ตฌ๋Š” ๊ฒŒ์ž„์ด๋‚˜ ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์™€ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์˜ํ™” ํ’ˆ์งˆ์˜ ๋น„์ฃผ์–ผ(film-quality visuals)์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ธธ์„ ์—ด์–ด์ค๋‹ˆ๋‹ค.
๊ทธ๋ฆผ2 - ์—ฌ๋Ÿฌ๋ถ„๊ป˜ [Jakob et al. 2019]์™€ ๋น„์Šทํ•œ ๋ ˆ์ด์–ด๋ง ๋ฐฉ์‹์œผ๋กœ ๋งŒ๋“  ๋‹ค์„ฏ ๊ฐ€์ง€ ๋ฉ‹์ง„ ๊ธฐ์ค€ ์žฌ์งˆ์˜ ๋ Œ๋”๋ง ์ด๋ฏธ์ง€๋ฅผ ๋ณด์—ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค! ์ด ์žฌ์งˆ๋“ค์€ BRDF ํ‘œํ˜„๊ณผ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง์„ ์œ„ํ•ด ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ๋กœ ๊ทผ์‚ฌํ–ˆ์–ด์š”. ๊ฐ ๊ฐ์ฒด๋Š” ๋ณต์žกํ•œ ๋ฐ˜์‚ฌ ํŠน์„ฑ๊ณผ ๊ณ ํ•ด์ƒ๋„ ํ…์Šค์ฒ˜ ๋•Œ๋ฌธ์— ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋Ÿฌ์—๊ฒŒ ๊ฝค ๊นŒ๋‹ค๋กœ์šด ๋„์ „์ด ๋˜์ฃ (์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ‘œ 1์„ ์‚ดํŽด๋ณด์„ธ์š”). ์ด ์žฌ์งˆ์— ํ•ด๋‹นํ•˜๋Š” ์…ฐ์ด๋”ฉ ๊ทธ๋ž˜ํ”„๋Š” ๋ณด์ถฉ ์ž๋ฃŒ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ๋‹ต๋‹ˆ๋‹ค.

1. INTRODUCTON

์ตœ๊ทผ ๋ Œ๋”๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜, ๊ด‘์„  ์ „๋‹ฌ ๊ธฐ๋ฒ•, ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ ํ•˜๋“œ์›จ์–ด์˜ ๋ฐœ์ „์œผ๋กœ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•œ ์ด๋ฏธ์ง€ ํ’ˆ์งˆ์˜ ํ•œ๊ณ„๊ฐ€ ํฌ๊ฒŒ ๋†’์•„์กŒ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์‹œ๊ฐ„ ์žฌ์งˆ(material) ๋ชจ๋ธ์˜ ๋ฐœ์ „์€ ์ƒ๋Œ€์ ์œผ๋กœ ๋”๋””๊ฒŒ ์ง„ํ–‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜คํ”„๋ผ์ธ ๋ Œ๋”๋ง์—์„œ๋Š” ๊นŠ์ด ์žˆ๋Š” ๋‹ค์ธต ์žฌ์งˆ(layered material)๊ณผ ์ •๊ตํ•œ ์…ฐ์ด๋”ฉ ๊ทธ๋ž˜ํ”„๊ฐ€ ์ผ๋ฐ˜์ ์ด์ง€๋งŒ, ์ด๋Ÿฌํ•œ ์ ‘๊ทผ๋ฒ•์€ ์‹ค์‹œ๊ฐ„ ํ™˜๊ฒฝ์—์„œ๋Š” ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋„ˆ๋ฌด ์ปค์„œ ์ ์šฉํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.
๊ณ„์‚ฐ๋Ÿ‰ ์™ธ์—๋„ ๋ณต์žกํ•œ ์žฌ์งˆ์€ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง๊ณผ ํ•„ํ„ฐ๋ง์—์„œ ์ถ”๊ฐ€์ ์ธ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ต๋‹ˆ๋‹ค. ์„ธ๋ฐ€ํ•œ ์žฌ์งˆ์€ ์ถ•์†Œ ๊ณผ์ •์—์„œ ์‹ฌ๊ฐํ•œ ์•จ๋ฆฌ์–ด์‹ฑ(aliasing)์„ ๋ฐœ์ƒ์‹œํ‚ค๋ฉฐ, ๋‹ค์ธต ์žฌ์งˆ์˜ ๋ณต์žกํ•œ ๋‹ค์ค‘ ๋กœ๋ธŒ(multi-lobe) ๋ฐ˜์‚ฌ ํŠน์„ฑ์€ ์ œ๋Œ€๋กœ ์ƒ˜ํ”Œ๋ง๋˜์ง€ ์•Š์œผ๋ฉด ๋†’์€ ๋ถ„์‚ฐ(variance)์„ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค.
์ตœ๊ทผ ์—ฐ๊ตฌ๋“ค[Kuznetsov et al. 2022; Sztrajman et al. 2021; Zheng et al. 2021]์€ ๋‹ค์ธต ํผ์…‰ํŠธ๋ก (MLP)์ด ์™ธ๊ด€ ๋ชจ๋ธ๋ง, ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง, ํ•„ํ„ฐ๋ง์— ํšจ๊ณผ์ ์ธ ๋„๊ตฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ชจ๋ธ๋“ค์€ ์˜ํ™” ์ˆ˜์ค€์˜ ์‚ฌ์‹ค์ ์ธ ์™ธ๊ด€์„ ์ง€์›ํ•˜์ง€ ๋ชปํ•˜๋ฉฐ, ์‹ค์‹œ๊ฐ„ ํ™˜๊ฒฝ์—์„œ ๊ณ ํ’ˆ์งˆ ์‹œ๊ฐ ํšจ๊ณผ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ•ด๊ฒฐ์ฑ…์€ ์•„์ง ์ œ์‹œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.
๋ณธ ๋…ผ๋ฌธ์˜ ๋ชฉํ‘œ๋Š” ๋ฐ”๋กœ ์—ฌ๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ํ™” ๋ฐ VFX ์‚ฐ์—…์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ณ ํ’ˆ์งˆ ์žฌ์งˆ(์˜ˆ์‹œ๋Š” ๊ทธ๋ฆผ 2, ํ†ต๊ณ„๋Š” ํ‘œ 1 ์ฐธ์กฐ)์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ Œ๋”๋งํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋“ค ์žฌ์งˆ์€ ์‚ฌ์‹ค์„ฑ๊ณผ ์‹œ๊ฐ์  ์ถฉ์‹ค๋„๋ฅผ ์ตœ์šฐ์„ ์œผ๋กœ ํ•˜๋ฉฐ, ๋งค์šฐ ๊ณ ํ•ด์ƒ๋„ ํ…์Šค์ฒ˜์— ํฌ๊ฒŒ ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฒ”์šฉ ์…ฐ์ด๋”(ubershader)๊ฐ€ ์•„๋‹Œ ๋ฐ˜์‚ฌ ์„ฑ๋ถ„์˜ ๋ ˆ์ด์–ด๋ง์„ ํ†ตํ•ด ์žฌ์งˆ ์™ธ๊ด€์„ ๊ตฌ์„ฑํ•˜์—ฌ, ์ˆ˜์‹ญ ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง„ ๋‹ค์–‘ํ•œ BRDF ์กฐํ•ฉ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์žฌ์งˆ์„ ๋‹จ์ˆœํ•œ ํ•ด์„์  ๋ชจ๋ธ๋กœ ๊ทผ์‚ฌํ•˜๋Š” ๊ฒƒ์€ ๋ถ€์ •ํ™•ํ•˜๋ฉฐ(๊ทธ๋ฆผ 3 ์ฐธ์กฐ), ๋”ฐ๋ผ์„œ ์ด๋ฅผ ์‹ค์‹œ๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๊ตฌํ˜„ํ•˜๋Š” ์ผ์€ ๋งค์šฐ ์–ด๋ ค์šด ๊ณผ์ œ์ž…๋‹ˆ๋‹ค.
์ด๋ฅผ ์œ„ํ•ด ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” i) ๊ธฐ์กด ์—ฐ๊ตฌ์˜ ํšจ๊ณผ์ ์ธ ์š”์†Œ๋ฅผ ์„ ๋ณ„์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ณ , ii) ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์  ํ˜์‹ ์„ ๋„์ž…ํ•˜๋ฉฐ, iii) ์‹ ๊ฒฝ๋ง์„ ๊ณ ์ „์  ๋ž˜์Šคํ„ฐ๋ผ์ด์ œ์ด์…˜๊ณผ ๊ฒฝ๋กœ ์ถ”์  ๋ชจ๋‘์—์„œ ๋ Œ๋”๋ง ๋ฃจํ”„์˜ ์ตœ์‹ฌ๋ถ€(inner loop)์— ํšจ์œจ์ ์œผ๋กœ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐฉ์•ˆ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ ์šฐ๋ฆฌ๋Š” ์„ฑ๋Šฅ์„ ์œ„ํ•ด ํŽธ์ง‘ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณผ๊ฐํžˆ ํฌ๊ธฐํ•˜๊ณ , ๋Œ€์‹  ์•„ํ‹ฐ์ŠคํŠธ๊ฐ€ ํŽธ์ง‘์„ ๋งˆ์นœ ์žฌ์งˆ์„ ์‹ ๊ฒฝ๋ง์ด ํ•ด์„ ๊ฐ€๋Šฅํ•œ ๋‰ด๋Ÿด ํ…์Šค์ฒ˜(Neural Texture)๋กœ '๋ฒ ์ดํ‚น(baking)'ํ•˜๋Š” ๋ฐฉ์‹์„ ์ทจํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ์—ฐ๊ตฌ์˜ ๋ชจ๋ธ์€ ๋น ๋ฅธ ๋ Œ๋”๋ง์„ ์œ„ํ•œ ์ตœ์ ํ™”๋œ ํ‘œํ˜„์œผ๋กœ, ํŽธ์ง‘ ์ดํ›„ ์ตœ์ ํ™” ๊ณผ์ •์„ ํ†ตํ•ด ๋ฒ ์ดํ‚น๋ฉ๋‹ˆ๋‹ค.
์˜ํ™” ์ˆ˜์ค€์˜ ์™ธ๊ด€์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ Œ๋”๋งํ•˜๊ธฐ ์œ„ํ•ด, i) ๊ธฐ์กด ์—ฐ๊ตฌ์—์„œ ํ•„์š”ํ•œ ์š”์†Œ๋ฅผ ์„ ๋ณ„์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ณ , ii) ์ƒˆ๋กœ์šด ์•Œ๊ณ ๋ฆฌ์ฆ˜์  ํ˜์‹ ์„ ๋„์ž…ํ•˜๋ฉฐ, iii) ์‹ ๊ฒฝ๋ง์„ ๊ณ ์ „์  ๋ž˜์Šคํ„ฐ๋ผ์ด์ œ์ด์…˜๊ณผ ๊ฒฝ๋กœ ์ถ”์  ๋ชจ๋‘์˜ ๋ Œ๋”๋ง ๋ฃจํ”„ ์ตœ์‹ฌ๋ถ€(inner loop)์— ํšจ์œจ์ ์œผ๋กœ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋Š” ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ํ•ด๋ฒ•์„ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.
์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ํŽธ์ง‘ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณผ๊ฐํžˆ ํฌ๊ธฐํ•˜๊ณ , ์ฐธ์กฐ ์žฌ์งˆ์„ ์‹ ๊ฒฝ๋ง์ด ํ•ด์„ํ•˜๋Š” ๋‰ด๋Ÿด ํ…์Šค์ฒ˜๋กœ '๋ฒ ์ดํ‚น(baking)'ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ๋น ๋ฅธ ๋ Œ๋”๋ง์„ ์œ„ํ•œ ์ตœ์ ํ™”๋œ ํ‘œํ˜„์œผ๋กœ, ํŽธ์ง‘ ์™„๋ฃŒ ํ›„ ์ตœ์ ํ™” ๊ณผ์ •์„ ํ†ตํ•ด ๋ฒ ์ดํ‚น๋ฉ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ์˜ ๋ชจ๋ธ์€ ์ธ์ฝ”๋”(encoder)์™€ ๋‘ ๊ฐœ์˜ ๋””์ฝ”๋”(decoder)๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์ด๋“ค ์‚ฌ์ด์— ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ์ž ์žฌ(Neural Latent) ํ…์Šค์ฒ˜๊ฐ€ ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ธ์ฝ”๋”๋Š” BRDF ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.
ํ‘œ 1. ๊ทธ๋ฆผ 2์— ์ œ์‹œ๋œ ์ฐธ์กฐ ์žฌ์งˆ์˜ ํ†ต๊ณ„. ์…ฐ์ด๋”ฉ ๊ทธ๋ž˜ํ”„์˜ ์…ฐ์ด๋”ฉ ๋…ธ๋“œ(a)๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ ์œผ๋กœ ๋‹ค์ˆ˜์˜ BRDF ๋ ˆ์ด์–ด(b)๋กœ ๋ณ€ํ™˜๋˜๋ฉฐ, ์ด๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ(c)๋กœ ์ œ์–ด๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” RGB ํ…์Šค์ฒ˜๋ฅผ ํ†ตํ•ด ๊ณต๊ฐ„์ ์œผ๋กœ ๋ณ€ํ™”ํ•˜๊ณ (๊ด„ํ˜ธ ์•ˆ์€ ์‚ฌ์šฉ๋œ ์ด ์ฑ„๋„ ์ˆ˜)(d), ์ตœ์ข…์ ์œผ๋กœ ์‚ฌ์šฉ๋œ RGB ๋ฉ”๊ฐ€ํ…์…€ ์ˆ˜๋Š” (e) ์—ด์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
์žฌ์งˆ
๋…ธ๋“œ(a)
๋ ˆ์ด์–ด(b)
ํŒŒ๋ผ๋ฏธํ„ฐ(c)
ํ…์Šค์ฒ˜(d)
MTexels(e)
Teapot ceramic
37
5
121
5 (11)
1174
Teapot handle
41
2
91
11 (19)
152
Slicer handle
20
5
43
3 (7)
201
Slicer blade
54
3
114
16 (40)
324
Inkwell
49
5
143
4 (11)
201
๋ชจ๋ธ์€ ์ธ์ฝ”๋” โ†’ (์ž ์žฌ ๋‰ด๋Ÿด ํ…์Šค์ฒ˜) โ†’ 2๊ฐœ์˜ ๋””์ฝ”๋”๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
์ธ์ฝ”๋”๋Š” ๋ณต์žกํ•œ BRDF ํŒŒ๋ผ๋ฏธํ„ฐ(๋Ÿฌํ”„๋‹ˆ์Šค, ๊ธˆ์†์„ฑ, ๊ตด์ ˆ ๋“ฑ)๋ฅผ ์ปดํŒฉํŠธํ•œ ๋‰ด๋Ÿด ํ‘œํ˜„(์ž ์žฌ ๊ณต๊ฐ„)์œผ๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
๋””์ฝ”๋”๋“ค์€ ์ด ์ž ์žฌ ํ‘œํ˜„์„ ๋‹ค์‹œ ๋ Œ๋”๋ง์— ํ•„์š”ํ•œ ๊ฐ’(๋ฐ˜์‚ฌ์œจ, ์ƒ˜ํ”Œ๋ง ๋ถ„ํฌ ๋“ฑ)์œผ๋กœ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค. ์˜ํ™” ์ œ์ž‘์šฉ ์žฌ์งˆ ๊ทธ๋ž˜ํ”„๋Š” ๋งค์šฐ ๋ณต์žกํ•˜๋ฉฐ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ˆ˜์‹ญ~์ˆ˜๋ฐฑ ๊ฐœ์— ๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์žฌ์งˆ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณ„์† ํŽธ์ง‘ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์‹ฌ๊ฐํ•˜๊ฒŒ ์ €ํ•˜๋˜๋ฏ€๋กœ,
์•„ํ‹ฐ์ŠคํŠธ๊ฐ€ ํŽธ์ง‘์„ ์™„๋ฃŒํ•œ ํ›„ โ†’ ๋‰ด๋Ÿด ํ…์Šค์ฒ˜๋กœ '๋ฒ ์ดํ‚น(bake)' โ†’ ์‹ค์‹œ๊ฐ„ ์—”์ง„์—์„œ ๋น ๋ฅด๊ฒŒ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.
์ฆ‰, ๋Ÿฐํƒ€์ž„์—์„œ๋Š” "์žฌ์งˆ์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ"์ด ์•„๋‹ˆ๋ผ "์ด๋ฏธ ํ•™์Šต๋œ ํ•จ์ˆ˜๋กœ ์žฌ์งˆ์„ ๋น ๋ฅด๊ฒŒ ์กฐํšŒ"ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
ํ‘œ 1์˜ ์˜์˜: ๊ฐ ์žฌ์งˆ์˜ ๋ณต์žก์„ฑ์„ ์ˆ˜์น˜๋กœ ๋ณด์—ฌ์ฃผ๋Š” ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค.
์˜ˆ์‹œ: Inkwell์€ 49๊ฐœ์˜ ๋…ธ๋“œ, 5๊ฐœ์˜ BRDF ๋ ˆ์ด์–ด, 143๊ฐœ ํŒŒ๋ผ๋ฏธํ„ฐ, 4์žฅ์˜ ํ…์Šค์ฒ˜(์ด 11์ฑ„๋„), ์•ฝ 201 ๋ฉ”๊ฐ€ํ…์…€๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ „ํ†ต์ ์ธ ๋ฐฉ์‹์œผ๋กœ๋Š” ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋ง์ด ๋ถˆ๊ฐ€๋Šฅํ•  ์ •๋„๋กœ ๋ณต์žกํ•˜๋‹ค๋Š” ์ ์„ ์ˆ˜์น˜๋กœ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ณต์žก์„ฑ์„ ๋‰ด๋Ÿด ๋ชจ๋ธ๋กœ ์••์ถ•ํ•จ์œผ๋กœ์จ, ๋™์ผํ•œ ์‹œ๊ฐ์  ํ’ˆ์งˆ์„ ํ›จ์”ฌ ํšจ์œจ์ ์œผ๋กœ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์Œ์„ ์ž…์ฆํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆผ3 - ์•ž์˜ ๋‘ ์—ด์€ ๊ทธ๋ฆผ 2์˜ ๋‹ค์ธต ํ‹ฐํฌํŠธ(Teapot) ์žฌ์งˆ์„ ๋‹จ์ˆœ ํ•ด์„์  BRDF๋กœ ๊ทผ์‚ฌํ•œ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์€ ์ด 8๊ฐœ์˜ ๊ณต๊ฐ„์ ์œผ๋กœ ๋ณ€ํ™”ํ•˜๋Š” ์ž…๋ ฅ ์ฑ„๋„๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค: ๋ฒ ์ด์Šค ์ปฌ๋Ÿฌ(3), ์ŠคํŽ™ํ˜๋Ÿฌ ๋Ÿฌํ”„๋‹ˆ์Šค(1), ์ŠคํŽ™ํ˜๋Ÿฌ ๋…ธ๋ฉ€ ๋งต(2), ์ŠคํŽ™ํ˜๋Ÿฌ๋ฆฌํ‹ฐ(1), ๋ฉ”ํƒˆ๋‹ˆ์Šค(1). ์„ธ ๋ฒˆ์งธ ์—ด์€ 8์ฑ„๋„ ์ž ์žฌ ํ…์Šค์ฒ˜๋กœ ํŒŒ๋ผ๋ฏธํ„ฐํ™”๋œ ์šฐ๋ฆฌ์˜ ๋‰ด๋Ÿด BRDF ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค. FLIP ์‹œ๊ฐํ™”๋Š” ์ฐธ์กฐ ์ด๋ฏธ์ง€(๋งˆ์ง€๋ง‰ ์—ด, ๊ทธ๋ฆผ 2 ๋ฐ ํ‘œ 1)์™€์˜ ์ง€๊ฐ์  ์ฐจ์ด๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํ•ด์„์  BRDF์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ˆ˜์น˜์ ์œผ๋กœ ์ตœ์ ํ™”๋˜๊ฑฐ๋‚˜ ์ˆ˜๋™์œผ๋กœ ์กฐ์ •๋˜์—ˆ์œผ๋‚˜, ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์ฐธ์กฐ์˜ ๋ณต์žก์„ฑ์„ ํฌ์ฐฉํ•  ํ‘œํ˜„๋ ฅ์ด ๋ถ€์กฑํ•ด ๋” ํฐ ๊ทผ์‚ฌ ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋„์ž๊ธฐ ์œ ์•ฝ(ceramic glazing)์˜ ์‹œ์ ์— ๋”ฐ๋ฅธ ํŒŒ๋ž€์ƒ‰ ๋ณ€ํ™”(color shift)๋ฅผ ์ œ๋Œ€๋กœ ์žฌํ˜„ํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
์šฐ๋ฆฌ์˜ ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์€ ์žฌ์งˆ์˜ ๋ณต์žก์„ฑ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ํ‰๊ฐ€ ๋น„์šฉ์ด ์ผ์ •ํ•˜๋ฏ€๋กœ, ๋ณต์žกํ•œ ๋จธํ‹ฐ๋ฆฌ์–ผ๋„ ์‹ค์‹œ๊ฐ„ ํŒจ์Šค ํŠธ๋ ˆ์ด์„œ์—์„œ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด (๊ทธ๋ฆผ 2์™€ ๊ฐ™์€) ๋ ˆ์ด์–ด๋“œ ๋จธํ‹ฐ๋ฆฌ์–ผ์„ ์ ์šฉํ•œ ๊ณ ์ •๋ฐ€ ์ž์‚ฐ์„ ์ œ์ž‘ํ–ˆ์œผ๋ฉฐ, ์ด๋Š” 10 cm ๊ด€์ฐฐ ๊ฑฐ๋ฆฌ์—์„œ๋„ ๋˜๋ ทํ•œ ๋””ํ…Œ์ผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋‚˜์•„๊ฐ€ ์ด๋Ÿฌํ•œ ๊ณ ๋‚œ๋„ ์ž์‚ฐ์˜ ์‹œ๊ฐ์  ์ถฉ์‹ค๋„๋ฅผ ๊ทธ๋Œ€๋กœ ์žฌํ˜„ํ•˜๋ฉด์„œ๋„, ๊ธฐ์กด์˜(์ ์ • ์ˆ˜์ค€์œผ๋กœ ์ตœ์ ํ™”๋œ) ์…ฐ์ด๋”ฉ ๋ชจ๋ธ ๋Œ€๋น„ ์…ฐ์ด๋”ฉ ์†๋„๊ฐ€ ์ตœ๋Œ€ 10๋ฐฐ ๋น ๋ฅด๊ณ , ์ƒ˜ํ”Œ๋งยทํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ(๊ทธ๋ฆผ 1)๊นŒ์ง€ ์ถ”๊ฐ€๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์‹ค์‹œ๊ฐ„ ํ”„๋ ˆ์ž„ ์†๋„์—์„œ ๋†’์€ ์‹œ๊ฐ์  ์ถฉ์‹ค๋„๋ฅผ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋‰ด๋Ÿด ๋ชจ๋ธ๊ณผ ์‹œ์Šคํ…œ ์ฐจ์› ๋ชจ๋‘์˜ ํ˜์‹ ์ด ํ•„์š”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์ฒด์ ์ธ ํ˜์‹  ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
โ€ข
ํ•„๋ฆ„ ํ€„๋ฆฌํ‹ฐ ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ์„ ์œ„ํ•œ ์™„์ „ํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ
โ€ข
์ธ์ฝ”๋”๋ฅผ ์ด์šฉํ•œ ๊ธฐ๊ฐ€ํ…์…€๊ธ‰ ์ž์‚ฐ์— ๋Œ€ํ•œ ์‹ค์šฉ์  ํ•™์Šต(tracable training)
โ€ข
๋…ธ๋ฉ€ ๋งคํ•‘๊ณผ ์ƒ˜ํ”Œ๋ง์„ ์œ„ํ•œ ํ”„๋ผ์ด์–ด(prior)๋ฅผ ํฌํ•จํ•œ ๋””์ฝ”๋”
โ€ข
์‹ค์‹œ๊ฐ„ ์…ฐ์ด๋”์—์„œ์˜ ์‹ ๊ฒฝ๋ง ํšจ์œจ์  ์‹คํ–‰
์šฐ๋ฆฌ๋Š” ๋ชจ๋ธ๊ณผ ์‹œ์Šคํ…œ์ด ํ•จ๊ป˜ ๋ฐœ์ „ํ•ด์•ผ ๋‰ด๋Ÿด ์…ฐ์ด๋”์˜ ์‹ค์‹œ๊ฐ„ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ๋ณด๋ฉฐ, ์ด๋ฅผ ๋’ท๋ฐ›์นจํ•˜๊ธฐ ์œ„ํ•ด ๋ณธ ์‹œ์Šคํ…œ์„ ๊ฒฌ๊ณ ํ•œ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ค๊ณ„ํ•˜์˜€๋‹ค.

2. RELATED WORK

์ด ์ ˆ์—์„œ๋Š” ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ์žฌ์งˆ ํ‘œํ˜„, ํ•„ํ„ฐ๋ง, ์ƒ˜ํ”Œ๋ง๊ณผ ๊ด€๋ จ๋œ ์„ ํ–‰ ์—ฐ๊ตฌ๋ฅผ ๊ฒ€ํ† ํ•˜๋ฉฐ, ๊ณ ์ „์ ์ธ ์žฌ์งˆ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๊ฐœ์š”๋Š” โ€œPhysically Based Rendering: From Theory to Implementationโ€ (3rd Edition, 2016)์„ ์ฐธ๊ณ ํ•œ๋‹ค.

2.1 Nerual appearance modeling

์šฐ๋ฆฌ๋Š” ๊ธฐ์กด ์žฌ์งˆ์„ ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ , ์ด๋ฅผ ๊ธฐํ•˜ํ•™(classical geometry) ์œ„์—์„œ ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋งํ•˜๋Š”๋ฐ ์ง‘์ค‘ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ray marching ๊ธฐ๋ฐ˜์˜ ์‹ ๊ฒฝ ํ•„๋“œ (ray marched nerual fields)[Baatz et al. 2022; Mildenhall et al. 2020; Mรผller et al. 2022] ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์€ ํ–ฅํ›„ ์œ ํšจํ•œ ๋Œ€์•ˆ์ด ๋  ์ˆ˜ ์žˆ๋‹ค.
์šฐ๋ฆฌ์˜ ์—ฐ๊ตฌ ๋ชฉํ‘œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ Neural BRDFs [Fan et al. 2022; Kuznetsov et al. 2019, 2021; Rainer et al. 2020, 2019; Sztrajman et al. 2021; Zheng et al. 2021] ๊ณผ ๋น„์Šทํ•˜๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•๋“ค์˜ ๊ณตํ†ต์ ์€ ์‹ ๊ฒฝ๋ง์„ Pair of direction(๋น›์ด ๋“ค์–ด์˜ค๋Š” ๋ฐฉํ–ฅ, ์นด๋ฉ”๋ผ๋‚˜ ๋ˆˆ์œผ๋กœ ๊ฐ€๋Š” ๋ฐฉํ–ฅ)์„ ์กฐ๊ฑด์œผ๋กœ ๋„ฃ์–ด์„œ ์—ฐ๊ตฌ ํ•œ๋‹ค. ์„ ํƒ์ ์œผ๋กœ ํ›ˆ๋ จ๋œ Latent code ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฌํ•œ Latent code๋Š” ํ…์Šค์ฒ˜์— ์ €์žฅ๋˜๋ฉฐ [Thies et al. 2019], ๊ณ ์ „์ ์ธ UV ๋งคํ•‘(classical UV mapping) ์„ ํ†ตํ•ด ์ƒ˜ํ”Œ๋ง๋˜์–ด ๊ณต๊ฐ„์ ์œผ๋กœ ๋ณ€ํ™”ํ•˜๋Š” BRDFs ๋ฅผ ์ง€์›ํ•œ๋‹ค.
Latent texture ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ Kuznetsov et al. [2019]์˜ NeuMIP ์—ฐ๊ตฌ์—์„œ๋Š” ๋ฌด์ž‘์œ„๋กœ ์ดˆ๊ธฐํ™”๋œ ์ž ์žฌ ํ…์Šค์ฒ˜๋ฅผ ์—ญ์ „ํŒŒ๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ตœ์ ํ™”(direct optimization)ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํ•˜์ง€๋งŒ ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ํ…์…€์„ ๊ฐ€์ง„ ๋Œ€๊ทœ๋ชจ ํ…์Šค์ฒ˜์—์„œ๋Š” ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค. ๋ฐ˜๋Œ€๋กœ, Rainer et al. [2019]๋Š” ์˜คํ† ์ธ์ฝ”๋”(auto-encoder) ์•„ํ‚คํ…์ฒ˜์— ์˜์กดํ•˜์—ฌ ์ผ๋ จ์˜ ๋ฐ˜์‚ฌ์œจ ์ธก์ •๊ฐ’์„ ์ž ์žฌ ์ฝ”๋“œ๋กœ ์ธ์ฝ”๋”ฉํ•œ๋‹ค.
Kuznetsov et al. [2019]์˜ NeuMIP ์—ฐ๊ตฌ์—์„œ๋Š” ๋ฌด์ž‘์œ„๋กœ ์ดˆ๊ธฐํ™”๋œ ์ž ์žฌ ํ…์Šค์ฒ˜๋ฅผ ์—ญ์ „ํŒŒ๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ตœ์ ํ™”(direct optimization)ํ•˜๋Š” ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋Š” ๋‹จ์ˆœํ•˜์ง€๋งŒ ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ํ…์…€์„ ๊ฐ€์ง„ ๋Œ€๊ทœ๋ชจ ํ…์Šค์ฒ˜์—์„œ๋Š” ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค. ๋ฐ˜๋Œ€๋กœ, Rainer et al. [2019]๋Š” ์˜คํ† ์ธ์ฝ”๋”(auto-encoder) ์•„ํ‚คํ…์ฒ˜์— ์˜์กดํ•˜์—ฌ ์ผ๋ จ์˜ ๋ฐ˜์‚ฌ์œจ ์ธก์ •๊ฐ’์„ ์ž ์žฌ ์ฝ”๋“œ๋กœ ์ธ์ฝ”๋”ฉํ•œ๋‹ค.
์šฐ๋ฆฌ๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•œ๋‹ค: ๋จผ์ € ์ธ์ฝ”๋”๋ฅผ ํ•™์Šต์‹œํ‚ค๊ณ , ํ•™์Šต ๋„์ค‘์— ์ด๋ฅผ ์‚ฌ์šฉํ•ด ๊ณ„์ธต์  ์ž ์žฌ ํ…์Šค์ฒ˜(hierarchical latent texture)๋ฅผ ์ƒ์„ฑํ•œ ํ›„, ์ด๋ฅผ ์ง์ ‘ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ๋ฏธ์„ธ ์กฐ์ •(finetune)ํ•œ๋‹ค. ์ด ์ ‘๊ทผ๋ฒ•์€ ์ธ์ฝ”๋”-๋””์ฝ”๋” ์•„ํ‚คํ…์ฒ˜์˜ ์†๋„์™€ ์ง์ ‘ ์ตœ์ ํ™”์˜ ์œ ์—ฐ์„ฑ์„ ๊ฒฐํ•ฉํ•œ ๊ฒƒ์ด๋‹ค. Rainer et al. [2019]์™€ ๋‹ฌ๋ฆฌ, ์šฐ๋ฆฌ๋Š” ๋ฐ˜์‚ฌ์œจ ์ธก์ •๊ฐ’์„ ์ธ์ฝ”๋”ฉํ•˜์ง€ ์•Š๊ณ , ํ•ด๋‹น ์žฌ์งˆ ํŒŒ๋ผ๋ฏธํ„ฐ ์ง‘ํ•ฉ(albedo, roughness, normal ๋“ฑ)์„ ์ธ์ฝ”๋”ฉํ•œ๋‹ค.
Zheng et al. [2021]๊ณผ Sztrajman et al. [2021]์€ ์ž…๋ ฅ ๋ฐฉํ–ฅ(input directions)์„ ๋ฐ˜๊ฐ ์ขŒํ‘œ๊ณ„(half-angle coordinate system) [Rusinkiewicz 1998]๋กœ ์žฌํŒŒ๋ผ๋ฏธํ„ฐํ™”ํ•˜์˜€๋‹ค. ์ด๋Ÿฌํ•œ ํŠน์ • ์ธ์ฝ”๋”ฉ์€ ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ์—๋Š” ํฐ ์ด์ ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์›๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ทธ๋ž˜ํ”ฝ์Šค ์‚ฌ์ „ ์ง€์‹, ์ฆ‰ ์‹ ๊ฒฝ๋ง์ด ํ•™์Šตํ•œ ์…ฐ์ด๋”ฉ ์ขŒํ‘œ๊ณ„๋กœ์˜ ํšŒ์ „์„ ๋„์ž…ํ•˜์˜€์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๋…ธ๋ฉ€ ๋งต๊ณผ ์—ฌ๋Ÿฌ ๊ฒน์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์žฌ์งˆ์„ ๋ณด๋‹ค ํšจ๊ณผ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค. Fan et al. [2022]์€ ํ•™์Šต ์„ธํŠธ์— ํฌํ•จ๋˜์ง€ ์•Š์€ ์ƒˆ๋กœ์šด BRDF๋„ ์ž ์žฌ ์ฝ”๋“œ(layered latents) ๋ฅผ ์ธต์ธต์ด ์Œ“๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋ฐฉ๋ฒ•์€ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์—๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š์€ ๋Œ€๊ทœ๋ชจ ์‹ ๊ฒฝ๋ง์„ ํ•„์š”๋กœ ํ•œ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ž‘์€ ๊ทœ๋ชจ์˜ ๋„คํŠธ์›Œํฌ์— ์ง‘์ค‘ํ•˜๋ฉฐ, ํ•™์Šต ์‹œ ์‚ฌ์šฉ๋œ ์žฌ์งˆ๋งŒ ๋ Œ๋”๋งํ•˜๊ณ  ์ผ๋ฐ˜ํ™”๋Š” ์ถ”๊ตฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋Œ€์‹ , ์—ฌ๋Ÿฌ ๊ฒน์˜ ์žฌ์งˆ(layered materials) ์€ ๊ฐ ์ธต์„ ๋”ฐ๋กœ ํ‘œํ˜„ํ•˜์ง€ ์•Š๊ณ  ๋ชจ๋“  ์ธต์˜ ๊ฒฐํ•ฉ ํšจ๊ณผ๋ฅผ ํ•œ ๋ฒˆ์— ํฌ์ฐฉํ•˜์—ฌ ์ง€์›ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•จ์œผ๋กœ์จ ์›๋ž˜ ์žฌ์งˆ์˜ ๋ช…์‹œ์ ์ธ ๋ ˆ์ด์–ด ํ‘œํ˜„๋„, ์‹ ๊ฒฝ๋ง ์ปดํฌ๋„ŒํŠธ์˜ ์ถ”๊ฐ€์  ๋ ˆ์ด์–ด๋ง๋„ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋ฆผ 4. ์šฐ๋ฆฌ์˜ ์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ BRDF๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ Œ๋”๋Ÿฌ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ๊ด‘์„ (ray)์ด ์‹ ๊ฒฝ๋ง BRDF๊ฐ€ ์ ์šฉ๋œ ํ‘œ๋ฉด์— ๋„๋‹ฌํ•˜๋ฉด, ๋จผ์ € ํ‘œ์ค€์ ์ธ (u, v) ์ขŒํ‘œ์™€ MIP ๋ ˆ๋ฒจ โ„“์„ ๊ณ„์‚ฐํ•œ ๋’ค, ํ•ด๋‹น ์žฌ์งˆ์˜ ์ž ์žฌ ํ…์Šค์ฒ˜(latent texture)๋ฅผ ์กฐํšŒํ•œ๋‹ค. ์ด์–ด์„œ ์ž ์žฌ ์ฝ”๋“œ z(x)๋ฅผ ๋ Œ๋”๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•„์š”์— ๋”ฐ๋ผ ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ์˜ ์‹ ๊ฒฝ๋ง ๋””์ฝ”๋”์— ์ž…๋ ฅํ•œ๋‹ค. BRDF ๋””์ฝ”๋”(์œ„ ์ƒ์ž): z(x)๋กœ๋ถ€ํ„ฐ ๋‘ ๊ฐœ์˜ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„(shading frame)์„ ์ถ”์ถœํ•˜๊ณ , ์ž…์‚ฌ ๋ฐฉํ–ฅ ฯ‰i์™€ ์ถœ์‚ฌ ๋ฐฉํ–ฅ ฯ‰o๋ฅผ ๊ฐ๊ฐ ์ด ํ”„๋ ˆ์ž„์— ๋งž๊ฒŒ ๋ณ€ํ™˜ํ•œ๋‹ค. ๋ณ€ํ™˜๋œ ๋ฐฉํ–ฅ๋“ค๊ณผ z(x)๋Š” ๋‹ค์ธต ํผ์…‰ํŠธ๋ก (MLP)์— ์ž…๋ ฅ๋˜์–ด BRDF ๊ฐ’์„ ์˜ˆ์ธกํ•˜๋ฉฐ, ํ•„์š”์— ๋”ฐ๋ผ ๋ฐฉํ–ฅ์„ฑ ์•Œ๋ฒ ๋„(directional albedo)๋„ ํ•จ๊ป˜ ์ถœ๋ ฅํ•œ๋‹ค. ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋Ÿฌ(์•„๋ž˜ ์ƒ์ž): ๋ถ„์„์ ์ธ two-lobe ๋ถ„ํฌ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”์ถœํ•œ ํ›„, ์ด๋ฅผ ์‚ฌ์šฉํ•ด ์ถœ์‚ฌ ๋ฐฉํ–ฅ ฯ‰o๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๊ฑฐ๋‚˜ ํ™•๋ฅ ๋ฐ€๋„ํ•จ์ˆ˜(PDF) p(x,ฯ‰i,ฯ‰o)๋ฅผ ํ‰๊ฐ€ํ•œ๋‹ค. BRDF ๋””์ฝ”๋”๋Š” โ€œ๋น›์˜ ์„ธ๊ธฐโ€๋ฅผ ์˜ˆ์ธกํ•˜๊ณ , Importance Sampler๋Š” โ€œ์–ด๋””๋กœ ๋น›์„ ์ถ”์ ํ•ด์•ผ ํ• ์ง€โ€๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
์™œ Importance Sampling์ด ํ•„์š”ํ•œ๊ฐ€?

2.2 Neural material filtering

์…ฐ์ด๋”ฉ์œผ๋กœ ์ธํ•œ ์•จ๋ฆฌ์–ด์‹ฑ(aliasing)์€ ๋ณดํ†ต ๋ฐ‰๋งคํ•‘(mipmapping)์œผ๋กœ ํ•ด๊ฒฐํ•˜์ง€๋งŒ, ์„ ํ˜• ํ•„ํ„ฐ๋ง(linear filtering) ์‹œ ์™ธํ˜•์ด ํฌ๊ฒŒ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋Š” ๋น„ํ™•์‚ฐ(non-diffuse) ์žฌ์งˆ์—์„œ๋Š” ํŠน๋ณ„ํ•œ ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. LEAN [Olano and Baker 2010], LEADR [Dupuy et al. 2013], MIPNet [Gauthier et al. 2022]๊ณผ ๊ฐ™์€ ๊ธฐ๋ฒ•๋“ค์€ ํ†ต๊ณ„์  ๋ฐฉ๋ฒ•์ด๋‚˜ ์‹ ๊ฒฝ๋ง ๋‹ค์šด์ƒ˜ํ”Œ๋ง์„ ํ™œ์šฉํ•˜์—ฌ, ์‚ฌ์ „ ํ•„ํ„ฐ๋ง๋œ ์ฐธ์กฐ๊ฐ’(prefiltered ground truth)์— ๋” ๊ฐ€๊น๊ฒŒ ๋งž์ถ˜๋‹ค. ์ด๋Ÿฌํ•œ ์ ‘๊ทผ๋“ค์ด ๊ธฐ์กด BRDF์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ์‹์ธ ๋ฐ˜๋ฉด, ์šฐ๋ฆฌ๋Š” ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ๊ณผ ๊ณ„์ธต์  ํ…์Šค์ฒ˜(hierarchical textures)๋ฅผ ํ•™์Šตํ•˜์—ฌ ํ•„ํ„ฐ๋ง๋œ ์™ธํ˜•์„ ์ง์ ‘ ํ‘œํ˜„ํ•œ๋‹ค. ์ด๋Š” Kuznetsov et al. [2021]๊ณผ Bako et al. [2023]์˜ ์ ‘๊ทผ๊ณผ ์œ ์‚ฌํ•˜๋‚˜, ๋‹ค๋ฅธ ๋ณด๊ฐ„(interpolation) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค(์ž์„ธํ•œ ๋‚ด์šฉ์€ 4.1์ ˆ ์ฐธ๊ณ ). ๋‹ค๋งŒ, ์šฐ๋ฆฌ๋Š” ์—ฌ์ „ํžˆ LEAN [Olano and Baker 2010]์„ ๊ทธ๋ž˜ํ”ฝ์Šค ์‚ฌ์ „ ์ง€์‹(graphics prior)์œผ๋กœ ํ™œ์šฉํ•˜์—ฌ ์ธ์ฝ”๋”์˜ ์ž…๋ ฅ์„ ํ•„ํ„ฐ๋งํ•œ๋‹ค.

2.3 Neural material importance sampling

์‹ ๊ฒฝ๋ง ๊ธฐ๋ฐ˜ ์žฌ์งˆ์˜ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง์— ๊ด€ํ•œ ๊ธฐ์กด ์—ฐ๊ตฌ๋Š” ๋‹ค์Œ ์„ธ ๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
i) ๋ถ„์„์ (analytical) ๊ทผ์‚ฌ ๋ถ„ํฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•,
ii) ์ •๊ทœํ™” ํ๋ฆ„(normalizing flows)์„ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•,
iii) ๋„คํŠธ์›Œํฌ๊ฐ€ ์ง์ ‘ ์ƒ˜ํ”Œ์„ ์›Œํ•‘(warping)ํ•˜๋Š” ๋ฐฉ๋ฒ•.
Neural material sampler์— ๋Œ€ํ•œ ๊ฐœ์š”๋Š” Xu et al. [2023]์„ ์ฐธ๊ณ ํ•˜๋ผ.
์šฐ๋ฆฌ๋Š” ์ฒซ ๋ฒˆ์งธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰, ์‹ ๊ฒฝ๋ง์ด ๋ถ„์„์  ๋ถ„ํฌ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฐ์ถœํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. Sztrajman et al. [2021]๊ณผ Fan et al. [2022]์ด Phong-Blinn ๋ชจ๋ธ์ด๋‚˜ ๋“ฑ๋ฐฉ์„ฑ ๊ฐ€์šฐ์‹œ์•ˆ(isotropic Gaussian)์„ ์‚ฌ์šฉํ•œ ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ, ์šฐ๋ฆฌ๋Š” ํ‘œ์ค€ ๋งˆ์ดํฌ๋กœํŒจ์‹ฏ(microfacet) ๋ชจ๋ธ [Trowbridge and Reitz 1975; Walter et al. 2007]์„ ํ™œ์šฉํ•œ๋‹ค. ๋งˆ์ดํฌ๋กœํŒจ์‹ฏ ๋ชจ๋ธ์€ (ํ•„ํ„ฐ๋ง๋œ) ํ˜„์‹ค์ ์ธ ์žฌ์งˆ์—์„œ ํ”ํžˆ ๋‚˜ํƒ€๋‚˜๋Š” ๋น„๋“ฑ๋ฐฉ์„ฑ(anisotropy) ์„ ๋” ์ž˜ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง์„ ์œ„ํ•œ ์ •๊ทœํ™” ํ๋ฆ„(normalizing flows) [Dinh et al. 2017; Mรผller et al. 2019]์€ Zheng et al. [2021]์ด ์ฒ˜์Œ์œผ๋กœ ์‹ ๊ฒฝ๋ง BRDF์— ์ ์šฉํ•˜์˜€๋‹ค. ์ถฉ๋ถ„ํžˆ ํฐ ๋„คํŠธ์›Œํฌ๋ผ๋ฉด ๋ณต์žกํ•œ ๋ถ„ํฌ๋„ ์ •ํ™•ํžˆ ๊ทผ์‚ฌํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์šฐ๋ฆฌ๋Š” ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ์ด ๋น„์Šทํ•œ ์ˆ˜์ค€์—์„œ ๋ถ„์„์  ๊ทผ์‚ฌ(distribution proxy)์˜ ํ’ˆ์งˆ์„ ๋”ฐ๋ผ์žก๋Š” ๋ฐ ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค.
์„ธ ๋ฒˆ์งธ ์ ‘๊ทผ ๋ฐฉ์‹์€ Bai et al. [2023]์ด ์ตœ๊ทผ ํƒ๊ตฌํ•œ ๊ฒƒ์œผ๋กœ, ๋„คํŠธ์›Œํฌ๊ฐ€ ์ง์ ‘ ์ƒ˜ํ”Œ์„ ์›Œํ•‘ํ•˜๋„๋ก ํ•˜๋˜ 2D ์ตœ์  ์ˆ˜์†ก(optimal transport)์œผ๋กœ ํ•™์Šต์„ ๋ณด์กฐํ•œ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ฐฉ๋ฒ•์€ ํ•™์Šต๋œ ๋ฐ€๋„๊ฐ€ ์›Œํ•‘์˜ ์‹ค์ œ ์•ผ์ฝ”๋น„์•ˆ ํ–‰๋ ฌ์‹(Jacobian determinant)๊ณผ ์™„์ „ํžˆ ์ผ์น˜ํ•˜์ง€ ์•Š์•„, ํŽธํ–ฅ(bias)์ด ๋ฌดํ•œ์ • ์ปค์งˆ ์ˆ˜ ์žˆ๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋Ÿฌ์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์ด ๋ฐฉ๋ฒ•์€ ์ œ์™ธํ•˜์˜€๋‹ค.
์›Œํ•‘(warping)์ด๋ž€?

3. OVERVIEW

์šฐ๋ฆฌ์˜ ๋ชฉํ‘œ๋Š” ๋น›๊ณผ ๋ฌผ์งˆ์˜ ์ƒํ˜ธ์ž‘์šฉ์—์„œ ๋น„๋กฏ๋˜๋Š” ์‹ค์ œ ์žฌ์งˆ์˜ ์™ธ๊ด€์„ ์žฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋Š” ๊ณต๊ฐ„์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์–‘๋ฐฉํ–ฅ ๋ฐ˜์‚ฌ ๋ถ„ํฌ ํ•จ์ˆ˜(SVBRDF) f(x,ฯ‰i,ฯ‰o)f(x, \omega_i, \omega_o)๋กœ ํ‘œํ˜„๋œ๋‹ค.
์ด ํ•จ์ˆ˜๋Š” ์ž…์‚ฌ ๋ณต์‚ฌํœ˜๋„ Li(x,ฯ‰i)L_i(x, \omega_i)์— ์˜ํ•ด ๋ฐœ์ƒํ•˜๋Š” ์‚ฐ๋ž€๋œ ๋ฏธ์†Œ ์ถœ์‚ฌ ๋ณต์‚ฌํœ˜๋„ dLo(x,ฯ‰o)dL_o(x, \omega_o)์˜ ์–‘์„ ์ •๋Ÿ‰ํ™”ํ•œ๋‹ค:
f(x,ฯ‰i,ฯ‰o)=dLo(x,ฯ‰o)Li(x,ฯ‰i)cosโกฮธiโ€‰dฯ‰i f(x, \omega_i, \omega_o) = \frac{dL_o(x, \omega_o)} {L_i(x, \omega_i)\cos \theta_i \, d\omega_i}
f=์ถœ์‚ฌ๊ด‘์ž…์‚ฌ๊ด‘f = \frac{์ถœ์‚ฌ๊ด‘}{์ž…์‚ฌ๊ด‘}
์—ฌ๊ธฐ์„œ xx๋Š” ํ‘œ๋ฉด์˜ ํ•œ ์ ์ด๊ณ , ฯ‰i,ฯ‰o\omega_i, \omega_o๋Š” ๊ฐ๊ฐ ์ž…์‚ฌ ๋ฐ ์ถœ์‚ฌ ๋ฐฉํ–ฅ์ด๋‹ค.
SVBRDF๋Š” ์ƒ๋ฐ˜๊ตฌ H2H^2 ์ „์ฒด์— ๋Œ€ํ•ด ์ ๋ถ„ํ•จ์œผ๋กœ์จ ๋ฐฉํ–ฅ ์•Œ๋ฒ ๋„(directional albedo) ฮฑ(x,ฯ‰o)\alpha(x, \omega_o)๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค:
ฮฑ(x,ฯ‰o)=โˆซH2f(x,ฯ‰i,ฯ‰o)cosโกฮธiโ€‰dฯ‰i\alpha(x, \omega_o) = \int_{H^2} f(x, \omega_i, \omega_o)\cos \theta_i \, d\omega_i
์šฐ๋ฆฌ ๋ชจ๋ธ์€ ์œ„ ๋‘ ๊ฐ€์ง€ ๋ฌผ๋ฆฌ๋Ÿ‰(์ฆ‰, SVBRDF์™€ ๋ฐฉํ–ฅ ์•Œ๋ฒ ๋„)์„ ๋ชจ๋‘ ํ‘œํ˜„ํ•œ๋‹ค(๊ทธ๋ฆผ 4 ์ฐธ๊ณ ). ์šฐ๋ฆฌ๋Š” ์ด ๋ชจ๋ธ์„ ๊ธฐ์กด(์ฐธ์กฐ) SVBRDF์˜ ์ตœ์ ํ™”๋œ ํ‘œํ˜„์œผ๋กœ ์„ค๊ณ„ํ•˜์˜€๋‹ค. ์ฆ‰, ๋ชฉํ‘œ ์žฌ์งˆf(x,ฯ‰i,ฯ‰o)f(x, \omega_i, \omega_o)๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด๋ฅผ ๊ฐ€๊น๊ฒŒ ๊ทผ์‚ฌํ•˜๋Š” ํ•จ์ˆ˜ gโ‰ˆfg \approx f๋ฅผ ์ œ๊ณตํ•œ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์ฐธ์กฐ ์žฌ์งˆ์„ ์ถฉ์‹คํžˆ ๊ทผ์‚ฌํ•˜๋ฉด์„œ๋„ ์‹ค์‹œ๊ฐ„(real-time) ์œผ๋กœ ํ‰๊ฐ€๋  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์œ ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์„ฑ์งˆ๋“ค์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

์‹œ๊ฐ์  ์ถฉ์‹ค๋„ (Visual fidelity)

์šฐ๋ฆฌ์˜ ์ฃผ์š” ๋ชฉํ‘œ๋Š” ๋‹ค์ธต ์žฌ์งˆ(low-roughness ์œ ์ „์ฒด ์ฝ”ํŒ…, ๋ฐ˜์ง์ž„(glints)์ด ์žˆ๋Š” ๋„์ฒด, ์–ผ๋ฃฉ(stains), ์ด๋ฐฉ์„ฑ(anisotropy) ๋“ฑ ๋‹ค์–‘ํ•œ ๋‚œ์ด๋„์˜ ์žฌ์งˆ์„ ์ถฉ์‹คํ•˜๊ฒŒ ์žฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋Š” ๊ณต๊ฐ„์ ์œผ๋กœ ๊ท ์ผํ•œ ์ธก์ • ์žฌ์งˆ ๋ฐ์ดํ„ฐ์…‹ [Dupuy and Jakob 2018; Matusik et al. 2003]์— ๋‹จ์ˆœํžˆ ๋งž์ถ”๋Š” ์ˆ˜์ค€์„ ๋„˜์–ด, ๊ณ ํ•ด์ƒ๋„ ํ…์Šค์ฒ˜(4K ์ด์ƒ)์™€ ์ •๊ตํ•œ ๋…ธ๋ฉ€ ๋งต์„ ๊ฐ€์ง„ ์žฌ์งˆ์„ ๋ช…์‹œ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ณ ์ž ํ•œ๋‹ค.

๋ ˆ๋ฒจ ์˜ค๋ธŒ ๋””ํ…Œ์ผ (Level of detail)

ํ•„ํ„ฐ๋ง๋˜์ง€ ์•Š์€ ๊ณ ํ•ด์ƒ๋„ ์žฌ์งˆ์€ ์ถ•์†Œ ๋ Œ๋”๋ง ์‹œ ์•จ๋ฆฌ์–ด์‹ฑ(aliasing) ์ด ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ๊ณ , ์ ์ ˆํžˆ ํ•„ํ„ฐ๋ง๋œ ๋ฐ˜์‚ฌ์œจ์€ Pixel footprint ๋‚ด์—์„œ ํฌ๊ฒŒ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๋‚ฎ์€ ์ƒ˜ํ”Œ ์ˆ˜์—์„œ๋„ ๋ ˆ๋ฒจ ์˜ค๋ธŒ ๋””ํ…Œ์ผ(LOD) ๋ Œ๋”๋ง์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” **ํ•„ํ„ฐ๋ง๋œ ๋ฃฉ์—…(filtered lookup)**์„ ์ง€์›ํ•˜๊ณ ์ž ํ•œ๋‹ค.

์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง (Importance sampling)

BRDF๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ๋ฟ ์•„๋‹ˆ๋ผ, **๋ชฌํ…Œ์นด๋ฅผ๋กœ ์ถ”์ •๊ธฐ(์˜ˆ: ๊ฒฝ๋กœ ์ถ”์ , path tracing)**์—์„œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํšจ๊ณผ์ ์ธ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง ์ „๋žต๋„ ํ•„์š”ํ•˜๋‹ค.
์—ฌ๊ธฐ์—๋Š” ํŠนํžˆ ์–ด๋ ค์šด ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์ธ ์žฌ์งˆ์˜ ํ•„ํ„ฐ๋ง๋œ ๋ฒ„์ „์— ๋Œ€ํ•œ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง๋„ ํฌํ•จ๋œ๋‹ค.

์„ฑ๋Šฅ (Performance)

์šฐ๋ฆฌ์˜ ๋‰ด๋Ÿด ํ‘œํ˜„(neural representation)์€ ์‹ค์‹œ๊ฐ„(real-time) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค.
๋”ฐ๋ผ์„œ ์žฌ์งˆ ํ‰๊ฐ€(material evaluation)๋Š” ์ „์ฒด ํ”„๋ ˆ์ž„ ์‹œ๊ฐ„์˜ ์ผ๋ถ€๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.
๋˜ํ•œ, ๊ฒฝ๋กœ ์ถ”์ (path tracing) ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์ด ํ•„์š”ํ•˜๋‹ค.
์ด๋Š” ์žฌ์งˆ์ด ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ๋ฐ˜์‚ฌ(bounce)์— ๊ฑธ์ณ **์ž„์˜์˜ ์œ„์น˜(random locations)**์—์„œ ํ‰๊ฐ€๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋ฉฐ, ์ด๋กœ ์ธํ•ด ํฐ ๊ทœ๋ชจ์˜ ๋„คํŠธ์›Œํฌ๋‚˜ ํ•ฉ์„ฑ๊ณฑ(convolution)์— ์˜์กดํ•˜๋Š” ๋ชจ๋ธ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

์‹ค์šฉ์„ฑ (Practicality)

๋‰ด๋Ÿด ์žฌ์งˆ ์ตœ์ ํ™”๋Š” ์˜คํ”„๋ผ์ธ ๊ณผ์ •์—์„œ ์ด๋ฃจ์–ด์ง€์ง€๋งŒ, ๊ณ ํ•ด์ƒ๋„ ์žฌ์งˆ(4K ์ด์ƒ) ์— ๋Œ€ํ•ด์„œ๋„ ํ•™์Šต ์‹œ๊ฐ„์ด ํ•ฉ๋ฆฌ์ ์ด์–ด์•ผ ํ•œ๋‹ค.
ํ›ˆ๋ จ์— ๋ฉฐ์น ์ด๋‚˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์€ ์‹ค์šฉ์ ์ด์ง€ ์•Š์œผ๋ฉฐ, ์‹œ์Šคํ…œ์˜ ํ™œ์šฉ์„ฑ์„ ๋–จ์–ด๋œจ๋ฆฐ๋‹ค.
์šฐ๋ฆฌ์˜ ์ฃผ์š” ์ดˆ์ ์€ ์•ž์„œ ์–ธ๊ธ‰ํ•œ ์กฐ๊ฑด๋“ค์„ ์ถฉ์กฑํ•˜๋Š” ์‹œ์Šคํ…œ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์žˆ๋‹ค.
์ด์ „์˜ ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ ์—ฐ๊ตฌ๋“ค๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, ์šฐ๋ฆฌ๋Š” ์—๋„ˆ์ง€ ๋ณด์กด(energy conservation) ๊ณผ ์ƒํ˜ธ์„ฑ(reciprocity) ์— ๋Œ€ํ•œ ๋ช…์‹œ์ ์ธ ์ œ์•ฝ์„ ๋‘์ง€ ์•Š๊ณ , MLP(๋‹ค์ธต ํผ์…‰ํŠธ๋ก ) ์ด ๋ฐ์ดํ„ฐ๋กœ๋ถ€ํ„ฐ ์ด๋ฅผ ํ•™์Šตํ•˜๋„๋ก ํ•œ๋‹ค.
๋˜ํ•œ, ๋ธํƒ€ ์„ฑ๋ถ„(delta components) ์„ ํฌํ•จํ•˜๋Š” BRDF๋‚˜ (๊ฑฐ์นœ) ๊ตด์ ˆ๊ณผ ๊ฐ™์€ ํŠน์ • ํŠน์ˆ˜ ์ผ€์ด์Šค๋Š” ๋ฐฐ์ œํ•œ๋‹ค.
๋‹ค๋งŒ, ์ดˆ๊ธฐ ์‹คํ—˜์—์„œ๋Š” ์šฐ๋ฆฌ ๋ชจ๋ธ์ด ํ›„์ž์˜ ๊ฒฝ์šฐ(๊ฑฐ์นœ ๊ตด์ ˆ)๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค.
4์žฅ๊ณผ 5์žฅ์—์„œ๋Š” ๋‰ด๋Ÿด ๋ชจ๋ธ์˜ ์•„ํ‚คํ…์ฒ˜์™€ ํ•™์Šต ์ ˆ์ฐจ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค. ์ด์–ด 6์žฅ์—์„œ๋Š” ๊ฐœ๋ณ„ ๊ตฌ์„ฑ ์š”์†Œ๋“ค์— ๋Œ€ํ•œ ๋น„๊ต ๋ถ„์„์„ ๋‹ค๋ฃฌ๋‹ค. ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ์ด ์šฐ๋ฆฌ์˜ ์ฃผ์š” ๋ชฉํ‘œ ์ค‘ ํ•˜๋‚˜์ด๋ฏ€๋กœ, 7์žฅ์—์„œ๋Š” ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ ์…ฐ์ด๋” ๋‚ด๋ถ€์—์„œ ๋‰ด๋Ÿด ๋ชจ๋ธ์„ ํšจ์œจ์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ง‘์ค‘์ ์œผ๋กœ ๋‹ค๋ฃฌ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ 8์žฅ์—์„œ๋Š” ์—ฌ๋Ÿฌ ๋‚œ์ด๋„ ๋†’์€ ์žฅ๋ฉด์—์„œ์˜ ํ’ˆ์งˆ๊ณผ ์‹คํ–‰ ์„ฑ๋Šฅ(runtime performance) ์„ ์‹œ์—ฐํ•˜๋ฉฐ ๊ฒฐ๋ก ์„ ๋งบ๋Š”๋‹ค.

4. Neural BRDF Decoder

์ด ์ ˆ์—์„œ๋Š” ๊ทธ๋ฆผ 4์— ์ œ์‹œ๋œ ์šฐ๋ฆฌ์˜ ์™ธ๊ด€ ๋ชจ๋ธ(appearance model) ์•„ํ‚คํ…์ฒ˜๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
์ด ๋ชจ๋ธ์€ ํฌ๊ฒŒ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค:
1.
์ž ์žฌ ํ…์Šค์ฒ˜(latent texture)
2.
๋‘ ๊ฐœ์˜ ๋‰ด๋Ÿด ๋””์ฝ”๋”(neural decoders)
์ด ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ๋Š” ํŠน์ • ์žฌ์งˆ(material)์ด๋‚˜ ์—ฌ๋Ÿฌ ์žฌ์งˆ ์ง‘ํ•ฉ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๊ณต๋™์œผ๋กœ ์ตœ์ ํ™”(jointly optimized) ๋œ๋‹ค.
์ž ์žฌ ํ…์Šค์ฒ˜์˜ ์ธ์ฝ”๋”ฉ๊ณผ ๊ฐ™์€ ์ตœ์ ํ™” ์ ˆ์ฐจ์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋‹ค์Œ ์ ˆ์—์„œ ๋‹ค๋ฃฌ๋‹ค.
์ž ์žฌ ํ…์Šค์ฒ˜(latent texture)๋Š” ์žฌ์งˆ์˜ ๊ณต๊ฐ„์  ๋ณ€ํ™”๋ฅผ ํ‘œํ˜„ํ•˜๋ฉฐ, z๋ผ๊ณ  ํ‘œ๊ธฐ๋˜๋Š” 8์ฐจ์› ์ฝ”๋“œ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
์ฟผ๋ฆฌ ์œ„์น˜ x์™€ ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ์ž ์žฌ ์ฝ”๋“œ z(x๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, BRDF ๊ฐ’์€ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ ฮธ ๋ฅผ ๊ฐ€์ง„ ๋‰ด๋Ÿด ๋””์ฝ”๋” g์— ์˜ํ•ด ์ถ”๋ก ๋œ๋‹ค.
f(x,ฯ‰i,ฯ‰o)โ‰ˆg(z(x),โ€‰Tโ‹…ฯ‰i,โ€‰Tโ‹…ฯ‰oโ€‰;ฮธ)f(x, \omega_i, \omega_o) \approx g\big(z(x), \, T \cdot \omega_i, \, T \cdot \omega_o \, ; \theta\big)
์—ฌ๊ธฐ์„œ TT๋Š” ์ž…์‚ฌ ๋ฐฉํ–ฅฯ‰i\omega_i๊ณผ ์ถœ์‚ฌ ๋ฐฉํ–ฅฯ‰o\omega_o์„ ํ•™์Šต๋œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„(shading frames)์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ํ–‰๋ ฌ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
๋‹ค์Œ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์ž ์žฌ ํ…์Šค์ฒ˜ zz์˜ ์„ฑ์งˆ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๊ณ , ์ด์–ด์„œ T T๋ฅผ ์ถ”์ถœํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.

4.1 ์ž ์žฌ ํ…์Šค์ฒ˜ (Latent texture)

์ด์ „ ์—ฐ๊ตฌ๋“ค [Kuznetsov et al. 2021; Thies et al. 2019]๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ, ์šฐ๋ฆฌ๋Š” UV ๋งคํ•‘๋œ ๊ณ„์ธต์  ํ…์Šค์ฒ˜(hierarchical texture) ์•ˆ์— ์ž ์žฌ ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•œ๋‹ค.
์—ฌ๊ธฐ์„œ ๊ฐ ํ…์…€(texel)์€ ์ฃผ์–ด์ง„ ๊ณต๊ฐ„์  ์œ„์น˜์™€ ์Šค์ผ€์ผ์—์„œ์˜ ๊ฐ์ฒด ์™ธ๊ด€์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.
์›๋ณธ ์žฌ์งˆ์˜ ์ถฉ์‹ค๋„(fidelity)๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ๊ฐ€์žฅ ์„ธ๋ฐ€ํ•œ ์ˆ˜์ค€์˜ ํ•ด์ƒ๋„๋ฅผ ์›๋ณธ ์žฌ์งˆ ํ…์Šค์ฒ˜์˜ ํ•ด์ƒ๋„์™€ ๋™์ผํ•˜๊ฒŒ ์„ค์ •ํ•œ๋‹ค. ๋˜ํ•œ, UV ํŒŒ๋ผ๋ฏธํ„ฐํ™”๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›๋ž˜์˜ ํ…์…€ ๋ฐ€๋„๋ฅผ ๋ณด์กดํ•œ๋‹ค.
๊ณ ํ•ด์ƒ๋„ ์žฌ์งˆ์€ ์ถ•์†Œ(minification) ๋ Œ๋”๋ง ์‹œ ์‹ฌ๊ฐํ•œ ์•จ๋ฆฌ์–ด์‹ฑ(aliasing) ์„ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋‹ค(๊ทธ๋ฆผ 5, (a)์™€ (b)์˜ ์™ผ์ชฝ ์—ด) ๊ธฐ๋ณธ์ ์œผ๋กœ, ์šฐ๋ฆฌ์˜ ๋‰ด๋Ÿด ๋””์ฝ”๋” ์—ญ์‹œ ์ด๋Ÿฌํ•œ ์•จ๋ฆฌ์–ด์‹ฑ์„ ๊ทธ๋Œ€๋กœ ์žฌํ˜„ํ•˜๊ฒŒ ๋œ๋‹ค.
๊ทธ๋ฆผ 5. ๊ณ ํ•ด์ƒ๋„ ์žฌ์งˆ์€ ์Šˆํผ์ƒ˜ํ”Œ๋ง(supersampling) ์—†์ด ๋ Œ๋”๋งํ•  ๊ฒฝ์šฐ(์™ผ์ชฝ ์—ด, unfiltered) ์‹ฌ๊ฐํ•œ ์•จ๋ฆฌ์–ด์‹ฑ(aliasing) ์„ ์ผ์œผํ‚จ๋‹ค.์Šˆํผ์ƒ˜ํ”Œ๋ง์€ ๊ณ ์ฃผํŒŒ ๋ฐ˜์ง์ž„(high-frequency glints)์„ ํ‰๊ท ๋‚ด์–ด ํ•„ํ„ฐ๋ง๋œ ์žฌ์งˆ์„ ์ƒ์„ฑํ•˜์ง€๋งŒ, ์‹ค์‹œ๊ฐ„(real-time) ๋ Œ๋”๋ง์—๋Š” ์ง€๋‚˜์น˜๊ฒŒ ๋งŽ์€ ์ƒ˜ํ”Œ ๋น„์šฉ์ด ๋“ ๋‹ค(์˜ค๋ฅธ์ชฝ ์—ด, 512 SPP์˜ ground truth).์šฐ๋ฆฌ์˜ ๋‰ด๋Ÿด ์žฌ์งˆ ๋ชจ๋ธ์€ ์Šˆํผ์ƒ˜ํ”Œ๋ง ์—†์ด๋„ ์–ด๋–ค ๊ฑฐ๋ฆฌ์—์„œ๋„ ์•จ๋ฆฌ์–ด์‹ฑ ์—†๋Š” ํ•„ํ„ฐ๋ง๋œ ์žฌ์งˆ์„ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ๋‹ค(๊ฐ€์šด๋ฐ ์—ด, ours).
โ€ข
์™ผ์ชฝ (Unfiltered): ์‚ฌ์ง„์„ ํ™•๋Œ€ํ–ˆ๋Š”๋ฐ ํ”ฝ์…€ ๊นจ์ง์ด ๋งˆ์น˜ ๋””ํ…Œ์ผ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๊ฒฝ์šฐ. (๊ฐ€์งœ ๋””ํ…Œ์ผ)
โ€ข
๊ฐ€์šด๋ฐ (Ours): ํ•„ํ„ฐ๋งํ•ด์„œ ์‹ค์ œ ๋ฌผ์ฒด๊ฐ€ ์›๋ž˜ ๊ฐ–๊ณ  ์žˆ๋˜ ๋””ํ…Œ์ผ๋งŒ ๋‚จ๊ธด ๊ฒฝ์šฐ. (์ง„์งœ ๋””ํ…Œ์ผ)
โ€ข
์˜ค๋ฅธ์ชฝ (Ground truth): ์ˆ˜๋งŽ์€ ์‚ฌ์ง„์„ ์ฐ์–ด ํ‰๊ท  ๋‚ธ, ๊ฐ€์žฅ ์ •ํ™•ํ•œ ์›๋ณธ ๋А๋‚Œ.
์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด, ๊ณ„์ธต์  ์ž ์žฌ ํ…์Šค์ฒ˜(hierarchical latent texture) ๋Š” ์ž ์žฌ ์ฝ”๋“œ๋ฅผ ํ…์Šค์ฒ˜ ํ”ผ๋ผ๋ฏธ๋“œ(texture pyramid) ์— ์ €์žฅํ•œ๋‹ค [Kuznetsov et al. 2021; Thies et al. 2019].
ํ”ผ๋ผ๋ฏธ๋“œ์˜ ๊ฐ ๋ ˆ๋ฒจ์€ ํŠน์ • ํ•„ํ„ฐ ๋ฐ˜๊ฒฝ(filter radius)์œผ๋กœ ์›๋ณธ ์žฌ์งˆ์„ ํ•„ํ„ฐ๋งํ•œ ์ž ์žฌ ์ฝ”๋“œ๋ฅผ ํฌํ•จํ•œ๋‹ค. ๋””์ฝ”๋”๋Š” ํ”ผ๋ผ๋ฏธ๋“œ์˜ ๋ชจ๋“  ๋ ˆ๋ฒจ์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ•„ํ„ฐ๋ง๋œ BRDF ๊ฐ’์„ ์ถ”๋ก ํ•˜๋„๋ก ํ•™์Šต๋œ๋‹ค (๊ทธ๋ฆผ 5, (a)์™€ (b)์˜ ์ค‘๊ฐ„ ์—ด ์ฐธ๊ณ ).
๋ Œ๋”๋ง ๊ณผ์ •์—์„œ ์šฐ๋ฆฌ๋Š” ๋จผ์ € ๊ต์ฐจ ์ง€์ (intersection point)์—์„œ์˜ ํ”ฝ์…€ ํ’‹ํ”„๋ฆฐํŠธ(pixel footprint) ๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ , ์ด๋ฅผ UV ๊ณต๊ฐ„์œผ๋กœ ์‚ฌ์˜(projection)ํ•œ๋‹ค [Akenine-Mรถller et al. 2021].
๊ทธ ๋‹ค์Œ ํ’‹ํ”„๋ฆฐํŠธ ๋ฉด์ ์— ๋”ฐ๋ผ ํ…์Šค์ฒ˜ ํ”ผ๋ผ๋ฏธ๋“œ(texture pyramid) ์—์„œ ์ƒ˜ํ”Œ๋งํ•  ์ ์ ˆํ•œ ๋ ˆ๋ฒจ์„ ๊ฒฐ์ •ํ•œ๋‹ค.
๋ ˆ๋ฒจ ์ธ๋ฑ์Šค๋Š” ์ •์ˆ˜๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ”ผ๋ผ๋ฏธ๋“œ์˜ ๋‘ ๋ ˆ๋ฒจ ์‚ฌ์ด์— ์œ„์น˜ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.
์ด ๊ฒฝ์šฐ ์šฐ๋ฆฌ๋Š” ๋Ÿฌ์‹œ์•ˆ ๋ฃฐ๋ ›(Russian roulette) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ด ๋‘ ๋ ˆ๋ฒจ ์ค‘ ํ•˜๋‚˜๋ฅผ ํ™•๋ฅ ์ ์œผ๋กœ ์„ ํƒํ•˜๊ณ , ์„ ํƒ๋œ ๋ ˆ๋ฒจ ๋‚ด์—์„œ ๋ฐ”์ด๋ฆฌ๋‹ˆ์–ด ๋ณด๊ฐ„(bilinear interpolation) ์„ ํ†ตํ•ด ์ž ์žฌ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
์ด ๋ฐฉ์‹์€ ์•ฝ๊ฐ„์˜ ๋ถ„์‚ฐ(variance)์„ ์œ ๋ฐœํ•˜์ง€๋งŒ, ๊ทธ ํฌ๊ธฐ๋Š” ์ œํ•œ์ ์ด๋‹ค.
์‹คํ—˜ ๊ฒฐ๊ณผ, ์ด ๋ฐฉ๋ฒ•์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํŠธ๋ผ์ด๋ฆฌ๋‹ˆ์–ด ๋ณด๊ฐ„(trilinear interpolation) ๋ฐฉ์‹๋ณด๋‹ค ๋” ๋†’์€ ํ’ˆ์งˆ์„ ์ œ๊ณตํ•จ์„ ํ™•์ธํ–ˆ๋‹ค.
๊ทธ ์ด์œ ๋Š”, ํŠธ๋ผ์ด๋ฆฌ๋‹ˆ์–ด ๋ณด๊ฐ„์€ ๋ ˆ๋ฒจ ๊ฐ„์˜ ์ž ์žฌ ์ฝ”๋“œ ๋ณด๊ฐ„์ด ํ•ญ์ƒ ๊ทธ๋Ÿด๋“ฏํ•œ BRDF ๊ฐ’์„ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ์ถ”๊ฐ€ ์ œ์•ฝ์„ ์•”๋ฌต์ ์œผ๋กœ ์œ ๋ฐœํ•˜๊ธฐ ๋•Œ๋ฌธ์ธ ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ฐ ๋ ˆ๋ฒจ์ด ๋งค์šฐ ๋‹ค๋ฅธ ๋‚ด์šฉ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์˜คํžˆ๋ ค ํ’ˆ์งˆ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

4.2 Transformation to learned shading frames

์šฐ๋ฆฌ๊ฐ€ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์‹ค์‹œ๊ฐ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(real-time applications)์€ ๋””์ฝ”๋” ๋„คํŠธ์›Œํฌ์˜ ํฌ๊ธฐ์— ์ƒ๋‹นํ•œ ์ œ์•ฝ์„ ๊ฐ€ํ•œ๋‹ค.
๋”ฐ๋ผ์„œ ํ˜„์‹ค์ ์ธ ์žฌ์งˆ(๊ทธ๋ฆผ 2์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์€)์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„ํ‚คํ…์ฒ˜์— ๊ทธ๋ž˜ํ”ฝ์Šค ๋ถ„์•ผ์˜ ์‚ฌ์ „ ์ง€์‹(priors)์„ ํ†ตํ•ฉํ•˜๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ด๋‹ค.
๋ ˆ์ด์–ด๋“œ ์žฌ์งˆ(layered materials)์€ ๋ณต์žกํ•œ SVBRDF๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, ์ด๋•Œ ํ‘œ๋ฉด์„ ๋”ฐ๋ผ ์ด๋™ํ•˜๋ฉด ๋ฐ˜์‚ฌ ๋กœ๋ธŒ(reflection lobes)์˜ ๋ฐฉํ–ฅ์ด ํ•จ๊ป˜ ๋ณ€ํ™”ํ•œ๋‹ค.
์ „ํ†ต์ ์ธ ๊ทธ๋ž˜ํ”ฝ์Šค ๊ธฐ๋ฒ•์—์„œ๋Š” ํ…์Šค์ฒ˜ ๊ธฐ๋ฐ˜ ๋ณ€ํ™˜(textured transformations), ํŠนํžˆ ๋…ธ๋ฉ€ ๋งต(normal maps)์„ ์‚ฌ์šฉํ•ด ์ด๋Ÿฌํ•œ ํšจ๊ณผ๋ฅผ ์‰ฝ๊ฒŒ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ฐ˜์ ์ธ MLP๋งŒ์œผ๋กœ๋Š” ์ด๋Ÿฐ ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
์žฌ์งˆ(material)์€ ์‚ฐ๋ž€ ์ธต(scattering layers)์˜ ์ˆ˜๋งŒํผ ๋งŽ์€ ๋…ธ๋ฉ€ ๋งต(normal maps) ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์ธต๋“ค์„ ์••์ถ•(compress) ํ•˜๋˜, ๋™์‹œ์— ๋ชจ๋ธ์ด ์—ฌ๋Ÿฌ ๋…ธ๋ฉ€ ๋งต์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ถฉ๋ถ„ํ•œ ์ž์œ ๋„๋ฅผ ์ œ๊ณตํ•˜๊ณ ์ž ํ•œ๋‹ค.
์ด๋ฅผ ์œ„ํ•ด ๋„คํŠธ์›Œํฌ์— ๋ณ€ํ™˜ ๋ชจ๋“ˆ(transformation module) ์„ ํฌํ•จ์‹œ์ผฐ์œผ๋ฉฐ, ์ด ๋ชจ๋“ˆ์€ ์ž…์‚ฌ ๋ฐฉํ–ฅ ฯ‰i\omega_i ์™€ ์ถœ์‚ฌ ๋ฐฉํ–ฅ ฯ‰o\omega_o ์„ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ•™์Šต๋œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„(shading frames)์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค (๊ทธ๋ฆผ 4์˜ mult ์—ฐ์‚ฐ ์ฐธ๊ณ ).
๊ตฌ์ฒด์ ์œผ๋กœ, ์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ๋ ˆ์ด์–ด(trainable layer)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž ์žฌ ์ฝ”๋“œ z๋กœ๋ถ€ํ„ฐ ๊ณ ์ •๋œ ๊ฐœ์ˆ˜ N์˜ ๋…ธ๋ฉ€ ๋ฒกํ„ฐ (n1,โ€ฆ,nN)(n_1, \dots, n_N)์™€ ํƒ„์  ํŠธ ๋ฒกํ„ฐ (t1,โ€ฆ,tN)(t_1, \dots, t_N)๋ฅผ ์ถ”์ถœํ•œ๋‹ค.
๊ทธ๋ฆผ 6. ์šฐ๋ฆฌ๋Š” ์ฐธ์กฐ ์žฌ์งˆ(reference material)์˜ UV ๋„๋ฉ”์ธ์„ ๊ท ์ผํ•˜๊ฒŒ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ ๋ชจ๋ธ์„ ์ตœ์ ํ™”ํ•œ๋‹ค. 1. ๋จผ์ € ํ‘œ๋ฉด ํŒŒ๋ผ๋ฏธํ„ฐ(์˜ˆ: ์•Œ๋ฒ ๋„)๋ฅผ ๊ฐ€์ ธ์™€์„œ, ์ด๋ฅผ MLP๋กœ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์ž ์žฌ ์ฝ”๋“œ(latent code) ๋กœ ๋ณ€ํ™˜ํ•œ ๋’ค, ๋””์ฝ”๋”๋ฅผ ํ†ตํ•ด BRDF ๊ฐ’์œผ๋กœ ํ•ด์„ํ•œ๋‹ค. (โ—‹1 ๊ฒฝ๋กœ) 2. ์ธ์ฝ”๋”๊ฐ€ ์ถฉ๋ถ„ํžˆ ํ•™์Šต๋˜๋ฉด, ๋ชจ๋“  ํ…์…€(texel)์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ž ์žฌ ํ…์Šค์ฒ˜(latent texture) ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ์ดํ›„ ์ธ์ฝ”๋”๋Š” ๋ฒ„๋ฆฐ๋‹ค. (โ—‹2 ๊ฒฝ๋กœ) 3. ์ดํ›„์—๋Š” UV ๊ณต๊ฐ„๊ณผ ํ…์Šค์ฒ˜์˜ MIP ๋ ˆ๋ฒจ์„ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ, ํ…์…€์„ ์ง์ ‘ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž ์žฌ ํ…์Šค์ฒ˜๋ฅผ ํŒŒ์ธํŠœ๋‹(finetuning) ํ•œ๋‹ค. (โ—‹3 ๊ฒฝ๋กœ) ์šฐ๋ฆฌ๋Š” ์ง€์ˆ˜์ ์œผ๋กœ ๋ถ„ํฌ๋œ ํ•„ํ„ฐ ํ’‹ํ”„๋ฆฐํŠธ(filter footprints)๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ ์ž ์žฌ ํ…์Šค์ฒ˜์˜ ๋ชจ๋“  ๋ ˆ๋ฒจ์„ ์ตœ์ ํ™”ํ•˜๋ฉฐ, ์ž…๋ ฅ ์žฌ์งˆ์˜ ์‚ฌ์ „ ํ•„ํ„ฐ๋ง๋œ ๋ฒ„์ „(prefiltered versions) ์„ ์‚ฌ์šฉํ•ด ๋””์ฝ”๋”๋ฅผ ํ•™์Šต์‹œํ‚จ๋‹ค.
๊ฐ (i)โˆ’(i)-๋ฒˆ์งธ ์ •๊ทœํ™”๋œ ๋…ธ๋ฉ€(normal)๊ณผ ํƒ„์  ํŠธ(tangent) ์Œ์—์„œ ๊ธฐ์ €(basis) (ti,bi,ni)(t_i, b_i, n_i)๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , ์ด๋“ค์„ ๊ฒฐํ•ฉํ•˜์—ฌ ํ†ตํ•ฉ ๋ณ€ํ™˜ ํ–‰๋ ฌ(combined transformation matrix) (T)์„ ์ƒ์„ฑํ•œ๋‹ค:
T=[t1,xb1,xn1,xโ€ฆtN,xbN,xnN,xt1,yb1,yn1,yโ€ฆtN,ybN,ynN,yt1,zb1,zn1,zโ€ฆtN,zbN,znN,z]โŠค T = \begin{bmatrix} t_{1,x} & b_{1,x} & n_{1,x} & \dots & t_{N,x} & b_{N,x} & n_{N,x} \\ t_{1,y} & b_{1,y} & n_{1,y} & \dots & t_{N,y} & b_{N,y} & n_{N,y} \\ t_{1,z} & b_{1,z} & n_{1,z} & \dots & t_{N,z} & b_{N,z} & n_{N,z} \end{bmatrix}^{\top}
์ด๋ฅผ ํ†ตํ•ด N๊ฐœ์˜ ์ƒˆ๋กœ์šด ์ž…์‚ฌ ๋ฒกํ„ฐ์™€ ์ถœ์‚ฌ ๋ฒกํ„ฐ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉฐ, ๊ฐ๊ฐ์€ ํ•™์Šต๋œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„(shading frame)์— ๋Œ€์‘ํ•˜๋Š” ํ•œ ์Œ์„ ์ด๋ฃฌ๋‹ค.
์ด ๋ฒกํ„ฐ๋“ค์€ ์ดํ›„ ๋””์ฝ”๋”(decoder)์˜ ์ž…๋ ฅ์œผ๋กœ ์ „๋‹ฌ๋œ๋‹ค.
์ด๋Ÿฌํ•œ ๋ณ€ํ™˜์„ ํ†ตํ•ด ๋ชจ๋ธ์€ ์ž…๋ ฅ ๋ฐฉํ–ฅ์„ ๋‹จ์ผ ์—ฐ์‚ฐ์œผ๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณต๊ฐ„์ ์œผ๋กœ ๋ณ€ํ™”ํ•˜๋Š” ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„์œผ๋กœ ํšŒ์ „์‹œํ‚ฌ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋„คํŠธ์›Œํฌ์˜ ํ‘œํ˜„๋ ฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
์ด ๋ฐฉ์‹์˜ ๊ตฌ์ฒด์ ์ธ ์žฅ์ ์€ 6์žฅ์—์„œ ๋ถ„์„ํ•œ๋‹ค.
Discussion. ๋ฐ”๋‹๋ผ MLP(vanilla MLP)๊ฐ€ ๋ฐฉํ–ฅ ๋ฒกํ„ฐ ํšŒ์ „์— ์–ด๋ ค์›€์„ ๊ฒช๋Š” ์ด์œ ๋Š” ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค.
MLP๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ–‰๋ ฌ ์—ฐ์‚ฐ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์ง€๋งŒ, ๊ณ ์ •๋œ ๋„คํŠธ์›Œํฌ ๊ฐ€์ค‘์น˜๋ฅผ ํ†ตํ•ด ์ž…๋ ฅ์— ๋Œ€ํ•ด ๊ณฑ์…ˆ์ (multiplicative) ๋ณ€ํ™˜๋งŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ฆ‰, MLP๋Š” ์ž…๋ ฅ ์ฐจ์›๋“ค ๊ฐ„์˜ ์ง์ ‘์ ์ธ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ, ๋””์ฝ”๋”๊ฐ€ ๋‹จ์ˆœ MLP๋ผ๋ฉด ์ž…์‚ฌ ๋ฐฉํ–ฅ ฯ‰i\omega_i, ์ถœ์‚ฌ ๋ฐฉํ–ฅฯ‰o \omega_o์™€ ์žฌ์งˆ์˜ ๊ณต๊ฐ„์  ๋ณ€ํ™”๋ฅผ ๋‹ด๊ณ  ์žˆ๋Š” ์ž ์žฌ ์ฝ”๋“œ(latent code)์˜ ๊ณฑ์…ˆ์„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•œ๋‹ค.
๊ฒฐ๊ณผ์ ์œผ๋กœ, ๋””์ฝ”๋”๋Š” ์ด ๊ณฑ์…ˆ์  ๋ณ€ํ™˜์„ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ๋ ˆ์ด์–ด๋งŒ์œผ๋กœ ๊ทผ์‚ฌํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋Š” ๋ชจ๋ธ์˜ ํ‘œํ˜„๋ ฅ์„ ๋‚ญ๋น„ํ•œ๋‹ค.
์šฐ๋ฆฌ์˜ ์ ‘๊ทผ ๋ฐฉ์‹์€ ๊ฐœ๋…์ ์œผ๋กœ (์…€ํ”„)์–ดํ…์…˜(self-attention) ๋ชจ๋ธ๊ณผ ์œ ์‚ฌํ•˜๋‹ค.
์–ดํ…์…˜ ๋ชจ๋ธ์€ ํ™œ์„ฑํ™” ๊ฐ„์˜ ๊ณฑ์…ˆ์  ์ƒํ˜ธ์ž‘์šฉ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์‹ ๊ฒฝ๋ง์˜ ํ‘œํ˜„๋ ฅ์„ ํ™•์žฅํ•œ๋‹ค [Rebain et al. 2023; Vaswani et al. 2017].

4.3 Importance sampling

์šฐ๋ฆฌ๋Š” ์‹ ๊ฒฝ๋ง์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ์— ์ ํ•ฉํ•œ ์ƒ˜ํ”Œ๋Ÿฌ์— ์ง‘์ค‘ํ•œ๋‹ค.
์ด๋Š” ๋‚œ์ˆ˜ uโˆˆ[0,1)ยฒ ๋ฅผ ์ถœ์‚ฌ ๋ฐฉํ–ฅ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฐ€์—ญ์ (invertible) ๋ณ€ํ™˜ W์™€, ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ํ™•๋ฅ  ๋ฐ€๋„ ํ•จ์ˆ˜(PDF) p(ฯ‰o;x,ฯ‰ip(\omega_o; x, \omega_i) ๋ฅผ ์˜๋ฏธํ•œ๋‹ค:
ฯ‰o=W(u;x,ฯ‰i)p(ฯ‰o;x,ฯ‰i)\omega_o = W(u; x, \omega_i) \\ p(\omega_o; x, \omega_i)
๋‚ฎ์€ ๋ถ„์‚ฐ(low variance) ๊ฒฐ๊ณผ๋Š” p์˜ ๋ถ„ํฌ๊ฐ€ f์™€ ์ž˜ ์ผ์น˜ํ•  ๋•Œ ์–ป์–ด์ง„๋‹ค. ๋‹จ์ˆœํžˆ MLP๋ฅผ ์ตœ์ ํ™”ํ•˜์—ฌ ์ƒ˜ํ”Œ ๋ณ€ํ™˜ W๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ๋Š”, W์˜ ๊ฐ€์—ญ์„ฑ์ด๋‚˜ PDF์˜ ํšจ์œจ์ ์ธ ๊ณ„์‚ฐ ๊ฐ€๋Šฅ์„ฑ์„ ๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง(importance sampling)์€ BRDF ํ‰๊ฐ€์™€๋Š” ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์ด ํ•„์š”ํ•˜๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ธฐ์กด ์—ฐ๊ตฌ์—์„œ ์˜๊ฐ์„ ๋ฐ›์•„, ๋‹ซํžŒ ํ˜•ํƒœ(closed form)๋กœ ๊ฐ€์—ญ์ ์ธ ํ•ด์„์  ๋Œ€๋ฆฌ ๋ถ„ํฌ(analytic proxy distribution)๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ์—ฌ๊ธฐ์— ์‹ ๊ฒฝ๋ง์„ ๊ฒฐํ•ฉํ•˜์—ฌ ํ™œ์šฉํ•œ๋‹ค. ์ด ๋ฐฉ์‹์€ Sztrajman et al. [2021]๊ณผ Fan et al. [2022]์˜ ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌํ•˜๋‹ค.
์šฐ๋ฆฌ๋Š” [2022]์˜ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ฝ”์‚ฌ์ธ ๊ฐ€์ค‘๋œ ๋ฐ˜๊ตฌ ๋ถ„ํฌ(cosine-weighted hemispherical density)์™€ ์ •๋ฐ˜์‚ฌ(specular reflection) ์„ฑ๋ถ„์„ ์„ ํ˜• ํ˜ผํ•ฉ(linear blend)ํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค.
๋‹ค๋งŒ ์ •๋ฐ˜์‚ฌ ์„ฑ๋ถ„์˜ ์„ ํƒ์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.
์ด์ „ ์—ฐ๊ตฌ์—์„œ ์ œ์•ˆ๋œ ๋“ฑ๋ฐฉ์„ฑ(isotropic) ๋ชจ๋ธ โ€” ์˜ˆ๋ฅผ ๋“ค์–ด Blinn-Phong ๋ชจ๋ธ [Sztrajman et al. 2021]์ด๋‚˜ 2D ๊ฐ€์šฐ์‹œ์•ˆ [Fan et al. 2022] โ€” ๋Œ€์‹ , ์šฐ๋ฆฌ๋Š” ๋” ์ผ๋ฐ˜์ ์ด๊ณ  ์ตœ์‹ ์˜ ๋งˆ์ดํฌ๋กœํŒจ์‹ฏ(microfacet) ๋ชจ๋ธ์„ ์ฑ„ํƒํ–ˆ๋‹ค.
๊ตฌ์ฒด์ ์œผ๋กœ Trowbridge-Reitz (GGX) NDF [Trowbridge and Reitz 1975; Walter et al. 2007]๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์—ฌ๊ธฐ์— ํƒ€์›ํ˜• ์ด๋ฐฉ์„ฑ(elliptical anisotropy)๊ณผ ๋น„์ค‘์‹ฌ ํ‰๊ท  ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ(non-centered mean surface slopes) [Dupuy 2015]๋ฅผ ํฌํ•จ์‹œ์ผฐ๋‹ค.
์ด ์ ‘๊ทผ๋ฒ•์€ ์šฐ๋ฆฌ์˜ ํƒ€๊นƒ ์žฌ์งˆ์ฒ˜๋Ÿผ ๋…ธ๋ฉ€๋งต ํšจ๊ณผ๊ฐ€ ๋‘๋“œ๋Ÿฌ์ง„ ์žฌ์งˆ์— ์ ํ•ฉํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํ•„ํ„ฐ๋ง๋œ BRDF๊ฐ€ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ์ด๋ฐฉ์„ฑ(anisotropic) ๋ถ„ํฌ์—๋„ ํšจ๊ณผ์ ์œผ๋กœ ๋Œ€์‘ํ•œ๋‹ค.
6์žฅ์—์„œ ์ด๋Ÿฌํ•œ ์žฅ์ ๋“ค์„ ์ƒ์„ธํžˆ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์ƒ˜ํ”Œ๋Ÿฌ์— ๊ด€ํ•œ ์ถ”๊ฐ€ ์„ธ๋ถ€์‚ฌํ•ญ์€ ๋ถ€๋ก A์— ์ˆ˜๋กํ–ˆ๋‹ค.
[2022]์—์„œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ, ์šฐ๋ฆฌ๋Š” ์ฝ”์‚ฌ์ธ ๊ฐ€์ค‘ ๋ฐ˜๊ตฌ ๋ถ„ํฌ(cosine-weighted hemispherical density) ์™€ ์ •๋ฐ˜์‚ฌ(specular reflection) ์„ฑ๋ถ„ ์‚ฌ์ด์˜ ์„ ํ˜• ํ˜ผํ•ฉ(linear blend)์„ ์‚ฌ์šฉํ•œ๋‹ค. ๋‹ค๋งŒ, ์ •๋ฐ˜์‚ฌ ์„ฑ๋ถ„์˜ ์„ ํƒ์—์„œ ์ฐจ์ด๋ฅผ ๋‘”๋‹ค.
์ด์ „ ์—ฐ๊ตฌ๋“ค์ด ์ œ์•ˆํ–ˆ๋˜ ๋“ฑ๋ฐฉ์„ฑ(isotropic) ๋ชจ๋ธ โ€• ์˜ˆ: Blinn-Phong ๋ชจ๋ธ [Sztrajman et al. 2021] ๋˜๋Š” 2D Gaussian [Fan et al. 2022] โ€• ๊ณผ ๋‹ฌ๋ฆฌ, ์šฐ๋ฆฌ๋Š” ๋ณด๋‹ค ์ผ๋ฐ˜์ ์ด๊ณ  ์ตœ์‹ (state-of-the-art)์ธ ๋งˆ์ดํฌ๋กœํŒจ์‹ฏ(microfacet) ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค.
๊ตฌ์ฒด์ ์œผ๋กœ๋Š”, Trowbridge-Reitz (GGX) NDF [Trowbridge and Reitz 1975; Walter et al. 2007]์— ๊ธฐ๋ฐ˜ํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜๋ฉฐ,
โ€ข
ํƒ€์›ํ˜• ์ด๋ฐฉ์„ฑ(elliptical anisotropy)
โ€ข
์ค‘์‹ฌ์ด ์ด๋™๋œ ํ‰๊ท  ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ(non-centered mean surface slopes) [Dupuy 2015]
๊นŒ์ง€ ํฌํ•จํ•œ๋‹ค. ์ด ๋ฐฉ์‹์€ ์šฐ๋ฆฌ๊ฐ€ ๋ชฉํ‘œ๋กœ ํ•˜๋Š” ์žฌ์งˆ๋“ค์—์„œ ํ”ํžˆ ๋‚˜ํƒ€๋‚˜๋Š” ๊ฐ•ํ•˜๊ฒŒ ๋…ธ๋ฉ€๋งต์ด ์ ์šฉ๋œ ์žฌ์งˆ๊ณผ, ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด๋ฐฉ์„ฑ ๋ถ„ํฌ๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ํ•„ํ„ฐ๋ง๋œ BRDF ๋ชจ๋‘์— ์ž˜ ๋งž๋Š”๋‹ค.
๊ทธ ์žฅ์ ์€ 6์žฅ์—์„œ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์ƒ˜ํ”Œ๋Ÿฌ์˜ ์ถ”๊ฐ€์ ์ธ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ๋ถ€๋ก A์—์„œ ๋‹ค๋ฃฌ๋‹ค.

5. Training

์ด์ œ ๋””์ฝ”๋”์™€ ์ž ์žฌ ํ…์Šค์ฒ˜(latent texture)์˜ ํ•™์Šต ์ ˆ์ฐจ(๊ทธ๋ฆผ 6 ์ฐธ๊ณ )์™€ ํ•™์Šต ๋ฐ์ดํ„ฐ ์ƒ์„ฑ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•œ๋‹ค. ์„ธ๋ถ€ ์žฌ์งˆ(detailed materials) ํ•™์Šต์—์„œ ๊ฐ€์žฅ ํฐ ๊ณผ์ œ๋Š” ์ตœ์ ํ™”ํ•ด์•ผ ํ•  ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ๋ฐฉ๋Œ€ํ•œ ์ˆ˜์ด๋‹ค. ๋„คํŠธ์›Œํฌ ์ž์ฒด์˜ ๊ฐ€์ค‘์น˜ ์ˆ˜๋Š” ์ ์ง€๋งŒ, ์ž ์žฌ ํ…์Šค์ฒ˜๋Š” ์†Œ์Šค ์žฌ์งˆ๊ณผ ๋™์ผํ•œ ํ•ด์ƒ๋„๋ฅผ ๊ฐ€์ ธ ๊ทธ ํฌ๊ธฐ๊ฐ€ ๋งค์šฐ ํด ์ˆ˜ ์žˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ํ‹ฐํฌํŠธ(Teapot)์˜ ์„ธ๋ผ๋ฏน ๋ณธ์ฒด(๊ทธ๋ฆผ 2)๋Š”
โ€ข
14๊ฐœ์˜ 4k ร— 4k ํ…์Šค์ฒ˜ ํƒ€์ผ๋กœ ์ •์˜๋˜๋ฉฐ,
โ€ข
์ด 2์–ต 3,500๋งŒ ๊ฐœ์˜ ํ…์…€(texel)์„ ํฌํ•จํ•˜๊ณ ,
โ€ข
์ด๋Š” 25์–ต ๊ฐœ์˜ ์ž ์žฌ ํŒŒ๋ผ๋ฏธํ„ฐ(latent parameters)์— ํ•ด๋‹นํ•œ๋‹ค.
์ด ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์—ญ์ „ํŒŒ(backpropagation)๋ฅผ ํ†ตํ•ด ๋…๋ฆฝ์ ์œผ๋กœ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์€ ํ˜„์‹ค์ ์ด์ง€ ์•Š๋‹ค.
๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ํ•™์Šต์˜ ์ฒซ ๋‹จ๊ณ„์—์„œ ์ธ์ฝ”๋”(encoder)๋ฅผ ์‚ฌ์šฉํ•ด ์ž ์žฌ ์ฝ”๋“œ๋ฅผ ์ดˆ๊ธฐํ™”(bootstrap)ํ•˜๋ฉฐ, ์ด์— ๋Œ€ํ•ด ๋‹ค์Œ์—์„œ ์„ค๋ช…ํ•œ๋‹ค.

5.1 Encoder

์ธ์ฝ”๋”๋Š” ๊ฐ„๋‹จํ•œ MLP๋กœ, ํŠน์ • ์ฟผ๋ฆฌ ์œ„์น˜ x์—์„œ ์›๋ณธ ์žฌ์งˆ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ k(x) โ€” ์•Œ๋ฒ ๋„(albedo), ๋Ÿฌํ”„๋‹ˆ์Šค(roughness), ๋…ธ๋ฉ€๋งต(normal map) ๋“ฑ ๋ชจ๋“  ์žฌ์งˆ ๋ ˆ์ด์–ด์˜ ํŒŒ๋ผ๋ฏธํ„ฐ โ€” ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„ ํ•ด๋‹นํ•˜๋Š” ์ž ์žฌ ๋ฒกํ„ฐ(latent vector) z(x)๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.
ํ•„ํ„ฐ๋ง์„ ์ดˆ๊ธฐํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ๊ณ„์ธต(hierarchy)์˜ ๊ฑฐ์นœ MIP ๋ ˆ๋ฒจ์— ๋Œ€ํ•ด ์žฌ์งˆ ํŒŒ๋ผ๋ฏธํ„ฐ k(x)๋ฅผ LEAN [Olano and Baker 2010] ๊ธฐ๋ฒ•์œผ๋กœ ์‚ฌ์ „ ํ•„ํ„ฐ๋ง(prefiltering)ํ•œ๋‹ค.
์ฒซ ๋ฒˆ์งธ ํ•™์Šต ๋‹จ๊ณ„์—์„œ ๋ชจ๋ธ์€ ์—”๋“œํˆฌ์—”๋“œ(end-to-end) ๋ฐฉ์‹์œผ๋กœ ํ•™์Šต๋˜๋ฉฐ, ์ธ์ฝ”๋”์—์„œ ์ƒ์„ฑ๋œ ์ž ์žฌ ์ฝ”๋“œ๋Š” ์ž ์žฌ ํ…์Šค์ฒ˜๋ฅผ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋””์ฝ”๋”๋กœ ์ „๋‹ฌ๋œ๋‹ค.
๋””์ฝ”๋”๊ฐ€ ์ˆ˜๋ ดํ•˜๋ฉด ํŒŒ์ธํŠœ๋‹(finetuning) ๋‹จ๊ณ„๋กœ ์ „ํ™˜ํ•œ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ๋Š” ๋ชจ๋“  ํ…์…€์— ๋Œ€ํ•ด ์ธ์ฝ”๋”๋ฅผ ํ‰๊ฐ€ํ•˜์—ฌ ์ž ์žฌ ํ…์Šค์ฒ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•œ ํ›„, ์ธ์ฝ”๋”๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.
์ž ์žฌ ํ…์Šค์ฒ˜์˜ ๋‚ด์šฉ์€ ๋””์ฝ”๋”๋ฅผ ํ†ตํ•œ ์—ญ์ „ํŒŒ(backpropagation)๋กœ ์ง์ ‘ ํ•™์Šต๋œ๋‹ค. ์ธ์ฝ”๋”๋Š” ํ•™์Šต ๊ณผ์ •์—์„œ๋งŒ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ, ๋ Œ๋”๋ง ์‹œ ํ‰๊ฐ€ ๋น„์šฉ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.
์ธ์ฝ”๋”๋Š” ๋˜ํ•œ ์ž ์žฌ ๊ณต๊ฐ„(latent space)์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐœ์„ ํ•œ๋‹ค.
์œ ์‚ฌํ•œ ์žฌ์งˆ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์ž ์žฌ ๊ณต๊ฐ„์—์„œ ์œ ์‚ฌํ•œ ์ง€์ ์œผ๋กœ ๋งคํ•‘๋˜๋„๋ก ๋ณด์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
์ด๋กœ ์ธํ•ด ๋ณด๊ฐ„(interpolation) ๊ฒฐ๊ณผ๊ฐ€ ํ–ฅ์ƒ๋˜๊ณ  ๋””์ฝ”๋”์˜ ์ž‘์—… ๋ถ€๋‹ด๋„ ์ค„์–ด๋“ ๋‹ค.
๋ฐ˜๋ฉด, ์ง์ ‘ ์ตœ์ ํ™”(direct optimization)๋งŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ž ์žฌ ํ…์Šค์ฒ˜์— ๋ฌด์ž‘์œ„ ์ดˆ๊ธฐํ™” ๋…ธ์ด์ฆˆ๊ฐ€ ์ผ๋ถ€ ๋‚จ๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋Š” 6.2์ ˆ์—์„œ ์ž์„ธํžˆ ๋ถ„์„ํ•œ๋‹ค.
์ธ์ฝ”๋”๋Š” ์—ฌ๋Ÿฌ ์žฌ์งˆ(material)์„ ์ธ์ฝ”๋”ฉํ•˜๋„๋ก ํ•™์Šตํ•˜๊ฑฐ๋‚˜, ์ฐธ์กฐ BRDF์˜ ์ „์ฒด ํŒŒ๋ผ๋ฏธํ„ฐ ๊ณต๊ฐ„(์˜ˆ: ๊ท ์ผ ์ƒ˜ํ”Œ๋ง)์„ ์ปค๋ฒ„ํ•˜๋„๋ก ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž ์žฌ ํ…์Šค์ฒ˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋งค์šฐ ํฌ๊ธฐ ๋•Œ๋ฌธ์—, ์‹ค์ œ ๊ตฌํ˜„์—์„œ๋Š” ๊ฐ ์žฌ์งˆ๋งˆ๋‹ค ๊ฐœ๋ณ„์ ์ธ ์ธ์ฝ”๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋”ฐ๋กœ ํ•™์Šตํ•˜๋Š” ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ๋‹ค(๋ณ„๋„ ์–ธ๊ธ‰์ด ์—†๋Š” ํ•œ)

5.2 Data generation and optimization

์šฐ๋ฆฌ๋Š” ๋ชฉํ‘œ ์žฌ์งˆ(๋ฉ€ํ‹ฐ ๋ ˆ์ด์–ด)์˜ UV ๊ณต๊ฐ„์„ ๊ท ์ผํ•˜๊ฒŒ ์ƒ˜ํ”Œ๋งํ•˜์—ฌ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
๊ฐ ์ƒ˜ํ”Œ์— ๋Œ€ํ•ด, ์šฐ๋ฆฌ๋Š” ์ž…์‚ฌ ๋ฐฉํ–ฅฯ‰i \omega_i ์™€ ์ถœ์‚ฌ ๋ฐฉํ–ฅ ฯ‰o\omega_o ๋ฅผ ๋ฐ˜๊ฐ ๋ฒกํ„ฐ(half vector)์™€ ์ฐจ์ด ๋ฒกํ„ฐ(difference vector)๋ฅผ ๊ท ์ผ ์ƒ˜ํ”Œ๋งํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค [Rusinkiewicz 1998; Sztrajman et al. 2021].
๊ทธ ํ›„ ์ฐธ์กฐ BRDF ๊ฐ’์„ ํ‰๊ฐ€ํ•œ๋‹ค.
๊ฐ ์ƒ˜ํ”Œ์€ ์ถ”๊ฐ€์ ์œผ๋กœ ๋‹ค์Œ ์ •๋ณด๋ฅผ ํฌํ•จํ•œ๋‹ค:
โ€ข
๋…ธ๋ฉ€(normal)
โ€ข
ํƒ„์  ํŠธ(tangent)
โ€ข
์•Œ๋ฒ ๋„(albedo)
โ€ข
๋Ÿฌํ”„๋‹ˆ์Šค(roughness)
โ€ข
๋ ˆ์ด์–ด ๊ฐ€์ค‘์น˜(layer weight)
๊ฐ ๋ ˆ์ด์–ด๋ณ„๋กœ ์ด ๊ฐ’๋“ค์ด ํฌํ•จ๋˜๋ฏ€๋กœ, ๋ ˆ์ด์–ด ์ˆ˜์— ๋”ฐ๋ผ ํ•˜๋‚˜์˜ ์ƒ˜ํ”Œ์ด 100๊ฐœ๊ฐ€ ๋„˜๋Š” ๋ถ€๋™์†Œ์ˆ˜์  ์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ด ์ƒ˜ํ”Œ๋“ค์„ ํ•™์Šต ์ค‘์— GPU์—์„œ ์˜จ๋ผ์ธ(online)์œผ๋กœ ์ƒ์„ฑํ•œ๋‹ค.

Filtering (ํ•„ํ„ฐ๋ง)

๊ฐ ํ•™์Šต ์ƒ˜ํ”Œ๋งˆ๋‹ค ํ”ผ๋ผ๋ฏธ๋“œ ๋ ˆ๋ฒจ์„ ์ง€์ˆ˜ ๋ถ„ํฌ(exponential distribution)์—์„œ ์ƒ˜ํ”Œ๋งํ•˜๋ฉฐ, ๋” ์ •๋ฐ€ํ•œ(finer) ๋ ˆ๋ฒจ์„ ์„ ํ˜ธํ•œ๋‹ค.
ํ•ด๋‹น ๋ ˆ๋ฒจ์— ๋งž๋Š” ํ’‹ํ”„๋ฆฐํŠธ๋กœ ๊ฐ€์šฐ์‹œ์•ˆ(Gaussian) ๋ถ„ํฌ์—์„œ ์—ฌ๋Ÿฌ ์ ์„ ์ƒ˜ํ”Œ๋งํ•ด ํ‰๊ท ์„ ์ทจํ•˜๋ฉฐ, ์ƒ˜ํ”Œ ๊ฐœ์ˆ˜๋Š” ํ•„ํ„ฐ ์˜์—ญ ํฌ๊ธฐ์— ๋น„๋ก€ํ•˜๊ฒŒ ํ•œ๋‹ค.
์ด ์ƒ˜ํ”Œ๋ง ๊ณผ์ •์€ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ํ•™์Šต ์‹œ๊ฐ„์— ํฐ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

Mollification (์™„ํ™”)

์žฌ์งˆ์— ๋งค์šฐ ์ข์€ ํ”ผํฌ(์˜ˆ: ํ‹ฐํฌํŠธ์˜ ๋งค๋„๋Ÿฌ์šด ์œ ์•ฝ์ธต)๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ, ํ•™์Šต ์ดˆ๊ธฐ์— ํฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๋„คํŠธ์›Œํฌ๊ฐ€ ํ•™์Šตํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ํ•™์Šต ์ดˆ๋ฐ˜์—๋Š” ์ถœ์‚ฌ ๋ฐฉํ–ฅ ฯ‰o\omega_o ๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ•œ ์ž‘์€ ์›๋ฟ”(cone) ์•ˆ์—์„œ ์—ฌ๋Ÿฌ ์ƒ˜ํ”Œ์„ ํ‰๊ท ๋‚ด์–ด ์žฌ์งˆ์„ ๋ฐฉํ–ฅ์ ์œผ๋กœ ๋ธ”๋Ÿฌ(blur) ์ฒ˜๋ฆฌํ•œ๋‹ค.
ํ›ˆ๋ จ์ด ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ ์›๋ฟ”์˜ ๊ฐ๋„๋ฅผ ์ ์  ์ค„์—ฌ๋‚˜๊ฐ€๋ฉด์„œ, ๋„คํŠธ์›Œํฌ๊ฐ€ ๋จผ์ € ์žฌ์งˆ์˜ ํฐ ํŠน์ง•์„ ํ•™์Šตํ•œ ํ›„ ์ตœ์ข…์ ์œผ๋กœ ์ฐธ์กฐ ์žฌ์งˆ์— ์ˆ˜๋ ดํ•˜๋„๋ก ํ•œ๋‹ค.

Optimization (์ตœ์ ํ™”)

์šฐ๋ฆฌ๋Š” BRDF ๋””์ฝ”๋”์™€ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋Ÿฌ๋ฅผ ๋™์‹œ์— ํ•™์Šต์‹œ์ผœ, ๊ณต์œ ๋œ ์ž ์žฌ ๊ณต๊ฐ„(shared latent space)์„ ๊ตฌ์ถ•ํ•œ๋‹ค.
โ€ข
BRDF ์˜ˆ์ธก์€ ๋กœ๊ทธ ๊ณต๊ฐ„์—์„œ์˜ L1L_1 ์†์‹ค [Zheng et al. 2021]์„ ์‚ฌ์šฉํ•ด ์ตœ์ ํ™”ํ•œ๋‹ค.
โ€ข
ํ•™์Šต๋œ ์ƒ˜ํ”Œ๋Ÿฌ์—์„œ ๋ฝ‘ํžŒ ์ถœ์‚ฌ ๋ฐฉํ–ฅฯ‰o \omega_o ์˜ PDF๋Š”, ํ˜„์žฌ ํ•™์Šต ์ค‘์ธ BRDF ์ƒํƒœ์™€์˜ KL ๋ฐœ์‚ฐ(KL divergence)์œผ๋กœ ํ‰๊ฐ€ํ•œ๋‹ค.
๋˜ํ•œ, ํ•™์Šต ์•ˆ์ •์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ž ์žฌ ์ฝ”๋“œ(latent code)๋ฅผ KL ์†์‹ค ๊ณ„์‚ฐ์—์„œ ๋ถ„๋ฆฌ(detach) ํ•˜๋Š” ๊ฒƒ์ด ํšจ๊ณผ์ ์ด์—ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ƒ˜ํ”Œ๋Ÿฌ MLP๋Š” ์ž ์žฌ ์ฝ”๋“œ๋ฅผ ํ•ด์„ํ•˜๋Š” ๋ฒ•์„ ํ•™์Šตํ•˜๋ฉด์„œ๋„, ์ฃผ BRDF ๋””์ฝ”๋”์˜ ํ‰๊ฐ€ ๊ณผ์ •์—๋Š” ๊ฐ„์„ญํ•˜์ง€ ์•Š๊ฒŒ ๋œ๋‹ค.
๊ทธ๋ฆผ 7 ์„ค๋ช… ์ƒ๋‹จ ํ–‰: ๋‰ด๋Ÿด ์ž‰ํฌ์›ฐ(Inkwell) ์žฌ์งˆ์˜ ์ตœ์ ํ™”๋œ ์ž ์žฌ ํ…์Šค์ฒ˜(latent texture). (MIP ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ์„ธ ๊ฐ€์ง€ ๋ ˆ๋ฒจ์„ ๋ณด์—ฌ์ฃผ๋ฉฐ, 3๊ฐœ ์ฑ„๋„์„ RGB๋กœ ์‹œ๊ฐํ™”) ํ•˜๋‹จ ํ–‰: ํ•ด๋‹น ์ž ์žฌ ๊ฐ’๋“ค์˜ ๋ถ„ํฌ(์™ผ์ชฝ)์™€ ๋„คํŠธ์›Œํฌ ํŒŒ๋ผ๋ฏธํ„ฐ ํฌ๊ธฐ์˜ ๋ถ„ํฌ(์˜ค๋ฅธ์ชฝ). ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” FP16 ๋ถ€๋™์†Œ์ˆ˜์ (FP16 normal numbers, ๋น„์ •๊ทœํ™” ์ˆ˜ ์ œ์™ธ)์˜ ์ˆ˜์น˜ ๋ฒ”์œ„ (2โˆ’14,216)(2^{-14}, 2^{16}) ์•ˆ์— ์•ˆ์ •์ ์œผ๋กœ ์œ„์น˜ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์–‘์žํ™”(quantization) ๊ฐ€ ์šฉ์ดํ•˜๋‹ค. ๋‹ค๋ฅธ ์žฌ์งˆ๋“ค ๋˜ํ•œ ๋งค์šฐ ์œ ์‚ฌํ•œ ๋ถ„ํฌ๋ฅผ ๋ณด์ธ๋‹ค.
์•Œ๋ฒ ๋„(Albedo) ์˜ˆ์ธก์ด ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ, ์‹ (2)์˜ ๋‹จ์ผ ์ƒ˜ํ”Œ ๋ชฌํ…Œ์นด๋ฅผ๋กœ(MC) ์ถ”์ •์น˜์— ๋Œ€ํ•œ L2 ์†์‹ค์„ ์‚ฌ์šฉํ•ด ์ตœ์ ํ™”ํ•œ๋‹ค.
๋ชจ๋ธ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์ด 300,000๋ฒˆ์˜ ๋ฐ˜๋ณต ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๋ฉฐ, ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค 65,000๊ฐœ ์ƒ˜ํ”Œ๋กœ ๊ตฌ์„ฑ๋œ ๋‘ ๊ฐœ์˜ ๋ฐฐ์น˜๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค - ํ•˜๋‚˜๋Š” BRDF ๋””์ฝ”๋”์šฉ, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ์ƒ˜ํ”Œ๋Ÿฌ์šฉ์ด๋‹ค. ์ด๋Š” ์•ฝ 400์–ต ๊ฐœ์˜ ์˜จ๋ผ์ธ ์ƒ์„ฑ ์žฌ์งˆ ์ƒ˜ํ”Œ์— ํ•ด๋‹นํ•˜๋ฉฐ, ๋‹จ์ผ NVIDIA GeForce RTX 4090์—์„œ ์žฌ์งˆ๋‹น ์•ฝ 4~5์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค. ํ•™์Šต ๊ณผ์ •์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์„ธ๋ถ€์‚ฌํ•ญ์€ ๋ณด์ถฉ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
์ •๋ฐ€๋„(Precision). BRDF ๋””์ฝ”๋”์™€ ์ƒ˜ํ”Œ๋Ÿฌ๋ฅผ ์œ„ํ•œ ๋งˆ์Šคํ„ฐ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” 32๋น„ํŠธ ๋ถ€๋™์†Œ์ˆ˜์ (FP32) ์ •๋ฐ€๋„๋กœ ํ•™์Šตํ•œ๋‹ค. ํ˜ผํ•ฉ ์ •๋ฐ€๋„ ํ•™์Šต(mixed precision training)์„ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜๋ฉด ์ •ํ™•๋„ ์†์‹ค ์—†์ด ํ•™์Šต ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์ง€๋งŒ, MLP ํฌ๊ธฐ๊ฐ€ ์ž‘์•„ ์ด ๋ฐฉ๋ฒ•์€ ํƒ๊ตฌํ•˜์ง€ ์•Š์•˜๋‹ค. ํšจ์œจ์ ์ธ ์ถ”๋ก ์„ ์œ„ํ•ด ํ•™์Šต ํ›„ ์–‘์žํ™”๋ฅผ ์ ์šฉํ•˜์—ฌ ๋กœ๋“œ ์‹œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ half precision(FP16)์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. ๊ทธ๋ฆผ 7์€ ํ‰๊ฐ€ ๋ฐ ์ƒ˜ํ”Œ๋ง ๋ชจ๋ธ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ถ„ํฌ ์˜ˆ์‹œ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ๋ชจ๋“  ์˜ˆ์ œ์—์„œ ๋„คํŠธ์›Œํฌ ํŒŒ๋ผ๋ฏธํ„ฐ์˜ ์ˆ˜์น˜ ๋ฒ”์œ„๋Š” FP16์˜ ์ •๊ทœํ™”๋œ ๋ฒ”์œ„ ๋‚ด์— ์žˆ์—ˆ๋‹ค. ํ–ฅํ›„์—๋Š” ๋Ÿฐํƒ€์ž„ ์ •๋ฐ€๋„๋ฅผ INT8 ์ดํ•˜๋กœ ์ค„์ด๊ธฐ ์œ„ํ•œ ์–‘์žํ™” ์ธ์‹ ํ•™์Šต(quantization aware training)์„ ํƒ๊ตฌํ•  ๊ณ„ํš์ด๋‹ค.

6. MODEL ANALYSIS AND ABLATION

์•ž์„œ ์™ธํ˜• ๋ชจ๋ธ(appearance model)๊ณผ ํ•™์Šต ์ ˆ์ฐจ๋ฅผ ์†Œ๊ฐœํ–ˆ์œผ๋ฏ€๋กœ, ์ด์ œ ์ฃผ์š” ๊ธฐ์ˆ ์  ํ˜์‹  ์š”์†Œ๋“ค์„ ๋ถ„์„ํ•˜๊ฒ ๋‹ค:
i) ํ•™์Šต๋œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„(shading frames)์œผ๋กœ์˜ ๋ณ€ํ™˜,
ii) ์ด๋ฐฉ์„ฑ(anisotropic) ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋Ÿฌ,
iii) ์ธ์ฝ”๋”์˜ ์‚ฌ์šฉ.
๋˜ํ•œ ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ๊ณผ ์•Œ๋ฒ ๋„ ์ถ”๋ก  ์˜ต์…˜์˜ ํšจ๊ณผ๋„ ํ•จ๊ป˜ ์‹œ์—ฐํ•œ๋‹ค.
๊ทธ๋™์•ˆ ๋‹ค์–‘ํ•œ ๋‰ด๋Ÿด ์–ดํ”ผ์–ด๋Ÿฐ์Šค ๋ชจ๋ธ๋“ค์ด ๋ฐœํ‘œ๋˜์–ด ์™”์œผ๋ฉฐ, ์ด๋“ค์€ ์™ธํ˜• ๋ชจ๋ธ๋ง์˜ ์—ฌ๋Ÿฌ ์ธก๋ฉด์„ ๋‹ค๋ฃจ์–ด ์™”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:
โ€ข
๊ธฐํ•˜ํ•™์  ๋””ํ…Œ์ผ ์ˆ˜์ค€(geometric level of detail) [Kuznetsov et al. 2021, 2022]
โ€ข
์ž ์žฌ ๊ณต๊ฐ„(latent space)์˜ ํ•ด์„ ๊ฐ€๋Šฅ์„ฑ [Zheng et al. 2021]
โ€ข
๋‰ด๋Ÿด ์ปดํฌ๋„ŒํŠธ์˜ ๋ ˆ์ด์–ด๋ง(layering) [Fan et al. 2022]
์ด๋Ÿฌํ•œ ์—ฐ๊ตฌ๋“ค์€ ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์„ ๋ณด์™„ํ•˜๋Š” ์„ฑ๊ฒฉ์„ ๊ฐ€์ง€๋ฉฐ, ๋ฏธ๋ž˜์—๋Š” ํ†ตํ•ฉ๋  ์ˆ˜๋„ ์žˆ๋‹ค.
๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ํŠนํžˆ ์˜ํ™” ์ˆ˜์ค€์˜ ๋น„์ฃผ์–ผ ํ’ˆ์งˆ(film-quality visuals)๊ณผ ํ˜„๋Œ€ GPU์—์„œ์˜ ํšจ์œจ์  ์‹คํ–‰(7์žฅ์—์„œ ์ œ์‹œ)์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค.
์—ฐ๊ตฌ ์ดˆ์ ์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด ์ ‘๊ทผ๋ฒ•๊ณผ ์šฐ๋ฆฌ์˜ ์—ฐ๊ตฌ๋ฅผ ์ง์ ‘ ๋น„๊ตํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค.
๋Œ€์‹ , ์šฐ๋ฆฌ๋Š” ๋ชจ๋ธ์˜ ๋‘ ๊ฐ€์ง€ ์†Œ๊ฑฐ(ablation) ๋ณ€ํ˜• ๋ฒ„์ „์„ ํ‘œ 2์™€ ๊ทธ๋ฆผ 8์—์„œ ๋น„๊ตํ•˜๊ณ , ์ด๋“ค์„ ๊ธฐ์กด ์—ฐ๊ตฌ์˜ ๊ตฌ์„ฑ ์š”์†Œ๋“ค๊ณผ ์—ฐ๊ด€ ์ง€์–ด ๋…ผ์˜ํ•œ๋‹ค.
Vanilla MLP ๋””์ฝ”๋” + ์ž ์žฌ ํ…์Šค์ฒ˜ ๊ธฐ๋ณธ ๋ณ€ํ˜•(basic variant)์€ ๊ณ„์ธต์  ์ž ์žฌ ํ…์Šค์ฒ˜(hierarchical latent texture)์™€ Vanilla MLP ๋””์ฝ”๋”๋งŒ์„ ์‚ฌ์šฉํ•œ๋‹ค.
์ฆ‰, ๋””์ฝ”๋” ๋‚ด์—์„œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„์œผ๋กœ์˜ ๋ช…์‹œ์  ํšŒ์ „์€ ์—†์œผ๋ฉฐ, ์ž ์žฌ ํ…์Šค์ฒ˜์˜ ํ…์…€์€ ์—ญ์ „ํŒŒ(backpropagation)๋ฅผ ํ†ตํ•ด ์ง์ ‘ ์ตœ์ ํ™”๋œ๋‹ค.
์ด ๋ณ€ํ˜•์€ Sztrajman et al. [2021]์˜ ๋””์ฝ”๋”๋ฅผ ๊ณ„์ธต์  ๋‰ด๋Ÿด ํ…์Šค์ฒ˜ [Thies et al. 2019]๋ฅผ ์‚ฌ์šฉํ•ด ๊ณต๊ฐ„์  ๋ณ€ํ™”๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ™•์žฅํ•œ ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
๋˜ํ•œ, NeuMIP ๋ชจ๋ธ [Kuznetsov et al. 2021]๊ณผ๋„ ๊ฐœ๋…์ ์œผ๋กœ ์œ ์‚ฌํ•˜์ง€๋งŒ, NeuMIP๋Š” ๋ณ€์œ„๋œ ํ‘œ๋ฉด(displaced surfaces)์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ UV ์˜คํ”„์…‹ ๋ชจ๋“ˆ์„ ์ถ”๊ฐ€๋กœ ๊ฐ–์ถ”๊ณ  ์žˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ด ๋ณ€ํ˜•์˜ ๊ฒฐ๊ณผ(๊ทธ๋ฆผ 8, ์ฒซ ๋ฒˆ์งธ ์—ด)๋Š” ์ตœ์ ํ™”ํ•ด์•ผ ํ•  ์ž ์žฌ ํ…์…€ ์ˆ˜๊ฐ€ ๋ฐฉ๋Œ€ํ•˜์—ฌ ์ฐธ์กฐ ์žฌ์งˆ์˜ ๊ณต๊ฐ„์  ๋””ํ…Œ์ผ์„ ์ œ๋Œ€๋กœ ์žฌํ˜„ํ•˜์ง€ ๋ชปํ•œ๋‹ค.
์ž ์žฌ ํ…์Šค์ฒ˜ ์ตœ์ ํ™”๊ฐ€ ํ•ด์ƒ๋„ ์ฆ๊ฐ€์— ๋”ฐ๋ผ ์–ด๋–ป๊ฒŒ ์Šค์ผ€์ผ๋ง ๋˜๋Š”์ง€๋Š” 6.2์ ˆ์—์„œ ์ถ”๊ฐ€๋กœ ๋ถ„์„ํ•œ๋‹ค.
Latent texture encoder ๊ทธ๋ฆผ 8์˜ ๋‘ ๋ฒˆ์งธ ์—ด์€ ์ธ์ฝ”๋”(์„น์…˜ 5.1)๋ฅผ ์ถ”๊ฐ€ํ–ˆ์„ ๋•Œ์˜ ์žฅ์ ์„ ๋ณด์—ฌ์ค€๋‹ค.
ํ…์Šค์ฒ˜ ๋””ํ…Œ์ผ์ด ๋” ์ถฉ์‹คํ•˜๊ฒŒ ์žฌํ˜„๋˜๋Š” ์ฃผ์š” ์ด์œ ๋Š” ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.
1.
์ธ์ฝ”๋”๋Š” ๋™์ผํ•œ BRDF๋ฅผ ๊ฐ–๋Š” ์—ฌ๋Ÿฌ ํ…์…€์ด ์ตœ์ ํ™” ๊ณผ์ • ํ›„ ์„œ๋กœ ๋‹ค๋ฅธ ์ž ์žฌ ์ฝ”๋“œ๋ฅผ ๊ฐ–๊ฒŒ ๋˜๋Š” ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.์ด๋Ÿฐ ์ž ์žฌ ์ฝ”๋“œ์™€ BRDF ๊ฐ’ ๊ฐ„์˜ ๋น„๋‹จ์‚ฌ์  ๋งคํ•‘(surjective mapping)์€ ๊ธฐ๋ณธ ๋ชจ๋ธ(์ฒซ ๋ฒˆ์งธ ์—ด)์—์„œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋ฉฐ, ๋””์ฝ”๋”์˜ ํ‘œํ˜„๋ ฅ์„ ๋‚ญ๋น„ํ•œ๋‹ค.
2.
์ธ์ฝ”๋”๋Š” ํ•˜๋‚˜์˜ ์ž ์žฌ ํ…์…€๋งŒ์„ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ตœ์ ํ™”ํ•˜๋Š” ๋Œ€์‹ , ๊ฐ ํ•™์Šต ์ƒ˜ํ”Œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์—ฌ๋Ÿฌ ์ž ์žฌ ํ…์…€์— ๊ฑธ์ณ ๋ถ„์‚ฐ(amortize)์‹œํ‚จ๋‹ค.
์ด ํŠน์ • ์˜ˆ์ œ์—์„œ๋Š” ๊ณต๊ฐ„์  ๋ณ€ํ™”๋ฅผ ์ž˜ ํฌ์ฐฉํ–ˆ์ง€๋งŒ, ๋””์ฝ”๋”๋Š” ํ‹ฐํฌํŠธ ์„ธ๋ผ๋ฏน์˜ ์ข์€ ๋ฐ˜์‚ฌ ๋กœ๋ธŒ(narrow reflection lobe)๋ฅผ ์ œ๋Œ€๋กœ ํฌ์ฐฉํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
๋ฐ˜๋ฉด, ์ด๋Š” ๋ฐ”๋‹๋ผ MLP ๋””์ฝ”๋”์—์„œ๋Š” ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์žฌํ˜„๋˜์—ˆ๋‹ค.
์ด๋Š” ๋ชจ๋ธ์ด ๊ณต๊ฐ„์  ๋ณ€ํ™”์™€ ๊ณ ์ฃผํŒŒ ๋ฐ˜์‚ฌ๋ฅผ ๋™์‹œ์— ์ •ํ™•ํžˆ ์žฌํ˜„ํ•˜๊ธฐ์— ํ‘œํ˜„๋ ฅ์ด ๋ถ€์กฑ(insufficient modelling capacity)ํ•จ์„ ์‹œ์‚ฌํ•œ๋‹ค.
์ด ๋ฌธ์ œ๋Š” ๋””์ฝ”๋”์˜ ํฌ๊ธฐ๋ฅผ ํ‚ค์›€์œผ๋กœ์จ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.
์šฐ๋ฆฌ์˜ ์ธ์ฝ”๋”-๋””์ฝ”๋” ์•„ํ‚คํ…์ฒ˜๋Š” Rainer et al. [2019]๊ฐ€ BTF(Bidirectional Texture Functions)๋ฅผ ์••์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ ์˜คํ† ์ธ์ฝ”๋”(autoencoder)์™€ ์œ ์‚ฌํ•˜๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์€ ์šฐ๋ฆฌ๊ฐ€ ๋ฐ˜์‚ฌ์œจ ์ธก์ •๊ฐ’์„ ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋Œ€์‹ , ์žฌ์งˆ ํŒŒ๋ผ๋ฏธํ„ฐ(์•Œ๋ฒ ๋„, ๋Ÿฌํ”„๋‹ˆ์Šค, ๋…ธ๋ฉ€ ๋“ฑ)๋ฅผ ์ธ์ฝ”๋”ฉํ•˜๋„๋ก ์„ค๊ณ„ํ–ˆ๋‹ค๋Š” ์ ์ด๋‹ค.
์ด ๋•๋ถ„์— ์ธ์ฝ”๋”๊ฐ€ ์žฌ์งˆ ํŒŒ๋ผ๋ฏธํ„ฐํ™”์˜ ์ค‘๋ณต์„ฑ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์–ด, ์‹œ์Šคํ…œ์€ ์ดˆ๊ณ ํ•ด์ƒ๋„ ํ…์Šค์ฒ˜๋กœ์˜ ํ™•์žฅ์„ฑ์„ ๋”์šฑ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ•™์Šต๋œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„์œผ๋กœ์˜ ๋ณ€ํ™˜ (Transformation to learned shading frames)
๊ทธ๋ฆผ 8์˜ ์„ธ ๋ฒˆ์งธ ์—ด์—์„œ๋Š”, MLP ๋””์ฝ”๋” ์•ž์— ์ž…์‚ฌ/์ถœ์‚ฌ ๋ฐฉํ–ฅ์„ ๋‘ ๊ฐœ์˜ ํ•™์Šต๋œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
์ด ํ”„๋ ˆ์ž„๋“ค์€ ์ž ์žฌ ์ฝ”๋“œ(latent code)์—์„œ 12๊ฐœ์˜ ๋‰ด๋Ÿฐ์„ ๊ฐ€์ง„ ์ถ”๊ฐ€ ํ•™์Šต ๊ฐ€๋Šฅํ•œ ๋ ˆ์ด์–ด(trainable layer) ๋ฅผ ํ†ตํ•ด ์ถ”์ถœ๋œ๋‹ค. ์ด๊ฒƒ์ด ๊ณง ์šฐ๋ฆฌ์˜ ์™„์ „ํ•œ ๋ชจ๋ธ(complete model) ์„ ๊ตฌ์„ฑํ•œ๋‹ค.
4.2์ ˆ์—์„œ ๋…ผ์˜ํ–ˆ๋“ฏ์ด, ์ž…๋ ฅ์— ๋Œ€ํ•ด ๊ณฑ์…ˆ ์—ฐ์‚ฐ(multiplicative operation)์„ ๋ช…์‹œ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋ฉด,

ํ‘œ 2. ๊ทธ๋ฆผ 8์˜ ๋„ค ์žฅ ์ด๋ฏธ์ง€์— ๋Œ€ํ•ด ์„ธ ๊ฐ€์ง€ ๋ชจ๋ธ ๋ณ€ํ˜•์„ ๋น„๊ตํ•œ ํ‰๊ท  ์ด๋ฏธ์ง€ ์˜ค๋ฅ˜ ์ง€ํ‘œ

Variant
Mean FLIP
Mean abs. error
Mean sqr. error
Mean rel. abs. error
Mean rel. sqr. error
SMAPE
Vanilla MLP
0.2390
0.0769
0.0682
0.2177
0.0798
0.2670
with encoder
0.1956
0.0652
10.1933
0.3439
265.4018
0.2397
with frame transform
0.0815
0.0183
0.0057
0.0656
0.0090
0.0713
MLP๊ฐ€ ์ด๋ฅผ ๋น„์„ ํ˜• ๋ ˆ์ด์–ด๋ฅผ ์‚ฌ์šฉํ•ด ์–ต์ง€๋กœ ๊ทผ์‚ฌํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง€๊ฒŒ ๋œ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, ๋‹จ์ˆœ ๋…ธ๋ฉ€๋งต(normal mapping)๊ณผ๋Š” ์ง์ ‘์ ์œผ๋กœ ๊ด€๋ จ๋˜์ง€ ์•Š์€ ํšจ๊ณผ๋“ค๊นŒ์ง€ ํฌํ•จํ•˜์—ฌ ๊ฒฐ๊ณผ์˜ ํ’ˆ์งˆ์ด ํ–ฅ์ƒ๋œ๋‹ค. ์ด๋Š” ๋ช…์‹œ์ ์ธ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„ ๋ณ€ํ™˜์œผ๋กœ ํ™•๋ณด๋œ ๋ชจ๋ธ์˜ ํ‘œํ˜„๋ ฅ์ด, BRDF์˜ ํ˜•ํƒœ์™€ ๊ณต๊ฐ„์  ๋ณ€ํ™”๋ฅผ ๋” ์ž˜ ํฌ์ฐฉํ•˜๋Š” ๋ฐ ํˆฌ์ž๋œ๋‹ค๋Š” ๊ฒƒ์„ ์‹œ์‚ฌํ•œ๋‹ค.

6.1 Filtering

์šฐ๋ฆฌ๋Š” ๊ทธ๋ฆผ 9์—์„œ ์ž ์žฌ ํ”ผ๋ผ๋ฏธ๋“œ(latent pyramid)์˜ ๊ฐœ๋ณ„ ๋ ˆ๋ฒจ์„ ์Šˆํผ์ƒ˜ํ”Œ๋ง์œผ๋กœ ๋ Œ๋”๋งํ•œ ๊ทธ๋ผ์šด๋“œ ํŠธ๋ฃจ์Šค์™€ ๋น„๊ตํ•˜์—ฌ ํ•„ํ„ฐ๋ง ํ’ˆ์งˆ์„ ํ‰๊ฐ€ํ•œ๋‹ค.
์šฐ๋ฆฌ์˜ ํ•„ํ„ฐ๋ง๋œ ๋ชจ๋ธ์€ ๊ทผ๊ฑฐ๋ฆฌ์—์„œ๋Š” ์ž˜ ๋งž์ง€๋งŒ, ์ค‘๊ฐ„ ๊ฑฐ๋ฆฌ์—์„œ๋Š” ์ž‘์€ ๋””ํ…Œ์ผ์ด ์†์‹ค๋œ๋‹ค.
์ด๋Š” ์ž ์žฌ ์ตœ์ ํ™”(latent optimization)๊ฐ€ ๋ ˆ๋ฒจ 0์—์„œ๋งŒํผ ๋” ๋†’์€ ๋ ˆ๋ฒจ(coarser levels)์—์„œ๋Š” ์ž˜ ์ž‘๋™ํ•˜์ง€ ์•Š์•„, ๊ฒฐ๊ณผ๊ฐ€ ์•ฝ๊ฐ„ ๊ณผ๋„ํ•˜๊ฒŒ ๋ธ”๋Ÿฌ๋ง(overblur)๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ด ๋ฌธ์ œ๋Š” MIP ๋ ˆ๋ฒจ ์„ ํƒ์„ ๋” ์ •๋ฐ€ํ•œ ๋ ˆ๋ฒจ ์ชฝ์œผ๋กœ ํŽธํ–ฅ(bias)์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋ณด์™„ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์•ฝ๊ฐ„์˜ ์•จ๋ฆฌ์–ด์‹ฑ(aliasing) ์ด ๋ฐœ์ƒํ•˜๋Š” ๋Œ€๊ฐ€๋ฅผ ์น˜๋ฅด๊ฒŒ ๋œ๋‹ค. ๋ฉ€๋ฆฌ์„œ ๋ณด๋ฉด ๋ชจ๋“  ๋ ˆ๋ฒจ์€ ๋น„์Šทํ•œ ์™ธํ˜•์„ ๋ณด์ธ๋‹ค.

6.2 Latent texture optimization

์šฐ๋ฆฌ๋Š” ๊ทธ๋ฆผ 10์—์„œ ์ธ์ฝ”๋” ์‚ฌ์šฉ์˜ ์žฅ์ ์„ ๋” ๋ถ„์„ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ MIP ๋ ˆ๋ฒจ 0์—์„œ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๊ตฌ์„ฑ์˜ ์ž ์žฌ ํ…์Šค์ฒ˜๋ฅผ ๋น„๊ตํ•œ๋‹ค.
โ€ข
์ƒ๋‹จ ํ–‰: ์ง์ ‘ ์ตœ์ ํ™”(direct optimization)๋กœ ์–ป์€ ์ž ์žฌ ํ…์Šค์ฒ˜
โ€ข
ํ•˜๋‹จ ํ–‰: ์ธ์ฝ”๋”๋ฅผ ์‚ฌ์šฉํ–ˆ์„ ๋•Œ์˜ ๊ฒฐ๊ณผ
โ€ข
ํ•ด์ƒ๋„๋ณ„: ์ž‘์€ ํ•ด์ƒ๋„ (512 ร— 512, ์™ผ์ชฝ)์™€ ํฐ ํ•ด์ƒ๋„ (4k ร— 4k, ์˜ค๋ฅธ์ชฝ)
์•„๋ž˜ ์ธ์…‹(inset)์—์„œ๋Š” ํ•™์Šต๋œ ํ…์Šค์ฒ˜์˜ ํด๋กœ์ฆˆ์—…๊ณผ ํ•ด๋‹น ์˜์—ญ์˜ ๋ Œ๋”๋ง ์™ธํ˜•์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ค€๋‹ค.
์ž‘์€ ํ•ด์ƒ๋„(์˜ˆ: NeuMIP [Kuznetsov et al. 2021]์—์„œ ์‚ฌ์šฉ๋œ ์ˆ˜์ค€)์—์„œ๋Š” ์ง์ ‘ ์ตœ์ ํ™”์™€ ์ธ์ฝ”๋”๊ฐ€ ๋น„์Šทํ•˜๊ฒŒ ๋™์ž‘ํ•œ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ํฐ ํ•ด์ƒ๋„์—์„œ๋Š” ์ฐจ์ด๊ฐ€ ๋šœ๋ ทํ•ด์ง„๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, 4k ร— 4k ํ•ด์ƒ๋„์—์„œ๋Š” ์ง์ ‘ ์ตœ์ ํ™”๋œ ํ…์…€๋“ค์ด 512 ร— 512 ์ž ์žฌ ํ…์Šค์ฒ˜์˜ ํ…์…€๋“ค๋ณด๋‹ค ์•ฝ 64๋ฐฐ ์ ์€ ๊ทธ๋ž˜๋””์–ธํŠธ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, ๋””์ฝ”๋”๋Š” ๋ฌด์ž‘์œ„ ์ดˆ๊ธฐํ™”๋กœ ์ธํ•ด ํฌ๊ฒŒ ๋‹ฌ๋ผ์ง„ ์ž ์žฌ ์ฝ”๋“œ๋“ค์„ ๊ฐ™์€ BRDF ๊ฐ’์œผ๋กœ ๋งคํ•‘ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋Š” ์„ฑ๋Šฅ์„ ์ €ํ•ดํ•œ๋‹ค.
์ˆ˜๋ ด๋œ ๋ชจ๋ธ์—์„œ๋„ ์ดˆ๊ธฐํ™” ๋…ธ์ด์ฆˆ๊ฐ€ ์—ฌ์ „ํžˆ ๋ˆˆ์— ๋ˆ๋‹ค. ๋ฐ˜๋ฉด, ์ธ์ฝ”๋”๋Š” ๋ฐ์ดํ„ฐ์™€ ์—ฐ์‚ฐ์„ ๋” ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋†’์€ ์ถฉ์‹ค๋„์˜ ์‹œ๊ฐ์  ๊ฒฐ๊ณผ๋ฅผ ๋‚ธ๋‹ค. ๋ชจ๋“  ๋ชจ๋ธ์€ ๋™์ผํ•œ ์–‘์˜ ํ•™์Šต ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ํ•™์Šต๋˜์—ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ง์ ‘ ์ตœ์ ํ™”๋ฅผ ์‚ฌ์šฉํ•œ ๋ชจ๋ธ์€ ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ•™์Šต์ด ์—ฐ์‚ฐ์ ์œผ๋กœ ๋œ ๊ฐ•๋„ ๋†’์€ ํŽธ์ด์—ˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํ•™์Šต ์‹œ๊ฐ„์ด ๊ฑฐ์˜ ๋‘ ๋ฐฐ(์ตœ๋Œ€ 10์‹œ๊ฐ„)๋กœ ์ฆ๊ฐ€ํ–ˆ๋‹ค.
๊ทธ๋ฆผ 8 ์„ค๋ช… ๋™์ผํ•œ ํ•™์Šต ๋ฐ˜๋ณต ํšŸ์ˆ˜์—์„œ ๋‘ ๊ฐ€์ง€ ์†Œ๊ฑฐ(ablation) ๋ณ€ํ˜• ๋ชจ๋ธ๊ณผ ์šฐ๋ฆฌ์˜ ์™„์ „ํ•œ(full) ๋ชจ๋ธ์„ ์ •์„ฑ์ ์œผ๋กœ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ์—ด: ๋ฐ”๋‹๋ผ MLP ๋””์ฝ”๋”์™€ ์ง์ ‘ ์ตœ์ ํ™”๋œ ์ž ์žฌ ํ…์Šค์ฒ˜(latent texture)๋ฅผ ์‚ฌ์šฉํ•œ ๊ฒฝ์šฐ โ†’ ํ’ˆ์งˆ์ด ์ œํ•œ์ ์ด๋‹ค. ๋‘ ๋ฒˆ์งธ ์—ด: ์ธ์ฝ”๋”๋ฅผ ํ•™์Šตํ•˜์—ฌ ์ž ์žฌ ํ…์Šค์ฒ˜๋ฅผ ์ƒ์„ฑํ•œ ๊ฒฝ์šฐ โ†’ ๋™์ผํ•œ ์™ธํ˜•(appearance)์„ ๊ฐ€์ง„ ํ…์…€์ด ๋™์ผํ•œ ์ž ์žฌ ์ฝ”๋“œ๋กœ ๋งคํ•‘๋˜์–ด BRDF ๊ฐ’์œผ๋กœ์˜ ๋””์ฝ”๋”ฉ์ด ๋” ํšจ์œจ์ ์ด๋‹ค. ์„ธ ๋ฒˆ์งธ ์—ด: MLP ๋””์ฝ”๋”์— ์ž…์ถœ ๋ฐฉํ–ฅ์„ ํ•™์Šต๋œ ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ช…์‹œ์  ๋‹จ๊ณ„๋ฅผ ์ถ”๊ฐ€ํ•œ ๊ฒฝ์šฐ(์šฐ๋ฆฌ์˜ ์™„์ „ํ•œ ๋ชจ๋ธ) โ†’ ์ฐธ์กฐ ์ด๋ฏธ์ง€(๋งˆ์ง€๋ง‰ ์—ด)์˜ ์žฌํ˜„ ํ’ˆ์งˆ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋œ๋‹ค. ์™ผ์ชฝ ์•„๋ž˜ ๋ชจ์„œ๋ฆฌ์˜ ์ž‘์€ ์ด๋ฏธ์ง€๋Š” FLIP ์ฐจ์ด ์ง€ํ‘œ(FLIP difference metric)๋ฅผ ์‹œ๊ฐํ™”ํ•œ ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ, ์…ฐ์ด๋”ฉ ํ”„๋ ˆ์ž„ ์ถ”์ถœ๊ธฐ๊ฐ€ ์—†๋Š” ๋ชจ๋ธ๋“ค(์ฒซ ๋‘ ์—ด)์€ ์™„์ „ํ•œ ๋ชจ๋ธ๊ณผ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋ฅผ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ๋‰ด๋Ÿฐ 8๊ฐœ๋กœ ๊ตฌ์„ฑ๋œ ์ฒซ ๋ฒˆ์งธ ๋ ˆ์ด์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค.
๊ทธ๋ฆผ 9. ์šฐ๋ฆฌ๋Š” ์น˜์ฆˆ ์Šฌ๋ผ์ด์„œ(Cheese slicer) ์• ์…‹์„ ๋‹ค์–‘ํ•œ ๊ฑฐ๋ฆฌ์—์„œ ๊ด€์ฐฐํ•˜๋ฉด์„œ, ํ’‹ํ”„๋ฆฐํŠธ ๊ธฐ๋ฐ˜ ๋ ˆ๋ฒจ ์„ ํƒ(footprint-based level selection) ๊ณผ ๊ณ ์ •๋œ ์ž ์žฌ ํ”ผ๋ผ๋ฏธ๋“œ ๋ ˆ๋ฒจ(fixed latent pyramid levels, ์Šˆํผ์ƒ˜ํ”Œ๋ง์œผ๋กœ ๋ Œ๋”๋ง๋œ ๊ฒฐ๊ณผ) ์„ ๋น„๊ตํ•˜์—ฌ ํ•„ํ„ฐ๋ง ํ’ˆ์งˆ์„ ํ‰๊ฐ€ํ•œ๋‹ค. ๊ฐ€๊นŒ์ด์„œ ๋ณด๋ฉด, ๋” ๊ฑฐ์นœ(coarser) ๋ ˆ๋ฒจ๋“ค์€ ์ž‘์€ ๋””ํ…Œ์ผ(์˜ˆ: ๋น› ๋ฐ˜์ง์ž„, glints)์„ ์žƒ์–ด๋ฒ„๋ฆฌ๋ฉฐ, ์ด๋Š” ์šฐ๋ฆฌ์˜ ํ•„ํ„ฐ๋ง๋œ ๊ฒฐ๊ณผ์—์„œ๋„ ๋ฐ˜์˜๋œ๋‹ค. ๋ฐ˜๋ฉด, ๋ ˆ๋ฒจ 0์€ ์•จ๋ฆฌ์–ด์‹ฑ(aliasing)์˜ ๋Œ€๊ฐ€๋ฅผ ์น˜๋ฅด๊ธด ํ•˜์ง€๋งŒ, ๊ทธ๋ผ์šด๋“œ ํŠธ๋ฃจ์Šค์™€ ๊ฑฐ์˜ ์™„๋ฒฝํ•˜๊ฒŒ ์ผ์น˜ํ•œ๋‹ค. ๋ฉ€๋ฆฌ์„œ ๋ณด๋ฉด, ๋ชจ๋“  ๋ ˆ๋ฒจ์ด ํ‰๊ท ์ ์œผ๋กœ ์‹œ๊ฐ์ ์œผ๋กœ ์œ ์‚ฌํ•œ ์™ธํ˜•์„ ๋ณด์ธ๋‹ค.
๊ทธ๋ฆผ 10. ์ž‰ํฌ์›ฐ(Inkwell) ์• ์…‹์˜ ์ž ์žฌ ํ…์Šค์ฒ˜(latent textures). ์ง์ ‘ ์ตœ์ ํ™”(direct optimization, ์ƒ๋‹จ ํ–‰) ๋Š” ์ž‘์€ ํ…์Šค์ฒ˜(์™ผ์ชฝ)์—์„œ๋Š” ์ž˜ ๋™์ž‘ํ•˜์ง€๋งŒ, ํ•ด์ƒ๋„๊ฐ€ ๋†’์•„์งˆ์ˆ˜๋ก(์˜ค๋ฅธ์ชฝ) ๋น„ํšจ์œจ์ ์ด๋‹ค. ํ…์…€๋“ค์„ ๋…๋ฆฝ์ ์œผ๋กœ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐฉ์‹์€ ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋งค์šฐ ํฌ๋ฉฐ, ๋งŽ์€ ์ดํ„ฐ๋ ˆ์ด์…˜ ํ›„์—๋„ ์ž ์žฌ ํ…์Šค์ฒ˜์—๋Š” ์—ฌ์ „ํžˆ ์ƒ๋‹นํ•œ ์ดˆ๊ธฐํ™” ๋…ธ์ด์ฆˆ(initialization noise)๊ฐ€ ๋‚จ์•„ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์ธ์ฝ”๋”(bottom row) ๋ฅผ ํ•™์Šตํ•œ๋‹ค. ์ธ์ฝ”๋”๋Š” PBR ํ‘œ๋ฉด ์†์„ฑ(PBR surface attributes) ์„ ์ž ์žฌ ์ฝ”๋“œ(latent codes)๋กœ ๋ณ€ํ™˜ํ•˜๋ฉฐ, ์–ด๋–ค ํ•ด์ƒ๋„์—์„œ๋„ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค. ๋ชจ๋“  ๋ถ„์„๋œ ๊ตฌ์„ฑ(configuration)์€ ๋™์ผํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด ์ตœ์ ํ™”๋˜์—ˆ๋‹ค. ์™ผ์ชฝ ์ธ์…‹(inset)์€ ํ…์Šค์ฒ˜์˜ ์ž‘์€ ๋ถ€๋ถ„์„ ํ™•๋Œ€ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๋ฉฐ, ์ด๋Š” ์˜ค๋ฅธ์ชฝ ๋ Œ๋”๋ง ์ธ์…‹์—์„œ๋„ ๋ถ€๋ถ„์ ์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

6.3 Importance sampling

์šฐ๋ฆฌ๋Š” 4.3์ ˆ์—์„œ ์„ค๋ช…ํ•œ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋Ÿฌ๋ฅผ Sztrajman et al. [2021] ๋ฐ Fan et al. [2022]์˜ ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌํ•œ ๋‹จ์ˆœํ™”๋œ ๋ณ€ํ˜•๊ณผ ๋น„๊ตํ–ˆ๋‹ค.
์ด ๋‹จ์ˆœํ™”๋œ ๋ณ€ํ˜•์€ ๋‘ ๊ฐ€์ง€ ์ถœ๋ ฅ๋งŒ ์ƒ์„ฑํ•˜๋„๋ก ํ•™์Šต๋œ๋‹ค:
โ€ข
๋“ฑ๋ฐฉ์„ฑ(isotropic) ๋Ÿฌํ”„๋‹ˆ์Šค ํŒŒ๋ผ๋ฏธํ„ฐ
โ€ข
์ •๋ฐ˜์‚ฌ(specular)์™€ ํ™•์‚ฐ(diffuse) ์„ฑ๋ถ„์„ ํ˜ผํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ์ƒ๋Œ€์  ๊ฐ€์ค‘์น˜
๊ทธ๋ฆผ 11์€ LOD(level-of-detail) ๋ Œ๋”๋ง ์ƒํ™ฉ์—์„œ ๋” ์ผ๋ฐ˜์ ์ธ ์ ‘๊ทผ๋ฒ•์˜ ์žฅ์ ์„ ๋ณด์—ฌ์ค€๋‹ค.
ํŠนํžˆ, ๋…ธ๋ฉ€ ๋งต(normal map)์ด ์ ์šฉ๋˜๊ฑฐ๋‚˜ ํ•„ํ„ฐ๋ง๋œ BRDF์˜ ๊ฒฝ์šฐ, ๋น„์ค‘์‹ฌ(non-centered) ๋ฐ ์ด๋ฐฉ์„ฑ(anisotropic) NDF๋ฅผ ์ƒ˜ํ”Œ๋งํ•˜๋Š” ๊ฒƒ์ด ์œ ์šฉํ•˜๋‹ค.
์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ์ •๊ทœํ™” ํ๋ฆ„(normalizing flows) [Dinh et al. 2017] ๊ธฐ๋ฐ˜์˜ ์ƒ˜ํ”Œ๋Ÿฌ๋ฅผ ์‹œ์Šคํ…œ์— ์ ์šฉํ•˜๋Š” ๋ฐฉ์•ˆ๋„ ๊ฒ€ํ† ํ–ˆ๋‹ค. ๊ตฌ์ฒด์ ์œผ๋กœ Zheng et al. [2021]์ด ์ œ์•ˆํ•œ ๋ณ€ํ˜•์œผ๋กœ, ์ด ๋ฐฉ๋ฒ•์€ half-vector ๋ถ„ํฌ๋ฅผ ๋‘ ๊ฐœ์˜ ๊ตฌ๊ฐ„๋ณ„ ์ด์ฐจ ํ•จ์ˆ˜(piecewise quadratic) ์›Œํ”„ [Mรผller et al. 2019]๋กœ ํ‘œํ˜„ํ•˜๋ฉฐ, ๊ฐ ํ•จ์ˆ˜๋Š” 3๊ฐœ ์€๋‹‰์ธต(๊ฐ ์ธต 16 ๋‰ด๋Ÿฐ)์„ ๊ฐ€์ง„ MLP๋กœ ํŒŒ๋ผ๋ฏธํ„ฐํ™”๋œ๋‹ค.
์ด ๋ฐฉ๋ฒ•์ด ์šฐ๋ฆฌ๊ฐ€ ์„ ํƒํ•œ ์ ‘๊ทผ๋ฒ•๊ณผ ๋น„์Šทํ•œ ์ƒ˜ํ”Œ๋ง ํ’ˆ์งˆ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ์ „์ฒด ํ”„๋ ˆ์ž„ ๋ Œ๋”๋ง ์‹œ๊ฐ„์ด 2~3.8๋ฐฐ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ–ˆ๋‹ค(๊ทธ๋ฆผ 12 ์ฐธ์กฐ). ์ด๋Ÿฌํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋กœ ์ธํ•ด ์‹ค์‹œ๊ฐ„(real-time) ํ™˜๊ฒฝ์—์„œ๋Š” ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค. ์ด๋Š” ์ถ”๊ฐ€์ ์ธ ์›Œํ”„ ์—ฐ์‚ฐ ์˜ค๋ฒ„ํ—ค๋“œ์™€ ์…ฐ์ด๋”ฉ ๊ณผ์ •์—์„œ ๋” ๋งŽ์€ MLP๋ฅผ ํ‰๊ฐ€ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
์ •๊ทœํ™” ํ๋ฆ„(normalizing flows)์€ ๊ฐ ํžˆํŠธ(hit)๋งˆ๋‹ค ์ด 4๊ฐœ์˜ MLP๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•œ๋‹ค:
โ€ข
์ถœ์‚ฌ ๋ฐฉํ–ฅ์„ ์ƒ˜ํ”Œ๋งํ•  ๋•Œ 2๊ฐœ
โ€ข
์—ฐ๊ด€๋œ PDF๋ฅผ ํ‰๊ฐ€ํ•  ๋•Œ 2๊ฐœ (์˜ˆ: ๋‹ค์ค‘ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง(MIS) ๊ฐ€์ค‘์น˜ [Veach and Guibas 1995] ๊ณ„์‚ฐ์šฉ)
๋ฐ˜๋ฉด, ์šฐ๋ฆฌ์˜ ๋ฐฉ๋ฒ•์€ ํžˆํŠธ๋‹น ์ƒ˜ํ”Œ๋ง ๋„คํŠธ์›Œํฌ๋ฅผ ํ•œ ๋ฒˆ๋งŒ ํ˜ธ์ถœํ•˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋กœ ์–ป์€ ํ•ด์„์  ๋Œ€๋ฆฌ ๋ถ„ํฌ(analytic proxy distribution) ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์บ์‹ฑํ•˜์—ฌ ์ดํ›„ ์ƒ˜ํ”Œ๋ง ๋ฐ PDF ํ‰๊ฐ€ ๋‹จ๊ณ„์—์„œ ์žฌ์‚ฌ์šฉํ•œ๋‹ค.

6.4 ์•Œ๋ฒ ๋„ ์ถ”๋ก (Albedo inference)

๊ทธ๋ฆผ 13์€ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ BRDF ๋ชจ๋ธ์ด ์ถ”๊ฐ€์ ์ธ ์žฌ์งˆ ํŠน์„ฑ(material characteristics)์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๋ณด์—ฌ์ค€๋‹ค. BRDF ๋””์ฝ”๋”๋Š” ๋‹ค์ธต ์žฌ์งˆ(multilayer material)์˜ ์•Œ๋ฒ ๋„๋ฅผ ๊ทผ์‚ฌํ•˜๋Š” ์ถ”๊ฐ€์ ์ธ RGB 3์ฑ„๋„(triplet)์„ ์ถœ๋ ฅํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด RGB ํŠธ๋ฆฌํ”Œ๋ฆฟ์„ ํ•™์Šต ์ค‘์— ์‹ค์ œ ์•Œ๋ฒ ๋„์˜ ๋‹จ์ผ ์ƒ˜ํ”Œ(one-sample) ์ถ”์ •์น˜์™€ ๋น„๊ตํ•˜์—ฌ L2L_2 ์†์‹ค๋กœ ์ตœ์ ํ™”ํ•˜๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํ‰๊ท ๊ฐ’์œผ๋กœ์˜ ์ˆ˜๋ ด์„ ๋ณด์žฅํ•œ๋‹ค.
์•Œ๋ฒ ๋„ ์˜ˆ์ธก ๋Šฅ๋ ฅ์€ ๊ฐœ๋ณ„ ๊ตฌ์„ฑ ์š”์†Œ์˜ ํ…์Šค์ฒ˜ ๊ฐ’๋งŒ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ํ•ด์„์ (analytical) ๋ชจ๋ธ ๊ธฐ๋ฐ˜์˜ ๋ณต์žกํ•œ ์žฌ์งˆ ํ‘œํ˜„๊ณผ ๋น„๊ตํ•ด ์šฐ์œ„(advantage)๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
์ด๋Š” ๊ฒฝ๋กœ ์ถ”์ ๊ธฐ(path tracer)์—์„œ๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ˆ˜์น˜์  ์•Œ๋ฒ ๋„ ์ถ”์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ถ”๋ก ๋œ ์•Œ๋ฒ ๋„ ๊ฐ’์€ ๋””๋…ธ์ด์ €(denoiser)๋ฅผ ์•ˆ๋‚ดํ•˜๋Š” ์šฉ๋„ ๋“ฑ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

7. Inline Neural Materials

์ด ์ ˆ์—์„œ๋Š” ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ ์…ฐ์ด๋”(ray tracing shaders) ์•ˆ์—์„œ ์šฐ๋ฆฌ์˜ ๋‰ด๋Ÿด ์–ดํ”ผ์–ด๋Ÿฐ์Šค ๋ชจ๋ธ(neural appearance model)์„ ์ธ๋ผ์ธ(inline)์œผ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋Ÿฐํƒ€์ž„ ์‹œ์Šคํ…œ์„ ์„ค๋ช…ํ•œ๋‹ค.
์ตœ์‹  ์‹ค์‹œ๊ฐ„ NeRFs ์—ฐ๊ตฌ [Mรผller et al. 2022]์ฒ˜๋Ÿผ, ์šฐ๋ฆฌ๋Š” GPU์—์„œ ์‹ ๊ฒฝ๋ง์„ ์™„์ „ํžˆ ๊ฒฐํ•ฉ(fused)๋œ ํ˜•ํƒœ๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ–ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‚˜ ์ปค๋„์„ ์ง์ ‘ ์ž‘์„ฑํ•˜๋Š” ๋Œ€์‹ , ๋Ÿฐํƒ€์ž„ ์ฝ”๋“œ ์ƒ์„ฑ(run-time code generation)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ Œ๋”๋ง ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ๋‰ด๋Ÿด ๋ชจ๋ธ์„ ์ธ๋ผ์ธ ํ‰๊ฐ€ํ•œ๋‹ค.
์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ ์…ฐ์ด๋” ํ”„๋กœ๊ทธ๋žจ์˜ ๋ชจ๋“  ํžˆํŠธ ํฌ์ธํŠธ(hit point)์—์„œ ์‹ ๊ฒฝ๋ง์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์‹คํ–‰ํ•˜๋ฉด์„œ, ํ•ธ๋“œ์ฝ”๋“œ(hand-written code)์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ์ˆ ์  ๋„์ „ ๊ณผ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค:
1.
๊ธฐ์กด ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•œ๊ณ„
โ€ข
PyTorch, TensorFlow ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋Œ€๊ทœ๋ชจ ๋ฐฐ์น˜(batch)์˜ ์‹ ๊ฒฝ๋ง์„ ์ผ๊ด€์ ์œผ๋กœ(coherent) ์‹คํ–‰ํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ๋‹ค.
โ€ข
GLSL์ด๋‚˜ HLSL ๊ฐ™์€ ์‹ค์‹œ๊ฐ„ ์…ฐ์ด๋”ฉ ์–ธ์–ด์— ์‹ ๊ฒฝ๋ง์„ ํ†ตํ•ฉ(integrate)ํ•˜๋Š” ๋„๊ตฌ๋Š” ๊ฑฐ์˜ ์—†๋‹ค.
โ€ข
ํŠนํžˆ ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ ํ™˜๊ฒฝ์—์„œ๋Š” ์‹คํ–‰ ๊ฒฝ๋กœ๊ฐ€ ๋ถ„๊ธฐ(divergent)๋  ์ˆ˜ ์žˆ์–ด ๋”์šฑ ์–ด๋ ต๋‹ค.
2.
ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ํ–‰๋ ฌ ์—ฐ์‚ฐ ํ™œ์šฉ ๋ฌธ์ œ
โ€ข
์ตœ์‹  GPU ์•„ํ‚คํ…์ฒ˜(AMDยน, Intelยฒ, NVIDIAยณ)์—์„œ ์ œ๊ณตํ•˜๋Š” MMA(matrix multiply-accumulate) ์—ฐ์‚ฐ์„ ํ™œ์šฉํ•˜๊ณ  ์‹ถ์ง€๋งŒ,
โ€ข
ํ˜„์žฌ์˜ ์…ฐ์ด๋”ฉ ์–ธ์–ด๋Š” ์ด๋Ÿฌํ•œ ๋ช…๋ น์–ด๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.
3.
๋ Œ๋”๋Ÿฌ์—์„œ์˜ ์‹คํ–‰ ๋ฐ ๋ฐ์ดํ„ฐ ๋ฐœ์‚ฐ(divergence) ๋ฌธ์ œ
โ€ข
๋ Œ๋”๋ง ์ค‘์—๋Š” ์‹คํ–‰ ๊ฒฝ๋กœ์™€ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ด ๋ถˆ๊ทœ์น™์ ์ด์–ด์„œ ์‹ ๊ฒฝ๋ง์— ๋ถˆ๋ฆฌํ•˜๋‹ค.
โ€ข
์‹ ๊ฒฝ๋ง์€ ๋Œ€๋Ÿ‰์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ถˆ๋Ÿฌ์™€์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

7.1 Neural Material Shaders

์šฐ๋ฆฌ์˜ ๋‰ด๋Ÿด ๋ชจ๋ธ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ž‘์€ MLP๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ทธ ์‚ฌ์ด์‚ฌ์ด์— ๋น„-์‹ ๊ฒฝ๋ง ์—ฐ์‚ฐ(non-neural operations) ๋ธ”๋ก์ด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค.
์žฌ์งˆ(materials)์€ ์˜คํ”„๋ผ์ธ์—์„œ ํ•™์Šต๋˜๊ณ , ์ตœ์ข… ๋ชจ๋ธ์˜ ์„ค๋ช…(description)๊ณผ ํ•จ๊ป˜ ํ•™์Šต๋œ ๊ณ„์ธต์ (latent) ํ…์Šค์ฒ˜๊ฐ€ ๋‚ด๋ณด๋‚ด์ง„๋‹ค. ์ด ํ…์Šค์ฒ˜๋“ค์€ mipmap์ด ์ ์šฉ๋œ 16๋น„ํŠธ RGBA ์ด๋ฏธ์ง€๋กœ ์ €์žฅ๋œ๋‹ค.
์ž ์žฌ ํ…์Šค์ฒ˜(latent textures)์˜ ์••์ถ•(texture compression)์€ ์•ž์œผ๋กœ ํฅ๋ฏธ๋กœ์šด ์—ฐ๊ตฌ ์ฃผ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
ํŠนํžˆ, ๋‰ด๋Ÿด ํ…์Šค์ฒ˜ ์••์ถ•(neural texture compression) [Vaidyanathan et al. 2023] ์€ ๋งค์šฐ ์œ ๋งํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋Š” ์••์ถ•๊ณผ ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ ๋ชจ๋ธ์„ ์—”๋“œ-ํˆฌ-์—”๋“œ(end-to-end) ๋กœ ํ•จ๊ป˜ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
๋Ÿฐํƒ€์ž„ ์‹œ์Šคํ…œ์€ ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ ์„ค๋ช…์„ ์ตœ์ ํ™”๋œ ์…ฐ์ด๋” ์ฝ”๋“œ๋กœ ์ปดํŒŒ์ผํ•œ๋‹ค.
์šฐ๋ฆฌ๋Š” ์˜คํ”ˆ ์†Œ์Šค ์…ฐ์ด๋”ฉ ์–ธ์–ด์ธ Slang [He et al. 2018] ์„ ๋ชฉํ‘œ๋กœ ์‚ผ์•˜์œผ๋ฉฐ, Slang์€ Vulkan, Direct3D 12, CUDA ๋“ฑ ๋‹ค์–‘ํ•œ ๋ฐฑ์—”๋“œ๋ฅผ ์ง€์›ํ•œ๋‹ค. Slang์€ ์ฝ”๋“œ์˜ ๋…ผ๋ฆฌ์  ๋ชจ๋“ˆํ™”๋ฅผ ์œ„ํ•œ ์…ฐ์ด๋” ๋ชจ๋“ˆ(shader modules) ๊ณผ ์ธํ„ฐํŽ˜์ด์Šค(interfaces) ๋ฅผ ์ง€์›ํ•œ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐ ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ๋งˆ๋‹ค ํ•˜๋‚˜์˜ ์…ฐ์ด๋” ๋ชจ๋“ˆ์„ ์ƒ์„ฑํ•˜๊ณ , ์ด๋Š” ์ˆ˜๊ธฐ ์ž‘์„ฑ๋œ(hand-written) ๋จธํ‹ฐ๋ฆฌ์–ผ๊ณผ ๋™์ผํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค.
์ฆ‰, ๋ Œ๋”๋Ÿฌ์—์„œ ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ์€ ๊ธฐ์กด์˜ ๊ณ ์ „์ ์ธ ๋จธํ‹ฐ๋ฆฌ์–ผ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š๊ฒŒ ์‹คํ–‰๋œ๋‹ค.
๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ๊ณผ ๊ธฐ๋Šฅ ์žฌํ˜„์„ฑ์„ ์œ„ํ•œ ์˜์‚ฌ์ฝ”๋“œ(pseudocode) ์˜ˆ์ œ๋Š” ๋ถ€๋ก(supplemental material)์— ์ˆ˜๋ก๋˜์–ด ์žˆ๋‹ค.
๊ทธ๋ฆผ 11. ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋Ÿฌ(์œ„์ชฝ ํ–‰)๋Š” ๋“ฑ๋ฐฉ์„ฑ(isotropic) ์ •๋ฐ˜์‚ฌ๋งŒ ์ง€์›ํ•˜๋Š” ๋‹จ์ˆœํ•œ ๋ณ€ํ˜•(์•„๋ž˜์ชฝ ํ–‰) ๊ณผ ๋น„๊ตํ–ˆ์„ ๋•Œ, ๋…ธ์ด์ฆˆ ์ˆ˜์ค€์„ ์ค„์—ฌ์ค€๋‹ค. ์ด๋Š” Sztrajman et al. [2021] ๋ฐ Fan et al. [2022]์˜ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•œ ๋งฅ๋ฝ์ด๋‹ค. ์™ผ์ชฝ: ๋น„์ค‘์‹ฌ(non-centered) ๋งˆ์ดํฌ๋กœํŒจ์‹ฏ NDF๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, ๋…ธ๋ฉ€ ๋งต์˜ ์„ธ๋ฐ€ํ•œ ๋””ํ…Œ์ผ์„ ํฌ์ฐฉํ•œ๋‹ค. ์˜ค๋ฅธ์ชฝ: ๋” ๊ฑฐ์นœ MIP ๋ ˆ๋ฒจ์—์„œ๋Š” ํ•„ํ„ฐ๋ง๋œ ๋ถ„ํฌ๊ฐ€ ๊ฐ•ํ•˜๊ฒŒ ์ด๋ฐฉ์„ฑ(anisotropic)์„ ๋ค๋‹ค. ํ™•๋Œ€๋œ ๋ทฐ๋Š” SPP 4 (samples per pixel) ๋กœ ๋ Œ๋”๋ง๋˜์—ˆ๋‹ค. ๊ฑฐ์ง“ ์ƒ‰์ƒ(false-color) ์ด๋ฏธ์ง€๋Š” ํ”ฝ์…€ ๋‹จ์œ„ ํ‘œ์ค€ํŽธ์ฐจ์™€, ์ธ์…‹ ์ „์ฒด์—์„œ์˜ ํ‰๊ท ๊ฐ’์„ ๋ณด์—ฌ์ค€๋‹ค.
โ€ข
X์ถ• (ํ’ˆ์งˆ, Quality): ๋†’์„์ˆ˜๋ก ๋””ํ…Œ์ผ๊ณผ ์ •ํ™•๋„๊ฐ€ ์ข‹์Œ
โ€ข
Y์ถ• (์†๋„, Speed): ๋†’์„์ˆ˜๋ก ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚จ
โ€ข
๐Ÿ”ด NF (8-bin) โ†’ ๋น ๋ฅด์ง€๋งŒ ํ’ˆ์งˆ ๋‚ฎ์Œ
โ€ข
๐ŸŸ  NF (16-bin) โ†’ ํ’ˆ์งˆ ๊ฐœ์„ , ์†๋„ ์ €ํ•˜
โ€ข
๐ŸŸข Analytic Proxy (์šฐ๋ฆฌ ๋ฐฉ๋ฒ•) โ†’ ํ’ˆ์งˆ๊ณผ ์†๋„ ๋ชจ๋‘ ์šฐ์ˆ˜
๊ทธ๋ฆผ 12. ํ”ฝ์…€ ๋‹จ์œ„ ํ‘œ์ค€ํŽธ์ฐจ(pixel-wise standard deviation) ์ด๋ฏธ์ง€๋ฅผ ํ†ตํ•ด, ์šฐ๋ฆฌ์˜ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋Ÿฌ์™€ ์ •๊ทœํ™” ํ๋ฆ„(normalizing flows) ๊ธฐ๋ฐ˜์˜ ๋Œ€์•ˆ ๊ตฌํ˜„์„ ๋น„๊ตํ•œ ๊ฒฐ๊ณผ์ด๋‹ค. ์ฒซ ๋ฒˆ์งธ ์—ด: Zheng et al. [2021]๊ณผ ๋™์ผํ•˜๊ฒŒ 8๊ฐœ์˜ bin์„ ๊ฐ€์ง„ warp๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ˜ํ”Œ๋Ÿฌ ๊ตฌ์กฐ๋Š”, ๊ด‘ํƒ ์žˆ๋Š”(Inkwell) ๊ธˆ์†์—๋Š” ์ ์ ˆํ•˜์ง€๋งŒ, ๋งค์šฐ ๊ฐ•ํ•œ ์ •๋ฐ˜์‚ฌ ํ”ผํฌ๋ฅผ ๊ฐ€์ง„ Teapot ์„ธ๋ผ๋ฏน์—์„œ๋Š” ์ œ๋Œ€๋กœ ๋Œ€์‘ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๋‘ ๋ฒˆ์งธ ์—ด: ๋” ๊ณ ํ’ˆ์งˆ์ธ 16 bin warp๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”ผํฌ๋ฅผ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋Œ€๋žต์ ์œผ๋กœ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์ œ์•ˆํ•œ ํ•ด์„์  ๋Œ€๋ฆฌ(analytic proxy) ๊ธฐ๋ฐ˜ ์ƒ˜ํ”Œ๋Ÿฌ(์„ธ ๋ฒˆ์งธ ์—ด) ์˜ ๋ถ„์‚ฐ๊ณผ ์ผ์น˜ํ•œ๋‹ค. ๋งˆ์ง€๋ง‰ ์—ด: ํ•™์Šต๋œ ๋ถ„ํฌ(learned densities)์˜ ๊ทน์ขŒํ‘œ ํ”Œ๋กฏ(polar plots, ๋กœ๊ทธ ์Šค์ผ€์ผ) ์„ ๋ณด์—ฌ์ค€๋‹ค. ํ”Œ๋กฏ ์œ„์— ํ‘œ์‹œ๋œ ์ˆซ์ž๋Š” ๋‹ค์Œ์„ ๋ณด๊ณ ํ•œ๋‹ค: ๋ Œ๋”๋ง ์‹œ๊ฐ„ (1 SPP๋กœ ์ „์ฒด ํ”„๋ ˆ์ž„ ๋ Œ๋”๋ง) ๋‹จ์œ„ ๋ถ„์‚ฐ ๋„๋‹ฌ ์‹œ๊ฐ„(TTUV, Time To Unit Variance) โ†’ ์ฆ‰, ํ‰๊ท  ๋ถ„์‚ฐ๊ณผ ๋ Œ๋”๋ง ์‹œ๊ฐ„์˜ ๊ณฑ ์ด ์ˆ˜์น˜๋Š” ์ •๊ทœํ™” ํ๋ฆ„ ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ์ƒ๋‹นํ•œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ๋“œ๋Ÿฌ๋‚ธ๋‹ค. ๋ชจ๋“  ๊ฒฝ์šฐ์—์„œ ํ‰๊ฐ€ ๋„คํŠธ์›Œํฌ์˜ ํฌ๊ธฐ๋Š” ๋™์ผํ•˜๊ฒŒ, 2๊ฐœ ๋ ˆ์ด์–ด / ๊ฐ 32 ๋‰ด๋Ÿฐ ์œผ๋กœ ๊ณ ์ •๋˜์—ˆ๋‹ค.

Figure 12 ๋น„๊ต (Importance Sampler vs Normalizing Flows)

๋ฐฉ์‹
๊ตฌ์กฐ
์„ฑ๋Šฅ (์žฌ์งˆ๋ณ„)
๋ถ„์‚ฐ(variance)
๋Ÿฐํƒ€์ž„ ํšจ์œจ
๋น„๊ณ 
Normalizing Flow (8-bin warp)
2 layers ร— 32 neurons, 8 bin warp
- Inkwell ๊ธˆ์†: ์ ์ ˆ- Teapot ์„ธ๋ผ๋ฏน: ๊ฐ•ํ•œ ์ŠคํŽ™ํ˜๋Ÿฌ ํ”ผํฌ ํ‘œํ˜„ ์‹คํŒจ
๋†’์Œ (๋…ธ์ด์ฆˆ ํผ)
๋น ๋ฅด์ง€๋งŒ ํ•œ๊ณ„ ์กด์žฌ
Zheng et al. [2021]๊ณผ ๋™์ผ ๊ตฌ์„ฑ
Normalizing Flow (16-bin warp)
2 layers ร— 32 neurons, 16 bin warp
- Inkwell ๊ธˆ์†: ์ ์ ˆ- Teapot ์„ธ๋ผ๋ฏน: ํ”ผํฌ ํฌ์ฐฉ ๊ฐ€๋Šฅ
๋‚ฎ์Œ (์šฐ๋ฆฌ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌ)
๋Ÿฐํƒ€์ž„ โ†‘ (์˜ค๋ฒ„ํ—ค๋“œ ํผ)
ํ’ˆ์งˆ์€ ๊ฐœ์„ ๋˜์ง€๋งŒ ์‹ค์‹œ๊ฐ„์„ฑ ์ €ํ•˜
Analytic Proxy ๊ธฐ๋ฐ˜ (์šฐ๋ฆฌ ๋ฐฉ์‹)
2 layers ร— 32 neurons + analytic proxy
- Inkwell ๊ธˆ์†: ์ ์ ˆ- Teapot ์„ธ๋ผ๋ฏน: ํ”ผํฌ ์ •ํ™•ํžˆ ํฌ์ฐฉ
๋‚ฎ์Œ (์•ˆ์ •์ )
๊ฐ€์žฅ ํšจ์œจ์  (ํ•œ ๋ฒˆ๋งŒ ์ƒ˜ํ”Œ๋ง ํ›„ ์บ์‹ฑ)
TTUV(Time To Unit Variance) ์ตœ์ 
๊ทธ๋ฆผ 13. BRDF ๋””์ฝ”๋”๋Š” ์žฌ์งˆ์˜ ์•Œ๋ฒ ๋„(albedo) ๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ์ถ”๋ก ํ•˜๋„๋ก ํ•™์Šต๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด, ๋””์ฝ”๋”์˜ ์ถ”๊ฐ€ RGB ์ถœ๋ ฅ์„ ์ฐธ์กฐ ์žฌ์งˆ(reference material)์˜ ์•Œ๋ฒ ๋„์— ๋Œ€ํ•œ ๋ชฌํ…Œ์นด๋ฅผ๋กœ ์ถ”์ •์น˜(Monte Carlo estimate) ์™€ ๋น„๊ตํ•˜์—ฌ ์ตœ์ ํ™”ํ•œ๋‹ค.
Code Generation GPU๋Š” SIMT (Single Instruction, Multiple Threads) ์‹คํ–‰ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์Šค๋ ˆ๋“œ ๋ฌถ์Œ(๋ฐฐ์น˜, wavefront ๋˜๋Š” warp)์ด ๋™์ผํ•œ ๋ช…๋ น์„ ๋™์‹œ์— ์‹คํ–‰ํ•œ๋‹ค. ์ œ์–ด ํ๋ฆ„(control flow)์— ๋”ฐ๋ผ ์ผ๋ถ€ ์Šค๋ ˆ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ๋งˆ์Šคํ‚น(masking)๋  ์ˆ˜ ์žˆ๋‹ค.
๋ฌธ์ œ๋Š” ๊ฐ ์Šค๋ ˆ๋“œ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ํžˆํŠธ ํฌ์ธํŠธ(hit point) ์™€ ๋จธํ‹ฐ๋ฆฌ์–ผ(material) ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ•œ warp ๋‚ด ๋ชจ๋“  ์Šค๋ ˆ๋“œ๊ฐ€ ๋ฐ˜๋“œ์‹œ ๊ฐ™์€ ์‹ ๊ฒฝ๋ง์„ ํ‰๊ฐ€ํ•œ๋‹ค๊ณ  ๋ณด์žฅํ•  ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ด๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” ๋‘ ๊ฐ€์ง€ ์ฝ”๋“œ ๊ฒฝ๋กœ(code path)๋ฅผ ์ƒ์„ฑํ•œ๋‹ค:
โ€ข
๋ฐœ์‚ฐ(divergent) ์‹คํ–‰์— ์ตœ์ ํ™”๋œ ๊ฒฝ๋กœ
โ€ข
์ผ๊ด€(coherent) ์‹คํ–‰์— ์ตœ์ ํ™”๋œ ๊ฒฝ๋กœ
์…ฐ์ด๋”๋Š” warp ๋‹จ์œ„๋กœ ๋™์ ์œผ๋กœ ์–ด๋А ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ• ์ง€ ์„ ํƒํ•œ๋‹ค.
โ€ข
๋ฐœ์‚ฐ(divergent) ๊ฒฝ์šฐ:
GPU์˜ SIMT ๋ชจ๋ธ์— ์˜์กดํ•˜์—ฌ ๋ฐœ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์‚ฐ์ˆ (arithmetic)๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋กœ๋“œ(load) ๋ช…๋ น์–ด์˜ ์–ธ๋กค(unrolled) ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•œ๋‹ค.
๋Œ€๋ถ€๋ถ„์˜ ๋ช…๋ น์–ด๋Š” MLP feedforward ๋ ˆ์ด์–ด์—์„œ ํฐ ํ–‰๋ ฌ ๊ณฑ(matrix multiply) ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ๋‹ค. ์šฐ๋ฆฌ๋Š” FMA (fused multiply-add) ๋ช…๋ น์„ ํ™œ์šฉํ•˜์—ฌ, ๋‘ ๊ฐœ์˜ 16๋น„ํŠธ ๊ฐ€์ค‘์น˜๋ฅผ ํ•œ ๋ฒˆ์— ์—ฐ์‚ฐํ•œ๋‹ค. ๊ฐ€์ค‘์น˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์ˆœ์„œ์— ๋งž๊ฒŒ ๋ฐฐ์—ด๋˜์–ด ์žˆ์œผ๋ฉฐ, 128๋น„ํŠธ ๋ฒกํ„ฐํ™”๋œ ๋กœ๋“œ(vectorized loads) ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ํŠน๋ณ„ํ•œ ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ธ๋‹ค.
๊ทธ๋ฆผ 14. ๋ถ€๋ถ„์ ์œผ๋กœ ์—ด๋ฆฐ ์ผ€์ดํฌ ์ƒ์ž(Cake box) ์•ˆ์—๋Š” 25๊ฐ€์ง€ ์„œ๋กœ ๋‹ค๋ฅธ ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ(neural materials)์ด ๋“ค์–ด ์žˆ๋‹ค. ํ†ต๊ณ„๋Š”, ๊ธด ๋ผ์ดํŠธ ํŒจ์Šค(light paths)๋ฅผ ๋”ฐ๋ผ ๋ชจ๋“  ๋ฒ„ํ…์Šค์—์„œ ์…ฐ์ด๋” ์‹คํ–‰ ์žฌ์ •๋ ฌ(Shader Execution Reordering, SER) ์„ ํ™œ์šฉํ•  ๋•Œ, ์šฐ๋ฆฌ์˜ ๋ฉ”๊ฐ€์ปค๋„ ํŒจ์Šค ํŠธ๋ ˆ์ด์„œ(megakernel path tracer)๊ฐ€ ๋†’์€ ์ˆ˜์ค€์˜ ์…ฐ์ด๋”ฉ ์ผ๊ด€์„ฑ(shading coherency) ์„ ๋‹ฌ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ค€๋‹ค.

7.2 Tensor core acceleration

์ตœ๊ทผ GPU ์•„ํ‚คํ…์ฒ˜๋“ค์€ ํ–‰๋ ฌ ๊ณฑ(matrix multiplication) ์—ฐ์‚ฐ์„ ๊ฐ€์†ํ•˜๊ธฐ ์œ„ํ•œ ํ•˜๋“œ์›จ์–ด ์œ ๋‹›์„ ์ œ๊ณตํ•œ๋‹ค.
๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์€ ์•„ํ‚คํ…์ฒ˜๋งˆ๋‹ค ๋‹ค๋ฅด์ง€๋งŒ, ํ•ต์‹ฌ ๊ธฐ๋Šฅ์€ ์œ ์‚ฌํ•˜๋‹ค. ์šฐ๋ฆฌ๋Š” NVIDIA์˜ ํ…์„œ ์ฝ”์–ด(tensor cores) ์— ์ดˆ์ ์„ ๋งž์ถ˜๋‹ค. ํ…์„œ ์ฝ”์–ด๋Š” ์—ฌ๋Ÿฌ ํ˜•ํƒœ์˜ ํ–‰๋ ฌ ๊ณฑ(matrix multiply) ๋ช…๋ น์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ, ๊ฐ™์€ ์•„์ด๋””์–ด๋Š” ๋‹ค๋ฅธ ์•„ํ‚คํ…์ฒ˜์—๋„ ์ ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
ํ•˜์ง€๋งŒ ์ด ๋ช…๋ น์–ด๋“ค์€ ํ˜„์žฌ ์ปดํ“จํŠธ API ์—๋งŒ ์ œํ•œ๋˜์–ด ์žˆ์œผ๋ฉฐ, ์…ฐ์ด๋”(shaders) ์—์„œ๋Š” ๋…ธ์ถœ๋˜์ง€ ์•Š๋Š”๋‹ค.
์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” LLVM ๊ธฐ๋ฐ˜ ์˜คํ”ˆ ์†Œ์Šค DirectX ์…ฐ์ด๋” ์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์ˆ˜์ •ํ•˜์—ฌ ์ €์ˆ˜์ค€ ์ ‘๊ทผ์„ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ •์˜ intrinsic ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” Slang ์…ฐ์ด๋” ์ฝ”๋“œ์—์„œ ํ…์„œ ์ฝ”์–ด๋ฅผ ํ™œ์šฉํ•œ ์‹ ๊ฒฝ๋ง ํ‰๊ฐ€๋ฅผ ๋งค์šฐ ํšจ์œจ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ…์„œ ์ฝ”์–ด๋Š” ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ์˜ 16 ร— 16 ๋ธ”๋ก์„ ๋™์‹œ์— ์—ฐ์‚ฐํ•œ๋‹ค.
๋‹จ, MMA(matrix multiply-accumulate) ๋ช…๋ น์–ด๋Š” warp ์ „์ฒด๊ฐ€ ํ˜‘๋ ฅ(cooperation) ํ•ด์•ผ ํ•œ๋‹ค.
๋”ฐ๋ผ์„œ ์ด ๋น ๋ฅธ ๊ฒฝ๋กœ(fast path)๋Š” ๋ชจ๋“  ์“ฐ๋ ˆ๋“œ๊ฐ€ ๋™์ผํ•œ ์žฌ์งˆ(material)์„ ํ‰๊ฐ€ํ•˜๋Š” ์ผ๊ด€๋œ(coherent) warps ์—๋งŒ ์ ์šฉ๋œ๋‹ค. ๋˜ํ•œ ๋„คํŠธ์›Œํฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๋กœ๋“œํ•  ๋•Œ๋„ ์ผ๊ด€๋œ(coherent) ์ ‘๊ทผ์ด ์„ฑ๋Šฅ์— ์œ ๋ฆฌํ•˜๋‹ค. ๋”ฐ๋ผ์„œ ์–ด๋–ป๊ฒŒ coherent warps๋ฅผ ๊ตฌ์„ฑํ•  ๊ฒƒ์ธ๊ฐ€๊ฐ€ ์ค‘์š”ํ•œ๋ฐ, ์ด๋Š” ๋‹ค์Œ ์ ˆ์—์„œ ๋…ผ์˜ํ•œ๋‹ค.

7.3 Shading coherency

๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ(neural materials)์„ ์‚ฌ์šฉํ•˜๋ฉด, ๋„คํŠธ์›Œํฌ ๊ฐ€์ค‘์น˜์™€ ์ž ์žฌ ํ…์Šค์ฒ˜(latent textures)๋งŒ ๊ต์ฒดํ•จ์œผ๋กœ์จ ๋™์ผํ•œ ์…ฐ์ด๋” ์ฝ”๋“œ๋กœ ๋‹ค์–‘ํ•œ ์žฌ์งˆ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.
์ด๋Š” ์ „ํ†ต์ ์œผ๋กœ ์‹คํ–‰ ๋ฐœ์‚ฐ(execution divergence) ์ด ์‹ฌํ•œ ์›Œํฌ๋กœ๋“œ(์˜ˆ: ๊ฒฝ๋กœ ์ถ”์ , path tracing)์—์„œ๋„ warp ํ™œ์šฉ๋„(warp utilization) ์™€ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค.
ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ ๋ฐœ์‚ฐ(data divergence)์˜ ์ฆ๊ฐ€๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‹œ์Šคํ…œ์— ๋ถ€๋‹ด์„ ์ฃผ๋ฉฐ, ์…ฐ์ด๋”ฉ ์ฝ”ํžˆ์–ด๋Ÿฐ์‹œ(shading coherence)๋ฅผ ๋†’์—ฌ ์„ฑ๋Šฅ์„ ์ถ”๊ฐ€๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๊ธฐ์กด ์ ‘๊ทผ (classical coherent approaches)
โ—ฆ
์˜ˆ: ์›จ์ด๋ธŒํ”„๋ก ํŠธ ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑ (wavefront path tracing) [Laine et al. 2013; van Antwerpen 2011]
โ—ฆ
๊ฐ bounce ํ›„ ํžˆํŠธ(hit)๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ  ์ „์—ญ์ ์œผ๋กœ ์žฌ์ •๋ ฌํ•œ๋‹ค.
โ—ฆ
ํ•˜์ง€๋งŒ ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ ์š”๊ตฌ ๋•Œ๋ฌธ์— ์„ฑ๋Šฅ์ด ๊ทผ๋ณธ์ ์œผ๋กœ ์ œํ•œ๋œ๋‹ค.
โ€ข
์ตœ๊ทผ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋Šฅ (recent hardware features)
โ—ฆ
Intel์˜ Thread Sorting Unit (TSU)
โ—ฆ
NVIDIA์˜ Shader Execution Reordering (SER)
โ—ฆ
์ด๋“ค์€ ์ž‘์—…(work)์„ ์ง€์—ญ์ ์œผ๋กœ ์žฌ์ •๋ ฌํ•˜์—ฌ ํšจ์œจ์„ ๋†’์ธ๋‹ค.
์šฐ๋ฆฌ์˜ ๋ฐฉ๋ฒ•์—์„œ๋Š” ๋ฉ”๊ฐ€์ปค๋„(megakernel) ํŒจ์Šค ํŠธ๋ ˆ์ด์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ(path)๋ฅผ ์นฉ ์˜จ(on-chip)์— ์œ ์ง€ํ•œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  SER์ด ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ฝ”ํžˆ์–ด๋Ÿฐ์‹œ ์ฆ๊ฐ€ ํšจ๊ณผ๋ฅผ ํ™œ์šฉํ•œ๋‹ค.
๊ทธ๋ฆผ 14๋Š” ์šฐ๋ฆฌ์˜ ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑ ์•„ํ‚คํ…์ฒ˜์—์„œ, ๋Œ€๋ถ€๋ถ„์˜ warp๊ฐ€ ์™„์ „ํžˆ ์ฝ”ํžˆ์–ด๋ŸฐํŠธ(๋ชจ๋“  ์“ฐ๋ ˆ๋“œ๊ฐ€ ๋™์ผํ•œ ์žฌ์งˆ์„ ์…ฐ์ด๋”ฉ) ํ•จ์„ ๋ณด์—ฌ์ค€๋‹ค.

8. Runtime Analysis and Results

ํ’ˆ์งˆ๊ณผ ์„ฑ๋Šฅ์„ ์—ฐ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” Falcor ๋ Œ๋”๋ง ํ”„๋ ˆ์ž„์›Œํฌ [Kallweit et al. 2022] ์œ„์— ๊ตฌ์ถ•๋œ ์‹ค์‹œ๊ฐ„ ํŒจ์Šค ํŠธ๋ ˆ์ด์„œ [Clarberg et al. 2022a,b] ์— ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.
ํŒจ์Šค ํŠธ๋ ˆ์ด์„œ๋Š” ๋‹ค์ค‘ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง(MIS) [Veach and Guibas 1995] ๊ธฐ๋ฐ˜์˜ ๋„ฅ์ŠคํŠธ ์ด๋ฒคํŠธ ์ถ”์ •(next-event estimation) ์„ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฐ ๊ฒฝ๋กœ(path)๋Š” eval, sample, evalPdf ๋จธํ‹ฐ๋ฆฌ์–ผ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ํ˜ธ์ถœํ•œ๋‹ค.
์šฐ๋ฆฌ ์‹œ์Šคํ…œ์€ Direct3D 12 ์œ„์—์„œ DirectX Raytracing (DXR) ์„ ํ†ตํ•œ ํ•˜๋“œ์›จ์–ด ๊ฐ€์† ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ์„ ์‚ฌ์šฉํ•œ๋‹ค.
๋ณ„๋„์˜ ์–ธ๊ธ‰์ด ์—†๋Š” ํ•œ, ๋ชจ๋“  ๊ฒฐ๊ณผ๋Š” NVIDIA GeForce RTX 4090 GPU ์—์„œ 1920ร—1080 ํ•ด์ƒ๋„๋กœ ์ƒ์„ฑ๋˜์—ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ์„ ์‚ฌ์šฉํ•œ ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑ์˜ ํ’ˆ์งˆ๊ณผ ์„ฑ๋Šฅ ํ‰๊ฐ€์— ์ง‘์ค‘ํ•˜๊ธฐ ์œ„ํ•ด, ๊ฒฐ๊ณผ๋ฅผ ์™œ๊ณกํ•  ์ˆ˜ ์žˆ๋Š” ๋””๋…ธ์ด์ง• ๋ฐ ๊ธฐํƒ€ ๊ธฐ๋Šฅ์€ ๋น„ํ™œ์„ฑํ™”ํ•˜์˜€๋‹ค.
์„ฑ๋Šฅ ์ธก์ • ๋ฐฉ๋ฒ•:
โ€ข
1920ร—1080 ์ด๋ฏธ์ง€๋ฅผ ํ”ฝ์…€๋‹น ๊ฒฝ๋กœ ์ƒ˜ํ”Œ 1๊ฐœ(1 SPP) ๋กœ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฐ ์ด ์‹œ๊ฐ„(ms)์œผ๋กœ ๋ณด๊ณ ํ•œ๋‹ค.
โ€ข
ms/SPP ์‹œ๊ฐ„์€ ์‹ค์‹œ๊ฐ„ ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑ์„ ๋Œ€ํ‘œํ•˜๋Š” ์ง€ํ‘œ์ด๋ฉฐ, ์ด๋ฅผ ์„ ํ˜•์ ์œผ๋กœ ํ™•์žฅํ•ด ๋” ๋†’์€ SPP๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ(์˜ˆ: ๊ณ ํ’ˆ์งˆ ํ”„๋ฆฌ๋ทฐ ๋ Œ๋”๋ง)์˜ ์‹œ๊ฐ„์„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๊ฒฝ๋กœ ๊ธธ์ด(path length)๋Š” ์ตœ๋Œ€ 6๊ฐœ์˜ ๊ฒฝ๋กœ ์ •์ (vertex) (์นด๋ฉ”๋ผ์™€ ๊ด‘์› ํฌํ•จ)์œผ๋กœ ์ œํ•œํ–ˆ๋‹ค.
โ€ข
์ธก์ • ๋ชฉ์ ์œผ๋กœ ๋Ÿฌ์‹œ์•ˆ ๋ฃฐ๋ ›(Russian roulette) ์€ ๋น„ํ™œ์„ฑํ™”ํ•˜์˜€๋‹ค.
์ฐธ์กฐ ์žฌ์งˆ (Reference materials):
โ€ข
์šฐ๋ฆฌ๋Š” ํ’๋ถ€ํ•œ ์žฌ์งˆ๋“ค์„ ์—ฐ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด, MaterialX [Smythe and Stone 2021] ๋กœ ํ‘œํ˜„๋œ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ ˆ์ด์–ด๋“œ(material graph) ๋ฅผ ์ง€์›ํ•˜๋„๋ก ํ™•์žฅํ–ˆ๋‹ค.
โ€ข
MaterialX๋Š” VFX์™€ ์˜ํ™” ์ œ์ž‘์—์„œ ๊ณ ์ถฉ์‹ค๋„ ์žฌ์งˆ(high-fidelity materials) ์˜ ์ผ๋ฐ˜์ ์ธ ๊ตํ™˜ ํฌ๋งท์ด๋‹ค.
โ€ข
์ด๋ฅผ ํ†ตํ•ด Houdini ๋ฐ ๊ธฐํƒ€ ๋„๊ตฌ์—์„œ ๋ณต์žกํ•œ ๋ ˆ์ด์–ด๋“œ ์žฌ์งˆ(๊ทธ๋ฆผ 2 ์ฐธ์กฐ)์„ ์ œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
โ€ข
๋ชจ๋“  ์žฌ์งˆ์€ ์—ฌ๋Ÿฌ BRDF๋ฅผ ๋ฏน์‹ฑ(mixing) ๋˜๋Š” ์ฝ”ํŒ…(coating) ์—ฐ์‚ฐ์œผ๋กœ ์กฐํ•ฉํ•ด ๊ตฌ์„ฑ๋œ๋‹ค.
โ€ข
๊ฑฐ์˜ ๋ชจ๋“  ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ํ…์Šค์ฒ˜ํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ ํ…์Šค์ฒ˜์˜ ํ•ด์ƒ๋„๋Š” 4k~8k ์ˆ˜์ค€์ด๋‹ค.
โ€ข
์ผ๋ถ€ ์žฌ์งˆ์€ ๋” ๋†’์€ ํ•ด์ƒ๋„๋ฅผ ์œ„ํ•ด ์ตœ๋Œ€ 14๊ฐœ์˜ 4k ํ…์Šค์ฒ˜ ํƒ€์ผ์„ ์ด์–ด ๋ถ™์ธ๋‹ค.
โ€ข
์šฐ๋ฆฌ๋Š” ์ฐธ์กฐ ์žฌ์งˆ๋“ค์„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ, Slang ์ฝ”๋“œ๋กœ ์ตœ์ ํ™”๋œ ์…ฐ์ด๋”ฉ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌํ˜„ํ–ˆ๋‹ค.
โ—ฆ
์ด ๊ทธ๋ž˜ํ”„๋Š” ํ‘œ์ค€ BRDF ๋ชจ๋ธ์„ ๊ฐ€์ค‘์น˜(์ž…์‚ฌ ๋ฐฉํ–ฅ ฯ‰i\omega_iฯ‰i ์˜์กด) ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐํ•ฉํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.
โ€ข
๊ฐ ์žฌ์งˆ์€ ์—ฌ๋Ÿฌ ๋ ˆ์ด์–ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๊ฐ ๋ ˆ์ด์–ด๋Š” ์—ฌ๋Ÿฌ ํ…์Šค์ฒ˜์— ์˜ํ•ด ๊ตฌ๋™๋œ๋‹ค.
โ€ข
๊ด€๋ จ ํ†ต๊ณ„๋Š” ํ‘œ 1(Table 1) ์— ์ œ๊ณต๋œ๋‹ค.

8.1 Visual accuracy

๊ทธ๋ฆผ 3์—์„œ๋Š”, ์šฐ๋ฆฌ๊ฐ€ ์ œ์•ˆํ•œ 8์ฑ„๋„ ์ž ์žฌ ํ…์Šค์ฒ˜(latent texture) ๋กœ ํŒŒ๋ผ๋ฏธํ„ฐํ™”๋œ ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ๊ณผ, ๋‹จ์ˆœํ•œ ํ•ด์„์  ๋ชจ๋ธ(ํ™•์‚ฐ ์„ฑ๋ถ„ + ๋“ฑ๋ฐฉ์„ฑ Trowbridge-Reitz(GGX) ๋กœ๋ธŒ ์กฐํ•ฉ)์„ ๋น„๊ตํ•œ๋‹ค.
์ด ํ•ด์„์  ๋ชจ๋ธ์€ ์ด 8์ฑ„๋„์˜ ํ…์Šค์ฒ˜์— ์˜ํ•ด ๊ตฌ๋™๋œ๋‹ค.
ํ•ด์„์  ๋ชจ๋ธ์— ๋Œ€ํ•ด์„œ๋Š” ๋‘ ๊ฐ€์ง€ ๋ณ€ํ˜•์„ ์‹คํ—˜ํ–ˆ๋‹ค:
1.
์ˆ˜์น˜์ ์œผ๋กœ ์ตœ์ ํ™”๋œ ํŒŒ๋ผ๋ฏธํ„ฐ โ€“ ์šฐ๋ฆฌ์˜ ๊ธฐ์กด ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ(๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ ํ•™์Šต์šฉ์œผ๋กœ ์กฐ์ •๋จ)์„ ์‚ฌ์šฉํ•ด ์–ป์€ ๊ฒฝ์šฐ
2.
์ „๋ฌธ๊ฐ€๊ฐ€ ์ˆ˜๋™์œผ๋กœ ์ตœ์ ํ™”ํ•œ ํŒŒ๋ผ๋ฏธํ„ฐ
ํ•˜์ง€๋งŒ ๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ ์ฐธ์กฐ๋˜๋Š” ๋‹ค์ธต ์žฌ์งˆ(multi-layered material)์˜ ๋ณต์žก์„ฑ์„ ํฌ์ฐฉํ•˜์ง€ ๋ชปํ•œ๋‹ค.
ํŠนํžˆ, ๋‹จ์ˆœ ํ•ด์„์  ๋ชจ๋ธ์˜ ํ™•์‚ฐ ์•Œ๋ฒ ๋„(diffuse albedo) ๋Š” ์„ธ๋ผ๋ฏน ๊ธ€๋ ˆ์ด์ง•(ceramic glazing)์˜ ๋ทฐ-์˜์กด ์ƒ‰(view-dependent color) ์ค‘ ์ผ๋ถ€ ๋‹จ๋ฉด(slice)๋งŒ์„ ํฌ์ฐฉํ•  ์ˆ˜ ์žˆ๋‹ค.
๋”ฐ๋ผ์„œ ์„ ํƒ๋œ ์•Œ๋ฒ ๋„์™€ ์ผ์น˜ํ•˜๋Š” ํŠน์ • ์‹œ์ (view direction)์—์„œ๋งŒ ์ •ํ™•ํ•˜๋‹ค.
๋ฐ˜๋ฉด, ๋‰ด๋Ÿด ๋จธํ‹ฐ๋ฆฌ์–ผ์€ ์ฐธ์กฐ๋ฅผ ๋” ์ถฉ์‹คํ•˜๊ฒŒ ์žฌํ˜„ํ•˜๋ฉฐ,
๊ณ ํ’ˆ์งˆ์ด์ง€๋งŒ ๋А๋ฆฐ ์ฐธ์กฐ ๋ชจ๋ธ๊ณผ ์ €ํ’ˆ์งˆ์ด์ง€๋งŒ ๋น ๋ฅธ ํ•ด์„์  ๊ทผ์‚ฌ ๋ชจ๋ธ ์‚ฌ์ด์—์„œ ์†๋„์™€ ํ’ˆ์งˆ์˜ ๊ท ํ˜•์„ ์ด๋ฃฌ๋‹ค.
๊ทธ๋ฆผ 15์™€ 16์—์„œ๋Š”, ๋‰ด๋Ÿด BRDF ๋””์ฝ”๋”์˜ ์„ธ ๊ฐ€์ง€ ์„ค์ •(configuration)์— ๋Œ€ํ•ด ์‹œ๊ฐ์  ํ’ˆ์งˆ๊ณผ ๋ Œ๋”๋ง ์„ฑ๋Šฅ์„ ๋น„๊ตํ•œ๋‹ค.
(์ค‘์š”๋„ ์ƒ˜ํ”Œ๋Ÿฌ๋Š” ํ•ญ์ƒ ์€๋‹‰์ธต 3๊ฐœ, ๊ฐ 32 ๋‰ด๋Ÿฐ์œผ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.)
์˜ˆ์ƒ๋Œ€๋กœ, ๋””์ฝ”๋” ํฌ๊ธฐ์— ๋”ฐ๋ผ ํ’ˆ์งˆ์ด ๋‹ฌ๋ผ์ง„๋‹ค.
๊ทธ๋ฆผ 15. ์ž‰ํฌ์›ฐ(Inkwell) ์žฅ๋ฉด์—์„œ ๊ธˆ์† ๋ถ€๋ถ„์€ ์šฐ๋ฆฌ๊ฐ€ ์ œ์•ˆํ•œ ๋‰ด๋Ÿด BRDF ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์€ ํ•ด์„์  BRDF ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์„ธ ์—ด์€ BRDF ๋””์ฝ”๋”์˜ ํฌ๊ธฐ(์ž‘์€ โ†’ ํฐ) ์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค. ์ฆ‰, ์™ผ์ชฝ์€ ๊ฐ€์žฅ ๋น ๋ฅด์ง€๋งŒ ๋œ ์ •ํ™•ํ•œ ์„ค์ •์ด๊ณ , ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ๋” ์ •ํ™•ํ•˜์ง€๋งŒ ๋А๋ฆฐ ์„ค์ •์ด๋‹ค. ๊ฐ ์ด๋ฏธ์ง€์˜ ๊ตฌ์„์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋œ๋‹ค: FLIP ์˜ค๋ฅ˜ ์ด๋ฏธ์ง€1920ร—1080 ํ•ด์ƒ๋„์—์„œ ํ”ฝ์…€๋‹น 1 ์ƒ˜ํ”Œ(1 SPP), ์ตœ๋Œ€ ๊ฒฝ๋กœ ๊ธธ์ด 6์œผ๋กœ ๋ Œ๋”๋งํ–ˆ์„ ๋•Œ์˜ ๋ Œ๋”๋ง ์„ฑ๋Šฅ ๋ชจ๋“  ์ด๋ฏธ์ง€๋Š” 8192 SPP ๋กœ ๋ Œ๋”๋ง๋˜์–ด, ๊ฒฝ๋กœ ์ถ”์ (path tracing) ๋…ธ์ด์ฆˆ๋ฅผ ์–ต์ œํ•œ ์ƒํƒœ์—์„œ ๋น„๊ต๋œ๋‹ค.
๊ทธ๋ฆผ 16. Stage ์žฅ๋ฉด์œผ๋กœ, ๋„ค ๊ฐ€์ง€ ์žฌ์งˆ์„ ์šฐ๋ฆฌ๊ฐ€ ์ œ์•ˆํ•œ ๋‰ด๋Ÿด BRDFs ๋กœ ๊ทผ์‚ฌ(approximate)ํ•˜์˜€๋‹ค. ๋ ˆ์ด์•„์›ƒ์€ ๊ทธ๋ฆผ 15์™€ ์œ ์‚ฌํ•˜๋‹ค. ๊ตฌ์„์—๋Š” FLIP ์˜ค๋ฅ˜ ์ด๋ฏธ์ง€๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๊ณ , ์ˆ˜์น˜๋Š” 1920ร—1080 ํ•ด์ƒ๋„, 1 SPP, ๊ฒฝ๋กœ ๊ธธ์ด ์ตœ๋Œ€ 6 ์กฐ๊ฑด์—์„œ ์žฅ๋ฉด์„ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„์ด๋‹ค. ๋ชจ๋“  ์ด๋ฏธ์ง€๋Š” 8192 SPP ๋กœ ๋ Œ๋”๋ง๋˜์–ด, ๊ฒฝ๋กœ ์ถ”์  ๋…ธ์ด์ฆˆ๋ฅผ ์–ต์ œํ•œ ์ƒํƒœ์—์„œ ๋น„๊ต๋œ๋‹ค. ๊ฒฐ๊ณผ: ๋‰ด๋Ÿด BRDF๋กœ ๋ Œ๋”๋งํ•œ ๊ฒฝ์šฐ, ์ฐธ์กฐ ์žฌ์งˆ ๋Œ€๋น„ ์ „์ฒด ํ”„๋ ˆ์ž„ ๋ Œ๋”๋ง ์‹œ๊ฐ„์ด 1.64๋ฐฐ ~ 4.14๋ฐฐ ๋” ๋น ๋ฅด๋‹ค. ์ˆ˜์น˜๋Š” ๊ทธ๋ฆผ 15์™€ ์—ฌ๊ธฐ(Fig. 16)์—์„œ์˜ ๋ทฐ ํ‰๊ท  ๊ธฐ์ค€์ด๋‹ค. ์žฅ๋ฉด ๋ฐ ์กฐ๋ช… ์„ธํŒ…์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ณด์ถฉ ๋ฌธ์„œ(supplemental document) ๋ฅผ ์ฐธ์กฐํ•˜๋ผ.
โ€ข
๊ฐ€์žฅ ํฐ ์„ค์ •(์€๋‹‰์ธต 3๊ฐœ, ๊ฐ 64 ๋‰ด๋Ÿฐ)์€ ์ฐธ์กฐ ์žฌ์งˆ์„ ์ž˜ ์žฌํ˜„ํ•˜๋ฉฐ, ๋Œ€๋ถ€๋ถ„์˜ ๋””ํ…Œ์ผ๊ณผ ์ƒ‰์„ ์ •ํ™•ํžˆ ์žก์•„๋‚ธ๋‹ค.
โ€ข
์˜ค๋ฅ˜๋Š” ์ฃผ๋กœ ๊ฑฐ์˜ ์ •๋ฐ˜์‚ฌ(near-specular) ์žฌ์งˆ์˜ ๊ธ€๋ ˆ์ด์ง• ๊ฐ(grazing angles) ์—์„œ ๋‚˜ํƒ€๋‚œ๋‹ค.
โ—ฆ
์˜ˆ: ์„ธ๋ผ๋ฏน ํ‹ฐํŒŸ(Teapot) ๋ณธ์ฒด์˜ ์‹ค๋ฃจ์—ฃ ๊ทผ์ฒ˜
์—ฌ๋Ÿฌ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ๊ตฌ์„ฑ์„ ์‹คํ—˜ํ•œ ๊ฒฐ๊ณผ, ์ผ๋ถ€๋Š” ๊ธ€๋ ˆ์ด์ง• ๊ฐ์˜ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ค„์ด๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์œผ๋‚˜ (์˜ˆ: L2L_2L2 ์†์‹ค ์‚ฌ์šฉ),
๋‹ค๋ฅธ ์˜์—ญ์˜ ํ’ˆ์งˆ์ด ์ €ํ•˜๋˜์—ˆ์œผ๋ฉฐ, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ํฌ๊ฒŒ ์ €ํ•˜๋˜๊ธฐ๋„ ํ–ˆ๋‹ค.
์ด โ€œ์ œ๋กœ์„ฌ ๊ฒŒ์ž„(zero-sum game)โ€์—์„œ ๋ฒ—์–ด๋‚˜๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” ํ”„๋ ˆ๋„ฌ ํšจ๊ณผ(Fresnel effects)๋ฅผ ์ฒ˜๋ฆฌํ•  ์ƒˆ๋กœ์šด ๊ทธ๋ž˜ํ”ฝ์Šค ์‚ฌ์ „ ์ง€์‹(prior) ์ด ํ•„์š”ํ•˜๋‹ค๊ณ  ์ฃผ์žฅํ•˜๋ฉฐ, ์ด๋Š” ๋ฏธ๋ž˜ ์—ฐ๊ตฌ๋กœ ๋‚จ๊ธด๋‹ค.
์šฐ๋ฆฌ๋Š” FLIP [Andersson et al. 2020] ๊ฑฐ์ง“ ์ƒ‰์ƒ(false-color) ์˜ค๋ฅ˜ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์„์— ํฌํ•จํ•˜์—ฌ, ๋‰ด๋Ÿด BRDF์™€ ์ฐธ์กฐ BRDF ๋ Œ๋”๋ง์„ ์ „ํ™˜ํ•  ๋•Œ ์ง€๊ฐ๋˜๋Š” ์ฐจ์ด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ณด์—ฌ์ฃผ์—ˆ๋‹ค.
๋ชจ๋“  ์ด๋ฏธ์ง€๋Š” ๋ณด์ถฉ ์ž๋ฃŒ(supplemental material)์— ํฌํ•จ๋˜์–ด ์žˆ์–ด, ์ด๋Ÿฌํ•œ ๊ฒ€์ฆ์„ ์ง์ ‘ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.
ํ‘œ 3์—๋Š” ๋‹ค์–‘ํ•œ ํ‘œ์ค€ ์ด๋ฏธ์ง€ ์˜ค๋ฅ˜ ์ง€ํ‘œ(image error metrics)๋ฅผ ์ด์šฉํ•œ ํ‰๊ท  ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์™€ ์žˆ์œผ๋ฉฐ,
๋ณด์ถฉ ์ž๋ฃŒ์—๋Š” ๋””์ฝ”๋” ํฌ๊ธฐ์— ๋”ฐ๋ฅธ ํ•™์Šต๋œ ์žฌ์งˆ์˜ ๊ทน์ขŒํ‘œ ํ”Œ๋กฏ(polar plots)๋„ ํฌํ•จ๋œ๋‹ค.

Table 3. ์ด๋ฏธ์ง€ ์—๋Ÿฌ ์ง€ํ‘œ (8192 SPP ๊ธฐ์ค€, Fig. 15 & 16 ํ‰๊ท )

BRDF ๋””์ฝ”๋”
Mean FLIP โ†“
Mean abs. error โ†“
Mean sqr. error โ†“
Mean rel. abs. error โ†“
Mean rel. sqr. error โ†“
SMAPE โ†“
2ร—16
0.1087
0.0439
1.3855
0.1042
0.0353
0.1449
2ร—32
0.0551
0.0145
0.0107
0.0429
0.0056
0.0468
3ร—64
0.0444
0.0121
0.0101
0.0347
0.0035
0.0363
โ€ข
๋””์ฝ”๋”๊ฐ€ ์ปค์งˆ์ˆ˜๋ก (2ร—16 โ†’ 3ร—64), ๋ชจ๋“  ์˜ค๋ฅ˜ ์ง€ํ‘œ์—์„œ ์ ์ง„์  ๊ฐœ์„ 
โ€ข
ํŠนํžˆ FLIP, ์ ˆ๋Œ€/์ƒ๋Œ€ ์˜ค๋ฅ˜, SMAPE ๊ฐ’์ด ๋šœ๋ ทํ•˜๊ฒŒ ๋‚ฎ์•„์ง
โ€ข
ํ•˜์ง€๋งŒ 2ร—16 โ†’ 2ร—32 ์ „ํ™˜์ด ๊ฐ€์žฅ ํฐ ๊ฐœ์„ ํญ, 3ร—64๋Š” ์†Œํญ ์ถ”๊ฐ€ ํ–ฅ์ƒ

Table 4. ์ „์ฒด ํ”„๋ ˆ์ž„ ์„ฑ๋Šฅ (ms/SPP, Importance Sampler = 3ร—32 ๊ณ ์ •)

์žฅ๋ฉด & ๋ทฐ
2ร—16
2ร—32
3ร—64
Ref. (๊ธฐ์ค€)
Inkwell, View 1
3.64 (4.01ร—)
4.36 (3.34ร—)
9.94 (1.47ร—)
14.58
Inkwell, View 2
3.26 (4.71ร—)
4.16 (3.69ร—)
10.93 (1.41ร—)
15.36
Stage, View 1
3.15 (4.21ร—)
3.71 (3.57ร—)
6.31 (2.10ร—)
13.25
Stage, View 2
3.30 (4.33ร—)
4.32 (3.31ร—)
7.67 (1.86ร—)
14.29
Stage, View 3
4.29 (4.66ร—)
5.73 (3.49ร—)
11.02 (1.81ร—)
19.98
Stage, View 4
3.49 (4.74ร—)
4.39 (3.77ร—)
8.68 (1.90ร—)
16.53
Stage, View 5
3.45 (2.26ร—)
4.12 (1.89ร—)
7.68 (1.01ร—)
7.78
ํ‰๊ท 
3.51 (4.14ร—)
4.40 (3.31ร—)
8.89 (1.64ร—)
14.54
โ€ข
์„ฑ๋Šฅ: ์ž‘์€ ๋””์ฝ”๋”์ผ์ˆ˜๋ก ๋น ๋ฆ„ (2ร—16์ด ํ‰๊ท  4.14๋ฐฐ ์†๋„ ํ–ฅ์ƒ)
โ€ข
ํ’ˆ์งˆ: ํฐ ๋””์ฝ”๋”(3ร—64)๋Š” ํ’ˆ์งˆ์€ ๊ฐ€์žฅ ์ข‹์ง€๋งŒ, ์†๋„๋Š” 1.64๋ฐฐ๋กœ ์ƒ๋Œ€์  ํ–ฅ์ƒํญ์ด ๋‚ฎ์Œ
โ€ข
ํŠธ๋ ˆ์ด๋“œ์˜คํ”„:
โ—ฆ
2ร—16 โ†’ ๋น ๋ฅด์ง€๋งŒ ํ’ˆ์งˆ ๋–จ์–ด์ง
โ—ฆ
3ร—64 โ†’ ํ’ˆ์งˆ ์ตœ๊ณ , ์„ฑ๋Šฅ ํ–ฅ์ƒ์€ ์ œํ•œ์ 
โ—ฆ
2ร—32 โ†’ ํ’ˆ์งˆ๊ณผ ์„ฑ๋Šฅ์˜ ๊ท ํ˜•์ 

8.2 ๋Ÿฐํƒ€์ž„ ์„ฑ๋Šฅ

๊ฐ€์žฅ ์ž‘์€ ๋„คํŠธ์›Œํฌ๊ฐ€ ์ตœ๊ณ ์˜ ๋ Œ๋”๋ง ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ์žฌ๊ตฌ์„ฑ ์ •ํ™•๋„๋Š” ๋–จ์–ด์ง„๋‹ค.
Table 4๋Š” ms/SPP ๋‹จ์œ„์˜ ์ ˆ๋Œ€ ์„ฑ๋Šฅ๊ณผ, GPU ์ตœ์ ํ™”๋œ ์ฐธ์กฐ ์žฌ์งˆ์„ ๋ Œ๋”๋งํ–ˆ์„ ๋•Œ ๋Œ€๋น„ ์ƒ๋Œ€์ ์ธ ์†๋„ ํ–ฅ์ƒ์„ ๋ณด์—ฌ์ค€๋‹ค (๋ชจ๋‘ NVIDIA GeForce RTX 4090 GPU์—์„œ ์‹คํ–‰).
๋‰ด๋Ÿด BRDFs๋ฅผ ์‚ฌ์šฉํ•œ ์ „์ฒด ํ”„๋ ˆ์ž„ ๋ Œ๋”๋ง ์‹œ๊ฐ„์€ ํ‰๊ท ์ ์œผ๋กœ ์ฐธ์กฐ ์žฌ์งˆ๋ณด๋‹ค 1.64ร— (3ร—64) ~ 4.14ร— (2ร—16) ๋” ๋น ๋ฅด๋‹ค.

Table 5.

๋‘ ๊ฐ€์ง€ ์„œ๋กœ ๋‹ค๋ฅธ BRDF ๋””์ฝ”๋” ์•„ํ‚คํ…์ฒ˜์—์„œ์˜ ์žฌ์งˆ ์…ฐ์ด๋”ฉ ์„ฑ๋Šฅ(ms/SPP). (์ค‘์š”๋„ ์ƒ˜ํ”Œ๋Ÿฌ๋Š” ํ•ญ์ƒ 3 ร— 32).
์—ด ๋ผ๋ฒจ์€ ์€๋‹‰์ธต(hidden layer)์˜ ๊ฐœ์ˆ˜์™€ ๋„ˆ๋น„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
๊ด„ํ˜ธ ์•ˆ ์ˆซ์ž๋Š” ์ฐธ์กฐ ์žฌ์งˆ(๋งˆ์ง€๋ง‰ ์—ด)์— ๋Œ€ํ•œ ์†๋„ ํ–ฅ์ƒ์„ ์˜๋ฏธํ•œ๋‹ค.
์žฅ๋ฉด & ๋ทฐ
2 ร— 32
3 ร— 64
Ref.
Stage, View 3
1.59 (10.19ร—)
6.02 (2.69ร—)
16.21
Stage, View 4
1.23 (12.82ร—)
5.06 (3.12ร—)
15.77
Inkwell, View 1
1.59 (6.99ร—)
6.01 (1.85ร—)
11.11
Inkwell, View 2
1.74 (7.25ร—)
7.15 (1.76ร—)
12.61
Average
1.54 (9.06ร—)
6.06 (2.30ร—)
13.93
๊ทธ๋ฆผ 17. 1920ร—1080 ํ•ด์ƒ๋„์—์„œ 1 SPP ์ด๋ฏธ์ง€๋ฅผ ๋ Œ๋”๋งํ•  ๋•Œ, ๊ฒฝ๋กœ ๊ธธ์ด๋ฅผ ์ตœ๋Œ€ 6๊ฐœ์˜ ์ •์ (path vertex)๊นŒ์ง€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์˜ ํ‰๊ท  ๊ฒฝ๋กœ ์ถ”์ (path tracing) ์‹œ๊ฐ„๊ณผ ์žฌ์งˆ ์…ฐ์ด๋”ฉ(material shading) ์‹œ๊ฐ„(ms ๋‹จ์œ„). ๋‘ ๊ฐ€์ง€ ์„œ๋กœ ๋‹ค๋ฅธ BRDF ๋””์ฝ”๋” ์•„ํ‚คํ…์ฒ˜๊ฐ€ ํ”„๋กœํŒŒ์ผ๋ง ๋˜์—ˆ์œผ๋ฉฐ, ์ฐธ์กฐ ์žฌ์งˆ(reference materials)์„ ์ด์šฉํ•œ ์…ฐ์ด๋”ฉ ๋น„์šฉ๊ณผ ๋น„๊ต๋˜์—ˆ๋‹ค.
ํ”„๋ ˆ์ž„ ์‹œ๊ฐ„(frame time)์€ ์ผ๋ฐ˜์ ์ธ ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑ ์—ฐ์‚ฐ(๊ด‘์› ์ƒ˜ํ”Œ๋ง, ๋ ˆ์ด ํŠธ๋ ˆ์ด์‹ฑ, ์ œ์–ด ๋กœ์ง)๊ณผ ์žฌ์งˆ ์ƒ˜ํ”Œ๋ง ๋ฐ ํ‰๊ฐ€(material sampling & evaluation) ๋ฅผ ๋ชจ๋‘ ํฌํ•จํ•œ๋‹ค.
๋ฉ”ํ…Œ๋ฆฌ์–ผ ์…ฐ์ด๋”ฉ(material shading) ์— ์–ผ๋งˆ๋‚˜ ๋งŽ์€ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ์˜ ๋‰ด๋Ÿด ์žฌ์งˆ(neural materials) ์ด ์ฐธ์กฐ ์žฌ์งˆ(reference materials) ๋Œ€๋น„ ์–ผ๋งˆ๋‚˜ ์†๋„ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ์˜ค๋Š”์ง€ ์ถ”์ •ํ•˜๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” ์ „์šฉ ๋ฒค์น˜๋งˆํฌ๋ฅผ ๊ตฌ์„ฑํ–ˆ๋‹ค.
์šฐ๋ฆฌ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๋‰ด๋Ÿด ์žฌ์งˆ ์…ฐ์ด๋”๋Š” ๋ Œ๋”๋Ÿฌ ๋‚ด๋ถ€์—์„œ ์ธ๋ผ์ธ์œผ๋กœ ์‹คํ–‰๋˜๋ฉฐ, ๋ณ„๋„์˜ ์ปค๋„๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ณผ์ •์€ ์ฃผ์˜ ๊นŠ๊ฒŒ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•œ๋‹ค.
โ€ข
๊ฒฝ๋กœ ๋ถ„ํฌ(path distribution)๋ฅผ ๋‹จ์ˆœํ•œ ์ฝ”์‚ฌ์ธ ๊ฐ€์ค‘ ๋ถ„ํฌ(cosine-weighted distribution) ๋กœ ๊ณ ์ •ํ•˜๊ณ ,
โ€ข
์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์–ด๋–ค ์žฌ์งˆ ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™” ๊ณผ์ •์—์„œ ์ œ๊ฑฐํ•˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•˜์˜€๋‹ค.
๋ฒ ์ด์Šค๋ผ์ธ(baseline) ์œผ๋กœ๋Š”, ์ƒ์ˆ˜ ์ƒ‰์ƒ(constant color) ์„ ๊ฐ€์ง„ ์žฌ์งˆ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ˆœ์ˆ˜ํ•œ ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑ ๋น„์šฉ๋งŒ ์ธก์ •ํ•˜์˜€๋‹ค.
Table 5์™€ Figure 17์€ Inkwell ์žฅ๋ฉด(Figure 15, View 1 & 2) ๊ณผ Stage ์žฅ๋ฉด(Figure 16, View 3 & 4) ์— ๋Œ€ํ•œ ๋Œ€ํ‘œ์ ์ธ ๋ทฐ ๋‘ ๊ฐ€์ง€์˜ ๊ฒฐ๊ณผ๋ฅผ ์š”์•ฝํ•œ๋‹ค.
๋‰ด๋Ÿด BRDFs๋ฅผ ์‚ฌ์šฉํ•œ ์…ฐ์ด๋”ฉ ์‹œ๊ฐ„์€ ํ‰๊ท ์ ์œผ๋กœ ์ฐธ์กฐ ์žฌ์งˆ ๋Œ€๋น„ 2.30ร— (3ร—64)์—์„œ 9.06ร— (2ร—32)๊นŒ์ง€ ๋” ๋น ๋ฅด๋ฉฐ, ์ผ๋ถ€ ๋ทฐ์—์„œ๋Š” ์ค‘๊ฐ„ ํฌ๊ธฐ์˜ BRDF ๋””์ฝ”๋”(2ร—32)์—์„œ 10๋ฐฐ ์ด์ƒ์˜ ๊ฐ€์†์„ ๋‹ฌ์„ฑํ•˜์˜€๋‹ค.
์ข…ํ•ฉ์ ์œผ๋กœ, ์„ฑ๋Šฅ๊ณผ ์‹œ๊ฐ์  ์ถฉ์‹ค๋„(visual fidelity)๋Š” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋ฐฉ์‹์œผ๋กœ ์Šค์ผ€์ผ๋งํ•˜๋ฉฐ, ๋‰ด๋Ÿด BRDFs๋Š” ํ’ˆ์งˆ๊ณผ ์„ฑ๋Šฅ ๊ฐ„์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์กฐ์ ˆํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ์ด๋Ÿฌํ•œ ์Šค์ผ€์ผ๋ง ๋™์ž‘(scaling behavior)์„ ๋” ์ž์„ธํžˆ ๋ถ„์„ํ•œ๋‹ค.

8.3 Scalability

๊ทธ๋ฆผ 18์€ ๋‰ด๋Ÿด ์žฌ์งˆ์˜ ์ˆ˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ฌ ๋•Œ ์„ฑ๋Šฅ์ด ์œ ๋ฆฌํ•˜๊ฒŒ ํ™•์žฅ๋จ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด ํ…Œ์ŠคํŠธ์—์„œ๋Š” ์ผ€์ดํฌ ๋ฐ•์Šค ์žฅ๋ฉด(๊ทธ๋ฆผ 14)์„ ๋ Œ๋”๋งํ•˜๊ณ  ๊ธฐํ•˜ํ•™์  ๊ตฌ์กฐ์™€ ๊ฒฝ๋กœ ๋ถ„ํฌ๋ฅผ ๋™์ผํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ (์„œ๋กœ ๋‹ค๋ฅธ) ๋‰ด๋Ÿด ์žฌ์งˆ์˜ ์ˆ˜๋ฅผ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ์ตœ๋Œ€ ์—ด ๊ฐœ์˜ ๊ผญ์ง€์  ๊ธธ์ด๋ฅผ ๊ฐ€์ง„ ๊ฒฝ๋กœ๊ฐ€ ์ถ”์ ๋˜๋ฉฐ, ์ด ์žฅ๋ฉด์—๋Š” ์ƒ๋‹นํ•œ ์‹คํ–‰ ๋ฐ ๋ฐ์ดํ„ฐ ๋ถ„๊ธฐ๋ฅผ ๋„์ž…ํ•˜๊ธฐ ์œ„ํ•ด ์†Œ์ˆ˜์˜ ์ „ํ†ต์ ์ธ ์žฌ์งˆ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
๊ทธ๋ฆผ 18. Cake box ์žฅ๋ฉด์„ 1 SPP ์ด๋ฏธ์ง€๋กœ ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑํ•  ๋•Œ, ๋‰ด๋Ÿด ์žฌ์งˆ(neural materials)์˜ ๊ฐœ์ˆ˜๋ฅผ ๋‹ฌ๋ฆฌํ•˜์—ฌ ์ธก์ •ํ•œ ๋ Œ๋”๋ง ์‹œ๊ฐ„. ์ธก์ • ๊ฒฐ๊ณผ๋Š”, ์šฐ๋ฆฌ๊ฐ€ ์ œ์•ˆํ•œ ๋ฐฉ์‹์ด ๋งŽ์€ ์ˆ˜์˜ ๋‰ด๋Ÿด ์žฌ์งˆ์„ ํฌํ•จํ•˜๋Š” ์žฅ๋ฉด์„ ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ฐœ์‚ฐ(divergence) ์— ๋ฏผ๊ฐํ•˜์ง€ ์•Š์Œ์„ ๋ณด์—ฌ์ค€๋‹ค. ์ฆ‰, ์žฌ์งˆ์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ•ด๋„ ๋ Œ๋”๋ง ์‹œ๊ฐ„์€ ๊ฑฐ์˜ ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€๋œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ๋‘ ๊ฐ€์ง€ ์„œ๋กœ ๋‹ค๋ฅธ BRDF ๋””์ฝ”๋” ์•„ํ‚คํ…์ฒ˜๋ฅผ ์‹คํ—˜ ๋Œ€์ƒ์œผ๋กœ ํ•˜์˜€์œผ๋ฉฐ, ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ์žฌ์งˆ ๊ฐœ์ˆ˜ ํ™•์žฅ์˜ ์˜ํ–ฅ์„ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฒฝ๋กœ ๋ถ„ํฌ(path distribution) ๋Š” ๊ณ ์ •๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜์˜€๋‹ค.
์•„์ฃผ ์ ์€ ์ˆ˜์˜ ๋‰ด๋Ÿด ์žฌ์งˆ์ผ ๊ฒฝ์šฐ, ๋„คํŠธ์›Œํฌ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์…ฐ์ด๋” ์ฝ”์–ด ๊ทผ์ฒ˜์˜ ์บ์‹œ์— ๋“ค์–ด๊ฐ€์ง€๋งŒ, ์žฌ์งˆ์ด ๋งŽ์•„์งˆ์ˆ˜๋ก ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ์ ์  L2 ์บ์‹œ๋‚˜ ๊ธ€๋กœ๋ฒŒ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ŠคํŠธ๋ฆฌ๋ฐ๋œ๋‹ค.
์šฐ๋ฆฌ์˜ ๋ฉ”๊ฐ€์ปค๋„ ํŒจ์Šค ํŠธ๋ ˆ์ด์„œ(megakernel path tracer) ๊ธฐ๋ฐ˜ ์ ‘๊ทผ๋ฒ•์€ ๋กœ์ปฌ ์ž‘์—… ์žฌ์ •๋ ฌ(local work reordering) ์„ ํ†ตํ•ด ์ถฉ๋ถ„ํ•œ ์ฝ”ํžˆ์–ด๋Ÿฐ์‹œ(coherency)๋ฅผ ํ™•๋ณดํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๋กœ๋“œ ๋น„์šฉ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ƒ์‡„(amortize)ํ•œ๋‹ค.
Memory usage. ๋ฉ”๋ชจ๋ฆฌ ํ’‹ํ”„๋ฆฐํŠธ๋Š” ์ฃผ๋กœ 8์ฑ„๋„, ํ•˜ํ”„ ํ”„๋ฆฌ์‹œ์ „(half-precision) ์ž ์žฌ ํ…์Šค์ฒ˜(latent texture) ๊ฐ€ ์ฐจ์ง€ํ•˜๋ฉฐ, 4K ํ…์Šค์ฒ˜ ํƒ€์ผ๋‹น 256MB๊ฐ€ ํ•„์š”ํ•˜๋‹ค.
๋„คํŠธ์›Œํฌ ๊ฐ€์ค‘์น˜(network weights)๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๋งค์šฐ ์ž‘๋‹ค.
โ€ข
3ร—64 ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ: 37KB
โ€ข
2ร—16 ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ: 9.3KB
Discussion. ์ง์ ‘์ ์ธ ์ด์ „ ์—ฐ๊ตฌ์™€์˜ ๋น„๊ต๋Š” ์–ด๋ ต๋‹ค. ์šฐ๋ฆฌ์˜ ์ดˆ์ ์€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‰ด๋Ÿด ์žฌ์งˆ์ด ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑ์ฒ˜๋Ÿผ ๋ฐœ์‚ฐ(divergent)์ด ์‹ฌํ•œ ์›Œํฌ๋กœ๋“œ์—์„œ๋„ ์‹ค์‹œ๊ฐ„ ์…ฐ์ด๋” ์•ˆ์—์„œ ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์Œ์„ ๋ณด์ธ๋‹ค.
์ „ํ†ต์  ์…ฐ์ด๋”์—์„œ ์ถ”๋ก (inferencing) ์ด ์‹คํ–‰๋œ ์‚ฌ๋ก€๋Š” ๊ฑฐ์˜ ์—†๋‹ค. ์˜ˆ์™ธ์ ์œผ๋กœ Nalbach et al. (2017)์˜ Deep Shading ์€ GLSL์—์„œ ์ „ํ†ต์ ์ธ ๋””ํผ๋“œ ์…ฐ์ด๋”ฉ์„ ์œ„ํ•ด ํ•œ ๋ฒˆ์˜ forward pass๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค.
๋‰ด๋Ÿด ์–ดํ”ผ์–ด๋Ÿฐ์Šค ๋ชจ๋ธ ์—ฐ๊ตฌ๋“ค์€ ๋ณดํ†ต CUDA ์ปค๋„์„ ์ง์ ‘ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด ์‹คํ–‰๋˜์—ˆ๋‹ค.
โ€ข
Fan et al. (2022): ๋ชจ๋“  ๊ต์ฐจ(intersection)๋ฅผ ๊ธ€๋กœ๋ฒŒ ๋ฉ”๋ชจ๋ฆฌ์— ๊ธฐ๋กํ•˜๊ณ , ๋””ํผ๋“œ ๋ฐฉ์‹์œผ๋กœ ์…ฐ์ด๋”ฉ. ์ด๋กœ ์ธํ•ด ์ ์‘์„ฑ(adaptiveness)์„ ์žƒ๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์ „์†ก ๋น„์šฉ์„ ์ง€๋ถˆํ•œ๋‹ค. ์ €์ž๋“ค์€ 1920ร—1080 ํ•ด์ƒ๋„์—์„œ NVIDIA RTX 2080Ti๋กœ ํ”ฝ์…€๋‹น ๋‹จ์ผ BRDF ํ‰๊ฐ€ ๋น„์šฉ์ด 5ms๋ผ๊ณ  ๋ณด๊ณ ํ–ˆ๋‹ค.
โ€ข
NeuMIP (Kuznetsov et al. 2021): ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ CUDA/OptiX ๊ธฐ๋ฐ˜ ํŒจ์Šค ํŠธ๋ ˆ์ด์„œ๋ฅผ ๊ตฌํ˜„ํ–ˆ๊ณ , ๋™์ผ ํ•ด์ƒ๋„/GPU ์กฐ๊ฑด์—์„œ 5ms per evaluation์˜ ์œ ์‚ฌํ•œ ์„ฑ๋Šฅ์„ ๋ณด๊ณ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์„ธ๋ถ€ ๋‚ด์šฉ์€ ๋ถ€์กฑํ•˜๋‹ค. ๊ฐœ์ธ์  ์†Œํ†ต์— ๋”ฐ๋ฅด๋ฉด, ๋ณด๊ณ ๋œ 60FPS ํŒจ์Šค ํŠธ๋ ˆ์ด์‹ฑ์€ ๋น„๊ต์  ์งง์€ ๊ฒฝ๋กœ์™€ ๋‹จ์ผ ์žฌ์งˆ์„ ๊ฐ€์ง„ ๋‹จ์ˆœ ์žฅ๋ฉด์— ์ ์šฉ๋œ ๊ฒƒ์ด๋ฉฐ, ๋‹ค์ค‘ ์žฌ์งˆ(multiple materials) ๋กœ์˜ ํ™•์žฅ์€ ๋‹ค๋ฃจ์ง€ ์•Š์•˜๋‹ค.
์šฐ๋ฆฌ๋Š” ์Šค์ผ€์ผ๋ง ๊ฐ€๋Šฅ์„ฑ(scalability), ๋ฐœ์‚ฐ ์…ฐ์ด๋” ์ฒ˜๋ฆฌ(divergent shader handling), ๊ทธ๋ฆฌ๊ณ  ์‹ค์‹œ๊ฐ„ ์…ฐ์ด๋”ฉ ์–ธ์–ด(real-time shading languages)์™€์˜ ํ†ตํ•ฉ ์ด ๋‰ด๋Ÿด ์žฌ์งˆ์„ ๋” ๋„๋ฆฌ ์ฑ„ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ค‘์š”ํ•œ ๊ธฐ์—ฌ๋ผ๊ณ  ๋ฏฟ๋Š”๋‹ค.

9 LIMITATIONS & FUTURE WORK

์—๋„ˆ์ง€ ๋ณด์กด(Energy conservation)๊ณผ ์ƒํ˜ธ์„ฑ(Reciprocity).
๋‰ด๋Ÿด ์žฌ์งˆ์€ ์ž…๋ ฅ ์žฌ์งˆ์„ ๊ทผ์‚ฌ์ ์œผ๋กœ ๋งž์ถ˜ ๊ฒƒ์— ๋ถˆ๊ณผํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์—๋„ˆ์ง€ ๋ณด์กด(energy conserving) ์ด ๋ณด์žฅ๋˜์ง€ ์•Š๋Š”๋‹ค.
ํ…Œ์ŠคํŠธ์—์„œ๋Š” ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ์ง€๋งŒ, ๊ณ ๋ฐ˜์‚ฌ์œจ(albedo) ์žฌ์งˆ์ด๋‚˜ ๋‹ค์ค‘ ๋ฐ˜์‚ฌ(bounce)๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ(์˜ˆ: ํฐ์ƒ‰ ํ„ธ)์—๋Š” ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.
์—๋„ˆ์ง€ ๋ณด์กด์„ ๊ฐ•์ œํ•˜๋ ค๋ฉด ๋„คํŠธ์›Œํฌ ์ถœ๋ ฅ์ด ํ•ด์„์ ์œผ๋กœ ์ ๋ถ„ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ์ด๊ฑฐ๋‚˜ ์•Œ๋ ค์ง„ ๊ฐ’์œผ๋กœ ์ ๋ถ„๋˜๋Š” ํ˜•ํƒœ์—ฌ์•ผ ํ•œ๋‹ค.
ํ›„์ž๋Š” [Mรผller et al. 2020]๊ณผ ๊ฐ™์ด ๋…ธ๋ฉ€๋ผ์ด์ง• ํ”Œ๋กœ์šฐ(normalizing flows) ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ํ‰๊ฐ€ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•œ๋‹ค.
ํ˜„์žฌ BRDF ๋ชจ๋ธ์€ ์ƒํ˜ธ์„ฑ(reciprocity) ์„ ๋ณด์žฅํ•˜์ง€ ์•Š์ง€๋งŒ, [Zheng et al. 2021]์˜ Rusinkiewicz ๋ฐฉํ–ฅ ์ธ์ฝ”๋”ฉ ์ˆ˜์ • ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ์‹คํ—˜์—์„œ ์ˆ˜์น˜์ ์œผ๋กœ ๋” ์•ˆ์ •์ ์ด๊ณ  ์‹œ๊ฐ์ ์œผ๋กœ ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ๋Š” Cartesian ๋ฐฉํ–ฅ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”๋ฅผ ์„ ํƒํ–ˆ๋‹ค.
Displacement
ํ˜„์žฌ ์šฐ๋ฆฌ๋Š” ํ‘œ๋ฉด ๊ธฐํ•˜์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ํšจ๊ณผ(์˜ˆ: ๋””์Šคํ”Œ๋ ˆ์ด์Šค๋จผํŠธ ๋งคํ•‘)๋Š” ์ง€์›ํ•˜์ง€ ์•Š๋Š”๋‹ค.
[Kuznetsov et al. 2021]์˜ ๋‰ด๋Ÿด ๋””์Šคํ”Œ๋ ˆ์ด์Šค๋จผํŠธ ์ ‘๊ทผ๋ฒ•์„ ๊ตฌํ˜„ํ•˜๊ณ , ๊ธฐํ•˜ priors๋ฅผ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ๋ณ€ํ˜•์„ ํ…Œ์ŠคํŠธํ–ˆ์ง€๋งŒ, ์ด ์ ‘๊ทผ๋ฒ•์€ ํ•ญ์ƒ ๊ณ ์ • ๊ธฐ๋Šฅ(fixed-function) ๋ ˆ์ด ๋งˆ์นญ(ray marching) ์— ๋น„ํ•ด ์„ฑ๋Šฅ๊ณผ ๋Œ€์—ญํญ ์ธก๋ฉด์—์„œ ์—ด์„ธ์˜€๋‹ค.
์–ด๋–ค ์ ‘๊ทผ๋ฒ•๋„ ์šฐ๋ฆฌ์˜ ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ ๋ชฉํ‘œ๋ฅผ ์ถฉ์กฑํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด์ง€ ์•Š์•˜์ง€๋งŒ, ํ–ฅํ›„ ์ถ”๊ฐ€ ์—ฐ๊ตฌ๋ฅผ ํ†ตํ•ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋Œ€์•ˆ์ด ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ณธ๋‹ค.
Filtering
๋‰ด๋Ÿด ํ”„๋ฆฌํ•„ํ„ฐ๋ง์€ ์•จ๋ฆฌ์–ด์‹ฑ ๋ฐฉ์ง€์—๋Š” ํšจ๊ณผ์ ์ด์ง€๋งŒ, ๋ณด๊ณ ๋œ ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด ๊ฐ€์žฅ ์„ธ๋ฐ€ํ•œ ๋ ˆ๋ฒจ(fine level) ์€ ๋งค์šฐ ์ •ํ™•ํ•œ ๋ฐ˜๋ฉด, ์ž ์žฌ ํ”ผ๋ผ๋ฏธ๋“œ(latent pyramid)์˜ ๋” ๊ฑฐ์นœ ๋ ˆ๋ฒจ์—์„œ๋Š” ์Šˆํผ์ƒ˜ํ”Œ๋ง๋œ ์ฐธ์กฐ BRDF๋ณด๋‹ค ๋” ๋ถ€๋“œ๋Ÿฝ๊ฒŒ(softer) ๋ณด์ด๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋‹ค.
์ด๋Š” ์ธ์ฝ”๋” ์ž…๋ ฅ์ด ๊ฐ€์žฅ ์„ธ๋ฐ€ํ•œ ๋ ˆ๋ฒจ์—์„œ๋Š” ์™ธ๊ด€(appearance)๊ณผ ๊ฐ•ํ•˜๊ฒŒ ์ƒ๊ด€๋˜์ง€๋งŒ, ๊ฑฐ์นœ ๋ ˆ๋ฒจ์—์„œ๋Š” ํ”„๋ฆฌํ•„ํ„ฐ๋œ ์žฌ์งˆ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์†Œ๋น„ํ•˜๋ฏ€๋กœ ์ƒ๊ด€์„ฑ์ด ์•ฝํ•ด์ ธ์„œ ์˜คํ† ์ธ์ฝ”๋” ์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๊ธฐ ๋•Œ๋ฌธ์œผ๋กœ ๋ณด์ธ๋‹ค.
ํŒŒ์ธํŠœ๋‹์€ ์–ด๋А ์ •๋„ ํ’ˆ์งˆ์„ ๊ฐœ์„ ํ•˜์ง€๋งŒ, ์ดˆ๊ธฐ์˜ ๋กœ์ปฌ ๋ฏธ๋‹ˆ๋ฉˆ(local minimum)์„ ์™„์ „ํžˆ ๊ทน๋ณตํ•˜์ง€๋Š” ๋ชปํ•œ๋‹ค.
Alternative geometric priors
์šฐ๋ฆฌ๋Š” ํšŒ์ „ prior(์„น์…˜ 4.2)์— ๋Œ€ํ•ด ๋‹ค์–‘ํ•œ ๊ตฌํ˜„์„ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค.
โ€ข
์ œ์•ฝ ์—†๋Š” ๊ณ ์ฐจ์› ์•„ํ•€ ๋ณ€ํ™˜(self-attention ๋ ˆ์ด์–ด์˜ ์ผ๋ฐ˜์„ฑ์—์„œ ์˜๊ฐ์„ ์–ป์Œ [Vaswani et al. 2017])๋ถ€ํ„ฐ
โ€ข
์ˆœ์ˆ˜ ํšŒ์ „ ํ–‰๋ ฌ(rotation-only matrices) ๊นŒ์ง€ ์‹คํ—˜ํ–ˆ๋‹ค.
์ตœ์ข…์ ์œผ๋กœ๋Š” ๋„คํŠธ์›Œํฌ ์ถœ๋ ฅ์—์„œ ์ •๊ทœํ™”๋œ(orthogonal์€ ์•„๋‹˜) ๋ฒ•์„  n๊ณผ ํƒ„์  ํŠธ t๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , ๋น„ํƒ„์  ํŠธ b = n ร— t / โˆฅn ร— tโˆฅ ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹์„ ์ฑ„ํƒํ–ˆ๋‹ค.
๋˜ํ•œ, ์ถ”์ถœ๋œ TBN ํ”„๋ ˆ์ž„์„ ์ฐธ์กฐ ์žฌ์งˆ์˜ ํ”„๋ ˆ์ž„๊ณผ ๋น„๊ตํ•˜์—ฌ ๋ช…์‹œ์ ์œผ๋กœ ์ง€๋„(supervision)ํ•˜๋Š” ๋ฐฉ์‹๋„ ํ…Œ์ŠคํŠธํ–ˆ์œผ๋ฉฐ, ๋น„๋Œ€์นญ ์†์‹ค(asymmetric loss) [Vogels et al. 2018]์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋„ ํ–ˆ๋‹ค.
์ด ๋ฐฉ์‹์€ ๊ฐ€๋” (์˜ˆ: glints) ๊ฒฐ๊ณผ๋ฅผ ๊ฐœ์„ ํ–ˆ์ง€๋งŒ, ํ›ˆ๋ จ ์‹œ ๊ด‘๋ฒ”์œ„ํ•œ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹์ด ํ•„์š”ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ตœ์ข… ๊ฒฐ๊ณผ์—๋Š” ํฌํ•จํ•˜์ง€ ์•Š์•˜๋‹ค.
ํ•™์Šต ์•ˆ์ •์„ฑ(Training stability)๊ณผ ์‹œ๊ฐ„(Time).
์šฐ๋ฆฌ๋Š” ๊ฐ€๋” ํ•™์Šต์ด ๋กœ์ปฌ ๋ฏธ๋‹ˆ๋ฉˆ(local minima) ์— ์ˆ˜๋ ดํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋Š”๋ฐ, ์ด๋Š” ์ž‘์€ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ ๋ณ€ํ™”๋‚˜ ๊ฐ€์ค‘์น˜ ์ดˆ๊ธฐํ™” ์ฐจ์ด์— ๋”ฐ๋ผ ํฐ ์‹œ๊ฐ์  ์ฐจ์ด(visual differences) ๋ฅผ ๋งŒ๋“ค์–ด๋ƒˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฐ€์žฅ ์ž‘์€ ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ์€ Teapot์˜ ๊ฐ•ํ•œ ์ŠคํŽ™ํ˜๋Ÿฌ ์œ ์•ฝ(specular glazing) ์„ ์•ˆ์ •์ ์œผ๋กœ ์žฌํ˜„ํ•  ์ˆ˜ ์—†์–ด์„œ, ์šฐ๋ฆฌ๋Š” ๊ฒฐ๊ณผ(Figure 16)์— ํ•ด๋‹น ๊ตฌ์„ฑ์˜ ๋ฒ„์ „์„ ํฌํ•จํ•˜์ง€ ์•Š๊ธฐ๋กœ ํ–ˆ๋‹ค.
์šฐ๋ฆฌ๋Š” ํ–ฅํ›„ ๋” ๋‹ค์–‘ํ•œ ๋ชฉํ‘œ ์žฌ์งˆ(target material diversity)๋กœ ํ™•์žฅํ•  ๋•Œ๋„ ๊ฐ•๊ฑด์„ฑ(robustness) ์„ ๋ฉด๋ฐ€ํžˆ ์กฐ์‚ฌํ•˜๊ณ ์ž ํ•œ๋‹ค.
๋™์‹œ์— ํ•™์Šต ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ค„์—ฌ(์ด์ƒ์ ์œผ๋กœ๋Š” ๋ช‡ ์‹œ๊ฐ„ โ†’ ๋ช‡ ๋ถ„) ๋ฐ˜๋ณต(iteration) ์‹œ๊ฐ„์„ ๊ฐœ์„ ํ•˜์—ฌ, ์‹œ์Šคํ…œ์˜ ํ˜„์žฌ ๋ฒ„์ „์„ ๋” ์‹ค์šฉ์ ์œผ๋กœ ๋งŒ๋“ค๊ณ , ํ–ฅํ›„ ๊ฐœ์„  ์—ฐ๊ตฌ ๊ฐœ๋ฐœ ๊ณผ์ •๋„ ๋” ์›ํ™œํ•˜๊ฒŒ ํ•˜๊ณ ์ž ํ•œ๋‹ค.
๊ตด์ ˆ(Refraction)
์šฐ๋ฆฌ๋Š” ํ˜„์žฌ ๋ฐฉ๋ฒ•์„ ์ˆœ์ˆ˜ ๋ฐ˜์‚ฌ ์žฌ์งˆ(purely reflective materials) ์— ๋Œ€ํ•ด์„œ๋งŒ ํ‰๊ฐ€ํ–ˆ๋‹ค.
์ด๋ฅผ ํˆฌ๋ช…/๊ตด์ ˆ ์žฌ์งˆ(transmissive materials) ๋กœ ํ™•์žฅํ•˜๋Š” ๋ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋„์ „ ๊ณผ์ œ๊ฐ€ ์žˆ๋‹ค:
๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋Ÿฌ์—์„œ๋Š” ๊ตด์ ˆ ํ›„์—๋„ ์ƒํ˜ธ์„ฑ(reciprocity) ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ตด์ ˆ๋ฅ (index of refraction, IOR) ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค.
๋„คํŠธ์›Œํฌ๊ฐ€ ์ด ๊ตด์ ˆ๋ฅ ์„ ์ถ”๊ฐ€ ์ถœ๋ ฅ๊ฐ’์œผ๋กœ ํ•™์Šตํ•˜๋„๋ก ํ•  ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, ์ด ํ•™์Šต๋œ ๊ฐ’์ด ์‹ค์ œ BRDF์˜ ๊ฑฐ๋™๊ณผ ์ผ์น˜ํ•œ๋‹ค๊ณ  ๋ณด์žฅํ•˜๊ธฐ ์–ด๋ ต๋‹ค.
๋”ฐ๋ผ์„œ ์ด ์ฃผ์ œ๋Š” ํ–ฅํ›„ ์—ฐ๊ตฌ์—์„œ ํŠน๋ณ„ํžˆ ๋‹ค๋ค„์ ธ์•ผ ํ•œ๋‹ค.

10 CONCLUSION

์šฐ๋ฆฌ๋Š” ์™„์ „ํ•œ ์‹ค์‹œ๊ฐ„ ๋‰ด๋Ÿด ์žฌ์งˆ ์‹œ์Šคํ…œ(real-time neural materials system) ์„ ์ œ์‹œํ•œ๋‹ค.
์ด ๋ชจ๋ธ์€ ๋งค์šฐ ๋ณต์žกํ•˜๊ณ  ์„ธ๋ฐ€ํ•œ ์žฌ์งˆ์˜ ํ‰๊ฐ€(evaluation), ์ƒ˜ํ”Œ๋ง(sampling), ํ•„ํ„ฐ๋ง(filtering) ์„ ๋™์‹œ์— ํ•ด๊ฒฐํ•œ๋‹ค.
์šฐ๋ฆฌ๋Š” ๊ธฐ์กด ์—ฐ๊ตฌ์˜ ์•„์ด๋””์–ด๋ฅผ ์ƒˆ๋กœ์šด ๊ทธ๋ž˜ํ”ฝ priors ๋ฐ ํ•™์Šต ์ „๋žต๊ณผ ๊ฒฐํ•ฉํ•˜์—ฌ ๋” ๋†’์€ ํ’ˆ์งˆ๊ณผ ๋” ๋น ๋ฅธ ํ•™์Šต ์†๋„๋ฅผ ๋‹ฌ์„ฑํ•˜์˜€๋‹ค.
์šฐ๋ฆฌ ์—ฐ๊ตฌ์˜ ํ•ต์‹ฌ ๊ธฐ์—ฌ๋Š” ์ด๋Ÿฌํ•œ ํฌ๊ด„์ ์ธ ์†”๋ฃจ์…˜์ด ์ตœ์‹  ๊ทธ๋ž˜ํ”ฝ ํ•˜๋“œ์›จ์–ด์—์„œ๋„ ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด๋‹ค.
์šฐ๋ฆฌ๋Š” ๋Œ€์—ญํญ ์š”๊ตฌ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด, ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ๋ฅผ ๋ Œ๋”๋ง ๋ฃจํ”„์˜ ๊ฐ€์žฅ ์•ˆ์ชฝ(inmost rendering loop)์— ๋ฐฐ์น˜ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•œ๋‹ค.
์‹คํ—˜์—์„œ, ๋‰ด๋Ÿด BRDFs๋Š” ์ตœ์‹  GPU์—์„œ ์ตœ์ ํ™”๋œ ์ฐธ์กฐ ๋ฉ€ํ‹ฐ ๋ ˆ์ด์–ด ๊ณ ์ „ ์žฌ์งˆ ๊ตฌํ˜„์„ ๋Šฅ๊ฐ€ํ•˜๋ฉฐ, ์žฅ๋ฉด ๋‚ด ๋‹ค์ค‘ ์žฌ์งˆ์—๋„ ์Šค์ผ€์ผ๋ง๋œ๋‹ค.
์šฐ๋ฆฌ๋Š” ์ œ์•ˆํ•œ ๋‰ด๋Ÿด BRDFs๊ฐ€ ๋ณต์žกํ•œ ์žฌ์งˆ์˜ โ€œ๊ตฌ์›Œ์ง„(baked)โ€ ๋ฒ„์ „ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๋ฏฟ๋Š”๋‹ค.
์ฆ‰, ์„ฑ๋Šฅ ํ–ฅ์ƒ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ ˆ๊ฐ๋ฟ ์•„๋‹ˆ๋ผ, ๊ณ ์ •๋œ ์ž ์žฌ ํ…์Šค์ฒ˜ ์ง‘ํ•ฉ๊ณผ ์†Œ๊ทœ๋ชจ MLP ๊ฐ€์ค‘์น˜ ํ…Œ์ด๋ธ”๋งŒ ๊ตํ™˜ํ•˜๋ฉด, ไปป์˜ ๋ณต์žก์„ฑ์„ ๊ฐ€์ง„ ์žฌ์งˆ์„ ๋‹ค์–‘ํ•œ ์›Œํฌํ”Œ๋กœ์šฐ์™€ ํˆด ๊ฐ„์— ์†์‰ฝ๊ฒŒ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
๋งˆ์ง€๋ง‰์œผ๋กœ, ์šฐ๋ฆฌ๋Š” ์ด ๋…ผ๋ฌธ์ด ์‹ค์‹œ๊ฐ„ ๋ Œ๋”๋ง์—์„œ ์†Œ๊ทœ๋ชจ ๋‰ด๋Ÿด ๋„คํŠธ์›Œํฌ์˜ ์ฑ„ํƒ์„ ์ด‰์ง„ํ•˜๊ธฐ๋ฅผ ํฌ๋งํ•œ๋‹ค.

๊ฐ์‚ฌ์˜ ๊ธ€ (ACKNOWLEDGMENTS)

โ€ข
์ฐธ์กฐ ๊ฐ์ฒด ์ œ์ž‘์— ๋„์›€์„ ์ค€ Toni Bratincevic, Davide Di Giannantonio Potente, Kevin Margo ์—๊ฒŒ ๊ฐ์‚ฌํ•œ๋‹ค.
โ€ข
Slang ์–ธ์–ด๋ฅผ ์ด ํ”„๋กœ์ ํŠธ์— ๋งž๊ฒŒ ๋ฐœ์ „์‹œํ‚จ Yong He,
โ€ข
3D ์—์…‹ ์ž„ํฌํ„ฐ ์ง€์›์„ ๋„์™€์ค€ Craig Kolb,
โ€ข
์ €์ˆ˜์ค€ ์ปดํŒŒ์ผ๋Ÿฌ ๋ฐ GPU ๋“œ๋ผ์ด๋ฒ„ ์ง€์›์„ ํ•ด์ค€ Justin Holewinski, Patrick Neill,
โ€ข
Slang์—์„œ TensorCore ์ง€์›์„ ์ œ๊ณตํ•œ Karthik Vaidyanathan ์—๊ฒŒ๋„ ๊ฐ์‚ฌํ•œ๋‹ค.
๋˜ํ•œ, ๊ท€์ค‘ํ•œ ์˜๊ฒฌ์„ ์ œ๊ณตํ•œ Eugene dโ€™Eon, Steve Marschner, Thomas Mรผller, Marco Salvi, Bart Wronski ์—๊ฒŒ๋„ ๊ฐ์‚ฌ๋ฅผ ์ „ํ•œ๋‹ค.
Figure 14์˜ material test blob์€ Robin Marin์ด ์ œ์ž‘ํ•˜์˜€์œผ๋ฉฐ, CC ๋ผ์ด์„ ์Šค(https://creativecommons.org/licenses/by/3.0/) ํ•˜์— ๋ฐฐํฌ๋˜์—ˆ๋‹ค.

A. IMPORTANCE SAMPLING DETAILS

์•„๋ž˜๋Š” ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•œ ํ•ด์„์  ๋Œ€๋ฆฌ ๋ชจ๋ธ(analytic proxy model) ๊ธฐ๋ฐ˜ ์ค‘์š”๋„ ์ƒ˜ํ”Œ๋ง ๊ตฌํ˜„์˜ ์„ธ๋ถ€ ๋‚ด์šฉ์ด๋‹ค.

ํ™•๋ฅ  ๋ฐ€๋„ (Probability density)

์ด์ „ ์—ฐ๊ตฌ [Fan et al. 2022; Sztrajman et al. 2021]์™€ ๊ฐ™์ด, ์ƒ˜ํ”Œ๋ง ๋ฐ€๋„๋Š” ํ™•์‚ฐ(diffuse) ํ•ญ๊ณผ ์ŠคํŽ™ํ˜๋Ÿฌ(specular) ํ•ญ์˜ ์„ ํ˜• ํ˜ผํ•ฉ(linear blend)์œผ๋กœ ํ‘œํ˜„๋œ๋‹ค.
โ€ข
ํ™•์‚ฐ PDF pdp_d๋Š” ์ฝ”์‚ฌ์ธ ๊ฐ€์ค‘ ๋ถ„ํฌ(cosine-weighted distribution)์ด๋ฉฐ, ์˜ˆ์ธก๋œ 2D ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ (ฮผd,x,ฮผd,y)(\mu_{d,x}, \mu_{d,y})๋กœ๋ถ€ํ„ฐ ๊ณ„์‚ฐ๋œ ๋ฒ•์„  ๋ฒกํ„ฐ์— ์˜ํ•ด ๊ธฐ์šธ์–ด์ง„๋‹ค.
โ€ข
์ŠคํŽ™ํ˜๋Ÿฌ PDF psp_s๋Š” Trowbridge-Reitz (GGX) NDF [Trowbridge and Reitz 1975; Walter et al. 2007]๋ฅผ ์‚ฌ์šฉํ•œ ํ‘œ์ค€ ๋งˆ์ดํฌ๋กœํŒจ์‹ฏ ๋ถ„ํฌ๋กœ, ํƒ€์› ๋น„๋“ฑ๋ฐฉ์„ฑ(elliptical anisotropy)๊ณผ ๋น„์ค‘์‹ฌ ํ‰๊ท  ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ(non-centered mean surface slopes) [Dupuy 2015]๋ฅผ ํฌํ•จํ•œ๋‹ค.
์—ฌ๊ธฐ์„œ, ฯ‰h=Normalize(ฯ‰i+ฯ‰o)\omega_h = \text{Normalize}(\omega_i + \omega_o)๋Š” half vector์ด๊ณ ,
DstdD_{\text{std}}๋Š” ๋‹จ์œ„ ๊ฑฐ์น ๊ธฐ(roughness ฮฑ=1\alpha = 1)๋ฅผ ๊ฐ€์ง„ ๋“ฑ๋ฐฉ์„ฑ NDF์ด๋‹ค.
๋ณ€ํ™˜ ํ–‰๋ ฌ MM์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:
์—ฌ๊ธฐ์„œ:
โ€ข
ํƒ€์› ๋น„๋“ฑ๋ฐฉ์„ฑ(elliptical anisotropy)์€ ๋‘ ๊ฐœ์˜ ์ง๊ต ๊ฑฐ์น ๊ธฐ ๊ฐ’ ฮฑx,ฮฑy\alpha_x, \alpha_y์™€ ์ƒ๊ด€ ๊ณ„์ˆ˜ ฯ\rho๋กœ ํ‘œํ˜„๋œ๋‹ค.
โ€ข
NDF์˜ ํ‰๊ท ์€ 2D ํ‘œ๋ฉด ๊ธฐ์šธ๊ธฐ (ฮผs,x,ฮผs,y)(\mu_{s,x}, \mu_{s,y})๋กœ ์˜คํ”„์…‹๋œ๋‹ค.
์‹ (7)์˜ ๋งˆ์ง€๋ง‰ ๋‘ ํ•ญ์€:
โ€ข
ฯ‰h\omega_h์˜ ๋ณ€ํ™˜ ๋ฐ ์ •๊ทœํ™”(normalization)
โ€ข
ฯ‰h\omega_h์™€ ฯ‰o\omega_o ์‚ฌ์ด์˜ ๋ณ€์ˆ˜ ๋ณ€ํ™˜(change of variables)์„ ๋ณด์ •ํ•˜๊ธฐ ์œ„ํ•œ Jacobian ํ–‰๋ ฌ์‹์ด๋‹ค.

์ƒ˜ํ”Œ๋ง (Sampling)

์ƒ˜ํ”Œ ๋ณ€ํ™˜ $W$๋Š” ๋จผ์ € ์‹ (5)์— ๋”ฐ๋ผ ๋‘ PDF ํ•ญ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•œ๋‹ค.
โ€ข
Diffuse ์„ ํƒ ์‹œ:
โ—ฆ
์ฝ”์‚ฌ์ธ ๊ฐ€์ค‘ ๋ถ„ํฌ๋กœ๋ถ€ํ„ฐ ์ถœ์‚ฌ ๋ฐฉํ–ฅ ฯ‰o\omega_o๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ndn_d์— ๋”ฐ๋ผ ๊ธฐ์šธ์ธ๋‹ค.
โ€ข
Specular ์„ ํƒ ์‹œ:
โ—ฆ
์ƒ˜ํ”Œ๋ง๋œ half-vector์— ๋Œ€ํ•ด ์ŠคํŽ™ํ˜๋Ÿฌ ๋ฐ˜์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค.
์—ฌ๊ธฐ์„œ WstdW_{\text{std}}๋Š” ๋“ฑ๋ฐฉ์„ฑ NDF (ฮฑ=1\alpha = 1)์˜ ํ‘œ์ค€ ์ƒ˜ํ”Œ๋ง ๊ธฐ๋ฒ•์ด๋‹ค.

๋„คํŠธ์›Œํฌ ์˜ˆ์ธก (Network prediction)

์œ„์—์„œ๋Š” ๊ฐ„๊ฒฐ์„ฑ์„ ์œ„ํ•ด pp์™€ WW์˜ ฯ‰i\omega_i์™€ xx ์˜์กด์„ฑ์„ ์ƒ๋žตํ–ˆ์ง€๋งŒ,
์ „์ฒด ๋Œ€๋ฆฌ ํŒŒ๋ผ๋ฏธํ„ฐ ์ง‘ํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค: {wd,ฮผd,x,ฮผd,y,ws,ฮฑx,ฮฑy,ฯ,ฮผs,x,ฮผs,y}\{w_d, \mu_{d,x}, \mu_{d,y}, w_s, \alpha_x, \alpha_y, \rho, \mu_{s,x}, \mu_{s,y}\} ์ด๋“ค์€ ๋ชจ๋‘ MLP ํ‰๊ฐ€ ๊ฒฐ๊ณผ๋กœ ๋‚˜์˜จ๋‹ค.
โ€ข
๋ชจ๋“  ์ถ”๋ก ๋œ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์œ ํšจํ•œ ๋ฒ”์œ„์— ์†ํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด,
โ—ฆ
ฮฑโˆˆ[0,1]\alpha \in [0,1],
โ—ฆ
ฯโˆˆ[โˆ’1,1]\rho \in [-1,1],
โ—ฆ
ฮผโˆˆ(โˆ’โˆž,+โˆž)\mu \in (-\infty, +\infty)
๊ฐ๊ฐ์— ๋Œ€ํ•ด tanh(x), sinh(x)์˜ ์ด์ฐจ ๊ทผ์‚ฌ(quadratic approximation)๋ฅผ ํ™œ์šฉํ•œ ์ตœ์ข… ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•œ๋‹ค.
โ€ข
๋งˆ์ง€๋ง‰์œผ๋กœ wdw_d์™€ wsw_s๋Š” softmax ํ•จ์ˆ˜๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ, ํ•ฉ์ด 1์ด ๋˜๋Š” ์œ ํšจํ•œ ํ˜ผํ•ฉ ๊ฐ€์ค‘์น˜๋ฅผ ํ˜•์„ฑํ•œ๋‹ค.
์ฐธ๊ณ ๋ฌธํ—Œ
nvidia_neural_materials_author_paper.pdf
43.9 MB