Existem e estou ansioso para ver as especificidades de outras respostas, mas uma maneira de lidar com isso é não ter o ruído (ou tanto ruído) nos dados de origem, para começar.
O ruído advém do fato de haver uma alta variação na renderização - o número de amostras que você tirou não convergiu o suficiente para a resposta correta da integral e, portanto, alguns pixels são muito altos / brilhantes e outros são muito baixo / escuro (em cada canal de cor).
O problema é o seguinte: se você usar números aleatórios de ruído branco para fazer sua amostragem, poderá obter amostras agrupadas como na imagem abaixo. Dadas amostras suficientes, ele convergirá, mas levará um tempo antes de fornecer uma boa cobertura sobre o espaço de amostragem. Encontre uma região de espaço vazio na imagem abaixo (como no canto inferior direito) e imagine que havia uma luz pequena e brilhante lá e que a cena estava escura em qualquer outro lugar. Você pode ver como não ter nenhuma amostra causará problemas na renderização.
Como alternativa, você pode amostrar em intervalos regulares, como o abaixo, mas isso fornecerá artefatos de aliasing em vez de ruído, o que é pior.
Uma idéia é usar sequências de baixa discrepância e fazer a integração quase monte carlo ( https://en.wikipedia.org/wiki/Quasi-Monte_Carlo_method ). Seqüências de baixa discrepância estão relacionadas ao ruído azul, que possui apenas componentes de alta frequência. Seguindo essas rotas, você obtém uma convergência mais rápida de vez de . Eles oferecem uma melhor cobertura do espaço amostral, mas, como existe alguma aleatoriedade (ou qualidades aleatórias) neles, eles não têm os problemas de aliasing que a amostragem espaçada regularmente possui.O(1/N)O(N−−√)
Aqui está uma "grade instável" onde você faz uma amostra em uma grade, mas usa pequenas compensações aleatórias em um tamanho de célula. Isso foi inventado pela pixar e ficou sob patente por um tempo, mas não é mais:
Aqui está uma sequência de baixa discrepância comum chamada sequência de Halton (basicamente uma versão 2d do Van Der Corpus)
E aqui está uma amostra de disco de poisson, usando o melhor algoritmo candidato de Mitchel:
Mais informações, incluindo o código-fonte que gerou essas imagens, podem ser encontradas aqui: https://blog.demofox.org/2017/05/29/when-random-numbers-are-too-random-low-discrepancy-sequences/