
Intel Open Image Denoise és una biblioteca de codi obert de filtres d'eliminació de soroll d'alta qualitat i alt rendiment per a imatges renderitzades amb traçat de raigs
Avui en dia hi ha una gran quantitat d'aplicacions i biblioteques que estan enfocades cap a les imatges, dels més coneguts tenim Photoshop, GIMP, Krita, paint, entre d'altres, encara que és clar que dels més complets són els primers dos.
Però per a casos específics de treball no cal utilitzar tants recursos per a l'execució d'algun d'aquests, digueu-vos per exemple només retallar imatges, canviar mida, aspecte, format, manejar alguns retocs menors, entre d'altres.
El punt d'això, és que fa poc em topo amb una excel·lent biblioteca que crido la meva atenció, ja que està enfocada a l'eliminació de soroll en imatges i que sobretot és de codi obert i és desenvolupat de la mà d'Intel.
Quan parlem de soroll en imatges, no, no és en referència a so/àudio (cosa que no té sentit si parlem d'imatges), sinó que el soroll digital tal és:
La variació aleatòria de la brillantor o el color a les imatges digitals produït pel dispositiu d'entrada bàsicament són aquests “grans” o píxels que no coincideixen amb el color.
I bé tornant al punt de la biblioteca de la qual parlarem avui és Open Image Denoise que desenvolupa una col·lecció de filtres per eliminar el soroll de les imatges preparades amb sistemes de renderitzat de traçat de raigs.
Sobre Open Image Denoise
Obre la imatge Denoise s'està desenvolupant com a part d'un projecte de oneAPI Rendering Toolkit més gran destinat a desenvolupar eines de visualització de programari per a càlculs científics inclosa la biblioteca de traçat de raigs Embree, el sistema de renderitzat fotorealista GLuRay, el traçat de raigs distribuït OSPRay plataforma i el sistema de rasterització de programari OpenSWR.
L'objectiu del projecte és proporcionar funcions d'eliminació de soroll d'alta qualitat, eficients i fàcils dusar que es puguin aplicar per millorar la qualitat dels resultats del traçat de raigs. Els filtres proposats permeten, basant-se en el resultat d‟un cicle de traçat de raigs més curt, obtenir un nivell de qualitat final comparable al resultat d‟un procés de renderitzat detallat més costós i lent.
Open Image Denoise filtra el soroll aleatori, com el traçat de raigs d'integració numèrica de Monte Carlo (MCRT). Per aconseguir una representació d'alta qualitat en aquests algorismes, cal fer el seguiment d'una gran quantitat de raigs; en cas contrari, a la imatge resultant apareixen artefactes notables en forma de soroll aleatori.
L'ús d'Open Image Denoise permet reduir la quantitat de càlculs necessaris en diversos ordres de magnitud en calcular cada píxel. Com a resultat, és possible generar una imatge sorollosa inicialment molt més ràpid, però després portar-la a una qualitat acceptable utilitzant algorismes de reducció de soroll ràpids. Amb l'equip adequat, les eines proposades poden fins i tot fer-se servir per al traçat de raigs interactiu amb eliminació de soroll sobre la marxa.
Open Image Denoise recentment va rebre la seva nova versió 2.0 en la qual es destaquen els canvis següents:
- Compatibilitat per accelerar les operacions de reducció de soroll mitjançant la GPU. Compatibilitat implementada per a la descàrrega de GPU amb sistemes SYCL, CUDA i HIP que es poden fer servir amb GPU basades en l'arquitectura Intel Xe, AMD RDNA2, AMD RDNA3, NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace i NVIDIA Hopper.
- S'ha afegit una nova API d'administració de memòria intermèdia, que us permet seleccionar el tipus d'emmagatzematge, copiar dades de l'amfitrió i importar memòria intermèdia externa des de API de gràfics com Vulkan i Direct3D 12.
- S'ha afegit suport per al mode d'execució asíncron (funcions oidnExecuteFilterAsync i oidnSyncDevice).
- S'ha afegit una API per enviar sol·licituds a dispositius físics presents al sistema.
- S'ha afegit la funció oidnNewDeviceByID per crear un dispositiu nou basat en la identificació del dispositiu físic, com ara UUID o adreça PCI.
- Funcions afegides per a la portabilitat amb SYCL, CUDA i HIP.
- S'han afegit noves opcions d'escaneig de dispositius (systemMemorySupported,
- ManagedMemorySupported, externalMemoryTypes).
- S'ha afegit un paràmetre per establir el nivell de qualitat dels filtres.
Obre la imatge Denoise es pot fer servir en diverses classes de dispositius, des d'ordinadors portàtils i PC fins a nodes en clústers. La implementació està optimitzada per a diverses classes de CPU Intel de 64 bits. Si vols conèixer els requisits per poder executar Open Image Denoise així com el mètode d'instal·lació pots consultar el següent enllaç.
El codi està escrit a C++ i publicat sota la llicència Apache 2.0.