Intel publica biblioteca Open Image Denoise 2.0 Image Denoise

A Intel publicou o lançamento do projeto oidn 2.0 (Open Image Denoise), que desenvolve uma coleção de filtros para remover ruídos de imagens preparadas usando sistemas de renderização de rastreamento de raios. O Open Image Denoise está sendo desenvolvido como parte de um projeto oneAPI Rendering Toolkit maior, destinado a desenvolver ferramentas de visualização de software científico (SDVis (Visualização Definida por Software)), incluindo a biblioteca de rastreamento de raios Embree, o sistema de renderização fotorrealista GLuRay, a plataforma de rastreamento de raios distribuída OSPRay , e o sistema de rasterização de software OpenSWR O código é escrito em C++ e publicado sob a licença Apache 2.0.

O objetivo do projeto é fornecer recursos de redução de ruído de alta qualidade, eficientes e fáceis de usar que podem ser aplicados para melhorar a qualidade dos resultados do traçado de raios. Os filtros propostos permitem, com base no resultado de um ciclo de ray tracing encurtado, obter um nível de qualidade final comparável ao resultado de um processo de renderização detalhada mais caro e demorado.

O Open Image Denoise filtra o ruído aleatório, como rastreamento de raios Monte Carlo Numerical Integration (MCRT). Para obter renderização de alta qualidade em tais algoritmos, é necessário o rastreamento de um número muito grande de raios; caso contrário, artefatos perceptíveis na forma de ruído aleatório aparecem na imagem resultante.

O uso de Open Image Denoise permite reduzir o número de cálculos necessários em várias ordens de magnitude ao calcular cada pixel. Como resultado, é possível gerar uma imagem inicialmente ruidosa muito mais rapidamente, mas depois trazê-la para uma qualidade aceitável usando algoritmos de redução rápida de ruído. Com o equipamento apropriado, as ferramentas propostas podem até ser usadas para ray tracing interativo com eliminação de ruído em tempo real.

A biblioteca pode ser usada em várias classes de dispositivos, desde laptops e PCs até nós em clusters. A implementação é otimizada para várias classes de CPUs Intel de 64 bits com suporte para instruções SSE4, AVX2, AVX-512 e XMX (Xe Matrix Extensions), chips Apple Silicon e sistemas com GPUs Intel Xe (séries Arc, Flex e Max), NVIDIA (baseado nas arquiteturas Volta, Turing, Ampere, Ada Lovelace e Hopper) e AMD (baseado nas arquiteturas RDNA2 (Navi 21) e RDNA3 (Navi 3x). O suporte para SSE4.1 é declarado como um requisito mínimo.

Intel publica biblioteca Open Image Denoise 2.0 Image Denoise
Intel publica biblioteca Open Image Denoise 2.0 Image Denoise

Principais mudanças no lançamento do Open Image Denoise 2.0:

  • Suporte para acelerar as operações de redução de ruído usando a GPU. Suporte implementado para descarregamento de GPU usando sistemas SYCL, CUDA e HIP que podem ser usados ​​com GPUs baseadas na arquitetura Intel Xe, AMD RDNA2, AMD RDNA3, NVIDIA Volta, NVIDIA Turing, NVIDIA Ampere, NVIDIA Ada Lovelace e NVIDIA Hopper.
  • Uma nova API de gerenciamento de buffer foi adicionada, permitindo selecionar o tipo de armazenamento, copiar dados do host e importar buffers externos de APIs gráficas como Vulkan e Direct3D 12.
  • Adicionado suporte para modo de execução assíncrona (funções oidnExecuteFilterAsync e oidnSyncDevice).
  • Adicionada API para envio de requisições para dispositivos físicos presentes no sistema.
  • Função oidnNewDeviceByID adicionada para criar um novo dispositivo com base no ID do dispositivo físico, como UUID ou endereço PCI.
  • Recursos adicionados para portabilidade com SYCL, CUDA e HIP.
  • Adicionadas novas opções de verificação de dispositivo (systemMemorySupported, managedMemorySupported, externalMemoryTypes).
  • Adicionado um parâmetro para definir o nível de qualidade dos filtros.

Fonte: opennet.ru

Adicionar um comentário