spinner

Contenido Sintético (parte III): generación y detección de vídeo

Durante el último año han aparecido multitud de noticias sobre deepfakes, vídeos modificados y muy realistas que intercambian la cara de dos personas haciendo que pronuncien frases que nunca han dicho. Es necesario detectar este tipo de contenido para evitar ser engañado.

En los artículos anteriores, se analizaron los modelos y herramientas que permiten generar y detectar texto, audio e imagen sintético. Este contenido es posible que sea tan similar al original que cada vez sea más difícil diferenciarlo. Esto puede acarrear problemas de seguridad si utilizamos nuestra identidad digital como autenticación. Durante el presente artículo se finalizará la serie hablando sobre deepfakes y todo el contenido en formato video que es posible generar de manera sintética, medidas de protección que existen actualmente e incluso contramedidas, toda una lucha entre la generación y la detección.

Primeros deepfakes con calidad

La primera vez que apareció un deepfake, con una enorme calidad, fue con este vídeo de Obama. En él, aparece dando un discurso que nunca existió. Los investigadores fijaron su objetivo en ver hasta qué punto eran capaces de generar un video falso de alta credibilidad. Más tarde, aparecieron otros vídeos como el de Mark Zuckerberg que apareció en todas las portadas de las noticias, ya que surgió a raíz de la filtración de datos por parte de Cambridge Analytics.

Hay que entender que estos vídeos son generados por equipos de profesionales, con una gran cantidad de recursos y que combinan todas las áreas que se han ido comentando en esta serie de artículos. En el ejemplo del deepfake de Obama, se escaneó su cara para crear un modelo 3D de la cara, se entrenó un sistema propio para la voz de Obama ya que el modo en que mueve los labios es único. Algo no al alcance de todos para lograr niveles de realismo tan altos como en el mostrado.

El problema surgió cuando a partir de un hilo de Reddit se explicaba cómo intercambiar dos caras en un video utilizando deep learning y se hizo pública la herramienta. No tardó mucho en comenzar a aplicarse en vídeos de contenido adulto y parodias que afectaron a las actrices más famosas, las cuales no tenían métodos para protegerse más allá de solicitar el borrado de todos esos vídeos.

El hilo de Reddit acabó siendo borrado, pero aparecieron multitud de copias y variaciones Open Source para realizar vídeos sintéticos que modificaban un vídeo original. En este artículo se expondrán las más importantes, junto con sus limitaciones. En el vídeo que aparece a continuación se puede ver el gran potencial que tienen este tipo de manipulaciones y lo creíbles que pueden llegar a ser los vídeos de salida. Durante el apartado de generación se expondrán las herramientas que se utilizan para lograr este tipo de resultados.

Generación de vídeo

Es importante destacar que a la hora de generar un vídeo no estamos creando un vídeo nuevo sino que modificamos uno existente. Para ello, es necesario recopilar una gran cantidad de datos sobre las caras a intercambiar, disponiendo de caras en diversos ángulos, iluminación y expresiones para dar un resultado aceptable. Si no se cuenta con ello es muy fácil detectar que el vídeo ha sido manipulado.

En las manipulaciones existen dos tipos diferentes, por un lado, el intercambio de identidad, donde se cambia el rostro completo de cada uno de los dos implicados, y por otro lado, el intercambio de la expresión, donde se obtienen los mejores resultados pero es más complicado realizarse por la necesidad de una gran cantidad de datos.

Diferencias entre las modificaciones de una identidad en vídeo

Intercambio de identidad

Dentro de este tipo de manipulación las dos herramientas más conocidas son FaceSwap, DeepFakes. El código de todas ellas está disponible en GitHub y desde el laboratorio se comprobó si su funcionamiento era el deseado y podía usarse en un caso real de suplantación pudiendo afectar la reputación de la persona suplantada.

FaceSwap se creó inicialmente por un grupo de estudiantes donde reemplazaron las dos caras de una manera proporcionada.Una de las herramientas más conocidas es DeepFakes, desarrollada en Python y que además dispone de una interfaz gráfica que permite realizar los deepfakes de manera más sencilla y cómoda.

Por nuestros experimentos, es necesario que el modelo se entrene con imágenes que se correspondan con las caras de los objetivos (eliminando los falsos positivos del detector de caras que incorpora la herramienta). El tiempo de entrenamiento estará limitado por la cantidad de datos disponibles y la GPU utilizada. En nuestras pruebas hemos empleado unos 10000 fotogramas con las caras de los objetivos y el tiempo de entrenamiento ha sido de entre 1.5 y 2 días usando una NVIDIA GTX 1080. También hemos podido comprobar que aumentar el tiempo de entrenamiento de forma indefinida no mejora la calidad de los vídeos obtenidos.

Función de pérdida en la creación de un deepfake.

