La edición de fotos es algo que se ha hecho muy sencillo gracias a diferentes programas que fácilmente se obtienen incluso por medio de aplicaciones en teléfonos móviles, incluso a tiempo real gracias a numerosos filtros que nos ofrecen aplicaciones dedicadas a edición de fotografía. Si embargo, nada ha sido más impresionante que el trabajo de CycleGAN.

CycleGAN es un software desarrollado por investigadores de la Universidad de Berkley, que han puesto el proyecto a disposición de todo el mundo en GitHub. CycleGAN es una IA utilizada para la transformación de imágenes. Es conocida por su transformación de caballos en cebras y viceversa, pinturas en imágenes reales, incluso cambiar la estación de un paisaje, de verano a otoño, o de invierno a primavera.

Joint-contrastive inference and cycle GANs
Horses to Zebras with CycleGAN on Weights & Biases

A simple vista, no parece nada excepcional, si no tenemos en cuenta el hecho de que, para que una tecnología pueda editar por sí misma imágenes con tal precisión, se necesita un talento impresionante de desarrollo. Sin embargo, hay algo oculto en el desarrollo de esta IA, algo muy curioso si lo pensamos bien.

Las IA se rigen por códigos, muchas veces de aprendizaje para poder mejorar y trabajar con mayor precisión. No se puede creer realmente que una IA trabaje por sí misma saliéndose de su propia forma de trabajar. Sin embargo, se ha notado que este software trabaja de una forma bastante peculiar.

De manera bastante sorprendente, CycleGAN ha logrado transformar una pintura de Monet a un escenario real, como si fuera exactamente lo que la artista estuviera viendo al momento de pintar el cuadro.

Cyclegan for image conversion | Develop Paper

Realmente es algo improbable que un programa cualquiera recree una pintura como si fuese una fotografía, una bastante bien hecha, como si estuviera sacada de algún portafolio online de un fotógrafo moderno. No existe aplicación móvil o programa de edición capaz de recrear algo de manera tan exacta.

Y es que, incluso ciertos filtros de estas aplicaciones suelen tener fallos al identificar ciertos elementos de una fotografía, por lo que no es extraño ver una fotografía con algún fallo de edición gracias a ese tipo de filtros, pero la transformación de CycleGAN es perfecta.

Y eso no es todo. Ya vimos que CycleGan puede transformar caballos en cebras y cebras en caballos. Pero, ¿Qué sucede cuando se le muestra a CycleGAN una imagen que ya fue transformada por ella? Lo más lógico sería que claro, si te muestra un caballo transformado en cebra, esa cebra ahora la transformaría en un caballo un poco diferente, tal vez de otra tonalidad, porque CycleGAN no tendría forma de averiguar como es la imagen original.

… ¿O sí puede?

La imagen real es la del caballo de la izquierda, que fue transformado a una cebra con el software, y luego se tomó esa imagen nuevamente para ser transformado a un caballo, lo que dio como resultado el mismo caballo de la imagen original.

¿Cómo es eso posible? si CycleGAN se supone que no tendría forma de saber la originalidad de esa cebra. Bueno, hay un pequeño secreto en su código que supera por montones a muchas inteligencias vistas hoy en día con la función de edición de imágenes.

Resulta que CycleGAN tiene dentro de sí la capacidad de guardar los pixeles de imágenes que ya ha transformado, teniendo dentro suyo un rastreo de todo lo que ha pasado por su método de edición. Debido a esto, cualquier imagen que ya haya sido procesada por CycleGAN, si vuelve a pasar por el software para una edición a la inversa, será transformada a la imagen de origen nuevamente, no porque almacene la imagen como tal, sino gracias al rastreo de pixeles que tiene dentro.

¿Podría decirse que esta IA hace trampa para poder tener más precisión entonces en sus transformaciones? Esto ya queda al criterio del lector, pero sencillamente, es algo fascinante.