Il y en a, et j'ai hâte de voir les détails d'autres réponses, mais une façon de résoudre ce problème est de ne pas avoir le bruit (ou autant de bruit) dans les données source pour commencer.
Le bruit vient du fait qu'il y a une grande variance dans le rendu - le nombre d'échantillons que vous avez pris n'a pas suffisamment convergé vers la bonne réponse réelle de l'intégrale, et donc certains pixels sont trop élevés / lumineux et certains sont trop faible / faible (dans chaque canal de couleur).
Le problème est le suivant: si vous utilisez des nombres aléatoires de bruit blanc pour effectuer votre échantillonnage, vous pouvez obtenir des échantillons agglomérés comme l'image ci-dessous. Avec suffisamment d'échantillons, il convergera, mais il faudra un certain temps avant de donner une bonne couverture sur l'espace d'échantillonnage. Trouvez une région d'espace vide dans l'image ci-dessous (comme en bas à droite) et imaginez qu'il y avait une petite lumière vive là-bas et que la scène était sombre partout ailleurs. Vous pouvez voir comment le fait de ne pas avoir d'échantillons va créer un problème de rendu.
Alternativement, vous pouvez échantillonner à des intervalles réguliers comme ceux ci-dessous, mais cela vous donnera des artefacts d'alias au lieu du bruit, ce qui est pire.
Une idée est d'utiliser des séquences à faible écart et de faire une intégration quasi monte carlo ( https://en.wikipedia.org/wiki/Quasi-Monte_Carlo_method ). Les séquences à faible écart sont liées au bruit bleu, qui n'a que des composantes à haute fréquence. En empruntant ces routes, vous obtenez une convergence plus rapide deO(1/N) au lieu de O(N−−√). Celles-ci donnent une meilleure couverture de l'espace d'échantillonnage, mais comme il y a un caractère aléatoire (ou des qualités similaires au hasard), elles n'ont pas les problèmes de repliement que l'échantillonnage régulièrement espacé.
Voici une "grille instable" où vous échantillonnez sur une grille, mais utilisez de petits décalages aléatoires dans une taille de cellule. Ceci a été inventé par pixar et était sous brevet pendant un certain temps mais n'est plus:
Voici une séquence commune à faible écart appelée la séquence de Halton (essentiellement une version 2D de Van Der Corpus)
Et voici un échantillonnage de disque de poisson, utilisant le meilleur algorithme candidat de Mitchel:
Plus d'informations, y compris le code source qui a généré ces images, peuvent être trouvées ici: https://blog.demofox.org/2017/05/29/when-random-numbers-are-too-random-low-discrepancy-sequences/