![Page 1: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/1.jpg)
Rendu réaliste en synthèse d’images.
Lancer de rayons stochastique
![Page 2: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/2.jpg)
Organisation
Lancer de rayons stochastique– Intégration de Monte Carlo
Exemple sur l’éclairage direct
– Résolution de l’équation de la luminance– Optimisation
Carte de photons
![Page 3: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/3.jpg)
Lancer de rayon classique
Un rayon d’ombre par point
Sources lumineuses approximées par un point
Ombres dures
![Page 4: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/4.jpg)
Solution exacte
Ombres douces Sources étendues != Sources ponctuelles
![Page 5: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/5.jpg)
Plus d’échantillons?
Approximer la source par plusieurs points Aliasing sur les ombres (Effet marche d’escalier)
![Page 6: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/6.jpg)
x
y
rxy
x
y
V(x,y)=?
LA
xy
yxer dy
ryxVyLxfxL 2
coscos),()(),()(
Equation
Intégration analytique très difficile
Utilisation de techniques numériques : Monte Carlo
![Page 7: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/7.jpg)
Intégration numérique
Intégration numérique d'intégrale simple
b
a
dxxfI )(
a b
)(xf
![Page 8: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/8.jpg)
Intégration déterministe
Intégration déterministe par quadrature :
N
i
ii
b
a
xfw
dxxfI
1
)(
)(
a b
)(xf
1x Nx
Ne marche que sous certains conditions : fonctions dérivables, dimensions du problème pas trop élevé
![Page 9: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/9.jpg)
Intégration de Monte Carlo
Estimation de la valeur d’une intégrale– Échantillonner N points suivant une densité de
probabilité p(x)– L’estimateur est une moyenne pondérée des
valeurs de la fonction à chaque échantillon
N
i i
i
xpxf
NI
1 )()(1ˆ
![Page 10: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/10.jpg)
Variable aléatoire continue
Variable aléatoire X
Fonctions de répartition : probabilité que la variable aléatoire soit inférieure ou égal à x
Densité de probabilité
)(xp
x
dyypxF )()(
![Page 11: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/11.jpg)
Exemple : taille d’un individu
Densité de probabilité
120 230
)(xp
160 190
1)(300
0
dxxp
180
170
)(])180,170[( dxxpXP
0)()178(178
178
dxxpXP
2/1)()170(170
0
dxxpF
)(xF
![Page 12: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/12.jpg)
Densité de probabilité uniforme
Densité uniforme
P(x) : probabilité que x appartienne à [a’,b’]
a b
)(xp
a’ b’
abxp
dxxpb
a
1
)(
1)(
'b
'a
dx)x(p)x(P
![Page 13: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/13.jpg)
Échantillonnage selon une densité
Choisir une densité de probabilité p(x)
0 1
1
0
)(xp
![Page 14: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/14.jpg)
Échantillonnage selon une densité
Choisir une densité de probabilité p(x).
Intégrer pour obtenir une fonction de répartition P(x):
0 1
1
0
)(xPx
dttpxP0
)()( )(xp
![Page 15: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/15.jpg)
Échantillonnage selon une densité
Choisir une densité de probabilité normalisée p(x).
Intégrer pour obtenir une fonction de répartition P(x):
Inverser P(x) : x = P-1()
échantillonné avec une densité uniforme entre 0 et 1 0 1
1
0
)(xP
x
dttpxP0
)()(
![Page 16: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/16.jpg)
Échantillonnage selon une densité
Choisir une densité de probabilité normalisée p(x).
Intégrer pour obtenir une distribution de probabilité P(x):
Inverser P(x) : x = P-1() 0 1
1
0
)(xP
x
dttpxP0
)()(
Transforme un
échantillonnage uniforme vers échantillonnage non uniforme
![Page 17: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/17.jpg)
Illumination directe
Génération de points aléatoires sur la source
Évaluation de l'intégrale avec ces points
LA
dyyDxL )()(
N
i i
i
ypyD
NxL
1 )()(1)(
x
y
rxy
x
y
V(x,y)=?
’
LA
xy
yxer dy
ryxVyLxfxL 2
coscos),()(),()(
![Page 18: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/18.jpg)
Illumination directe
1 rayon d'ombre 9 rayons d'ombre
N
i
ixy
yxiies yxVis
ryLxfA
NxL
i
i
12 ),(coscos)(),(1)(
SAyp 1)(
![Page 19: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/19.jpg)
Illumination directe
36 rayons d'ombre 100 rayons d'ombre
N
i
ixy
yxiies yxVis
ryLxfA
NxL
i
i
12 ),(coscos)(),(1)(
![Page 20: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/20.jpg)
Échantillonnage stratifié
Objectif – Réduction de la variance.
Principe– Découpage du domaine d'intégration
0 1
)(xf
1
0 0
2
1
11
1
)(...)()()(x x
x xn
dxxfdxxfdxxfdxxfI
![Page 21: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/21.jpg)
Échantillonnage stratifié
Objectif – Réduction de la variance.
Principe– Découpage du domaine d'intégration– Estimateur
0 1
)(xf
N
i i
istrat xp
xf
NI
1 )(
)(1
![Page 22: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/22.jpg)
Échantillonnage stratifié
Application à 2 dimensions
N2 échantillons
Échantillons arbitrairement proches
Problème pour les dimensions supérieures
![Page 23: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/23.jpg)
Échantillonnage stratifié
9 rayons d'ombre uniformes
9 rayons d'ombre stratifiés
![Page 24: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/24.jpg)
Échantillonnage stratifié
36 rayons d'ombre uniformes
36 rayons d'ombre stratifiés
![Page 25: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/25.jpg)
Échantillonnage stratifié
100 rayons d'ombreuniformes
100 rayons d'ombrestratifiés
![Page 26: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/26.jpg)
Echantillonnage stratifié
Application aux dimensions supérieuresÉchantillonnage stratifié en en grille
Nd Echantillons
Échantillonnage des N reines
N Echantillons
![Page 27: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/27.jpg)
9 échantillons
Uniforme
Stratifié N reines
![Page 28: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/28.jpg)
36 échantillons
Uniforme
Stratifié N reines
![Page 29: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/29.jpg)
Plusieurs sources lumineuses
L’intégrale ne change pas : au lieu d’intégrer sur la surface de la source, on intègre sur les surfaces des sources lumineuses.
La densité pour sélectionner les points est modifié : d’abord on sélectionne une source S avec la densité p(S) puis un point sur S avec p(y|S)
T
SSp )(
sASyp 1)( )()()( SypSpyp
LA
xy
yxer dy
ryxVyLxfxL 2
coscos),()(),()(
![Page 30: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/30.jpg)
Plusieurs sources lumineuses
36 rayons d’ombres par pixels dans les deux images mais densité de probabilité différentes
![Page 31: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/31.jpg)
Application aux pixels
Calcul de la luminance au centre du pixel : aliassage
Utilisation d'un filtre …
… évalué par intégration de Monte Carlo.
Pixel
dxxLxfL )()(
![Page 32: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/32.jpg)
Application aux pixels
Tout type d'échantillonnage envisageable
N
i i
ii
xpxLxf
NL
1 )()()(1
![Page 33: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/33.jpg)
Implantation
1 rayon / pixel 10 rayons / pixel 100 rayons / pixel
![Page 34: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/34.jpg)
Implantation
Comparaison :
1 rayon centré par pixel
100 rayons d'ombre aléatoires par intersection
100 rayons aléatoires par pixel
1 rayons d'ombre aléatoire par intersection
![Page 35: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/35.jpg)
Équation du rendu
Évaluation de l'équation du rendu– Comment écrire l'équation du rendu et l'évaluer par
intégration de Monte Carlo?
– Quelle densité de probabilité utiliser pour l'équation du rendu?
– Algorithmes et résultats
![Page 36: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/36.jpg)
Équation du rendu
x
dnxLxfxLxL xre ),cos()(),()()(
x
L x( )
L xe ( )
L x( )
![Page 37: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/37.jpg)
Équation du rendu
x
re fL cos
x
dnxLxfxLxL xre ),cos()(),()()(
![Page 38: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/38.jpg)
Calcul de la luminance
Comment évaluer L ?
– Trouver Le(x)
– Ajouter L=?
x
dnxLxfxL xri ),cos()(),()(
![Page 39: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/39.jpg)
Calcul de la luminance
Comment évaluer Li ?– Intégration de Monte Carlo
– Générer des directions aléatoires sur x, en utilisant la densité de probabilité p()
x
dnxLxfxL xr ),cos()(),()(
N
i i
xiiir
pnxLxf
NxL
1 )(),cos()(),(1)(
![Page 40: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/40.jpg)
Calcul de la luminance
Échantillonnage de l'hémisphère
sin),( ddd
0 20
2/
in
in
in
ind
in
21 2)cos(cos)( etap
21
1
1 2)cos(cos2
1)( etanp nn
![Page 41: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/41.jpg)
Calcul de la luminance
Générer une direction aléatoire i
N
i i
ir
p
xLf
NL
1 )(
)cos()()(1
Evaluer la brdf
Evaluer le cos(…)
Evaluer L(xi)
![Page 42: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/42.jpg)
Calcul de la luminance
Evaluation de L(xi) ?
La radiance est constante sur la direction de propagation.
rc(x, i) = premier point visible.
L(xi) = L(rc(x, i) i)
![Page 43: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/43.jpg)
Calcul de la luminance
Évaluation récursive
Chaque rebond ajoute un niveau d'éclairage indirect.
![Page 44: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/44.jpg)
Arrêt de la récursivité
Quand arrêter la récursivité ?
Les contributions des ordres de réflexions élevés sont négligeables.
Si on les ignore, les estimateurs sont biaisés !
![Page 45: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/45.jpg)
Roulette russe
Roulette russe– En pratique, définition d'un coefficient d'absorption
Probabilité que le rayon soit absorbé. La luminance deviens L/(1-.
– Exemple : =0.9 (1.0 - moyenne de la réflectance) Un rayon sur 10 est réfléchit. La luminance estimée sur un rayon réfléchi est multipliée par
10.
![Page 46: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/46.jpg)
Roulette russe
Estimateur non biaisé
Espérance de l’estimateur est toujours correcte
Plus grande variance
Mais plus efficace
![Page 47: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/47.jpg)
Tracé de chemins
Algorithme– Lancer N rayons par pixels– A chaque intersection avec une surface, lancer 1
rayon distribués sur l'hémisphère pour évaluer l’équation de la luminance
– Terminer la récursivité par roulette russe
![Page 48: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/48.jpg)
Tracé de chemins
1 rayon/pixel 16 rayons/pixel 256 rayons/pixel
Très bruité : contribution nulle tant que le chemin n’a pas atteint une source lumineuse!!
![Page 49: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/49.jpg)
Tracé de chemins
?L ?L
![Page 50: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/50.jpg)
Tracé de chemins
?
0
r
e
L
L
?
0
r
e
L
L
![Page 51: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/51.jpg)
Tracé de chemins
?inL ?inL
![Page 52: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/52.jpg)
Tracé de chemins
?inL ?inL
![Page 53: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/53.jpg)
Tracé de chemins
?L ?L
![Page 54: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/54.jpg)
Tracé de chemins
?0reLL
?0reLL
![Page 55: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/55.jpg)
Tracé de chemins
?inL ?inL
![Page 56: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/56.jpg)
Tracé de chemins
?L ?L
![Page 57: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/57.jpg)
Tracé de chemins
?
234.1
r
e
L
L
?
234.1
r
e
L
L
![Page 58: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/58.jpg)
Tracé de chemins
![Page 59: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/59.jpg)
Tracé de chemins
)()()( xLxLxL ie
• Améliorer l’algorithme en séparant l’intégrale en deux parties
x
x
dnxLxf
dnxLxfxL
xir
xeri
),cos()(),(
),cos()(),()(
![Page 60: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/60.jpg)
Tracé de chemins
),())cos(
()cos()()(
)cos()()(
)cos()()()(
2yxV
r
dAxyLf
dxyLf
dxLfxL
source
x
x
Area xy
yer
er
erdirect
dAy
d
xd
dA
ry y
cos2
![Page 61: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/61.jpg)
Tracé de chemins
Conclusion – Évaluer différemment l'éclairage direct et indirect
x
r
Source
r ff coscos
![Page 62: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/62.jpg)
Algorithme
?L ?L
![Page 63: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/63.jpg)
Algorithme
?
0
r
e
L
L
?
0
r
e
L
L
![Page 64: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/64.jpg)
Algorithme
?
?
0
i
d
e
L
L
L
?
?
0
i
d
e
L
L
L
![Page 65: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/65.jpg)
Algorithme
?L ?L
?
345.2
0
i
d
e
L
L
L
?
345.2
0
i
d
e
L
L
L
![Page 66: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/66.jpg)
Algorithme
![Page 67: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/67.jpg)
Algorithme
![Page 68: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/68.jpg)
Comparaison
Sans calcul d'éclairage direct
16 rayons/pixel
Avec calcul d'éclairage direct
![Page 69: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/69.jpg)
Comparaison
1 rayon/pixel
4 rayons/pixel
16 rayons/pixel
256 rayons/pixel
![Page 70: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/70.jpg)
Limitations
Chemins tracés en sens inverse de la lumière
Ne prends pas bien en compte tous les effets
Bruit sur les caustiques
![Page 71: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/71.jpg)
Limitations
Tracé de chemins : 1000 chemins par pixel
![Page 72: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/72.jpg)
Tracé de chemins lumineux
Tracer des chemins des sources lumineuse plutôt que de l’œil
Permet de bien prendre en compte les caustiques et l’éclairage indirect
Mais pas les réflexions!!!
![Page 73: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/73.jpg)
Tracé de chemins lumineux
![Page 74: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/74.jpg)
Tracé de chemins bidirectionnels
Trace un chemin des sources lumineuses et un chemin de l’œil
Connecte les chemins à chaque sommets
Très coûteux mais prend en compte quasiment tous les effets
![Page 75: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/75.jpg)
Tracé de chemins bidirectionnels
![Page 76: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/76.jpg)
Tracé de chemins bidirectionnels
Tracé de chemins bidirectionnels Tracé de chemins classique
![Page 77: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/77.jpg)
2L,1E1L,2E
1L,3E 3L,1E
1L,4E 4L,1E
![Page 78: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/78.jpg)
Carte de photons
Algorithme fondé sur l’estimation de densité
Approche similaire au tracé de chemins bidirectionnel– « cache » des chemins lumineux
![Page 79: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/79.jpg)
Estimation de densité par noyau
Méthode statistique
Ensemble de données issues d’un processus aléatoire
Estimer la densité de probabilité de ce processus
![Page 80: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/80.jpg)
Estimation de densité par noyau
Relation entre densité de probabilité et éclairement– par définition :
– Exprimé par rapport au flux :
d.cosLE i
dA
dEdAdcosLd i
![Page 81: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/81.jpg)
Estimation de densité par noyau
N photons d’énergie lancé dans la scène Le flux s incident sur une surface s’exprime
Probabilité qu’un photon Pi heurte une surface A
s
N
iis N
s
1
N
NAP s)(
![Page 82: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/82.jpg)
Estimation de densité par noyau
La densité de probabilité des photons est proportionnelle à l’éclairement
AN
ANN
ANN
A
APppdf
sss
)()(
ENAN
ppdf s
11)(
![Page 83: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/83.jpg)
Estimation de densité par noyau
Ensemble de n données observées
![Page 84: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/84.jpg)
Estimation de densité par noyau
La densité est estimée par la moyenne de n fonctions noyaux centrées sur chaque donnée observée
Fonction noyau K unitaire, symétrique et à support compact
1
1 1ˆ( )n
id
i
x Xf x K
n h h
![Page 85: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/85.jpg)
Estimation de densité par noyau
La densité est estimée par la moyenne de n fonctions noyaux centrées sur chaque donnée observée
1
1ˆ( )n
h ii
f x K x Xn
Fonction noyau K unitaire, symétrique et à support compact
![Page 86: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/86.jpg)
Estimation de densité par noyau
Le paramètre de lissage h contrôle le compromis biais/variance
1
1ˆ( )n
h ii
f x K x Xn
2ˆ ( ) ( ) 0.5 ² ( ) "( ) ( ²)Ef x f x h K f x o h
1 1ˆ ( ) ( ) ( ) ( ) ( )Vf x nh R K f x o nh
![Page 87: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/87.jpg)
Estimation de densité par noyau
Le paramètre de lissage h contrôle le compromis biais/variance
1
1ˆ( )n
h ii
f x K x Xn
2ˆ ( ) ( ) 0.5 ² ( ) "( ) ( ²)Ef x f x h K f x o h
1 1ˆ ( ) ( ) ( ) ( ) ( )Vf x nh R K f x o nh
Biais
Variance
![Page 88: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/88.jpg)
Application à l’éclairage global
Lancer de photons Photons
– Position– Énergie
Processus aléatoire = lancer de photons
Données observées = photons
1 1,X
2 2,X
3 3,X
![Page 89: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/89.jpg)
Estimation de l’éclairement
Densité des photons proportionnelle à l’éclairement incident
Éclairement estimé en un point– Approche scène : estimé par sommet ou par texel– Approche image : estimé par pixel
1
ˆ ( ) ( )n
i h ii
E x K x X
![Page 90: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/90.jpg)
Mise en oeuvre
Jensen (96)
Visualisation directe de la carte de photons (6 min)
![Page 91: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/91.jpg)
Mise en oeuvre
Walter (98)
Éclairage global par estimation de densité linéaire: 8h
![Page 92: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/92.jpg)
Approche classique
• La fonction noyau est à support local et symétrique : disque en 2D
• Localiser les k photons qui sont à une distance h du point d’estimation
1
ˆ ( )k
i h ii
E x K x X
![Page 93: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/93.jpg)
Approche duale
• L’éclairement est estimé en un grand nombre de points
• Pour chaque photon, localiser les points d’estimation à la distance h, et leur ajouter la contribution du photon
( ) ( )i i h iC x K x X
![Page 94: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/94.jpg)
Approche duale en pratique
Par texture– Estimation réalisée dans l’espace texture très
efficace– Peu évident à généraliser
Par maillage triangulaire connecté– Plus général– Plus coûteux
![Page 95: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/95.jpg)
Performance
Résultats équivalents entre approche duale et classique
Photons accédés linéairement– Permet de gérer plus facilement ce grand volume
de donnés
![Page 96: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/96.jpg)
Biais sur les bords
Fuite d’énergie sur les bords des surfaces
![Page 97: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/97.jpg)
Biais sur les bords
Estimation de densité évalue la fonction à zéro en dehors de la surface
Biais vers zéro sur les bords
![Page 98: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/98.jpg)
Corriger le biais sur les bords
Méthode de réflexion– Réfléchir les données sur les bords
Utilisation de noyaux frontières– Noyaux qui s’adaptent au bord (ne sont plus
symétriques)– Calculs complexes
![Page 99: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/99.jpg)
Triangles fantômes
Étendre la surface pour rajouter de l’information
![Page 100: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/100.jpg)
Triangles fantômes
Surfaces étendues sur leurs bords– Trouver le contour– Déplacer le contour– Trianguler la bande formée par les deux contours
Déplacement proportionnel au paramètre de lissage
![Page 101: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/101.jpg)
Triangles fantômes
Lancer de photons modifié pour prendre en compte les triangles fantômes
Un photon n’est pas arrêté par un triangle fantôme mais un photon est ajouté
![Page 102: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/102.jpg)
Triangles fantômes
Réduit le biais sur les bords – Nécessite des calculs géométriques
Augmente la complexité géométrique– Dépend du paramètre de lissage => Dépend du
nombre de photons
![Page 103: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/103.jpg)
Carte de Photons
100000 photons, 50 photons pour l’estimateur
![Page 104: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/104.jpg)
Carte de Photons
500000 photons, 500 photons pour l’estimateur
![Page 105: Rendu réaliste en synthèse d’images. Lancer de rayons stochastique](https://reader035.vdocuments.net/reader035/viewer/2022070309/551d9dc5497959293b8e23d8/html5/thumbnails/105.jpg)
Carte de Photons
Photons stockés dans un Kd-Tree balancé pour accélérer le calcul des N plus proches voisins
Photons séparés en deux groupes : caustiques et globales
Limité par la mémoire