Intel опубликовал библиотеку устранения шума на изображениях Open Image Denoise 2.0

Компания Intel опубликовала выпуск проекта oidn 2.0 (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.

Intel опубликовал библиотеку устранения шума на изображениях Open Image Denoise 2.0
Intel опубликовал библиотеку устранения шума на изображениях Open Image Denoise 2.0

Основные изменения в выпуске Open Image Denoise 2.0:

  • Поддержка ускорения операций подавления шума, используя GPU. Реализована поддержка выноса вычислений на сторону GPU при помощи систем SYCL, CUDA и HIP, которые можно использовать с GPU на базе архитектуры Intel Xe, AMD RDNA2, AMD RDNA3, NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace и NVIDIA Hopper.
  • Добавлен новый API для управления буфером, позволяющий выбирать тип хранилища, копировать данные с хоста и импортировать внешние буферы из графических API, таких как Vulkan и Direct3D 12.
  • Добавлена поддержка асинхронного режима выполнения (функции oidnExecuteFilterAsync и oidnSyncDevice).
  • Добавлен API для отправки запросов присутствующим в системе физическим устройствам.
  • Добавлена функция oidnNewDeviceByID для создания нового устройства на основе идентификатора физического устройства, например, UUID или адреса PCI.
  • Добавлены функции для организации переносимости с SYCL, CUDA и HIP.
  • Добавлены новые параметры проверки устройств (systemMemorySupported, managedMemorySupported, externalMemoryTypes).
  • Добавлен параметр для задания уровня качества работы фильтров.

Источник: opennet.ru