Otra herramienta similar es DeepFaceLab, que permite generar deepfakes de una forma fácil. A partir de esta, se han obtenido vídeos falsos que se han hecho virales en los últimos meses. Un ejemplo de ello es el vídeo del Equipo E.

Intercambio de expresiones

La herramienta más conocida en este caso es Face2Face. Este tipo de herramienta registra las expresiones faciales y las modifica a partir de un modelo pre-entrenado (en la demo existe un modelo de Angela Merkel). La salida del vídeo es de muy baja resolución, algo positivo para dificultar la detección de la manipulación y que puede ser usada en videoconferencias y alegar mala conexión.

Ejemplo demo face2face con Angela Merkel.

Estas herramientas se han utilizado en algunas ponencias, como la de RootedCON2019, para comprobar si sería posible suplantar la identidad de una persona y hacer creer a la otra persona en una vídeollamada para que haga lo que desee el atacante. En los últimos meses, han aparecido noticias sobre el uso de estos sistemas en política y los problemas que pueden derivar en la sociedad.

Como se puede ver en los dos tipos de manipulaciones, existe una gran dependencia de los datos. En el siguiente proyecto se aborda todo el proceso requerido en la realización de un deepfake, donde se ponen de manifiesto los problemas que pueden aparecer durante la generación: falta de datos, que pueden llevar a que la sustitución de la cara falle, el tiempo de entrenamiento necesario o el objetivo que queremos sustituir.

Uno de los últimos trabajos que han aparecido, exponen la posibilidad de crear ciertos videos a partir de una única imagen de la persona objetivo, dando una gran facilidad a la hora de crear nuevos vídeos. En el siguiente vídeo tenéis una muestra del potencial que tiene este trabajo.

Es necesario por lo tanto contar con métodos que nos permitan protegernos frente a la exposición de estos vídeos manipulados, ya que podemos ser víctima de uno de ellos en cualquier momento.

Detección de vídeo

En un análisis detallado por parte de DeepTraceLab detectaron que el 96% de los vídeos que se generaban con tags o relacionados con deepfakes estaban enfocados para el contenido adulto. Queda claro el foco principal en el que se está aplicando en la actualidad.

Esto puede llegar a ser un problema si se generan vídeos de personas que se encuentran en países con grandes censuras, en la charla de Danielle Citron en TED se explica muy bien las consecuencias de un video así. Además, añadió una problemática que no se había dado hasta ahora: si vamos a dudar de vídeos fake, ¿qué ocurre cuando dudemos de la realidad y utilicemos los deepfakes como excusa?

Datos de utilización de DeepFakes. Fuente: Informe DeepTraceLab.

Dada la facilidad para generar vídeos fake y, como se ha podido ver el gran impacto que pueden causar, no se ha hecho esperar que aparezcan iniciativas y artículos para defenderse ante la ingente cantidad de contenido manipulado que aparece en nuestros días.

Los primeros afectados son las redes sociales ya que son el altavoz que se usa para que estas manipulaciones se hagan virales, y por tanto afectar a la credibilidad de estos medios al no detectarlos y eliminarlos o notificarlos.

Twitter y Facebook ya han empezado a tenerlo en cuenta y si detectan que un vídeo ha sido modificado son capaces de alertar a los usuarios de ello. Además de ello, empresas han creado el reto DeepFake Detection Challenge para tratar de crear herramientas que funcionen eficientemente en la detección de vídeos fake.

Uno de los trabajos más importantes en la detección de deepfakes es FaceForensics++. En este proyecto se utilizaron vídeos de YouTube, sobre todo de presentadores de televisión y se le aplicaron las herramientas anteriormente mencionadas (FaceSwap, Face2Face y DeepFake) para generar el primer conjunto de datos de vídeos falsos. El sistema trata después de clasificar qué vídeos ha sido modificado y cuáles no, creando así un modelo muy eficiente.

Este proyecto ha ido evolucionando y han contado con el apoyo de grandes empresas, Google les proporcionó un conjunto de datos de mucha mayor calidad para que realizaran las mismas pruebas y reentrenar su sistema. Además, se liberó el código que permite que con unos conocimientos sobre deep learning sea posible probarlo.

Desde el laboratorio hemos hecho una serie de experimentos para comprobar si esta herramienta es capaz de detectar diversos vídeos y los resultados fueron satisfactorios. En una gran parte del vídeo es posible ver cómo detecta como fake la imagen, ya que funciona calculando para cada frame del video si lo que aparece ha sido manipulado o no.

Con estos resultados podemos afirmar que existen medidas de protección que nos permiten protegernos contra este tipo de manipulaciones burdas, donde no es necesario una gran infraestructura y que suelen ser usados para los ámbitos anteriormente mencionados.

Desde el laboratorio hemos implementado una herramienta llamada fakeVideoForenics, que permite comprobar si un vídeo ha sido manipulado utilizando el modelo creado por este proyecto, además de permitir un modo más rápido o poder enlazar un vídeo de YouTube directamente para que lo compruebe si es real o falso. Otra de las ventajas es que la instalación es mucha más sencilla y te permite empezar a usarla desde un inicio sin necesidad de instalar las dependencias del proyecto.

En los últimos meses, ha salido un artículo que permite a un atacante evadir FaceForensics++ usando técnicas de adversarial machine learning, usando ejemplos adversarios (pequeñas perturbaciones añadidas a entradas legítimas imperceptibles para el ojo humano que hacen clasificar de forma incorrecta a un modelo).

Evasión de FaceForenics++. En la fila superior se muestra el resultado de aplicar FaceForenics++ a un vídeo, siendo detectados todos los fotogramas como falsos. Sin embargo, en la fila inferior, se puede que aplicar ejemplos adversarios sobre el vídeo falso consigue evadir este método de detección. Fuente: Neekhara et al.

El artículo consigue insertar los ejemplos adversarios en los vídeos fake creados con las herramientas anteriores de generación de deepfakes para evadir FaceForensics++ con alta efectividad. En la página oficial del proyecto se pueden visualizar algunos ejemplos de cómo evitar la detección de FaceForensics++.

Conclusiones

El futuro deja ver que cada vez más hay que estar al tanto de lo que vemos en Internet y de asegurarse de que no están intentando manipularnos de ningún modo. En esta serie de artículos se ha discutido cada uno de los tipos de contenido multimedia que utilizamos en nuestro día a día y cómo son vulnerables a cambios intencionados, pudiendo afectar en nuestra toma de decisiones, opiniones o incluso nuestras vidas.

Todo lo mencionado anteriormente se da de forma independiente (se publica a través de un solo un tipo de contenido). El problema real aparece cuando se comienzan a combinar todo este tipo de tecnologías para crear todo un entramado creíble sobre un contenido, siendo creado de manera automatizada.

El programa MediFor de DARPA reúne a los mejores investigadores para tratar de protegerse de manipuladores de las imágenes digitales, mediante el desarrollo de tecnologías para la evaluación automatizada de la integridad de una imagen o un vídeo y su integración en una plataforma forense de medios de comunicación de extremo a extremo. Si tiene éxito, la plataforma MediFor detectará automáticamente las manipulaciones y proporcionará información detallada sobre la forma en que se realizaron esas manipulaciones.

Arquitectura del sistema MediFor. Fuente

Como podemos ver en la arquitectura, todo se basará en 3 indicadores que nos darán la información necesaria para poder deducir la integridad de un contenido multimedia analizado. Estos indicadores serían:

  • Integridad digital, los píxeles son inconsistentes, píxeles replicados o similar.
  • Integridad física de la imagen, si no podemos validar el contenido de la imagen usando las leyes de la física, seguramente sea una modificación. Un ejemplo muy sencillo es un barco volando o un paracaidista en la ventada de un vuelo comercial.
  • Integridad semántica, disparidad temporal de las imágenes, si en el momento de tomar la imagen era un día soleado y la imagen aparece lloviendo se puede asumir alguna modificación.

Como futuras tendencias, DARPA ve clara la proliferación de ataques de suplantación para personas influyentes. Se necesitarán por lo tanto de herramientas para poder demostrar que no son realmente ellos los que aparecen en las manipulaciones. Otra tendencia es la creación de eventos complejos, donde se empleen distintos tipos de sistemas de creación de contenido colaborando en un mismo contexto, como puede ser un accidente de tráfico, donde se generen texto o vídeos fake del accidente o imágenes que no corresponden. Como última tendencia que DARPA considera, es la creación de identidades fake como servicio, con una gran cantidad de diversos tipos de datos, todos generados de manera sintética pero relacionados entre ellos, creando la ilusión de que esa identidad es real.

Problemas futuros derivados de la manipulación de contenido. Fuente

Finalmente, para recopilar todo lo que se ha visto a lo largo de esta serie de artículos, hemos creado un repositorio de herramientas, artículos y demos relacionados con la generación y detección de contenido sintético. Esperamos seguir aumentando el repositorio con todo los contenidos que vaya apareciendo en los próximos meses. A parte de esto, se puede ver gran parte del contenido en la ponencia que se dio por parte de integrantes del laboratorio de seguridad de BBVA Next Technologies en las jornadas STIC organizadas por el CCN-CERT.

Repositorio del laboratorio de seguridad con todo lo relacionado con el contenido sintético.

Esperamos que todo este contenido sea de utilidad y los lectores estén más concienciados sobre las capacidades que existen actualmente tanto en la generación de contenido sintético de cualquier tipo y cómo es posible detectarlas para evitar ser engañados por este tipo de manipulaciones.

Fuente de la imagen de portada: Ebizuniverse

Las opiniones vertidas por el autor son enteramente suyas y no siempre representan la opinión de BBVA Next Technologies.

¿Quieres saber que más cosas hacemos en BBVA Next Technologies?