The document discusses a framework developed for physically-based rendering of human skin. It summarizes implemented skin rendering methods including subsurface scattering techniques like screen space and separable approaches. It proposes extensions such as modulating subsurface scattering with local curvature and addressing halos. The framework includes features like specular reflections, environment lighting, and supports physically-based rendering of human characters.
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Physically based skin rendering
1. Universitat Polit`ecnica de Catalunya
Physically-based rendering of human skin
Master in Innovation and Research in Informatics
Roger Hernando
Advisors:
Antonio Chica
Pere-Pau V´azquez
2. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
3. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Motivation
Motivation
Enhance the rendering of human scanned characters:
Roger Hernando Physically-based rendering of human skin
4. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Introduction
Skin rendering
Human perception is highly
specialized.
Very sensitive to the
appearance of human
skin.
Skin is a multilayered
translucent material:
Light scatters through
skin.
Light interacts with each
layer.
Described in terms of the
BSSRDF not in terms of the
BRDF.
Roger Hernando Physically-based rendering of human skin
5. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Introduction
BRDF vs BSSRDF
Roger Hernando Physically-based rendering of human skin
6. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Introduction
Skin rendering
Skin simulation:
Subsurface scattering.
Forward scattering.
Roger Hernando Physically-based rendering of human skin
7. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Subsurface scattering
Subsurface scattering
BSSRDF S relates the outgoing radiance L0(x0, −→ω0) at a point
x0 with the incoming radiant flux Φi (xi , −→ωi ) at a point xi :
dL0(x0, −→ω0) = S(xi , −→ωi ; x0, −→ω0)dΦi (xi , −→ωi ) (1)
8D function:
S(xi , −→ωi ; x0, −→ω0) = S(xi , yi , σi , φi ; x0, y0, σ0, φ0) (2)
Roger Hernando Physically-based rendering of human skin
8. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Subsurface scattering
Subsurface scattering
Simplified using the diffusion approximation R(r):
Roger Hernando Physically-based rendering of human skin
9. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Subsurface scattering
Subsurface scattering
Radiant exitance M at a point (x, y):
M(x, y) = E(x , y )R(r )dx dy (3)
Expressed as 2D convolution:
M(x, y) = E(x, y) ∗ R(r) (4)
For real time rendering, R(r) is approximated by a set of 1D
separable convolutions.
Roger Hernando Physically-based rendering of human skin
10. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Objective
Objective
Implement state-of-the-art methods to render the skin
(subsurface scattering, forward scattering).
Propose some extensions to the methods.
Implement a test-bed application and also other PBR
techniques.
Test and compare the implemented methods.
Roger Hernando Physically-based rendering of human skin
11. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
12. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Implemented Methods
Methods
Subsurface scattering:
Screen space subsurface scattering.
Separable pre-integrated subsurface scattering.
Separable artistic subsurface scattering.
Forward scattering:
Real-Time realistic skin translucency.
Roger Hernando Physically-based rendering of human skin
13. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Subsurface scattering
Subsurface scattering:
Screen space subsurface scattering.
Separable pre-integrated subsurface scattering.
Separable artistic subsurface scattering.
Screen-space methods.
Mimicking the skin diffusion profile.
Subsurface scattering should be applied only to the diffuse
lighting.
Roger Hernando Physically-based rendering of human skin
14. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
First method: Screen space subsurface scattering
Jimenez et al. used d’Eon and Lubeke approximation R(r) as
a sum of gaussian 6 functions:
Rd (r) =
k
i=1
wi G(vi , r) (5)
Convolution performed in screen space.
12 1D convolutions (expensive).
Roger Hernando Physically-based rendering of human skin
15. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Screen space subsurface scattering Overview
Roger Hernando Physically-based rendering of human skin
16. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Second method: Separable pre-integrated subsurface
scattering
Approximate R(r) with just one separable convolution.
Assuming the irradiance E is additively separable, the
separable kernel is defined as follows:
A(r) =
1
||ap||1
ap(r) (6)
Roger Hernando Physically-based rendering of human skin
17. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Second method: Separable pre-integrated subsurface
scattering
Stages of the algorithm:
Compute the diffusion kernels ap using a Monte Carlo
simulation.
Kernel computation is slow.
Precompute the kernels for later use.
Uneven energy distribution, more energy near the origin.
More samples are taken near the origin.
Roger Hernando Physically-based rendering of human skin
18. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Third method: Separable artistic subsurface scattering
Known limitations:
Separable pre-integrated subsurface scattering is not an artistic
friendly method.
Kernel controlled with various parameters.
Based on the sum of gaussians diffusion.
Roger Hernando Physically-based rendering of human skin
19. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Third method: Separable artistic subsurface scattering
Parameters:
Weight (w): filter width.
Strength (s): amount of light which penetrates the skin.
Falloff (f ): amount of light travelling through the skin.
A(r) = p
r ∗ w
0.001 + f
∗ s + δ(r) + (1 − s) (7)
Roger Hernando Physically-based rendering of human skin
20. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Third method: Separable artistic subsurface scattering
Highly configurable:
Roger Hernando Physically-based rendering of human skin
21. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Forward scattering
Forward scattering:
Real-Time realistic skin translucency.
Obtain the distance travelled by the light inside an object.
Roger Hernando Physically-based rendering of human skin
22. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Fourth method: Real-Time realistic skin translucency
Computing the distance traveled through the object.
light
eye
Roger Hernando Physically-based rendering of human skin
23. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Fourth method: Real-Time realistic skin translucency
Use the path length with the transmittance function T(s):
T(s) =
k
i=1
wi e−s2/vi
(8)
Using d’Eon and Lubeke weights.
Roger Hernando Physically-based rendering of human skin
24. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Skin rendering methods
Fourth method: Real-Time realistic skin translucency
Roger Hernando Physically-based rendering of human skin
25. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
26. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Extensions
Extensions
Problems with current methods:
Halos.
Incorrect diffusion.
Based in non-physically-based previous work:
Modulate the subsurface scattering effect with mesh local
curvature.
Roger Hernando Physically-based rendering of human skin
27. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Halos
Halos
Close points in screen space may be far away in the geometry.
Problem partially tackled by correction factors (but not
enough):
//correction
float depth = texture(depthTex, offset).r;
float s = min(correction * abs(depthM - depth), 1.0);
colorS.rgb = mix(colorS.rgb, colorM.rgb, s);
Roger Hernando Physically-based rendering of human skin
28. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Halos
Halos
Mikkelsen uses a Cross Bilateral Filter to weight the diffusion
profile.
CBF[I, E]p =
q∈S Gσs e−||p−q||Gσr e−(Ep−Eq)Iq
q∈S Gσs e−||p−q||Gσr e−(Ep−Eq)
(9)
It works like a bilateral filter but uses an auxiliary image for
weighting.
I(p) = I(x(p)) ∗ cos3
(φi )
||x(p)||2
cos(φj)
(10)
φi is the angle between the z-axis and the view.
φj is the angle between the point normal and the -view.
Roger Hernando Physically-based rendering of human skin
29. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Halos
Halos
The original implementation depends on the distance between
the eye and the object.
Assume x(p) lies on the zNear plane.
This technique produces strange artifacts when used directly
with our subsurface scattering techniques.
Slightly modify the subsurface scattering algorithms to take
this artifacts into account.
Roger Hernando Physically-based rendering of human skin
30. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Halos
Halos
Results:
The Halos artifacts are eliminated using this extension.
Roger Hernando Physically-based rendering of human skin
31. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Incorrect diffusion
Incorrect diffusion
Limitations:
Our meshes do not differentiate between different scanned
elements (skin, hair, cloths).
In video games artists provide this information (texture or
meshes).
We do not have this information.
Blurring between different zones.
Roger Hernando Physically-based rendering of human skin
32. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Incorrect diffusion
Incorrect diffusion
Proposed Solution:
Weight the filter using the lab-color distance to differentiate
between skin and non-skin zones.
Bilateral filter:
BF[I]p =
q∈S Gσs e−||p−q||Gσs e−(Ip−Iq)Ip
q∈S Gσs e−||p−q||Gσs e−(cp−cq)
(11)
Roger Hernando Physically-based rendering of human skin
33. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Incorrect diffusion
Incorrect diffusion
Results:
The diffusion between skin and non-skin zones is eliminated
using this startegy:
Roger Hernando Physically-based rendering of human skin
34. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Scattering modulation
Scattering modulation
Non-physically based subsurface scattering: the subsurface
scattering effect is more noticeable in high curvature zones.
Modulate the scattering strength with the screen space
curvature.
Roger Hernando Physically-based rendering of human skin
35. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Scattering modulation
Scattering modulation
Various strategies to modulate the subsurface scattering.
Increase the effect according to its local curvature.
Decrease the effect in zones with lower curvature and increase
it otherwise.
Reduce the effect up to a minimum at zones with low
curvature and increase it at zones with high curvature.
Roger Hernando Physically-based rendering of human skin
36. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Scattering modulation
Scattering modulation
Roger Hernando Physically-based rendering of human skin
37. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
38. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
PBR
Scene Lighting
Features:
Subsurface scattering.
Specular Reflections.
Environment lighting.
Roger Hernando Physically-based rendering of human skin
39. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Speculars
BRDF Specular
BRDF specular:
Cspec(l, v) =
F(l, h)G(l, v, h)D(h)
4(n · l)(n · v)
Lc(n · l) (12)
Roger Hernando Physically-based rendering of human skin
40. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Speculars
BRDF Specular
Fresnel: defines the fraction of light reflected from an
optically flat surface.
Fslick(F0, l, h) = F0 + (1 − F0)(1 − (l · h))5
(13)
Shadow-masking function: defines the percentage of
microfacets with h as their normal vector that are not
shadowed or masked.
Gimplicit(l, v, h) = (n · l)(n · v) (14)
Distribution of normals function: concentration of microfacets
that are oriented such that they could reflect light from l into
v.
DPhong (h) = π
αr + 2
2π
(n · h)αr
(15)
Roger Hernando Physically-based rendering of human skin
41. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Speculars
BRDF Specular
Finally, our physically-based specular BRDF is defined as
follows:
Cspec(l, v) =
αr + 2
8
(n · h)αr
Fslick(F0, l, h)Lc(n · l) (16)
Roger Hernando Physically-based rendering of human skin
42. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Speculars
BRDF Specular
Roger Hernando Physically-based rendering of human skin
43. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Global Ilumination
Irradiance maps
Ambient occlusion.
Environment lighting using an irradiance map.
EMdiff (n) = k∈Ω max(0, lk · n)L(lk)
k∈Ω max(0, lk · n)
(17)
Roger Hernando Physically-based rendering of human skin
44. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Global Ilumination
Irradiance maps
Roger Hernando Physically-based rendering of human skin
45. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Global Ilumination
Irradiance maps
Roger Hernando Physically-based rendering of human skin
46. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Extras
Color linearity
Important to take into account that the color captured by a
sensor is not stored in a linear way.
Roger Hernando Physically-based rendering of human skin
47. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Extras
Color linearity
When a non-linear color is used, it produces an incorrect
rendering.
Roger Hernando Physically-based rendering of human skin
48. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Application
Snapshot
Roger Hernando Physically-based rendering of human skin
49. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Application
Pipeline
Roger Hernando Physically-based rendering of human skin
50. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
51. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Performance
Results
Application performance:
Application
Shadow map MainRender AddSpecular Tonemap
0.447 ms 1.262 ms 0.148ms 0.977 ms
Roger Hernando Physically-based rendering of human skin
52. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Performance
Results
Subsurface scattering methods:
View Gausian sum Artistic Pre-int Kernel
Close 9.428 ms 1.731 ms 1.799 ms
Mid 2.01 ms 0.492 ms 0.487 ms
Far 0.676 ms 0.312ms 0.36 ms
Roger Hernando Physically-based rendering of human skin
53. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Performance
Results
Performance vs #samples:
Roger Hernando Physically-based rendering of human skin
54. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Performance
Results
Without subsurface scattering:
Roger Hernando Physically-based rendering of human skin
55. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Performance
Results
With subsurface scattering:
Roger Hernando Physically-based rendering of human skin
56. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Outline
1 Motivation
2 Implemented skin rendering methods
3 Proposed extensions
4 Developed framework
5 Results
6 Conclusions & future work
Roger Hernando Physically-based rendering of human skin
57. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Conclusions
Conclusions
Explored different algorithms to render the skin.
Proposed and explained some extensions to improve the
rendering quality.
Implemented a testbed application integrating the subsurface
scattering methods plus other techniques in order to produce
high quality renders.
Methods performance analysis.
Roger Hernando Physically-based rendering of human skin
58. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Future work
Future work
Explore non-physically based methods to render the skin.
Improve the re-usability of the forward scattering method.
Explore segmentation methods to distinguish between skin
and non-skin zones.
Roger Hernando Physically-based rendering of human skin
59. Motivation Implemented skin rendering methods Proposed extensions Developed framework Results Conclusions & future w
Questions
Questions
Questions?
Roger Hernando Physically-based rendering of human skin