Suplantación con un selfie y Deep Learning

Enrique Blanco    25 marzo, 2020
Selfie

A pesar del estado de alerta que estamos viviendo en la actualidad en el departamento Ideas Locas CDCO no descansamos, y seguimos investigando activamente todo lo relacionado con el Machine Learning y el Deep learning.

Una de las líneas de investigación del departamento está centrada en el análisis y prevención de las Fake News, en especial aquellas generadas a partir de Deepfakes. Podéis echar un vistazo a esta investigación sobre generación de contenido no legítimo en el siguiente enlace

En el artículo de hoy queremos enseñaros de una manera lúdica lo fácil que resulta suplantar a un individuo haciendo uso única y exclusivamente de una fotografía del rostro o selfie

La mayor parte de las investigaciones centradas en suplantación de identidad con las tecnologías de Deepfakes hacen uso de Variational Autoencoders (VAEs) y General Adversarial Networks (GANs) tomando como fuente de entrenamiento una gran cantidad de imágenes del usuario a suplantar. 

A mayor número de muestras de la víctima, mayor calidad en el modelo y mayor credibilidad en la suplantación. Si no estáis tan familiarizados con estos términos aquí tenéis este artículo o este otro donde introducimos algunos conceptos básicos sobre este tipo de arquitecturas profundas.

 Figura : Esquema de una Generative Adversarial Network (GAN) (Fuente)
Figura 1 : Esquema de una Generative Adversarial Network (GAN) (Fuente)

El principal inconveniente de este tipo de arquitecturas es que no sólo se necesitan muchas muestras para entrenarlas sino también mucho tiempo y una elevada capacidad de cómputo.

Google Colab

Para todo esto vamos a lanzar un Jupyter Notebook en Google Colab que nos permitía hacer un rápido uso de un repositorio muy interesante, como veremos más adelante.

En Ideas Locas nos encanta Google Colab porque permite, no sólo realizar pruebas rápidas, sino también hace posible la democratización del Machine Learning y del Data Science para todo el mundo – desde investigadores en Inteligencia Artificial hasta gente no ducha con esta disciplina – y facilita el que podamos disfrutar de la potencia de estos recursos independientemente del dispositivo desde el que se consulte. Simplemente te tienes que preocupar por correr cada una de las celdas de código del Jupyter Notebook desplegado, editarlas si lo deseas y jugar conforme vayamos ganando destreza en el manejo del código.

Un proyecto interesante

Hace poco nos encontramos con el siguiente proyecto: First Order Motion Model for Image Animation. Esta línea de investigación, muy bien llevada, permite generar una secuencia de vídeo a partir de una imagen fuente siguiendo como patrón el movimiento de un vídeo de referencia.

Figura 2. Esquema de la solución presentada por Siarohin et al. (2019) (Fuente)
Figura 2. Esquema de la solución presentada por Siarohin et al. (2019) (Fuente)

Lo más sorprendente de esta herramienta es que permite obtener resultados de muy buena calidad sin ningún tipo de información relativa a los recursos multimedia usados y en muy poco tiempo. En este enlace os facilitamos la página del proyecto y en este otro el enlace al GitHub donde podéis encontrar todo el código asociado.

A continuación, tenéis un ejemplo de lo que se puede conseguir con este repositorio. No es habitual ver a Lisa Gherardini gesticular como Donald Trump.

Video 1. Motion transfer from driving video (Donald Trump) to source image (Mona Lisa)

Siempre y cuando se mantengan las mismas orientaciones del rostro, el resultado es bastante creíble y de buena calidad.

¿Quieres probarlo?

Para poder cambiar la imagen fuente y el video de referencia a vuestro gusto, os hemos preparado un Jupyter de prueba. Podéis abrir el siguiente Gist y clicar en Open in Colab en la parte superior del cuaderno. Siguiendo las instrucciones, seguro que conseguís resultados divertidos que hagan más llevadera la cuarentena.

Para mantenerte al día con LUCA visita nuestra página web,  suscríbete a LUCA Data Speaks o síguenos en TwitterLinkedIn YouTube.

Deja un comentario

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