Accelerating Hair Rendering by Learning High-Order Scattered Radiance

Aakash KT1, 2, Adrian Jarabo1, Carlos Aliaga1, Matt Jen-Yuan Chiang1,
Olivier Maury1, Christophe Hery1, P. J. Narayanan2, Giljoo Nam1
1Meta Reality Labs Research
2CVIT, International Institute of Information Technology, Hyderabad (IIIT-H)

Eurographics Symposium on Rendering (EGSR), 2023
Computer Graphics Forum (CGF) Vol 42, Number 4


Abstract

Efficiently and accurately rendering hair accounting for multiple scattering is a challenging open problem. Path tracing in hair takes long to converge while other techniques are either too approximate while still being computationally expensive or make assumptions about the scene. We present a technique to infer the higher order scattering in hair in constant time within the path tracing framework, while achieving better computational efficiency. Our method makes no assumptions about the scene and provides control over the renderer's bias & speedup. We achieve this by training a small multilayer perceptron (MLP) to learn the higher-order radiance online, while rendering progresses. We describe how to robustly train this network and thoroughly analyze our resulting renderer's characteristics. We evaluate our method on various hairstyles and lighting conditions. We also compare our method against a recent learning based & a traditional real-time hair rendering method and demonstrate better quantitative & qualitative results. Our method achieves a significant improvement in speed with respect to path tracing, achieving a run-time reduction of 40% - 70% while only introducing a small amount of bias.

[Author’s Version PDF] [Publisher’s Version PDF] [Code] [Slides]



Interactive Results

Each hair style is shown with two \(\beta\) values for our method and compared to path tracing, for equal spp. Both \(\beta\) values are choosen to be approximately near peak efficiency, obtained by analyzing the efficiency graphs shown below.

Click on the diamond to interact.


Messy White Hair (Indoor HDR)

\(\beta=13\)

Ours, 2.6 sec
Ours
Path Tracing, 2.4 sec
Path Tracing
10 samples per pixel
Ours, 16.4 sec
Ours
Path Tracing, 22.8 sec
Path Tracing
100 samples per pixel
Ours, 154.5 sec
Ours
Path Tracing, 227.6 sec
Path Tracing
1000 samples per pixel

\(\beta=5\)

Ours, 2.0 sec
Ours
Path Tracing, 2.4 sec
Path Tracing
10 samples per pixel
Ours, 10.1 sec
Ours
Path Tracing, 22.8 sec
Path Tracing
100 samples per pixel
Ours, 92.5 sec
Ours
Path Tracing, 227.6 sec
Path Tracing
1000 samples per pixel
Messy Blond Hair (Indoor HDR)

\(\beta=5\)

Ours, 1.7 sec
Ours
Path Tracing, 1.3 sec
Path Tracing
10 samples per pixel
Ours, 8.2 sec
Ours
Path Tracing, 11.9 sec
Path Tracing
100 samples per pixel
Ours, 73.0 sec
Ours
Path Tracing, 119.5 sec
Path Tracing
1000 samples per pixel

\(\beta=1\)

Ours, 1.4 sec
Ours
Path Tracing, 1.3 sec
Path Tracing
10 samples per pixel
Ours, 4.9 sec
Ours
Path Tracing, 11.9 sec
Path Tracing
100 samples per pixel
Ours, 40.2 sec
Ours
Path Tracing, 119.5 sec
Path Tracing
1000 samples per pixel

Efficiency Graphs




Comparisons

Comparisons with previous methods: NRC, NRC++ & Dual scattering for 5000spp. For details, please see the paper.

Curly Blond Hair (Indoor HDR)

Ours (beta=1)
Ours
NRC
NRC
Ours (beta=1)
Ours
NRC++
NRC++
Ours (beta=1)
Ours
Dual Scattering
Dual Scattering
Curly Blond Hair (Outdoor HDR)

Ours (beta=1)
Ours
NRC
NRC
Ours (beta=1)
Ours
NRC++
NRC++
Ours (beta=1)
Ours
Dual Scattering
Dual Scattering