Open Image Denoise , une bibliothèque de débruitage d'images open source

Image ouverte Intel

Intel Open Image Denoise est une bibliothèque open source de filtres de débruitage de haute qualité et hautes performances pour les images rendues par lancer de rayons

Aujourd'hui il existe de nombreuses applications et bibliothèques axées sur les imagesParmi les plus connus, nous avons Photoshop, GIMP, Krita, Paint, entre autres, bien qu'il soit clair que les deux premiers sont les plus complets.

Mais pour des cas de travail spécifiques, il n'est pas nécessaire d'utiliser autant de ressources pour l'exécution de l'un d'entre eux, disons par exemple uniquement recadrer les images, modifier la taille, l'apparence, le format, gérer quelques ajustements mineurs, entre autres.

Le fait est que je suis récemment tombé sur un excellente bibliothèque qui a attiré mon attention, puisque c'est axé sur la suppression du bruit en images et qu'il est surtout open source et développé main dans la main avec Intel.

Quand on parle de bruit dans les images, non, ce n'est pas en référence au son/audio (ce qui n'a pas de sens si on parle d'images), mais le bruit numérique c'est :

La variation aléatoire de luminosité ou de couleur dans les images numériques produites par le périphérique d'entrée correspond essentiellement à ces "grains" ou pixels qui ne correspondent pas à la couleur. 

Et bien revenant au point de la bibliothèque dont nous parlerons aujourd'hui est «Open Image Denoise» qui développe une collection de filtres pour éliminer le bruit des images préparées avec des systèmes de rendu de lancer de rayons.

À propos d'Open Image Denoise

Ouvrir l'image est en cours de développement dans le cadre d'un projet plus vaste de kit d'outils de rendu oneAPI visant à développer des outils logiciels de visualisation pour les calculs scientifiques, notamment la bibliothèque de traçage de rayons Embree, le système de rendu photoréaliste GLuRay, la plate-forme de traçage de rayons distribué OSPRay et le système de tramage logiciel OpenSWR.

L'objectif du projet est fournir des fonctionnalités de débruitage de haute qualité, efficaces et faciles à utiliser qui peuvent être appliqués pour améliorer la qualité des résultats du lancer de rayons. Les filtres proposés permettent, sur la base du résultat d'un cycle de lancer de rayons plus court, d'obtenir un niveau final de qualité comparable au résultat d'un processus de rendu détaillé plus coûteux et plus lent.

Open Image Denoise filtre les bruits aléatoires, tels que le lancer de rayons d'intégration numérique Monte Carlo (MCRT). Pour obtenir un rendu de haute qualité dans de tels algorithmes, un grand nombre de rayons doivent être suivis ; sinon, des artefacts notables apparaissent dans l'image résultante sous la forme d'un bruit aléatoire.

Utilisation d'Open Image Denoise permet de réduire le nombre de calculs nécessaires de plusieurs ordres de grandeur lors du calcul de chaque pixel. En conséquence, il est possible de générer une image bruyante initialement beaucoup plus rapidement, mais de la ramener ensuite à une qualité acceptable en utilisant des algorithmes de réduction de bruit rapide. Avec le bon équipement, les outils proposés peuvent même être utilisés pour du ray tracing interactif avec débruitage à la volée.

Open Image Denoise a récemment reçu sa nouvelle version 2.0 dans laquelle se distinguent les changements suivants :

  • Prise en charge de l'accélération des opérations de réduction du bruit à l'aide du GPU. Prise en charge implémentée du déchargement GPU avec les systèmes SYCL, CUDA et HIP pouvant être utilisés avec les GPU basés sur l'architecture Intel Xe, AMD RDNA2, AMD RDNA3, NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace et NVIDIA Hopper.
  • Ajout d'une nouvelle API de gestion des tampons, qui vous permet de sélectionner le type de stockage, de copier les données de l'hôte et d'importer des tampons externes à partir d'API graphiques telles que Vulkan et Direct3D 12.
  • Ajout de la prise en charge du mode d'exécution asynchrone (fonctions oidnExecuteFilterAsync et oidnSyncDevice).
  • Ajout d'une API pour envoyer des requêtes aux appareils physiques présents dans le système.
  • Ajout de la fonction oidnNewDeviceByID pour créer un nouveau périphérique basé sur l'ID de périphérique physique, tel que l'UUID ou l'adresse PCI.
  • Ajout de fonctionnalités pour la portabilité avec SYCL, CUDA et HIP.
  • Ajout de nouvelles options d'analyse de périphérique (systemMemorySupported,
  • ManagedMemorySupported, externalMemoryTypes).
  • Ajout d'un paramètre pour définir le niveau de qualité des filtres.

Ouvrir l'image peut être utilisé sur différentes classes d'appareils, des ordinateurs portables et PC aux nœuds en cluster. L'implémentation est optimisée pour différentes classes de processeurs Intel 64 bits. Si vous souhaitez connaître les exigences pour pouvoir exécuter Open Image Denoise ainsi que sa méthode d'installation, vous pouvez consulter le lien suivant.

Le code est écrit en C++ et publié sous la licence Apache 2.0.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.