A renderização neural é uma técnica emergente em aprendizado profundo que visa aumentar o pipeline clássico de computação gráfica com redes neurais.
Um algoritmo de renderização neural exigirá um conjunto de imagens representando diferentes ângulos da mesma cena. Essas imagens serão alimentadas em uma rede neural para criar um modelo que pode produzir novos ângulos da mesma cena.
O brilhantismo por trás da renderização neural está em como ela pode recriar com precisão cenas fotorrealistas detalhadas sem ter que depender de métodos clássicos que podem ser mais exigentes em termos computacionais.
Antes de mergulhar em como funciona a renderização neural, vamos examinar os fundamentos da renderização clássica.
O que é renderização clássica?
Vamos primeiro entender os métodos típicos usados na renderização clássica.
A renderização clássica refere-se ao conjunto de técnicas usadas para criar uma imagem 2D de uma cena tridimensional. Também conhecida como síntese de imagem, a renderização clássica usa vários algoritmos para simular como a luz interage com diferentes tipos de objetos.
Por exemplo, renderizar um tijolo sólido exigirá um conjunto específico de algoritmos para determinar a posição da sombra ou quão bem iluminado cada lado da parede ficará. Da mesma forma, objetos que refletem ou refratam a luz, como um espelho, um objeto brilhante ou um corpo de água, também exigirão suas próprias técnicas.
Na renderização clássica, cada ativo é representado com uma malha poligonal. Um programa de sombreamento usará o polígono como entrada para determinar como o objeto ficará com a iluminação e o ângulo especificados.
A renderização realista exigirá muito mais poder de computação, pois nossos ativos acabam tendo milhões de polígonos para usar como entrada. A saída gerada por computador que é comum nos sucessos de bilheteria de Hollywood normalmente leva semanas ou até meses para renderizar e pode custar milhões de dólares.
A abordagem de rastreamento de raios é particularmente cara porque cada pixel na imagem final requer um cálculo do caminho que a luz percorre da fonte de luz até o objeto e a câmera.
Os avanços no hardware tornaram a renderização de gráficos muito mais acessível para os usuários. Por exemplo, muitos dos últimos jogos de vídeo permitem efeitos de rastreamento de raio, como reflexos e sombras fotorrealistas, desde que seu hardware esteja à altura da tarefa.
As GPUs (unidades de processamento gráfico) mais recentes são construídas especificamente para ajudar a CPU a lidar com os cálculos altamente complexos necessários para renderizar gráficos fotorrealistas.
A ascensão da renderização neural
A renderização neural tenta lidar com o problema de renderização de uma maneira diferente. Em vez de usar algoritmos para simular como a luz interage com os objetos, e se criássemos um modelo que aprendesse como uma cena deve parecer de um determinado ângulo?
Você pode pensar nisso como um atalho para criar cenas fotorrealistas. Com a renderização neural, não precisamos calcular como a luz interage com um objeto, precisamos apenas de dados de treinamento suficientes.
Essa abordagem permite que os pesquisadores criem renderizações de alta qualidade de cenas complexas sem ter que executar
O que são campos neurais?
Conforme mencionado anteriormente, a maioria das renderizações 3D usa malhas de polígonos para armazenar dados sobre a forma e a textura de cada objeto.
No entanto, os campos neurais estão ganhando popularidade como um método alternativo de representação de objetos tridimensionais. Ao contrário das malhas poligonais, os campos neurais são diferenciáveis e contínuos.
O que queremos dizer quando dizemos que os campos neurais são diferenciáveis?
Uma saída 2D de um campo neural agora pode ser treinada para se tornar fotorrealista simplesmente ajustando os pesos da rede neural.
Usando campos neurais, não precisamos mais simular a física da luz para renderizar uma cena. O conhecimento de como a renderização final será iluminada agora é armazenado implicitamente dentro dos pesos de nosso rede neural.
Isso nos permite criar novas imagens e vídeos de forma relativamente rápida a partir de apenas algumas fotos ou vídeos.
Como treinar um campo neural?
Agora que sabemos o básico de como um campo neural funciona, vamos dar uma olhada em como os pesquisadores são capazes de treinar um campo de radiância neural ou NeRF.
Primeiro, precisaremos obter amostras das coordenadas aleatórias de uma cena e alimentá-las em uma rede neural. Esta rede será então capaz de produzir quantidades de campo.
As quantidades de campo produzidas são consideradas amostras do domínio de reconstrução desejado da cena que queremos criar.
Em seguida, precisaremos mapear a reconstrução para imagens 2D reais. Um algoritmo calculará então o erro de reconstrução. Esse erro guiará a rede neural para otimizar sua capacidade de reconstruir a cena.
Aplicações de Renderização Neural
Nova Visão Síntese
A síntese de novas visualizações refere-se à tarefa de criar perspectivas de câmera de novos ângulos usando dados de um número limitado de perspectivas.
As técnicas de renderização neural tentam adivinhar a posição relativa da câmera para cada imagem no conjunto de dados e alimentam esses dados em uma rede neural.
A rede neural criará então uma representação 3D da cena onde cada ponto no espaço 3D tem uma cor e densidade associadas.
Uma nova implementação de NeRFs em Google Street View usa uma nova síntese de visualização para permitir que os usuários explorem locais do mundo real como se estivessem controlando uma câmera gravando um vídeo. Isso permite que os turistas explorem destinos de maneira imersiva antes de decidir viajar para um local específico.
Avatares fotorrealistas
Técnicas avançadas de renderização neural também podem abrir caminho para avatares digitais mais realistas. Esses avatares podem então ser usados para várias funções, como assistentes virtuais ou atendimento ao cliente, ou como uma forma de os usuários inserirem sua imagem em um videogame ou renderização simulada.
Por exemplo, um papel publicado em março de 2023 sugere o uso de técnicas de renderização neural para criar um avatar fotorrealista após alguns minutos de filmagem.
Conclusão
A renderização neural é um campo de estudo empolgante que tem o potencial de mudar toda a indústria de computação gráfica.
A tecnologia pode diminuir a barreira de entrada para a criação de ativos 3D. As equipes de efeitos visuais podem não precisar mais esperar dias para renderizar alguns minutos de gráficos fotorrealistas.
Combinar a tecnologia com aplicativos existentes de VR e AR também pode permitir que os desenvolvedores criem experiências mais imersivas.
Qual você acha que é o verdadeiro potencial para renderização neural?
Deixe um comentário