Seguridad

Blade Runners: Cómo crear un Test de Voight-Kampff para DeepFakes (Parte 2 de 3)

Dentro de todas las medidas que se están desarrollando para detectar DeepFakes, son especialmente importantes aquellas. que se pueden incluir directamente en un sistema de vídeo conferencia en tiempo real para detectar que alguien se está enmascarando detrás de una GAN cuando estás teniendo una reunión virtual con él. Es decir, detectar que estás hablando con un Virtual Replicant – haya detrás un humano o un bot – en lugar de con la persona de verdad que se encuentra detrás de esa máscara que estás viendo. 

Figura 11: Blade Runners: Cómo crear un Test de Voight-Kampff para DeepFakes
Imagen: Boceto de la máquina Voight-Kampff (Parte 1 de 3). Fuente:


Para ello, vamos a ver un par de técnicas que se han popularizado, y que buscan detectar biometría humana creíble en las imágenes transmitidas por vídeo y todo aquello que se salga fuera de lo normal, debe levantar una alerta de seguridad.

2.- Detección de vídeos conferencias que usan DeepFakes
A continuación, vamos a ver las técnicas, basadas en la biometría de los seres humanos, que pueden servirnos para detectar errores en los Virtual Replicants creados por Inteligencia Artificial. Al final, son seres sintéticos y no humanos, que adolecen de los límites físicos de una persona se verdad – aunque los simulen –


2018 – Detección del parpadeo humano
Fue una de las primeras medidas para detectar humanos en vídeos que pudieran haber sido falsificados con DeepFakes. Básicamente se basa en que una persona adulta sana, generalmente, entre cada parpadeo hay un intervalo de 210 segundos, pero las tasas reales varían según el individuo y la actividad que esté realizando. La velocidad media de parpadeo en reposo es de 17 parpadeos/min 0.283 parpadeos por segundo. Durante la conversación, esta tasa aumenta a 26 parpadeos/min 0,45 parpadeos/segundo mientras que la tasa de parpadeos en lectura cambia más cercana al reposo. Esta diferencia puede ser interesante, ya que muchos de los políticos que hablan probablemente estén leyendo cuando están siendo filmado. 
Además, la duración de un parpadeo puede oscilar entre 0.1-0.4 segundos/parpadeo. Por lo tanto, tomaremos como referencia de parpadeo normal una duración en el intervalo 0.1-0.4 segundos y una tasa de parpadeo que oscile entre los 17 y los 26 parpadeos/min. La detección del parpadeo de una persona es un problema de visión artificial que los servicios cognitivos llevaban tiempo analizando. En nuestro ejemplo implementamos esta solución de Pathak-ashutosh.

Figura 13: Detección de una DeepFake en un Microsoft Teams. Cero parpadeos.

No llegamos a implementar una solución específica para calcular si estaban los parámetros humanos o no, sólo hicimos una aproximación contando los parpadeos y ajustándolo a los datos dentro del rango humano (básico). Teniendo los datos, es sencillo implementar la solución completa propuesta en el artículo anterior.

   
2020 – Detección de pulso con DeepFakesON-Phys

Otra de las técnicas que se ha comenzado a utilizar en la detección de Virtual Replicants utilizando DeepFakes es la de estimar si el latido del corazón – el pulso – es normal para la imagen que estamos viendo. Para ello se trata de monitorizar con imágenes la detección del pálpito del corazón.  Las dos técnicas más utilizadas para esto son la Fotopletismografía en remoto (rPPG) y el Balistocardiograma (BCGs). Nos centramos en la Plestimografía y más en concreto en, como hemos dicho en La Fotoplestimografía.

La Plestimografía es una técnica del cálculo del latido del corazón de un individuo a través de los distintos cambios de presión que sufre su piel, y es muchas veces utilizada para monitorizar a un individuo en cuestión, convirtiéndose también en un problema a resolver en el mundo de la visión artificial como Fotoplestimografía, como se puede ver en el artículo científico anterior del año 2013.

La Fotoplestimografía en remoto es una técnica de Computer Vision que intenta emular esa técnica utilizando un vídeo del sujeto y, por tanto, calcular los cambios de presión a partir de diferencias de intensidad de píxel en los canales RGB de éste el movimiento de la cabeza y la respiración. Esta técnica tiene muchas desventajas debido a que su precisión está altamente influenciada por parámetros externos, como la luz ambiental, la calidad de la cámara, el color de piel del individuo o la distancia entre la cámara y el sujeto, pero nos puede servir para detectar DeepFakes como explica el artículo científico de DeepFakesON-Phys.

En la figura anterior aparece la arquitectura del modelo utilizado en DeepFakesON-Phys, que se basa en dos modelos de redes neuronales: Motion Model para la detección de movimiento de la cabeza, y Appearance Model, para la detección de cambios en la densidad de píxel.

Figura 17: Análisis de pulso de un Virtual Replicant usado por un Bot de GPT3
que usa una DeepFake. Se pueden ver parámetros raros.
2021 – Detección de DeepFakes por Gaze Tracking
Este es otro punto importante a tener en cuenta en el análisis de una posible DeepFake en el que nos vamos a centrar. Varios estudios recientes señalan que es en la región de los ojos donde peor se superpone el DeepFake y, por ende, donde mejor se detecta. Las técnicas, se basan en hacer «Gaze Tracking» y saber si tiene sentido la mirada de las DeepFakes.
En este caso hemos usado algunos vídeos provistos en el reto DeepFake Detection Challenge de Kaggle para generar y entrenar un sistema de detección capaz de “reconocer un DeepFake por los ojos”, mediante una CNN con 5 convoluciones.

No vamos a entrar en el detalle de la red porque daría para un post aparte, pero con la arquitectura ilustrada en la imagen siguiente y utilizando 1.460 archivos para entrenar la red, se obtiene un accuracy (porcentaje de aciertos global) del 0.9760 en la fase de entrenamiento y del 0.9466 para la fase de test, con 206 archivos. Además, la especificidad o tasa negativa real (TNR) es del 0. 9612, es decir, que la red neuronal propuesta es capaz de detectar el 96% de DeepFakes que le llegan, aunque no haya visto nunca esas caras.

Figura 20: Esquema simplificado de la CNN utilizada


Como se puede ver, las investigaciones relativas a reconocer los detalles que ayudan a saber si hay algo raro para ser un humano, han avanzado mucho, lo que nos va a ayudar a construir una herramienta, como veremos en la última parte, que nos ayude a la detección de Virtual Replicants en tiempo real.

******************************************************************************************
– Blade Runners: Cómo crear un Test de Voight-Kampff para DeepFakes (Parte 3 de 3)
******************************************************************************************

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.