UEM

AKIBANA

Informática, Análisis de Datos, Gadgets y Nuevas Tecnologías

Redes Neuronales y fotografía:Transferir el estilo de una foto a otra con Deep Learning

Enrique Puertas Director del Master Universitario en Big Data Analytics Blog AKIBANA Publicado 29 Diciembre 2017

 

Lo que se está consiguiendo en los últimos meses con el uso de Inteligencia Artificial y Deep Learning está siendo impresionante: Sintetizadores de voz artificial que no se pueden diferenciar de una voz humana, coloreado automático de películas en blanco y negro, algoritmos que componen canciones, o sistemas que son capaces de reconstruir completamente imágenes borrosas o dañadas. Las aplicaciones prácticas del Deep Learning que han aparecido los últimos meses se podían considerar casi de ciencia ficción hace apenas un año.

En este post os voy a presentar el algoritmo “Deep Photo Style Transfer”, ideado por Fujun Luan, Sylvain Paris, Eli Shechtman y Kavita Bala que utiliza redes neuronales para transferir de forma automática el estilo de una fotografía. Ya existían algoritmos que hacen este tipo de transferencia pero, la diferencia con respecto a eso algoritmos es que no modifica los objetos que aparecen en la foto, solo los colores, iluminación y texturas de los mismos.

Deep Photo Style Transfer

El algoritmo necesita como entrada dos imágenes: La original y la que tiene el estilo que queremos copiar. También vamos a necesitar una segmentación de las imágenes, que podemos hacer de forma automática o manual (esta última opción da mejores resultados).

Durante el proceso de optimización se aplican factores de regularización de fotorrealismo, y la transferencia de estilo se guía utilizando una segmentación semántica de los entradas de la red.

El código fuente original descrito en el artículo se puede descargar de https://github.com/luanfujun/deep-photo-styletransfer, pero yo recomiendo descargar la versión creada por LouiYang, que prescinde del código en Matlab e implementa todo en Python.

Nota: Te recomiendo un ordenador con tarjeta gráfica potente si no quiere estar esperando al resultado de la red neuronal durante horas. Yo he realizado las pruebas utilizando un i7 con 16Gb de RAM y una GPU Nvidia GTX1050 y el resultado tarda unos 20 minutos en generar la salida.

Durante el proceso de optimización se van generando imágenes temporales del proceso, y es fascinante ver cómo van cambiando las imágenes a medida que se van transfiriendo los estilos. Os dejo algunos ejemplos de pruebas que he hecho:

Transferencia de estilo uem

animación deep learning

 

Compartir en Twitter Compartir en Facebook Share in LinkedIn
Comentarios
Deja un comentario