Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parFelicia Adams Modifié depuis plus de 6 années
1
Metropolis Hasting Merci Madame la presidente du jury.
Merci aussi aux membre du jury d’etre ici pour assister a ma soutenance de these. L’intitule de ma these est: “Toward more Realism and Robustness in Global Illumination.” ou en francais: “Vers plus de realisme et de robustesse en simulation de l’eclairage globale.”
2
Light simulation: Recall
S La simulation d’eclairage doit donc construire plusieurs chemins de lumiere de longueurs differentes. Un chemin de lumiere, note x barre, est determiner par son ensemble de sommet x 0 x 1 jusqu’à x k. L’objectif est de calculer la luminance d’un pixel j et est modeliser par l’integrale dans l’espace des chemins p de la contribution des chemins de lumiere au pixel j, modeliser par la fonction f de j et ou d de mu de x barre est la meusure dans l’espace des chemins. Plus en detail, la fonction de contribution du chemin est le produit de: La luminance emise depuis les sources de lumiere, le filtre utiliser sur le plan image, les valeures des bsdf et de facteurs geometriques. Pour evaluer la valeure de cette integrale, on utilise une approche de Monte Carlo. Monte Carlo va estimer la valeur de l’integrale en construisant de maniere aleatoire des chemins lumineux. L’expression de l’estimateur est: E de J est egale a 1 sur N somme de fonction de contributions de chemins divisier par une densite de probabilite. Ou x barre de I est un chemin aleatoire, N est le nombre de chemin aleatoire que l’on a generer et p est la densite de probabilite qui peut etre appeler la strategy de construction des chemins. L’estimateur converge vers la valeur extacte de l’integrale si l’on auguemente le nombre de chemin aleatoire. Cependant, le probleme est que cela va auguementer le temps de rendu. La seconde solution pour que l’estimateur converge plus vite est de definir une bonne strategie de construction des chemins. Nous allons maintenant detailler cette derniere.
3
Light simulation: Metropolis (1)
𝑥 1 Primary Sample Space MLT [Kelemen 2002] Idea: Light path generation random numbers generation 𝑦 =𝑚𝑢𝑡( 𝑥 𝑘 ) 𝑎 𝑥 𝑘 → 𝑦 =min(1, 𝐼 𝑦 𝐼 𝑥 𝑘 ) 𝐼 𝑥 𝑘 : Importance value of 𝑥 𝑘 if 𝑎 𝑥 𝑘 → 𝑦 >𝜁: 𝑥 𝑘+1 = 𝑦 else: 𝑥 𝑘+1 = 𝑥 𝑘 AddToGatherPoint( 𝑥 𝑘+1 ) 1,2 3,4 6,7 𝑥 0 𝑦 𝑥 𝑘 Path space 𝑥 2 8 Mapping 𝑥 = 𝑃 −1 ( 𝑢 ) Unit hypercube of random numbers 𝑦 Pour resoudre le probleme de l’efficasite de l’echantillionage des chemins de lumiere, nous pouvons utiliser une approache basee sur l’algorithme de Metropolis-Hasting. Il existe plusieurs mise en oeuvre possible de cet algorithme dans le rendu. Dans notre travail, nous utilisons l’approache proposee par Kelemen, en 2002 qui se nomme “Primary Sample Space MLT”. Elle marche de la facon suivante. Il faut tout d’abord voir que la creation d’un chemin de lumiere est defini biensur par la strategie de construction des chemins mais aussi des nombres aleatoires utilises. Premierement, comme d’habitude on generer les gather points depuis la camera. Puis ensuite, on genere le chemin de lumiere. Pour ce faire, pour echantillioner un point sur la source de lumiere, on utilise les deux premier nombre aleatoires. Ensuite pour determiner la direction d’emission, deux autres nombres aleatoire sont utilisees. Anisi de suite jusqu’a avoir un chemin de lumiere qui touche les gather points. Donc … TODO: Definir fonction d’importance ou fonction cible (mathematique) 𝑥 𝑘 𝑥 𝑘 =[ 𝜉 1 , 𝜉 2 ,…] 𝑦 =[ 𝜉 1 + Δ 1 , 𝜉 2 + Δ 2 ,…]
4
Light simulation: Metropolis (2)
Metropolis Light Transport: Generate a sequence of paths 𝑥 0 , 𝑥 1 ,…, 𝑥 𝑁 (Markov chain) Local exploration: Mutation Small mutation “Large” mutation Generate a new random vector: Uniform sampling 𝐼( 𝑥 ) controls the exploration behavior of the Markov chain (𝑎 𝑥 𝑘 → 𝑦 ) Probability to sample a path (with Metropolis) 𝑞( 𝑥 )=𝐼( 𝑥 )/𝑏 where 𝑏 the normalization factor, I( 𝑥 ) mimics the integrand f( 𝑥 ) Φ 𝐺 𝑡 +=𝑓( 𝑥 )/𝑞( 𝑥 ) TODO: Add Acceptance formula for importance function Donc Metropolis genere une sequence de chemins x 0 x 1 x N aussi appeler chaine de Markov. L’algorithm construit cette sequence en explorant localement l’espace des chemins grace a des mutations. Il existe plusieurs type de mutations. Les mutations petite qui permettent d’explorer localement le domaine des chemins pour explorer une meme fenetre par exemple. Par ailleurs, on aura des mutation grandes pour, par exemple, explorer d’autres fenetres. La fonction d’importance elle va controler qu’elle partie du domaine la chaine de Markov va plus ou moins explorer. Elle contrôle la probabilite qu’un chemin de lumiere soit echantillionner par la chaine de Markov. En effet, q de x barre est egale a l’importance I diviser par un facteur de normalisation. Il faut bien distinguer cette probabilite par rapport a la construction des chemins. En effet, pour ajouter le flux au gather point, on a toujours f x barre diviser par p x barre mais ici on rajoute la division par q de x barre. Par ailleurs
5
Light simulation: Visibility as IF (1)
“Robust Adaptive photon tracing using photon path visibility” [Hachisuka 2011] Importance Function: 𝐼 𝑥 =𝑉( 𝑥 ) based on light path visibility 𝑎 𝑥 𝑘 → 𝑦 =𝑉( 𝑦 ) Additional tools: AMCMC, Replica Exchange (Used in all our projects) 𝐼 𝑥 =0 𝐼 𝑥 =1
6
Light simulation: Visibility as IF (2)
SPPM without Metropolis SPPM with Metropolis (Visibility) Significantly improves the rendering performance Problem How to extend the Importance Function to handle participating media? How to distribute evenly the noise over the image plane?
7
Visibility-Driven Progressive Volume Photon Tracing
3D Scene without participating media 3D Scene with participating media The Visual Computer Journal, Vol 29, Issue 9, September 2013 Visibility-Driven Progressive Volume Photon Tracing La premiere contribution est comment etendre la fonction d’importance au milieux participatifs. En effet, rajouter les milieux participatifs permet d’ajouter une qualite d’image que l’on ne peut pas avoir sans. TODO: Add questions? TODO: Montrer images pour definir les images
8
Light simulation: RTE (1)
Participating media: Radiative Transfer Equation [Subrahmanyan 1960] Aims: All interactions with photon mapping (number of photons not limited) Metropolis sampling (Visibility?) RTE: Ours SPPM 𝐿 𝑥 0 ← 𝜔 = 𝐿 𝑥 1 , 𝜔 𝜏 𝑥 𝑒 ↔ 𝑥 𝑠 SPPM + 𝑥 𝑒 𝑥 𝑠 𝑑 𝑦 𝑥 1 𝑥 𝑒 𝑥 𝑠 𝜔 𝜏 𝑥 𝑒 ↔ 𝑦 𝜎 𝑠 𝑦 𝐿 𝑖 𝑦 , 𝜔 𝑥 0 𝜏 𝑥 𝑒 ↔ 𝑦 𝜏 𝑥 𝑒 ↔ 𝑥 𝑠 𝑦 TODO: Change animation to better explain (L insident to x_0) Premierement on veut prendre en compte les milieux participatifs. Ce genre de milieux sont regit par la Radiative Transfert Equation (ou RTE) que je vais decrire succitement. Tout d’abord, on trace un chemin qui passe a travers le milieu et touche une surface en x 1. D’autre part, nous aurons les points d’entrée et de sortie du milieu par les points x e et x s. Alors la RTE va exprimer la luminance recu en x 0 et est egal a la contribution de la surface en x 1. Il faut voir que cette contribution L de x 1 peut etre calculer avec la methode SPPM vu precedement. Puis il faut aussi prendre en compte tout ce qui ce passe dans le milieu entre x e et x s. Ceci est modeliser sous forme d’integrale ou l’on a une luminance incidente L de I au point y. Cette luminance incident vient de toutes les directions autour de y et il faut voir que l’on peut avoir des contributions dite “directe” ou single scattering comme celle ci. Et des contributions plus complexes par les multiples diffusion dans le mileux qui se nomme multiple scattering. L’objectif de notre methode est de prendre en compte tout les phenomene lumineux se passant sur les surfaces ou dans le milieu. D’autre part, on veut une approache par photon mapping pour avoir une certaine robustesse avec un budget de memoire limite. Enfin, on veut pouvoir utiliser Metropolis pour guider les chemins lumineux. 𝐿 𝑖 𝑦 , 𝜔 = Ω 𝐿 𝑥 , 𝜔 𝑖 ⋅𝜌 𝑦 , 𝜔 𝑖 → 𝜔 𝑑 𝜔 𝑖 Incoming radiance: Single Scattering Multiple Scattering
9
Light simulation: RTE (2)
Several techniques to solve the RTE (Media interactions) Ray Marching [Jensen 1998] Beam Radiance Estimate [Jarosz 2008] Photon Beams [Jarosz 2011] TIME: 18 MINUTES ~ Alors il existe plusieurs techniques pour prendre en compte les effets lumineux dans le milieux. La premiere, le ray marching va echantillioner des chemins depuis la source de lumiere et interagir avec le milieu et les surfaces. Un lot de photon est alors creer. Puis une trace un rayon depuis la camera et a interval regulier on collecte les photons proches. Cette technique est longue et couteuse car plusieurs collecte sont necessaire pour un rayon camera. Une seconde solution est d’utiliser la technique «Beam Radiance Estimate» qui commence pareille que la precedente pour la generation de photon. Le seule changement est que chaque photon, on associe une sphere d’influence en fonction de la densite locale de photon. Ces sphere sont ensuite utilisee pour construire une structure acceleratice et un rayon partant de la camera collecte ces dites spheres. Enfin, une troisement solution consiste a generer des faisceaux venant des sources de lumieres. En effet, on ne stocke plus le point d’interaction (que l’on a appeler photon), mais tout le chemin. Ensuite pour chaque chemin un rayon d’influence est mit et ces rayon d’influence sont ensuite collecter avec un rayon provenant de la camera. On voit pour ces trois methodes, il y a un stockage de donnee que ce soit des photons ou des faisceau. Pour rendre cet algorithme consistent, on peut utiliser l’approache APA qui est une generalisation de SPPM ou on moyenne non plus les statistics dans un pixels mais les images elle-meme. Cependant, cette technique ne permet pas d’utiliser l’echantillionage par Metropolis qui a montrer une grande amelioration. To bound the memory footprint: “A probabilistic approach” (APA) Generalization of SPPM: Averaging images No Metropolis sampling
10
PVPT: Idea Use Metropolis: requires visibility information
Visibility over surfaces: SPPM with Metropolis Our contribution: Visibility inside the media Use “view” beams as gathering structure Add photon contribution directly to “view” beams Pre-computation of transmittance values TODO: Revoir view beams presentations 𝑦 𝜏 𝑥 𝑒 ↔ 𝑦
11
PVPT: Step 1: Data structure building
Iteration t: For each pixel j Generate a view path: each intersection between a ray of the view path and the media gives rise to a “view” beam, which results in: Set of “view” beams 𝐵 𝑡 Gather point 𝐺 𝑡 : end point of the view path Acceleration structures Gather point SAH KD-tree based on influence sphere “View” Beam TODO: Check anim All beams have same radius Ray maps [Havran 2005] on supporting segment
12
PVPT: Step 2: Photon shooting
Use Metropolis: Two Importance Functions Visibility over gather points: 𝐼 𝑠 ( 𝑥 ) Visibility over “view” beams: 𝐼 𝑣 ( 𝑥 ) One Markov chain for each visibility: 2 sets of photons Shoot photons for surfaces (SPPM) Shoot photons for the volume Rappeler Markov Chain !
13
PVPT: Step 3: Collect contributions
At the end of each iteration 𝒕 Add gather point contributions to surface: 𝐿 𝑗 𝑠 ( 𝐺 𝑡 ) (SPPM) Add “view” beams contributions to volume: 𝐿 𝑗 𝑚 ( 𝐵 𝑡 ) (APA) 𝐿 𝑗 = 𝐿 𝑗 𝑠 𝐺 𝑡 + 𝐿 𝑗 𝑚 ( 𝐵 𝑡 ) Our approach is also compatible with photon beams tracing
14
PVPT: Results 30 min 10 h. APA with BRE APA with Photon beams
Our technique: Photon Meme temps de calcul
15
PVPT: Conclusion New rendering technique based on photon mapping to render all interactions (surface or volume) Metropolis: 2 Markov chains No need of storing light paths and direct access to transmittance values Future work Reduce the number of user defined parameters Performance improvement: other acceleration data structure, GPU Implementation, etc. Mix the contributions of the 2 Markov chains
16
Eye-centred: Chromatic Adaptation
Human Vision System Perceive colors as constant even though the illumination conditions change Physics point of view Surface Color = Surface Reflectance x Irradiance Color Perceived Colors differ from physical colors Chromatic adaptation is one of the main feature of the human vision system. It makes us perceive the colors of objects as constant even though the lighting conditions change. While, the physical radiance color changes with the color of the light sources. To sum up the perceived colors differ from the physical ones. Global illumination engine obeys the physics of light transport, providing then physical colors rather then perceived ones. We have to perform a chromatic adaptation to recover the perceived colors of the pixels.
17
Eye-centred: CAT Von Kries’ model [Kries 1905]
Photoreceptors color space (L, M, S) Linear adaptation Adaptation color LW, MW, SW Many improvements of Von Kries’ model Degree of adaptation, non linearity, etc. The first Chromatic Adaptation Transform was proposed by Johannes Von Kries, its goal is to computed the perceived color knowing the physical color and the lighting conditions. These latter appear in the transform matrix as the adaptation color. Since then, many improvements has been proposed. But all CATs are still functions of two parameters, say the physics color and the adaptation color. So the first step to perform a chromatic adaptation transform is to estimate this adaptation color.
18
Eye-centred: estimate of adaptation color
Our Eye centered chromatic adaptation Sensitive to the observer position Irradiance color at the eye position Sensitive uniformly to all directions Hemispherical field of human vision Adaptation color = average of irradiance color on a small hemisphere To overcome these issues, we propose a new approach to estimate the adaptation color. Whereas the previous methods rely on the rendered image, we focus on the eye and especially on the irradiance color around the eye position. We assume that the eye behaves like an hemispherical sensor. Then we compute the adaptation color as the average irradiance color over a small virtual hemisphere centered at the eye position. Here is the workflow describing our method. First we use the GI engine to compute the raw image. Then we compute the average irradiance color over the hemisphere centered at the eye position. Note that the estimate is not determined from the raw image unlike others methods. This is a big difference between our approach and the others. We use this color estimate to perform the chromatic adaptation.
19
Eye centered estimate of adaptation color
Implementation Mistuba physically based renderer Path tracing integrator Estimate cost 0.1% of samples used to render the image CAT CIE linear transform CAT02 Let us see now some details on our implementation. First this is the eye. We place above the eye our virtual hemisphere. We run a global illumination algorithm to compute the average irradiance on the hemisphere using path tracing. More precisely we put samples on the hemisphere : x1, x2 as example. Then, , for the indirect lighting, we randomly sample direction from these points x. While for the direct lighting, we take samples on the light sources. The overhead cost of the estimate computation represents only 0.1% of the total number of samples used to render the image.
20
Results Complex tests cases
The second test case consists of a scene made of two rooms. The first one is lit with four orange light sources while the second is lit with four blue ones. We render three images. In the first image (red view frustum), the second room is not visible. In the second image (green view frustum), both rooms are visible. In the third image (blue view frustum), only the second room is visible while the camera lies in the first room.
21
Results Complex tests cases
Raw Wilkie et al. Ours The first column corresponds to the raw images. In this case, Wilkie et al. computes three different adaptation colors because it considers only the visible objects to compute the adaptation color. In the second image, the second room remains blue. While it becomes white in the third image. Regarding our method, it also computes three adaptation colors which are very close to each other. This comes from our approach is sensitive to where the camera is located rather than the visible surfaces. These results shows that lacks spatio-temporal coherency of Wilkie and al. method.
22
Results Sequence tests cases
We tested our algorithm on video sequences to demonstrate its ability to meet the constraint of spatio-temporal coherency. The video sequence is a walkthrough into a scene. It is composed of three rooms with different illuminant colors : white, orange and blue. The camera here, then goes through the room lit with an orange light to finally reach a room lit with a blue lights.
23
Results Sequence tests cases
This slide shows the adaptation color for each frame of the sequence. Unlike Wilkie, our method provides a smooth variation of the adaptation color. Note that the Wilkie method provides a sudden change of the adaptation colors at the beginning. In addition, the Wilkie method adapts too early to the illuminant color of the third room.
24
Results Complex tests cases
The small circles represent the adaptation colors for the 3 frustums. Obtained with Wilkie (left) and our method (right). With Wilkie, the color adaptation varies a lot, while they remains close.
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.