A renderização em tempo real para realidade virtual cria um espectro único de desafios, sendo os principais a necessidade de suportar efeitos fotorrealísticos, alcançar altas resoluções e aumentar as taxas de atualização. Para enfrentar esses desafios, os pesquisadores do Facebook Reality Labs desenvolveram o DeepFocus , um mecanismo de renderização que introduzimos em dezembro de 2018; ele usa IA para criar gráficos ultra-realistas em dispositivos de distância focal variável. Na conferência virtual SIGGRAPH deste ano , apresentamos um novo desenvolvimento deste trabalho, abrindo um novo marco em nossa jornada em direção a futuros monitores de alta definição para RV.
Nosso artigo técnico para SIGGRAPH intitulado Neural Supersampling for Real-Time Rendering fornece uma solução de aprendizado de máquina que converte imagens de entrada de baixa resolução em imagens de alta resolução para renderização em tempo real. Este processo de upsampling usa redes neurais treinadas em estatísticas de cena para recuperar os detalhes exatos, enquanto reduz o custo computacional de renderizar esses detalhes em aplicativos em tempo real.
Nossa solução é uma técnica de superamostragem pré-treinada que alcança uma superamostragem de 16x de conteúdo para renderização com alta fidelidade espacial e temporal, superando amplamente o trabalho anterior.
Animação para comparar a imagem em cores de baixa resolução renderizada e a imagem de saída de superamostragem 16x criada pela nova técnica de superamostragem neural.
Sobre o que é este estudo?
Para reduzir o custo de renderização em monitores de alta resolução, nosso método usa uma imagem de entrada com 16 vezes menos pixels do que a imagem de saída desejada. Por exemplo, se a tela de destino tem uma resolução de 3840 × 2160 , a rede começa com um tamanho de imagem de entrada de 960 × 540 , motores de jogo otrendernnogo, e então realiza seu upsampling para uma resolução desejada da tela no pós-processamento em tempo real.
Embora tenha havido uma grande quantidade de pesquisas feitas sobre aumento da amostragem com base na aprendizagem de imagens fotográficas, todo esse trabalho não abordou diretamente as necessidades exclusivas de conteúdo renderizado, como imagens produzidas por motores de videogame. Isso ocorre porque existem diferenças fundamentais de imagem entre imagens renderizadas e fotográficas. Na renderização em tempo real, cada amostra é um ponto no espaço e no tempo. É por isso que o conteúdo renderizado tende a ter distorção severa, linhas irregulares e outros artefatos de amostragem vistos nos exemplos de imagem de baixa resolução nesta postagem. Por causa disso, o upsampling de conteúdo renderizado torna-se uma tarefa tanto de anti-aliasing quanto de interpolação, ao invés de uma tarefa de eliminar ruído e desfoque.que é bem estudado por especialistas em visão computacional. O fato de as imagens de entrada serem altamente distorcidas e de não haver absolutamente nenhuma informação para interpolação nos pixels cria dificuldades significativas na construção de uma reconstrução altamente precisa do conteúdo renderizado com integridade temporal.
, ( , ), .
Por outro lado, ao renderizar em tempo real, podemos ter várias imagens coloridas produzidas pela câmera. Como demonstramos no DeepFocus, os mecanismos de renderização modernos também fornecem informações auxiliares, como valores de profundidade. Notamos que, com a superamostragem neural, as informações auxiliares adicionais fornecidas pelos vetores de movimento eram particularmente importantes. Os vetores de movimento definem relações geométricas entre pixels em quadros consecutivos. Em outras palavras, cada vetor de movimento aponta para uma localização de subpixel em que um ponto de superfície visível em um quadro pode estar em um quadro anterior. Para imagens fotográficas, esses valores são geralmente calculados usando métodos de visão por computador, mas esses algoritmos para calcular o movimento óptico estão sujeitos a erros.Em contraste, o mecanismo de renderização pode criar vetores de movimento densos diretamente, fornecendo assim uma entrada confiável e suficiente para a superamostragem neural a ser aplicada ao conteúdo renderizado.
Nosso método é baseado nas observações acima, combinando informações auxiliares adicionais com um novo esquema de rede neural espaço-temporal projetado para maximizar a qualidade de imagem e vídeo enquanto fornece desempenho em tempo real.
Ao tomar uma decisão, nossa rede neural recebe como entrada os atributos de renderização (cor, mapa de profundidade e vetores de movimento denso de cada quadro) do atual e de vários quadros anteriores, renderizados em baixa resolução. A saída da rede é uma imagem colorida de alta resolução correspondente ao quadro atual. A rede usa aprendizagem supervisionada. Durante o treinamento, com cada quadro de baixa resolução recebido, uma imagem de referência de alta resolução com técnicas de anti-aliasing é combinada, que é a imagem alvo para a otimização do treinamento.
Exemplos de resultados. De cima para baixo, os dados de cor de entrada renderizados em baixa resolução, o resultado da superamostragem de 16x pelo método proposto e a imagem de destino de alta resolução, renderizada em tempo não real, são mostrados.
. , 16 , , , .
. , 16 , , , .
?
A renderização neural tem um grande potencial em AR / VR. Embora essa tarefa seja difícil, queremos inspirar outros pesquisadores a trabalhar neste tópico. Como os fabricantes de monitores para AR / VR se esforçam para obter resoluções mais altas, taxas de quadros mais altas e fotorrealismo, as técnicas de superamostragem neural podem ser uma forma fundamental de recuperar detalhes precisos dos dados da cena, em vez de renderizar diretamente. Este trabalho nos faz entender que o futuro da RV de alta definição não reside apenas nos displays, mas também nos algoritmos necessários para acioná-los de forma prática.
Artigo técnico completo: Neural Supersampling for Real-time Rendering , Lei Xiao, Salah Nouri, Matt Chapman, Alexander Fix, Douglas Lanman, Anton Kaplanyan, ACM SIGGRAPH 2020.
Veja também: