Innovaciones en aprendizaje profundo para computación gráfica

Por Ignacio Uman. Emmanuel Iarussi es investigador de CONICET en la Universidad Tecnológica Nacional, Facultad Regional Buenos Aires (FRBA UTN), donde desarrolla proyectos centrados en la computación gráfica y la explotación de grandes volúmenes de información para mejorar el diseño industrial.  Es Ingeniero en Sistemas de la Universidad Nacional del Centro de la Provincia de Buenos Aires (UNICEN), Doctor en Computación del INRIA (Francia) y cursó un Posdoctorado en el IST de Viena (Austria). Sus estudios de doctorado se basaron en el aprendizaje de dibujo asistido por computadora utilizando algoritmos de visión. También realizó una pasantía en Adobe (Estados Unidos), donde trabajó sobre herramientas de diseño para usuarios no expertos.

 Como él mismo define en su perfil, sus intereses se centran en profundizar técnicas de interacción humano-computadora para crear y manipular imágenes. En diálogo con Predictivos, Iarussi nos comenta sobre sus temas actuales de investigación en computación gráfica apoyados en Deep Learning y su reciente incorporación como docente de Visualización de la Información en la Maestría en Data Mining.

————————————————————————————————————————–

Contanos en qué consisten tus proyectos en computación gráfica y qué aportes novedosos dan a los diseñadores industriales.

Considero que la computación gráfica tiene dos grandes objetivos, uno es la capacidad de interpretar contenido o información visual que puede ser 2D o 3D y el otro sería generar esa información visual, trabajar con ese contenido generado. En este sentido, lo que más me interesa es el diseño industrial de productos, cualquier producto que hoy se manufactura pasa por varias etapas de diseño, los diseñadores van testeando si el producto cumple con los requisitos o no, y en ese proceso además de lápiz y papel también usan herramientas digitales. Mi propósito es acercar esas herramientas digitales al dominio particular del diseño industrial, hacerlas más adaptables para las personas, y específicamente trabajar en un problema abierto de la computación: poder interpretar la información que vemos.

¿Por qué es un problema abierto de la computación y cómo se relaciona con los problemas que abordás en modelado 3D?

Es buena la pregunta. Te la respondo con un ejemplo, generalmente el ser humano reconstruye formas en 3D a partir de información 2D, una foto, un dibujo, ilustración o imagen. Con una foto de un auto, podríamos inferir su tamaño y forma, podríamos moldearlo en plastilina por ejemplo. Ahora, la pregunta es si un programa de computadora puede hacer esa tarea.

Estas capacidades humanas de interpretar información visual son tareas cognitivas complejas, que de algún modo se intentan imitar con el avance de la computación gráfica. Un diseñador hace un diseño conceptual de un auto o de una silla a partir de una foto o de un dibujo preciso en dos dimensiones, para luego armar el modelo 3D. Es ese pasaje de información de 2D a 3D el que nos interesa y sobre todo indagar cuánta información se pierde con esa inferencia.

 

¿Cómo cambió el área a partir de los avances del aprendizaje profundo, conocido como Deep Learning?

Con la irrupción del Deep Learning se redefinen algunos problemas clásicos que se solían resolver con algoritmos a partir de reglas simples sobre las características de la imagen y donde se veía cómo funcionaban para el ojo humano. Un detalle importante es que además de la interpretación de la información visual 2D, en computación gráfica muchas veces trabajamos con modelos 3D. Un problema que me interesa particularmente y que sirve para ilustrar esto es el siguiente: supongamos que entre miles de modelos 3D que tengo de sillas, quiero encontrar aquella con 5 rueditas, este diseño ergonómico y una forma particular del apoya brazos, es algo realmente difícil de buscar. La solución más simple es dibujarla y a partir de ello encontrar el modelo (este problema se llama 3D Shape Retrieval), y la idea es encontrar una correspondencia entre el diseño en 2D con aquel que la base de datos me ofrece en 3D.

Es un gran desafío y estamos empezando a resolverlo con redes neuronales. Para esto, primero necesitamos alguna forma de acercar ambos mundos: el de los modelos 3D y el de los dibujos en el que se hace la consulta sobre la base de datos. No es trivial, ya que los modelos están casi siempre representados como mallas poligonales (o de triángulos), es decir, puntos en tres dimensiones cuya conectividad conforma el modelo 3D. Por otro lado, las imágenes están representadas en dos dimensiones, con intensidades sobre una grilla rectangular de píxeles. Trabajar con dominios de información tan diferentes es complicado y las arquitecturas de red neuronal profunda nos están ayudando en ese proceso. Una posible estrategia que exploramos es encontrar las correspondencias a partir de convertir la información 3D a 2D, renderizando vistas bidimensionales desde varios ángulos (fotografías) y permitiendo a la red neuronal encontrar los mejores descriptores para realizar la correspondencia.

