Denoising, do jeito V-Ray

aaeaaqaaaaaaaafgaaaajdfhztcynjm5lwriowmtndziyy1indc5lwi1mzzjztazodawna

Este artigo foi publicado originalmente por Emanuele Lecchi (Lele) em seu perfil no Linkedin. Você pode ver o original aqui.

Denoising de renders com Global Illumination calculado por algum tipo de método Brute Force (Path Tracing ou equivalente) é o assunto da moda, hoje em dia.

Na Chaos Group, Vlado tem trabalhado forte em refinar o denoiser que escreveu para o próximo service pack (4, trazendo o V-Ray para a versão 3.4).

Funciona de modo bastante flexível, em CPU, GPU ou ambos, com alguns modos importantes: por frame e cross-frame, e RGB-only ou por elemento.

O primeiro ajuda o denoiser em sequências animadas, onde coerência temporal é tão importante quanto a suavidade dos resultados, ou “bolhas” bem irritantes podem aparecer durante o playback.

O denoiser pode aceitar um intervalo de frames, uma distância em frames a partir do frame atual, para samplear: o padrão 1 irá analisar o frame anterior e o posterior, enquanto um valor de 2 irá fazer o mesmo 2 frames antes e 2 depois.

O último dá a possibilidade de escolher exatamente onde o denoiser irã operar para limpar a imagem, permitindo uma retenção de detalhes superior contra o denoiser mais rápido.

Enquanto o modo RGB-only efetivamente limpa apenas o beauty layer, ele leva os Render Elements auto-gerados (AoVs) em conta para estimar quais pixels podem ser misturados e quais devem ser preservados para manter os detalhes.

Isto funciona muito bem para imagens com qualidade “decente”: é extremamente rápido porque limpa apenas uma imagem RGB, e se não forçarmos demais seus parâmetros, fará um ótimo trabalho preservando detalhes.

Mas o momento em que o denoiser realmente brilha é, no entanto, com o cálculo per-element (ou per AoV): a habilidade de operar com diferentes heurísticas em cada efeito gerado (Luzes Diretas, GI, Reflexos, Refrações, etc) permite uma retenção de detalhes muito superior, e no caso de imagens originais muito ruins (aqueles testes bem, mas bem cheios de ruído) ele inclusive permite reconstrução de detalhes.

Abaixo você pode ver exemplos do denoiser em ação com a imagem original e a imagem limpa usando o método per-element (o mais intenso computacionalmente falando, mas também o de maior qualidade. Cada imagem foi renderizada em 1080p, então certifique-se de olhar tudo em 1:1). Cada render levou entre 12 e 20 minutos por frame (24-core Xeon), enquanto o denoiser levou 6 minutos por frame usando CPU e um pouco menos de 2 minutos usando uma GTX-980.

Um link do GDrive com os frames da animação também está disponível.

detail

Comparação lado-a-lado (1080p)

Animação RAW e com Denoising (1080p)

 

2 comments

Leave a Reply

Discover more from V-Ray Masters

Subscribe now to keep reading and get access to the full archive.

Continue reading