Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

36
Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real Jose Ricardo da Silva Junior http://www.josericardo-junior.com [email protected]

Transcript of Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Page 1: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Como o Deep Learning Possibilitou o Ray Tracing em Tempo RealJose Ricardo da Silva Juniorhttp://www.josericardo-junior.com

[email protected]

Page 2: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Perfil• Professor Instituto Federal do Rio de Janeiro

(Eng. Paulo de Frontin)

• Coordenador de pesquisa, inovação e incubadora

• Áreas de pesquisa envolvendo HPC, Inteligência Artificial, Rendering e Jogos

2

Page 3: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Agenda Sistema de Renderização

Ray Tracing

Técnicas para Ray Tracing

Deep Learning

Uso do Deep Learning com Ray Tracing

3

Page 4: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Evolução

E.T. the Extra-Terrestrial – Atari (1982)

Cyberpunk 2077 – CD Projekt Red (2020)

4

Page 5: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Como Aumentar o Realismo?

Aumentar quantidade de

polígonos

Usar texturas de alta

resolução

Usar modelos de iluminação mais realistas

5

Page 6: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Game Techniques

6

Page 7: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Game Techniques

Environment Mapping

7

Page 8: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Usar Técnicas Aplicadas em Filmes?

•Qualidade dos filmes de Hollywood ainda necessitam de aproximadamente várias horas / quadro em um um sistema Multi-GPU [1]

8

Page 9: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Usar Técnicas Aplicadas em Filmes?

• Sistema de Física

• Atualização dos estados do

jogo

• Renderização

• Inteligência Artificial

Mínimo de 30 FPS = 33,3 ms

9

Mínimo de 60 FPS = 16,6 ms

Page 10: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Rasterização

• Reflexão baseado no modelo de Blinn / Phong [2]

•Modelo de iluminação que utiliza interpolação de cores ou normais

•Desconsidera iluminação indireta da da luz com outros objetos

10

Page 11: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Ray Tracing

•Modelo de iluminação fisicamente mais preciso

•Considera os raios refletidos e refratados

•Contribuição de iluminação indireta

• Sombras mais realistas (self-shadows)

11

Page 12: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Ray Tracing

12

Page 13: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Ray Tracing

•Processo muito custoso

•Requer muitos raios

•A qualidade da imagem gerada está relacionada com o número de raios primários e secundários gerados

13

Page 14: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Ray Tracing

14

Page 15: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Real Time Ray Tracing

•Arquitetura Turing (2019)

•Várias técnicas implementadas em GPU para aceleração de Ray Tracing

15

Page 16: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Intersecção de Raio16

Page 17: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Ray Tracing Híbrido

•Uso de iluminação por Ray Tracing somente em partes da cena que necessitam de mais detalhes [3]

17

Page 18: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Multi-Res Shading

18

Page 19: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

RTX Pipeline

19

Page 20: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Já é Suficiente?

• Apesar de todas essas tecnologias, ainda não foi suficiente

• Dificilmente conseguimos resolução 4K com 60 FPS

• Quantidade limitada de raios (limitante da qualidade)

• Resolução 4K com Ray Tracing habilitado torna-se impossível, dependendo da cena

20

Page 21: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Aprendizado de Máquina

•Método de análise de dados que automatiza a construção de modelos analíticos

• Sistemas podem aprender com dados

• Solução para problemas que não possuem um formalismo teórico

21

Page 22: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Deep Learning

•Ramo do aprendizado de máquina que modelam abstrações em dados para extração de características

•Baseado em rede neural utilizando o neurônio matemático

•Utiliza várias camadas ocultas para processamento

https://www.institutodeengenharia.org.br/ 22

Page 23: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Deep Learning

•Baseado no Perceptron, desenvolvido em 1957 por Rosenblatt [4]

•Possui uma função de agregação (geralmente somatório)

• Função de ativação não linear e diferenciável

http://deeplearningbook.com.br/o-neuronio-biologico-e-matematico/23

Page 24: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Deep Learning

• Impulsionado pelo aumento do poder computacional

•Disponibilidade massiva de dados (Big Data)

•Maior precisão nos modelos

https://biodiversitapuglia.it/sfruttare-big-data-ricerca-sviluppo-agricoltura/

24

Page 25: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Deep Learning

•Aprendizado Supervisionado•Dados rotulados• Cálculo do gradiente da

função para minimizar o erro• Ajuste dos pesos

(backpropagation)

Dog

Dog

Cat

Deep Learning Network

input output

Deep Learning Network

input output

DogDog

Cat

Cat

A precisão do modelo está diretamente relacionado com a quantidade e qualidade dos dados de treinamento

25

Page 26: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Deep Learning (Rede Convolucional)

26

https://medium.com/@lamiae.hana/an-intro-to-convolutional-neural-networks-cnn-9f1c2d888fa1

Características?

Page 27: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Tensor

• Estrutura de dados primária utilizada em deep learning• Representa as entradas, saídas e transformações em uma rede

neural

27NVidia Tensor Core

Page 28: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Noise / Denoise

28

Page 29: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Nvidia Deep Learning Super Sampling (DLSS)

•Renderização pela Engine continua sendo em Full HD

• Imagens renderizadas são enviadas para a rede neural junto com vetores de movimento

29

Page 30: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Nvidia Deep Learning Super Sampling (DLSS)

30

Page 31: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Nvidia DLSS

31

Page 33: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Real Time Ray Tracing

33

Page 34: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Futuro

34

Page 35: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Referências

• [1] Avatar - The Computing power behind the movie – RenderNow

• [2] Phong, Bui. Illumination for Computer Generated Pictures. Graphics and Image Processing, 1975.

• [3] Haines, Eric; Möller, Tomas. Ray Tracing Gems. Apress, 2019.

• [4] Rosenblatt, F. The perceptron: a probabilistic model for information storage and organization in the brain. Psychological review, 1958.

35

Page 36: Como o Deep Learning Possibilitou o Ray Tracing em Tempo Real

Como o Deep Learning Possibilitou o Ray Tracing em Tempo RealJose Ricardo da Silva Juniorhttp://www.josericardo-junior.com

[email protected]