Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
MONTE CARLO SIMULATION AND NEURAL NETWORK IN A METHOD FOR RENDERING A TRIDIMENSIONAL SCENE, AND CORRESPONDING COMPUTER PROGRAM AND DEVICE
Document Type and Number:
WIPO Patent Application WO/2020/016501
Kind Code:
A1
Abstract:
The method comprises, for each one of at least one pixel (p) of an image (206) representing a view of a three-dimensional scene (200) the steps of: determining a contribution function; making a first random selection of first light paths; and evaluating an estimator of an integral of the contribution function, said estimator comprising a Monte Carlo estimator using the selected light paths. The method further comprises a step of determining at least one parameter of an approximated contribution function, where the approximated contribution function provides an approximated contribution of a light path to the pixel value (p), said approximated contribution function comprising a neural network having a single hidden layer and connections between the hidden layer and the output layer, to which are assigned weightings dependent on the one or more parameters. The estimator further comprises a mean of approximated contributions made by the approximated contribution function applied to at least a part of the first light paths.

Inventors:
SEDDIK MOHAMED EL AMINE (FR)
TAMAAZOUSTI MOHAMED (FR)
Application Number:
PCT/FR2019/051691
Publication Date:
January 23, 2020
Filing Date:
July 08, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMMISSARIAT ENERGIE ATOMIQUE (FR)
International Classes:
G06T15/50; G06T9/00; G06T15/06
Other References:
PETER HEDMAN ET AL: "Sequential Monte Carlo instant radiosity", INTERACTIVE 3D GRAPHICS AND GAMES, ACM, 2 PENN PLAZA, SUITE 701 NEW YORK NY 10121-0701 USA, 27 February 2016 (2016-02-27), pages 121 - 128, XP058079594, ISBN: 978-1-4503-4043-4, DOI: 10.1145/2856400.2856406
ANONYMOUS: "Extreme learning machine - Wikipedia", 16 May 2018 (2018-05-16), XP055643263, Retrieved from the Internet [retrieved on 20191118]
SIMON KALLWEIT ET AL: "Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 15 September 2017 (2017-09-15), XP080821651, DOI: 10.1145/3130800.3130880
SATYLMYS PYNAR ET AL: "A Machine-Learning-Driven Sky Model", IEEE COMPUTER GRAPHICS AND APPLICATIONS, IEEE SERVICE CENTER, NEW YORK, NY, US, vol. 37, no. 1, 1 January 2017 (2017-01-01), pages 80 - 91, XP011639280, ISSN: 0272-1716, [retrieved on 20170116], DOI: 10.1109/MCG.2016.67
KEN DAHM ET AL: "Machine Learning and Integral Equations", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 17 December 2017 (2017-12-17), XP080846796
SHUBHAM JAIN: "An Overview of Regularization Techniques in Deep Learning (with Python code)", 19 April 2018 (2018-04-19), XP055553458, Retrieved from the Internet [retrieved on 20190207]
Attorney, Agent or Firm:
BONNET, Michel (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé (300) de rendu d’une scène tridimensionnelle (200), comportant, pour chacun d’au moins un pixel (p) d’une image (206) représentant une vue de la scène tridimensionnelle (200) :

la détermination (306), à partir de la scène tridimensionnelle (200) et de paramètres de la vue, d’une fonction de contribution donnant une contribution d’un chemin de lumière partant d’une source de lumière (204) de la scène tridimensionnelle (200), à une valeur du pixel (p), une première sélection (318) aléatoire de premiers chemins de lumière, et

l’évaluation (320) d’un estimateur d’une intégrale de la fonction de contribution, l’estimateur comportant un estimateur de Monte Carlo de cette intégrale de la fonction de contribution, l’estimateur de Monte Carlo utilisant les premiers chemins de lumière,

caractérisé en ce qu’il comporte en outre :

la détermination (314) d’au moins un paramètre d’une fonction de contribution approchée, de sorte que la fonction de contribution approchée donne une contribution d’un chemin de lumière à la valeur du pixel (p) proche de la contribution donnée par la fonction de contribution, la fonction de contribution approchée comportant un réseau de neurones comportant :

• une couche d’entrée d’au moins un neurone,

• une unique couche cachée d’au moins un neurone,

• une couche de sortie d’au moins un neurone

• des connexions entre le ou les neurones de la couche d’entrée et le ou les neurones de la couche cachée auxquelles des poids sont respectivement associés, ces poids étant indépendants du ou des paramètres, et

• des connexions entre le ou les neurones de la couche cachée et le ou les neurones de la couche de sortie auxquelles des poids dépendant du ou des paramètres sont respectivement associés, et en ce que l’estimateur comporte, en plus de l’estimateur de Monte Carlo, une moyenne de contributions données par la fonction de contribution approchée appliquée à au moins une partie des premiers chemins de lumière.

2. Procédé (300) selon la revendication 1 , comportant en outre une deuxième sélection (312) aléatoire, indépendante de la première sélection (318), de deuxièmes chemins de lumière, et dans lequel le ou les paramètres de la fonction de contribution approchée sont déterminés (314) à partir des deuxièmes chemins de lumière.

3. Procédé (300) selon la revendication 1 ou 2, dans lequel la détermination (314) du ou des paramètres est réalisée de manière à minimiser une distance entre la fonction de contribution approchée et la fonction de contribution.

4. Procédé (300) selon les revendications 2 et 3 prises ensemble, dans lequel la distance utilise les deuxièmes chemins de lumière.

5. Procédé (300) selon la revendication 4, dans lequel la distance comporte la somme des carrés des différences entre la fonction de contribution approchée et la fonction de contribution pour les deuxièmes chemins de lumière.

6. Procédé (300) selon la revendication 5, dans lequel la distance comporte en outre un paramètre de régularisation et dans lequel la détermination (314) du ou des paramètres comporte la détermination du paramètre de régularisation, puis la détermination du ou des paramètres en utilisant le paramètre de régularisation déterminé.

7. Procédé (300) selon la revendication 6, dans lequel l’estimateur peut s’écrire matriciellement sous la forme A[Im - M] B, où Im est une matrice identité de taille m, A et B sont des vecteurs et M est une matrice dépendant du paramètre de régularisation y, et dans lequel le paramètre de régularisation y est déterminé de sorte que la valeur propre maximale de M présente au plus un écart prédéfini avec 1.

8. Procédé (300) selon l’une quelconque des revendications 1 à 7, dans lequel les poids associés aux connexions entre le ou les neurones de la couche d’entrée et le ou les neurones de la couche cachée sont déterminés (310) préalablement à la détermination (314) du ou des paramètres.

9. Procédé (300) selon la revendication 8, dans lequel les poids associés aux connexions entre le ou les neurones de la couche d’entrée et le ou les neurones de la couche cachée sont déterminés (310) de manière aléatoires.

10. Procédé (300) selon l’une quelconque des revendications 1 à 9, dans lequel l’estimateur comporte, en plus de l’estimateur de Monte Carlo et de la moyenne des contributions données par la fonction de contribution approchée, une espérance de la fonction de contribution approchée.

1 1. Programme d’ordinateur (106) téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu’il comprend des instructions pour l’exécution des étapes d’un procédé de rendu d’une scène tridimensionnelle (200) selon l’une quelconque des revendications 1 à 10, lorsque ledit programme est exécuté sur un ordinateur.

12. Dispositif (100) de rendu d’une scène tridimensionnelle (200), comportant, pour chacun d’au moins un pixel (p) d’une image (206) représentant une vue de la scène tridimensionnelle (200) :

des moyens de détermination, à partir de la scène tridimensionnelle (200) et de paramètres de la vue, d’une fonction de contribution donnant une contribution d’un chemin de lumière partant d’une source de lumière (204) de la scène tridimensionnelle (200), à une valeur du pixel (p),

des moyens de réalisation d’une première sélection aléatoire de premiers chemins de lumière, et

des moyens d’évaluation d’un estimateur d’une intégrale de la fonction de contribution, l’estimateur comportant un estimateur de Monte Carlo de cette intégrale de la fonction de contribution, l’estimateur de Monte Carlo utilisant les premiers chemins de lumière, caractérisé en ce qu’il comporte en outre :

des moyens de détermination d’au moins un paramètre d’une fonction de contribution approchée, de sorte que la fonction de contribution approchée donne une contribution d’un chemin de lumière à la valeur du pixel (p) proche de la contribution donnée par la fonction de contribution, la fonction de contribution approchée comportant un réseau de neurones comportant :

• une couche d’entrée d’au moins un neurone,

• une unique couche cachée d’au moins un neurone,

• une couche de sortie d’au moins un neurone

• des connexions entre le ou les neurones de la couche d’entrée et le ou les neurones de la couche cachée auxquelles des poids sont respectivement associés, ces poids étant indépendants du ou des paramètres, et • des connexions entre le ou les neurones de la couche cachée et le ou les neurones de la couche de sortie auxquelles des poids dépendant du ou des paramètres sont respectivement associés, et en ce que l’estimateur comporte, en plus de l’estimateur de Monte Carlo, une moyenne de contributions données par la fonction de contribution approchée appliquée à au moins une partie des premiers chemins de lumière.

Description:
METHODE DE MOTE CARLO ET RESEAU DE NEURONES DANS UN PROCEDE DE RENDU D'UNE SCENE TRIDIMENSIONNELLE, PROGRAMME D'ORDINATEUR

ET DISPOSITIF CORRESPONDANTS

La présente invention concerne un procédé de rendu d’une scène tridimensionnelle et des programme d’ordinateur et dispositif correspondants.

L'invention s’applique plus particulièrement à un procédé de rendu d’une scène tridimensionnelle, comportant, pour chacun d’au moins un pixel d’une image représentant une vue de la scène tridimensionnelle :

la détermination, à partir de la scène tridimensionnelle et de paramètres de la vue, d’une fonction de contribution donnant une contribution d’un chemin de lumière partant d’une source de lumière de la scène tridimensionnelle, à une valeur du pixel,

une première sélection aléatoire de premiers chemins de lumière, et l’évaluation d’un estimateur d’une intégrale de la fonction de contribution, l’estimateur comportant un estimateur de Monte Carlo utilisant les premiers chemins de lumière.

L’estimateur de Monte Carlo présente une variance qui diminue avec le nombre de chemins de lumière aléatoires utilisés. Cette variance est responsable d’instabilités spatiale et temporelle lors du rendu. En effet, pour l’instabilité spatiale, deux pixels dont les valeurs devraient être identiques ou proches (par exemple deux pixels adjacents dans l’image) sont estimés à partir de chemins de lumière aléatoires pouvant être différents, de sorte que les estimations peuvent être différentes, d’autant plus que la variance est élevée. Pour l’instabilité temporelle, dans le cas d’une vidéo, un même pixel devrait souvent avoir la même valeur ou des valeurs proches d’une image à la suivante. Or, comme sa valeur est à chaque fois estimée à partir de chemins de lumière aléatoires pouvant être différents d’une image à la suivante, sa valeur peut varier d’une image à la suivante, d’autant plus que la variance est élevée.

Ainsi, pour limiter les instabilités spatiale et temporelle, il est connu d’augmenter le nombre de chemins de lumière aléatoires utilisés par l’estimateur de Monte Carlo. Cette solution présente néanmoins comme inconvénient d’augmenter la complexité des calculs des valeurs des pixels, et donc d’augmenter le temps de calcul et/ou la puissance du matériel nécessaire pour réaliser ces calculs.

Il peut ainsi être souhaité de prévoir un procédé de rendu d’une scène tridimensionnelle qui permette de s’affranchir d’au moins une partie des problèmes et contraintes précités. Il est donc proposé un procédé de rendu d’une scène tridimensionnelle, comportant, pour chacun d’au moins un pixel d’une image représentant une vue de la scène tridimensionnelle :

la détermination, à partir de la scène tridimensionnelle et de paramètres de la vue, d’une fonction de contribution donnant une contribution d’un chemin de lumière partant d’une source de lumière de la scène tridimensionnelle, à une valeur du pixel,

une première sélection aléatoire de premiers chemins de lumière, et l’évaluation d’un estimateur d’une intégrale de la fonction de contribution, l’estimateur comportant un estimateur de Monte Carlo utilisant les premiers chemins de lumière,

comportant en outre :

la détermination d’au moins un paramètre d’une fonction de contribution approchée, de sorte que la fonction de contribution approchée donne une contribution d’un chemin de lumière à la valeur du pixel proche de la contribution donnée par la fonction de contribution, la fonction de contribution approchée comportant un réseau de neurones comportant :

• une couche d’entrée d’au moins un neurone,

• une unique couche cachée d’au moins un neurone,

• une couche de sortie d’au moins un neurone

• des connexions entre le ou les neurones de la couche d’entrée et le ou les neurones de la couche cachée auxquelles des poids sont respectivement associés, ces poids étant indépendants du ou des paramètres, et

• des connexions entre le ou les neurones de la couche cachée et le ou les neurones de la couche de sortie auxquelles des poids dépendant du ou des paramètres sont respectivement associés, et dans lequel l’estimateur comporte en outre une moyenne de contributions données par la fonction de contribution approchée appliquée à au moins une partie des premiers chemins de lumière.

En effet, la présence dans l’estimateur de l’invention, noté Ê, des contributions approchées permet d’obtenir une variance réduite par rapport à la variance de l’estimateur de Monte Carlo seul. L’utilisation de l’estimateur Ê permet donc d’obtenir une plus grande stabilité temporelle et spatiale lors du rendu que l’utilisation de l’estimateur de Monte Carlo seul. En outre, le choix de la fonction de contribution approchée sous la forme d’un réseau de neurones comportant une unique couche cachée et dans lequel seuls les poids des connexions de sortie (entre la couche cachée et la couche de sortie) sont paramétrés, facilite la détermination du ou des paramètres pour que la fonction de contribution approchée soit proche de la fonction de contribution.

De façon optionnelle, le procédé comporte en outre une deuxième sélection aléatoire, indépendante de la première sélection, de deuxièmes chemins de lumière, et le ou les paramètres de la fonction de contribution approchée sont déterminés à partir des deuxièmes chemins de lumière.

De façon optionnelle également, la détermination du ou des paramètres est réalisée de manière à minimiser une distance entre la fonction de contribution approchée et la fonction de contribution.

De façon optionnelle également, la distance utilise les deuxièmes chemins de lumière.

De façon optionnelle également, la distance comporte la somme des carrés des différences entre la fonction de contribution approchée et la fonction de contribution pour les deuxièmes chemins de lumière.

De façon optionnelle également, la distance comporte en outre un paramètre de régularisation et la détermination du ou des paramètres comporte la détermination du paramètre de régularisation, puis la détermination du ou des paramètres en utilisant le paramètre de régularisation déterminé.

De façon optionnelle également, l’estimateur peut s’écrire matriciellement sous la forme A[I m - M] B, où I m est une matrice identité de taille m, A et B sont des vecteurs et M est une matrice dépendant du paramètre de régularisation, et le paramètre de régularisation est déterminé de sorte que la valeur propre maximale de M présente au plus un écart prédéfini avec 1.

De façon optionnelle également, les poids associés aux connexions entre le ou les neurones de la couche d’entrée et le ou les neurones de la couche cachée sont déterminés de manière aléatoires.

De façon optionnelle également, l’estimateur comporte en outre une espérance de la fonction de contribution approchée.

Il est également proposé un programme d’ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, comprenant des instructions pour l’exécution des étapes d’un procédé de rendu d’une scène tridimensionnelle selon l’invention, lorsque ledit programme est exécuté sur un ordinateur.

Il est également proposé un dispositif de rendu d’une scène tridimensionnelle, comportant, pour chacun d’au moins un pixel d’une image représentant une vue de la scène tridimensionnelle :

des moyens de détermination, à partir de la scène tridimensionnelle et de paramètres de la vue, d’une fonction de contribution donnant une contribution d’un chemin de lumière partant d’une source de lumière de la scène tridimensionnelle, à une valeur du pixel,

des moyens de réalisation d’une première sélection aléatoire de premiers chemins de lumière, et

des moyens d’évaluation d’un estimateur d’une intégrale de la fonction de contribution, l’estimateur comportant un estimateur de Monte Carlo utilisant les premiers chemins de lumière,

comportant en outre :

des moyens de détermination d’au moins un paramètre d’une fonction de contribution approchée, de sorte que la fonction de contribution approchée donne une contribution d’un chemin de lumière à la valeur du pixel (p) proche de la contribution donnée par la fonction de contribution, la fonction de contribution approchée comportant un réseau de neurones comportant :

• une couche d’entrée d’au moins un neurone,

• une unique couche cachée d’au moins un neurone,

• une couche de sortie d’au moins un neurone

• des connexions entre le ou les neurones de la couche d’entrée et le ou les neurones de la couche cachée auxquelles des poids sont respectivement associés, ces poids étant indépendants du ou des paramètres, et

• des connexions entre le ou les neurones de la couche cachée et le ou les neurones de la couche de sortie auxquelles des poids dépendant du ou des paramètres sont respectivement associés, et dans lequel l’estimateur comporte en outre une moyenne de contributions données par la fonction de contribution approchée appliquée à au moins une partie des premiers chemins de lumière. L’invention sera mieux comprise à l’aide de la description qui va suivre, donnée uniquement à titre d’exemple et faite en se référant aux dessins annexés dans lesquels :

- la figure 1 représente schématiquement la structure générale d’un dispositif de rendu de scène tridimensionnelle, selon un mode de réalisation de l’invention,

- la figure 2 illustre un exemple de scène tridimensionnelle, et

- la figure 3 illustre les étapes successives d’un procédé de rendu de scène tridimensionnelle, selon un mode de réalisation de l’invention.

En référence à la figure 1 , un dispositif 100 de rendu de scène tridimensionnelle va à présent être décrit.

Dans l’exemple décrit, le dispositif 100 est un dispositif informatique comportant une unité centrale de traitement 102, telle qu’un microprocesseur, et une mémoire 104 dans laquelle sont enregistrés un programme d’ordinateur 106, des données 108 décrivant une scène tridimensionnelle dans un espace tridimensionnel virtuel, et des données 1 10 représentant des paramètres d’une vue souhaitée de cette scène tridimensionnelle, cette vue étant destinée à être réalisée par une caméra (virtuelle). Les paramètres de la vue incluent généralement des paramètres extrinsèques à la caméra (par exemple, une position et une orientation de la caméra dans l’espace tridimensionnel), ainsi que des paramètres intrinsèques à la caméra (par exemple, une focale, un pixel central, une distorsion optique, etc. de la caméra).

Pour chacune des étapes du procédé de rendu de scène tridimensionnelle qui sera décrit plus loin, le programme d’ordinateur 106 comporte des instructions pour la réalisation de cette étape par l’unité centrale de traitement 102.

De manière générale, ces instructions peuvent être regroupées ou séparées selon toutes les combinaisons possibles en un ou plusieurs programmes d’ordinateur. Leur distinction est en outre purement fonctionnelle. Enfin, leurs fonctions pourraient aussi être au moins en partie micro programmées ou micro câblées dans des circuits intégrés dédiés. Ainsi, en variante, le dispositif informatique 100 incluant l’unité de traitement 102 pourrait être remplacé par un dispositif électronique composé uniquement de circuits numériques (sans programme d’ordinateur) pour la réalisation des mêmes actions.

En référence à la figure 2, un exemple de scène tridimensionnelle 200 est illustré. Dans cet exemple, la scène 200 comporte un seul objet, un cube 202, et une seule source de lumière 204, ayant tous les deux des positions prédéfinies dans un espace tridimensionnel virtuel.

Une image 206 destinée à représenter une vue de la scène 200 est également illustrée sur la figure 2. L’image 206 comporte une pluralité de pixels, parmi lesquels un pixel p est représenté.

De manière générale, chaque source de lumière de la scène émet de la lumière qui peut atteindre l’image soit directement, soit indirectement après avoir interagi avec les objets de la scène, par exemple après réflexion sur un ou plusieurs objets ou bien après déviation par un ou plusieurs objets. Par exemple, sur la figure 2, des chemins de lumière 208, 210 partent de la source de lumière 204 et atteignent le pixel p.

En référence à la figure 3, un procédé 300 de rendu de scène tridimensionnelle va à présent être décrit. Dans l’exemple décrit, le procédé 300 réalise un rendu de la scène 200 de la figure 2. Cependant, le procédé 300 pourrait être utilisé pour réaliser le rendu d’autres scènes tridimensionnelles. En outre, le procédé 300 tel que décrit est mis en oeuvre par le dispositif 100 de la figure 1 , mais il pourrait être mis en oeuvre par d’autres moyens.

Au cours d’une étape 302, le programme 106 récupère la scène 200 à rendre et les paramètres de la vue souhaitée, par exemple en lisant les données 108, 1 10 enregistrées dans la mémoire 104.

Au cours d’une étape 304, le programme 106 réalise un rendu de la scène 200 afin de fournir l’image 206 représentant une vue de cette scène 200.

Pour chaque pixel p de l’image 206, l’étape 304 comporte les étapes 306 et 308 suivantes.

Au cours d’une étape 306, une fonction <p(x) est déterminée à partir de la scène 200, des paramètres de la vue souhaitée et du pixel p considéré. La fonction f(c ) est une fonction destinée à recevoir en entrée un chemin de lumière x partant d’une source de lumière de la scène 200 (par exemple, la source de lumière 204) et arrivant au pixel p, et à fournir une contribution de ce chemin de lumière x à la valeur du pixel p. Les chemins de lumière 208, 210 de la figure 2 sont des exemples de tels chemins de lumière. La fonction f sera ainsi appelée par la suite « fonction de contribution ».

La valeur théorique du pixel p est égale à l’intégrale de la fonction de contribution f(c ) sur tous les chemins de lumière x possibles arrivant au pixel p. Ainsi, l’intégrale I p suivante donne la valeur théorique du pixel p :

où Έ est l’ensemble des chemins de lumière possibles arrivant au pixel p et p(dx) une mesure associée à l’ensemble ®.

Théoriquement, l’ensemble ® comporte un nombre infini de chemins de lumière. En outre, la fonction de contribution <p(x) n’est généralement pas intégrable analytiquement. Ainsi, l’intégrale I p est très difficile à calculer de manière exacte et il faut passer par un estimateur de cette intégrale I p .

Un exemple de fonction <p(x) pouvant être utilisée dans la présente invention est donné dans l’article « Sequential Monte Carlo Instant Radiosity », de Hedman et al., 2016, Proceeding I3D Ί 6 Proceedings of the 20th ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games, pages 121 -128.

Au cours d’une étape 308, une valeur du pixel p est calculée à partir d’un estimateur Ê de l’intégrale I p .

Cet estimateur Ê est égal à la somme, d’une part, d’un estimateur de Monte Carlo E de l’intégrale I p et, d’autre part, d’un terme stabilisateur T destiné, comme cela sera expliqué par la suite à améliorer la stabilité temporelle et spatiale de l’estimation :

Ê = E + T

Comme cela est connu en soi, un estimateur de Monte Carlo est conçu pour estimer l’intégrale I p en utilisant un nombre n prédéfini de chemins de lumière { c ί } ί =i... h sélectionnés aléatoirement, par échantillonnage statistique, dans l’ensemble ®. Par exemple, un estimateur de Monte Carlo E réalise une moyenne des contributions de ces chemins de lumière {c; ) à la valeur du pixel p. L’échantillonnage statistique utilise par exemple la méthode, connue en soi, de tirage de rayons (« ray- tracing » en anglais).

Dans l’exemple décrit, l’estimateur de Monte Carlo E réalise une moyenne arithmétique des contributions des chemins de lumière {x j ) et est ainsi donné par l’équation :

Le terme stabilisateur T utilise au moins une partie des chemins de lumière {x j ) utilisés par l’estimateur de Monte Carlo E, de sorte que le terme stabilisateur T présente une certaine corrélation c(T, E ) avec l’estimateur de Monte Carlo E. Dans l’exemple décrit, le terme stabilisateur T est donné de manière générale par l’équation suivante :

T = a(-T 1 + m(T 1 ))

avec T t une statistique corrélée à l’estimateur de Monte Carlo E, a proche

où c(£ ' , 7’ 1 ) est la corrélation entre E et 7 et v(TJ est la variance de 7 . Par exemple, a est égal à 10% près, de préférence à 1% près, de préférence encore

exactement égal à c(E,T] ; ) .

M v(Ti)

Ce choix de a présente comme avantage de minimiser la variance de Ê, notée V(Ê) , donné. En effet, en gardant a quelconque, v(Ê) est donnée par :

v(Ê) = v(E) + a 2 v(TJ - 2 a c(E, T

qui est une équation du second degré de a admettant un minimum

En outre, avec a est égal à la variance de E est donnée par :

de sorte que plus la corrélation c(E, TJ est forte (c’est-à-dire proche de 1 ) plus la variance v(Ê) est faible (proche de 0).

En outre, dans l’exemple décrit, 7 est de la forme suivante :

p m est une fonction analytiquement intégrable destinée à être proche de la fonction de contribution y de manière à donner une contribution approchée d’un chemin de lumière à la valeur du pixel p. La fonction p m sera ainsi appelée par la suite « fonction de contribution approchée ». Par ailleurs, p(<p m ) est l’espérance de la fonction de contribution approchée f th .

Ainsi, dans l’exemple décrit, le terme 7 est égal à une moyenne (moyenne arithmétique dans l’exemple décrit) des contributions approchées des chemins de lumière {c ; ).

L’espérance du terme 7 est ainsi égale à l’espérance de la fonction de contribution approchée

Le terme stabilisateur T présente donc une espérance nulle :

Ainsi, l’espérance de l’estimateur Ê est égale à l’espérance de l’estimateur de Monte Carlo E, de sorte que l’estimation donnée par l’estimateur Ê est, en moyenne, une bonne estimation de l’intégrale I p .

La fonction de contribution approchée f th est une fonction paramétrée comportant au moins un paramètre, ce ou ces paramètres étant destinés à être déterminés de manière à minimiser une distance entre la fonction de contribution approchée f th et la fonction de contribution f.

En outre, la fonction de contribution approchée f th comporte un réseau de neurones, comportant des neurones et des connexions entre ces neurones, ces connexions présentant des poids respectifs, dont au moins une partie dépend du ou des paramètres de la fonction de contribution approchée f th .

Dans l’exemple décrit, la fonction de contribution approchée f th est formée d’un réseau de neurones dit « de projections de caractéristique aléatoire » (de l’anglais « random feature maps »). Un tel réseau de neurones comporte une couche d’entrée de neurone(s), une unique couche cachée de neurone(s) et une couche de sortie de neurone(s). Les neurones de la couche d’entrée et ceux de la couche cachée sont connectés par des connexions auxquelles des poids aléatoires sont respectivement associés. Les neurones de la couche cachée et de la couche de sortie sont connectés par des connexions auxquelles des poids sont respectivement associés, ces derniers dépendant du ou des paramètres de la fonction de contribution approchée f gh .

Ainsi, dans l’exemple décrit, la fonction de contribution approchée f pi est donnée par l’équation :

avec :

Z = ( W T X )

s”

où X = [xi ... x m ] sont m chemins de lumière sélectionnés aléatoirement, m étant aussi le nombre de paramètres, N est le nombre de neurones de la couche cachée, W = [wi - M n ] sont les poids des connexions entre la couche d’entrée et la couche cachée, L = [l ± ... À m ] sont les paramètres, ZA sont les poids des connexions entre la couche cachée et la couche de sortie, et s étant la fonction d’activation des neurones de la couche cachée. La fonction d’activation s peut être n’importe quelle fonction dérivable. Dans l’exemple décrit, la fonction d’activation s est donnée par l’équation :

s = f L c s o m s lJ

Le nombre N de neurones de la couche cachée est prédéfini et choisi en fonction de la performance visée.

Avec le choix précédent de <p m , il a été trouvé que était égal à 1 . Ainsi,

a est aussi égal à 1 , de sorte que, dans ce cas, l’estimateur Ê est donné par l’équation :

L’étape 308 comporte les étapes 310 à 320 suivantes.

Au cours d’une étape 310, les poids sont calculés de manière aléatoire. Dans l’exemple décrit, les poids suivent une loi normale de moyenne nulle et de matrice de covariance l c = gl où g est un nombre prédéfini et I une matrice identité.

Au cours d’une étape 312, les m chemins de lumière sont

aléatoirement sélectionnés, par échantillonnage statistique, dans l’ensemble S. Ainsi, les chemins de lumière {¾] sont des variables indépendantes et identiquement distribuées. Les chemins de lumière {¾] sont par exemple sélectionnés par la méthode, connue en soi, de tirage de rayons (« ray-tracing » en anglais).

Au cours d’une étape 314, les paramètres X } sont déterminés de manière à minimiser une distance entre la fonction de contribution approchée f th et la fonction de contribution f suivant une notion de distance prédéfinie.

Dans l’exemple décrit, la méthode des moindres carrés est utilisée, de sorte que la distance utilisée comporte la somme des carrés des différences entre la fonction de contribution approchée f th et la fonction de contribution y pour les chemins de lumière [x j ], et un terme de régularisation. Ainsi, les paramètres X j sont déterminés de manière à minimiser la distance S donnée par l’équation suivante :

où y||ZA|| 2 est le terme de régularisation, g étant un paramètre de régularisation.

Avec le choix de la fonction de contribution approchée f th de l’exemple décrit, cette minimisation présente une solution analytique selon laquelle les paramètres X j sont de la forme suivante : L = [A l ... m ] T = (-Z T Z + m 2 Yl m )

\m J

où I m est la matrice identité de taille m et f ( ) = fa(¾) ... < i)]·

L’optimisation de la distance S revient, matriciellement, à optimiser le problème suivant :

1 il 1 il 2

min— <î> (m) - Z T ZA\\ + y||ZA|| 2

L m il m II

En effet, F-. A ® - (F^ - - Z T ZA) (f ( ) - - Z T ZA) + gZ t A t ZA est une fonction convexe et dérivable en A. Son minimum peut donc être obtenu en annulant son gradient par rapport à L :

soit :

Ainsi, dans l’exemple décrit, l’étape 314 de détermination des paramètres Z j comporte tout d’abord la détermination du paramètre de régularisation g.

Le paramètre de régularisation g peut par exemple être trouvé en utilisant la méthode, connue en soi, de validation croisée (« cross-validation » en anglais).

Une méthode alternative peut être utilisée pour déterminer le paramètre de régularisation g. En effet, l’estimateur Ê peut s’écrire matriciellement sous la forme :

OÙ :

avec :

Dans ce cas, et plus généralement pour tout estimateur s’écrivant matriciellement sous la forme A[I m - M] B, où I m est une matrice identité de taille m, A et B sont des vecteurs et M est une matrice dépendant du paramètre de régularisation g, le paramètre de régularisation g déterminé est celui pour lequel la valeur propre maximale de M est la plus proche possible de 1. En pratique, un paramètre de régularisation g pour lequel la valeur propre maximale de M présente au plus un écart prédéfini avec 1 est choisi. L’écart prédéfini est par exemple d’au plus 10 -5 , de préférence 10 -7 , par exemple 10 -9 .

Cette méthode alternative permet de trouver un paramètre de régularisation y proche de celui qui aurait été trouvé par la méthode de validation croisée, mais à moindre coût.

Après la détermination du paramètre de régularisation y, les paramètres À j sont déterminés en utilisant le paramètre de régularisation y déterminé, au moyen de la formule (expliquée plus haut) :

i l \ -1

A = \—Z T ZA + m 2 yl m ) F (th)

La matrice ^Z T ZA + m 2 yI m est inversible pour y > 0. Or, il est possible d’exploiter le fait que la matrice M est de la forme M = k x Z T Z + k 2 I m , avec k x et k 2 deux constantes, pour inverser la matrice M avec une complexité en o(/V 3 ) où N est le nombre de neurones de la couche cachée. Si la matrice M était de la forme M = k t K + k 2 I, où K est une matrice ne pouvant pas s’écrire sous la forme Z T Z, l’inversion de la matrice M présenterait une complexité en o(m 3 ) où m est le nombre de tirages. Ainsi, si N est inférieur à m, il est possible grâce à l’invention d’exploiter la présence de Z T Z pour diminuer la complexité de l’inversion de la matrice M, et donc de faciliter la détermination des paramètres Z j .

Au cours d’une étape 316, l’espérance m( p m ) est calculée. Dans l’exemple décrit, où les poids Û½ suivent une loi normale de moyenne nulle et de matrice de est donnée

où f m est la fonction caractéristique associée à l’espérance m.

Au cours d’une étape 318, n chemins de lumière {*;);= i... n sont aléatoirement sélectionnés par échantillonnage statistique, dans l’ensemble ®, indépendamment de la sélection réalisée à l’étape 312. Les chemins de lumière {x sont par exemple sélectionnés par la méthode, connue en soi, de tirage de rayons (« ray-tracing » en anglais).

Au cours d’une étape 320, l’estimateur Ê est évalué à partir des chemins de lumière { ;) sélectionnés à l’étape 318 :

et le résultat est assigné comme valeur du pixel p.

Le procédé 300 retourne alors à l’étape 306 pour un nouveau pixel p de l’image 206, jusqu’à ce que les valeurs de tous les pixels de l’image 206 aient été calculées.

Il apparaît clairement qu’un procédé de rendu de scène tridimensionnelle tel que celui décrit précédemment permet d’améliorer la stabilité spatiale et temporelle des valeurs des pixels de l’image.

En outre, il apparaît que les deux points suivants de l’invention sont indépendants l’un de l’autre :

1 . L’estimateur Ê est de la forme proche de

2. 7 est de la forme 7 = ^SG =1 <R th ( c ί ), avec Fth un réseau de neurones comportant une unique couche cachée de neurone(s) et où seules les connexions de sortie sont paramétrées.

On notera par ailleurs que l’invention n’est pas limitée au mode de réalisation décrit précédemment. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées au mode de réalisation décrit ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué. Dans la présentation détaillée de l’invention qui est faite précédemment, les termes utilisés ne doivent pas être interprétés comme limitant l’invention aux modes de réalisation exposés dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en œuvre de l'enseignement qui vient de lui être divulgué.