Компания Intel опубликовала выпуск проекта oidn 2.2 (Open Image Denoise), развивающего коллекцию фильтров для устранения шумов на изображениях, подготовленных с использованием систем рендеринга на основе трассировки лучей. Open Image Denoise развивается как часть более крупного проекта oneAPI Rendering Toolkit, нацеленного на разработку средств программной визуализации научных расчётов (SDVis (Software Defined Visualization), включающих библиотеку трассировки лучей Embree, систему фотореалистичной отрисовки GLuRay, платформу распределённой трассировки лучей OSPRay и систему программной растеризации OpenSWR. Код написан на языке С++ и опубликован под лицензией Apache 2.0.
Целью проекта является предоставление высококачественных, эффективных и простых в использовании функций шумоподавления, которые можно применять для повышения качества результатов трассировки лучей. Предложенные фильтры позволяют на основании результата сокращённого цикла трассировки лучей получить итоговый уровень качества, сопоставимый с результатом более затратного
и длительного процесса детализированного рендеринга.
Open Image Denoise обеспечивает отсеивание случайного шума, возникающего, например, при трассировке лучей на основе численного интегрирования по методу Монте-Карло (MCRT). Для достижения высокого качества рендеринга в подобных алгоритмах требуется проведение трассировки очень большого числа лучей, иначе на результирующем изображении появляются заметные артефакты в виде случайного шума.
Применение Open Image Denoise позволяет на несколько порядков сократить количество необходимых вычислений при расчёте каждого пикселя. В итоге, можно значительно быстрее сгенерировать изначально зашумлённое изображение, но затем довести его до приемлемого качества при помощи быстрых алгоритмов подавления шумов. При наличии соответствующего оборудования предложенный инструментарий можно применять даже для интерактивной трассировки лучей c устранением шумов на лету.
Библиотека может применяться на различных классах устройств, от ноутбуков и ПК, до узлов в кластерах. Реализация оптимизирована для различных классов 64-разрядных CPU Intel с поддержкой инструкций SSE4, AVX2, AVX-512 и XMX (Xe Matrix Extensions), чипов Apple Silicon и систем с GPU Intel Xe (серии Arc, Flex и Max), NVIDIA (на базе архитектур Volta, Turing, Ampere, Ada Lovelace и Hopper) и AMD (на базе архитектур RDNA2 (Navi 21) и RDNA3 (Navi 3x)). В качестве минимального требования заявлена поддержка SSE4.1.
![](https://www.opennet.ru/opennews/pics_base/CFD0C5CECEC5D4_1685025500.png)
![](https://www.opennet.ru/opennews/pics_base/CFD0C5CECEC5D4_1685025515.png)
Основные изменения в выпуске Open Image Denoise 2.2:
- Повышено качество устранения шумов и улучшена реконструкция деталей.
- Добавлена поддержка GPU, используемого в процессорах Intel Core Ultra на базе микроархитектуры Intel Meteor Lake.
- Добавлена поддержка работы на системах с архитектурой ARM64 в окружении Linux и Windows (поддержка macOS была добавлена раньше).
- Добавлена поддержка графического API Metal на ARM-системах Apple.
- Повышена производительность в режиме, использующем CPU.
- Снижены накладные расходы при применении изменений фильтров.
- По умолчанию задействован API драйвера CUDA. В CMake добавлена настройка для ручного выбора между API драйвера и runtime.