¿Podrías mencionar algún ejemplo de desarrollo concreto para el diseño industrial?

Una de las cosas que hicimos con nuestro grupo de investigación de FRBA UTN es utilizar estos modelos de computación gráfica para optimizar la impresión industrial 3D, en particular pudiendo simular el diseño de moldes o matrices. Usualmente es un proceso que lleva varios meses y suele depender de la expertise del diseñador industrial, cuanto más experiencia tiene el diseñador más rápido se hace y sin fallas. Pero aun así el proceso podría tener fallas que se descubran luego de la fabricación, que la pieza no desmolde o que tenga burbujas. Con nuestras herramientas de computación gráfica podemos realizar este proceso de forma semi-automática, partiendo de un modelo 3D, de una descripción 3D de un objeto. Esto ayuda sustancialmente al diseñador, porque le permite anticipar por computadora el comportamiento que va a tener el material y otras variables de acuerdo a la pieza que se quiera fabricar después con ese molde, optimizando el proceso.

Este trabajo de computación gráfica lo publicamos en la revista de la ACM Transactions Graphics, publicación de mayor impacto del área, y luego lo presentamos en SIGGRAPH, la conferencia anual más grande en computación, donde asisten más de 15 mil personas y se reúnen participantes tanto de la academia como de la industria.

Aún no es un desarrollo que se haya transferido a empresas de la industria, pero las posibilidades están latentes. Si bien en Argentina la computación gráfica es un campo incipiente, paulatinamente están creciendo este tipo de aportes locales.

¿Qué rol ocupa la ciencia de datos en estos temas y de qué modo converge con el trabajo del data scientist?

La realidad es que actualmente si no dominás de algún modo herramientas de Machine Learning y Ciencia de Datos, si trabajabas en algo de imágenes es imposible que continúes sin eso. Creo que es un antes y después para el área. Pero ahora hubo una clara inversión en el trabajo: en vez de encontrar el modelo que pueda aprender, necesito encontrar los datos, proveerle los datos justos a ese modelo. Si bien hay muchísima disponibilidad de fotos, en el dominio que trabajo (imágenes que son dibujos, que se conocen como Sketching) es sumamente difícil conseguir datos. No es el único dominio en que sucede eso. Si bien se están empezando a generar bases de datos públicas, cada vez más grandes, aún estamos lejos de conseguir datos reales (incluso recuerdo que hace años, un grupo de científicos publicó un paper donde se dedicó durante un año a taggear fotos de Flickr y construir una base de datos, lo cual tuvo valor en sí mismo).

Ante esta situación, lo que hacemos es generar lo que se conoce como datos sintéticos, usamos algoritmos de rendering que pueden generar dibujos que nos sirven para entrenar al modelo. Es decir, no sólo se usan para videojuegos, animaciones o fotos realistas, también puede simular el dibujo que necesitamos para cada proyecto. Trabajar con esos datos sintéticos nos genera problemas adicionales, ya que no es lo mismo entrenar un modelo con datos de dibujos generados por humanos que por una computadora.

Por último, ¿qué balance hacés sobre tu incorporación como profesor de la Maestría, con qué te encontraste en las clases de Visualización de la Información?

Me resulta muy interesante, claramente es distinto a trabajar en investigación, ya que en las clases no nos dedicamos a procesar contenido gráfico sino más bien a generarlo y visualizarlo. Algunos de los alumnos vienen con un preconcepto sobre la materia, a veces llegan pensando que van a dedicarse a hacer gráficos de barra en Excel. No es que tenga nada contra esa herramienta, la cuestión es que la forma en que nos enseñan a generar contenido visual o gráfico suele ser muy básica, y estamos hablando de egresados de carreras de grado.  Lo que hacemos es dar un paso atrás y que los alumnos entiendan cómo se genera ese contenido gráfico, no es que le damos la tabla de datos y la herramienta nos arma automáticamente el gráfico, sino que escribimos el programa que toma los datos y también que compila los elementos gráficos. Es todo un reto para los que no tienen conocimientos previos de programación, pero salen adelante. Después de todo se trata de prescindir un poco de la herramienta y entender el proceso, las técnicas para construir la imagen con la computadora. Obviamente también se ven todos los principios teóricos asociados a la visualización.

Otra cuestión desafiante es que solemos incentivar a nuestros alumnos a participar en la  IEEE Visual Analytics Science and Technology (VAST) Challenge, que se realiza todos los años. La competencia propone desafíos de visualización resolviendo y simulando problemas en equipo, siendo una especie de “detectives” de los datos. Es una experiencia muy enriquecedora.

Facebooktwitterlinkedin

Dejá un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *