lunes, septiembre 05, 2016

Cómo la Inteligencia Artificial y el Deep Learning ayudan a reconocer personas ocultas en fotos pixeladas o difuminadas

El uso de de técnicas de ofuscación de personas en fotografías es muy común. Desde técnicas que pixelan las caras de gente que aparece en una determinada foto hasta sistemas de difuminación (o bluring) de caras en vídeos. Muchos de los sistemas de publicación de contenido online, como el propio YouTube, cuentan con este tipo de sistemas de protección de la intimidad, y de hecho son aplicados por muchos medios de comunicación para ocultar la cara de personas que aparecen en fotografías de sus revistas o por los mismos usuarios que desean permanecer anónimos en determinados momentos.

Figura 1: Cómo la Inteligencia Artificial y el Deep Learning ayudan a
reconocer personas ocultas en fotos pixeladas o difuminadas

Ahora bien, personas bien entrenadas en reconocimiento facial y fisonomía podrían llegar a saber quién está detrás de una foto pixelada si ha visto muchas fotos de la persona en cuestión antes, Por ejemplo, un investigador que estuviera intentando localizar a prófugo, podría llegar a reconocerlo en una foto pixelada si ha sido capaz de memorizar las facciones del objetivo lo suficiente como para reconocerlo aún ofuscada.  Como os podéis imaginar, la potencia y efectividad de ese proceso humano está limitada por nuestra capacidad, que en procesos en los que la cara ha sido difuminada con un algoritmo lo suficientemente potente, para nuestras limitaciones de percepción es un reto demasiado complejo.

Figura 2: Artículo "Defeating Image Obfuscation with Deep Learning"

En un artículo publicado con el título de "Defeating Image Obfuscation with Deep Learning", los investigadores Richard McPherson, Reza Shokri y Vitaly Shmatikov, han mostrado como el Deep Learning por medio de redes neuronales puede ayudar significativamente a mejorar la efectividad del reconocimiento de personas en fotografías en las que aparecen ofuscadas por alguna de las técnicas de pixelación o difuminación utilizadas hoy en día.

Figura 3: Una cara difuminada con el algoritmo de YouTube vídeo en dos fotogramas distintos

Para ello, es necesario realizar un entrenamiento supervisado de la red y contar con fotografías desofuscadas del grupo de personas buscadas para luego localizar a la persona que aparece pixelada en una determinada fotografía. El proceso requiere que se entrene al sistema con diferentes técnicas de ofuscación para cada fotografía desofuscada, lo que ayudará a la red neuronal a ser capaz de localizar cuáles son las partes de una fotografía que guarda relación con la zona pixelada o difuminada en cada proceso de ofuscación utilizado.

Figura 4: La red neuronal es capa de aprender cuáles son las zonas en una imagen y las relaciones entre cada una

Para la prueba usaron diferentes conjuntos de imágenes, incluidas las de texto manuscrito. Los conjuntos fueron los que aparecen en la imagen. MNIST que son más de 60.000 imágenes de porciones de texto y un conjunto de 10.000 para test. CIFRAR10 para reconocimiento de objetos, y se usa un dataset de 50.000 imágenes para entrenamiento y 10.000 imágenes para test. AT&T utiliza 400 imágenes de 40 personas en escala de grises, con 8 imágenes de cada uno para entrenamiento y 2 para test. Por último, FaceScrub es un conjunto de datos de 100.000 imágenes de 530 personalidades (sacadas de medios de publicación y redes sociales) con 10 imágenes de cada famoso usadas como test.

Figura 5: Conjuntos de pruebas y algoritmos de ofuscación empleados

El proceso, como se ve, necesita de bastante información, pues es necesario tener imágenes previas y haber entrenado la plataforma, pero una vez hecho es capaz de reconocer a personas en las fotografías en unos tiempos muy cortos en comparación con el trabajo realizado manualmente.

Figura 6: Los resultados con la mezcla de algoritmos varían entre el 50% y el 90% de éxito

Al final, el proceso de Deep Learning lo que permite es acelerar el tiempo de descubrimiento de trabajo y ampliar el conjunto de resultados en los que se obtiene un valor positivo. Esto permite pensar en que si en una investigación se tienen suficientes fotografías originales de personas buscadas, se podría generar un sistema por el cuál se ofuscan esas fotografías siguiendo los sistemas más comunes en primer lugar, en segundo lugar se entrena la plataforma, y en tercer lugar se alimenta con fotos de Internet ofuscadas para saber si alguna de ellas es una de las personas objetivo.

Esto podría ser útil en muchas situaciones en las que un delincuente presume de un acto ofuscando su identidad en la red, o cuando alguien intenta ocultar una ubicación o un lugar ofuscando objetos. 

Saludos Malignos!

2 comentarios:

  1. Muchas gracias por el aporte. No he leido aun el articulo original pero lo veo muy interesante. Como es lógico, la fase de entrenamiento es la que más potencia de computación requiere y si no converge muy rápido y se produce sobre aprendizaje puede ser un método muy bueno para desofuscar objetos e incluso textos... estoy seguro que se podrá utilizar combinado para realizar otras aplicaciones. Añadido al baúl de cosas a revisar a ver si podemos hacer algunas pruebas...

    ResponderEliminar
  2. Muchas gracias por el aporte. No he leido aun el articulo original pero lo veo muy interesante. Como es lógico, la fase de entrenamiento es la que más potencia de computación requiere y si no converge muy rápido y se produce sobre aprendizaje puede ser un método muy bueno para desofuscar objetos e incluso textos... estoy seguro que se podrá utilizar combinado para realizar otras aplicaciones. Añadido al baúl de cosas a revisar a ver si podemos hacer algunas pruebas...

    ResponderEliminar