Есть, и я с нетерпением жду, чтобы увидеть специфику других ответов, но один из способов справиться с этим - не иметь шума (или такого большого количества шума) в исходных данных для начала.
Шум возникает из-за большой дисперсии рендеринга - количество выбранных сэмплов недостаточно приблизилось к фактическому правильному ответу интеграла, поэтому некоторые пиксели слишком высокие / яркие, а некоторые слишком низкий / тусклый (в каждом цветовом канале).
Проблема заключается в следующем: если вы используете случайные числа белого шума для выполнения выборки, вы можете получить образцы, сгруппированные вместе, как показано на рисунке ниже. При наличии достаточного количества сэмплов он будет сходиться, но потребуется некоторое время, прежде чем он даст хорошее покрытие в пространстве сэмплирования. Найдите область пустого пространства на изображении ниже (как в правом нижнем углу) и представьте, что там был маленький, яркий свет и что сцена была темной повсюду. Вы можете видеть, как отсутствие образцов создает проблему для рендеринга.
Кроме того, вы можете производить выборку через равные промежутки времени, как показано ниже, но это даст вам наложение артефактов вместо шума, что хуже.
Одна из идей состоит в том, чтобы использовать последовательности с малым расхождением и выполнить квази-монте-карло интеграцию ( https://en.wikipedia.org/wiki/Quasi-Monte_Carlo_method ). Последовательности с низким расхождением связаны с синим шумом, который имеет только высокочастотные составляющие. Пройдя по этим маршрутам, вы получите более быстрое сближениеO ( 1 / N) вместо O (N--√), Они обеспечивают лучшее покрытие пространства выборки, но, поскольку в них есть некоторая случайность (или качества, подобные случайным), у них нет проблем с алиасами, которые имеет регулярно распределенная выборка.
Вот «ячеистая сетка», в которой вы производите выборку по сетке, но используете небольшие случайные смещения в пределах размера ячейки. Это было изобретено Pixar и некоторое время находилось под патентом, но больше не:
Вот обычная последовательность с низким расхождением, называемая последовательностью Халтона (в основном это 2-й вариант Van Der Corpus)
А вот выборка пуассоновских дисков с использованием алгоритма лучшего кандидата Митчела:
Дополнительную информацию, включая исходный код, сгенерировавший эти изображения, можно найти здесь: https://blog.demofox.org/2017/05/29/when-random-numbers-are-too-random-low-discrepancy-sequence/.