Ayer se celebró la jornada de clausura de las Residencias Estivales 2015 organizada por el Parque Científico de la UVa. Nuestro alumno residente, Javier Gómez Villamayor, presentó los resultados de su trabajo titulado como este mismo post «Modelado 3D de caras humanas».
El objetivo del trabajo es desarrollar una solución para conseguir mallas cuadrangulares (topológicamente correctas) deformadas para adaptarse a la cara de una persona que es digitalizada utilizando cámaras de tiempo de vuelo convencionales como la Microsoft Kinect. Frente a las soluciones profesionales basadas en capturas sincronizadas y reconstrucción a partir de múltiples vistas utilizando Agisoft PhotoScan, esta residencia se plantea conseguir una alternativa simplificada de bajo coste.
El desarrollo ha sido realizado utilizando la PCL (Point Cloud Library) y la cpu_tsdf que implementa la función TSDF sobre un octree en la CPU, de forma que el número de subdivisiones del grid es adaptado en función de la nube de puntos.

Los resultados obtenidos muestran la necesidad de utilizar una versión mejorada del algoritmo de alineamiento ICP (Iterate Closest Point) básico. La versión disponible en la PCL acumula un error entre frames consecutivos que hace imposible fusionar todas las nubes en un mismo sistema de referencia. Por este motivo, y con el fin de presentar el pipeline completo, la deformación y proyección del color ha sido realizada utilizando Blender.

Una vez obtenidos los resultados es posible utilizarlos directamente para renderización fotorrealista en gráficos por computador, pudiendo realizar retoques en el color para restaurar aquellas regiones donde hubieran podido quedar agujeros (parches sin escanear).

Este trabajo supone un pequeño paso para resolver un problema más amplio en el que hay que capturar detalles del rostro humano a través de mapas de color que luego puedan ser utilizados para conseguir un renderizado realista en tiempo real. El código que se ha desarrollado es un paquete para el Robot Operating System, disponible en un repositorio de GitLab.