Intel pubblica Open Image Denoise 2.0 Image Denoise Library

Intel ha pubblicato il rilascio del progetto oidn 2.0 (Open Image Denoise), che sviluppa una raccolta di filtri per il denoising di immagini preparate utilizzando sistemi di rendering di ray tracing. Open Image Denoise è stato sviluppato come parte di un più ampio progetto oneAPI Rendering Toolkit volto a sviluppare strumenti di visualizzazione software scientifica (SDVis (Software Defined Visualization)), tra cui la libreria di ray tracing Embree, il sistema di rendering fotorealistico GLuRay, la piattaforma di ray tracing distribuita OSPRay , e il sistema di rasterizzazione del software OpenSWR Il codice è scritto in C++ e pubblicato sotto licenza Apache 2.0.

L'obiettivo del progetto è fornire funzionalità di denoising di alta qualità, efficienti e facili da usare che possono essere applicate per migliorare la qualità dei risultati di ray tracing. I filtri proposti consentono, sulla base del risultato di un ciclo di ray tracing accorciato, di ottenere un livello qualitativo finale paragonabile al risultato di un processo di rendering dettagliato più costoso e dispendioso in termini di tempo.

Open Image Denoise filtra il rumore casuale come il ray tracing Monte Carlo Numerical Integration (MCRT). Per ottenere un rendering di alta qualità in tali algoritmi, è necessario tracciare un numero molto elevato di raggi, altrimenti nell'immagine risultante compaiono artefatti evidenti sotto forma di rumore casuale.

L'uso di Open Image Denoise consente di ridurre il numero di calcoli necessari di diversi ordini di grandezza durante il calcolo di ciascun pixel. Di conseguenza, è possibile generare un'immagine inizialmente rumorosa molto più velocemente, ma poi portarla a una qualità accettabile utilizzando algoritmi di riduzione del rumore veloce. Con l'attrezzatura appropriata, gli strumenti proposti possono essere utilizzati anche per il ray tracing interattivo con eliminazione del rumore al volo.

La libreria può essere utilizzata su varie classi di dispositivi, da laptop e PC a nodi in cluster. L'implementazione è ottimizzata per varie classi di CPU Intel a 64 bit con supporto per istruzioni SSE4, AVX2, AVX-512 e XMX (Xe Matrix Extensions), chip Apple Silicon e sistemi con GPU Intel Xe (serie Arc, Flex e Max), NVIDIA (basata su architetture Volta, Turing, Ampere, Ada Lovelace e Hopper) e AMD (basata su architetture RDNA2 (Navi 21) e RDNA3 (Navi 3x)). Il supporto per SSE4.1 è dichiarato come requisito minimo.

Intel pubblica Open Image Denoise 2.0 Image Denoise Library
Intel pubblica Open Image Denoise 2.0 Image Denoise Library

Modifiche principali nel rilascio di Open Image Denoise 2.0:

  • Supporto per l'accelerazione delle operazioni di riduzione del rumore utilizzando la GPU. Supporto implementato per l'offload della GPU utilizzando i sistemi SYCL, CUDA e HIP che possono essere utilizzati con GPU basate sull'architettura Intel Xe, AMD RDNA2, AMD RDNA3, NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace e NVIDIA Hopper.
  • È stata aggiunta una nuova API di gestione del buffer, che consente di selezionare il tipo di archiviazione, copiare i dati dall'host e importare buffer esterni da API grafiche come Vulkan e Direct3D 12.
  • Aggiunto il supporto per la modalità di esecuzione asincrona (funzioni oidnExecuteFilterAsync e oidnSyncDevice).
  • Aggiunta un'API per l'invio di richieste ai dispositivi fisici presenti nel sistema.
  • Aggiunta la funzione oidnNewDeviceByID per creare un nuovo dispositivo basato sull'ID del dispositivo fisico, come UUID o indirizzo PCI.
  • Funzionalità aggiunte per la portabilità con SYCL, CUDA e HIP.
  • Aggiunte nuove opzioni di scansione del dispositivo (systemMemorySupported, managedMemorySupported, externalMemoryTypes).
  • Aggiunto un parametro per impostare il livello di qualità dei filtri.

Fonte: opennet.ru

Aggiungi un commento