20/06: Work in Progress #Rendering #Points #AI

Deep Learning Approach for Point-based Rendering

(gl) Unha aproximación Deep Learning para render de nubes de puntos
(es) Una aproximación Deep Learning para render de nubes de puntos

Estudante

Martín Sánchez Fontao

Supervisión

Luis Omar Álvarez Mures (Cinfo, UDC)
Francisco Javier Taibo Pena (UDC)
Emilio José Padrón González (UDC)

Breve descrición

Unha nube de puntos é un conxunto de datos asociados a posicións puntuais no espazo. As nubes de puntos xeralmente son producidas por escáneres 3D, que miden gran cantidade de puntos nas superficies externas dos obxectos que os rodean, xerando conxuntos de datos que poden conter unha alta densidade de puntos.

As nubes de puntos utilízanse para moitos propósitos, como para crear modelos CAD en 3D, para pezas manufacturadas, para metroloxía e inspección de calidade, e para multitude de aplicacións de visualización, animación e renderizado.

Para unha visualización de calidade dunha nube de puntos de densidade arbitraria precísase de técnicas de renderizado específicas para o traballo con este tipo de primitivas gráficas, xa que tanto o hardware das tarxetas gráficas como o pipeline de render que expoñen as principais APIS gráficas están deseñados para a visualización de polígonos (triángulos, nomeadamente). Estas técnicas coñécense polo nome de Renderizado Baseado en Puntos (Point-based Rendering).

O punto é unha primitiva adimensional, e unha nube de puntos non ten topoloxía, o que dificulta a obtención de vectores normais que poidan axudar na obtención dunha representación visual que permita reconstruír superficies sen buratos (para o que se adoita empregar unha técnica denominada «splatting»). O feito de que as nubes de puntos procedentes dunha captura adoiten ter ademais bastante ruído tampouco axuda no proceso de estimación de normais, que non é para nada trivial.

As arquitecturas de Deep learning así como deep neural networks, deep belief networks e recurrent neural networks, estanse a aplicar con éxito en campos como visión artificial, recoñecemento de voz, procesamiento de linguaxe natural, recoñecemento de audio, filtrado de redes sociais, tradución entre máquinas, bioinformática, etc. Nalgunha destas disciplinas estas arquitecturas están a obter resultados comparables ou nalgúns casos superiores aos expertos humanos.

O primeiro obxectivo deste proxecto é a implementación do estado da arte en técnicas Point-based Rendering e en algoritmos de estimación de normais para unha visualización de calidade de nubes de puntos de densidade arbitraria. Un segundo obxectivo é a implementación dun método para a estimación de normais empregando técnicas de Deep Learning, tentando mellorar os resultados obtidos mediante a aplicación de técnicas tradicionais.

Para as tarefas de visualización farase uso da API gráfica multiplataforma OpenGL, mentres que para a parte de Deep Learning empregaremos TensorFlow e Keras.

Objetivos concretos

  • Desenvolver un visualizador para nubes de puntos en OpenGL que implemente as técnicas do estado da arte en renderizado de puntos, incluíndo unha estimación de normais baseada nos habituais métodos numéricos.

  • Propoñer e implementar un método de estimación de normais baseado nunha arquitectura Deep Learning que permita substituír (e estimamos que mellorar) ás técnicas habituais.

  • A aplicación desenvolvida será multiplataforma e permitirá avaliar todos os algoritmos implementados.

Metodoloxía

Utilizaremos unha metodoloxía áxil, con sprints relativamente curtos para dar forma ás distintas tareas. Todo isto despois dun estudo e documentación da materia preliminar.

Fases principais do traballo

  1. Análisis de requisitos e planificación do proxecto.

  2. Estudo e documentación.

    a. Técnicas PRB e estimación de normais. b. C++, OpenGL, TensorFlow e Keras.

  3. Sprints incrementais para desenvolver técnicas de PBR para a visualización, e de estimacións de normais con métodos numéricos.

  4. Sprints incrementais para desenvolver unha aproximación para a estimación de normais con Deep Learning.

Material

Un ordenador persoal con GPU e acceso a internet.

Teaching and Researching in Computer Science/Engineering

My research interests include High Performance Computing (HPC) and Computer Graphics.