– Mar 20, 2020, 8:01 (CET)

Coloreando fotografías antiguas con deep learning

Puede que en el futuro, los más jóvenes crean que la fotografía fue siempre en color, de la misma manera que hoy cuesta creer que el cine fuera mudo o que los teléfonos fijos marcaran los números empleando una rueda que debías girar siguiendo las agujas del reloj. Y es que la tecnología muchas veces se solapa hasta el punto de que resulta increíble cómo eran las cosas en el pasado. Y es que, a día de hoy, restaurar fotografías y metraje antiguo gracias a la inteligencia artificial resulta un juego de niños.

Conceptos como la inteligencia artificial y el deep learning son todavía desconocidos para la mayoría pero cada vez se habla más de ellos. Aunque explicarlos requeriría tiempo y espacio, en resumen diré que gracias a esta tecnología es posible automatizar un proceso o tarea de relativa complejidad.

La inteligencia artificial es aquella que encontramos en un software que toma sus propias decisiones para mejorar cómo hace las cosas. En el caso de un juego de ajedrez, la inteligencia artificial ayuda a un programa o software a elegir las mejores jugadas para ganar la partida en el menor tiempo posible. Puede que no salga bien las primeras cinco, diez o cien veces. Pero gracias a la inteligencia artificial, en cuestión de tiempo, acabará por descubrir la estrategia óptima.

En el caso del deep learning o aprendizaje profundo, de manera simplificada, está emparentado con la inteligencia artificial. En realidad, es una variante del machine learning y consiste en combinar software y hardware para que, a través de algoritmos, se logre una solución a un problema empleando los datos disponibles.

En la práctica, inteligencia artificial y deep learning pueden ayudar a infinidad de tareas y a solventar problemas actuales de cualquier ámbito. Y en el caso que nos ocupa, podemos colorear fotografías antiguas de manera automática y en el menor tiempo posible.

Coloreando el pasado

Su nombre es DeOldify y está disponible en GitHub. Su responsable es Jason Antic, un desarrollador de San Diego que ha decidido poner a disposición de todo el mundo su proyecto para que cualquiera pueda beneficiarse de manera gratuita, ya que se ofrece mediante licencia MIT.

DeOldify es un software que traduce una imagen en blanco y negro a color. A partir de la escala de grises de una fotografía, aplica color a cualquier imagen antigua que hayas digitalizado. Y, al parecer, también sirve para restaurar vídeos, tal y como puedes comprobar tú mismo si echas un vistazo a su página de GitHub, donde verás imágenes antiguas restauradas y fragmentos de vídeo.

Dos imágenes elegidas al azar coloreadas con DeOldify

Como podrás comprobar, el resultado se asemeja al de las imágenes coloreadas a mano, algo que ya se hacía en aquel entonces pero que requería horas de trabajo y era una tarea artesanal. Con DeOldify, en cambio el proceso lo realiza el propio software de manera automática.

Si quieres probar esta herramienta por cuenta propia, su autor ofrece una versión online llamada Image Colorization API y que encontrarás hospedada en DeepAI, un portal de proyectos relacionados con la inteligencia artificial. Con esta versión online de DeOldify puedes subir una imagen o su enlace online. La herramienta coloreará la fotografía por cuenta propia en cuestión de segundos. Y aunque el resultado puede variar, en general es muy satisfactorio.

Mejorando lo presente

De ejemplos de restauración automática de fotografías, antiguas y no tan antiguas, hay muchos. Incluso ya empiezan a abundar proyectos donde la inteligencia artificial hace acto de presencia en el proceso de detección de tonalidades para traducirlas en color.

Pero DeOldify logra un nivel de exactitud muy alto en comparación con otros proyectos similares. ¿La clave? Sustituir la técnica GAN por una propia que su autor, Jason Antic, denomina NoGAN. En sus propias palabras, en el proceso de coloreado actual, se emplea una técnica llamada GAN, acrónimo de gaussian noise augmentation, o para entendernos, aumento del ruido gaussiano.

En deep learning, esta técnica se emplea para resolver el problema frecuente de falta de datos suficientes. O para simplificar, con GAN se tapan los agujeros para así resolver la tarea en cuestión, ya sea restaurar una imagen o colorear un vídeo. Esto es positivo, si bien tiene como contras que el resultado no es tan exacto como debería. En el caso de colorear imágenes, la consecuencia es que quedan fragmentos grises.

Antic introduce una mejora a GAN con su NoGAN que ofrece resultados más realistas y que, además, resuelve errores o manchas sin por ello alargarse el proceso de aprendizaje y coloreado.

Y para no alargarnos demasiado en este apartado técnico, si quieres saber más puedes consultar el documento de Jason Antic al respecto.

Acortando distancias

El blanco y negro de las fotografías y de las películas antiguas las envejece más si cabe. En cambio, el color, las acerca un poco más a nuestra realidad actual. Unos niños fotografiados en 1911 parecen nacidos en nuestro siglo gracias a colorear esa misma fotografía con la magia de la inteligencia artificial detrás de DeOldify.

En la página de GitHub del proyecto encontramos ejemplos de distintas épocas. Pero todas se convierten en fotografías actuales gracias al coloreado a pesar de emplea tonos pastel. Con todo, la elección de colores es muy acertada y logra el efecto deseado.

Y lo mejor es que cualquiera puede beneficiarse de esta tecnología. Como decía, cualquiera puede subir sus propias fotografías y restaurarlas en cuestión de segundos. Además, puedes trastear con el código de DeOldify accediendo a su versión online disponible en Colab y que también sirve para restaurar vídeos desde este otro enlace de Colab.

Incluso puedes montar tu propio ordenador de restauración de fotografías antiguas. Eso sí, los requisitos de hardware son altos. Jason Antic, el creador del proyecto, emplea una tarjeta gráfica GeForce 1080TI de 11 GB, aunque si sólo quieres colorear, una tarjeta gráfica de 4 GB es suficiente. En cuanto al sistema operativo, Antic emplea Ubuntu 16.04, pero también puede funcionar en Windows 10. Encontrarás más información en estas instrucciones, donde también explica cómo instalar tu propia máquina virtual a distancia empleando Docker.