Generando firmas digitales con el andar de las personas

May 09 2022
Un intento innovador de mejorar la ciberseguridad con el aprendizaje automático
A principios de 2018, habíamos previsto la utilidad de la detección de puntos de referencia de varios puntos en la palma y los dedos de la mano humana y explicamos cómo podemos construir sobre la detección de puntos de referencia para comprender varias señales a través de la mano con el aprendizaje automático. Desde entonces, hemos sido testigos de múltiples productos que aprovechan esta idea útil para comprender el gesto realizado por la postura de la mano, principalmente a través de instantáneas estáticas.
Foto de Matt Quinn, Unsplash

A principios de 2018, habíamos previsto la utilidad de la detección de puntos de referencia de varios puntos en la palma y los dedos de la mano humana y explicamos cómo podemos construir sobre la detección de puntos de referencia para comprender varias señales a través de la mano con el aprendizaje automático. Desde entonces, hemos sido testigos de múltiples productos que aprovechan esta idea útil para comprender el gesto realizado por la postura de la mano, principalmente a través de instantáneas estáticas. En el artículo de hoy, nos gustaría dar un paso adelante y concentrarnos en un problema mayor de reconocimiento de personas a través de la detección de la forma de andar haciendo uso de más puntos de referencia en un cuerpo humano en un video corto. Creemos que este tipo de aplicaciones ocuparán un lugar central con los continuos avances en la detección de puntos de referencia humanos y un procesamiento más rápido.

¿Por qué es importante la detección de la marcha?

Cuando la pandemia de Covid-19 golpeó el mundo, las personas tuvieron que usar una máscara que cubría sus rostros. De repente, muchos modelos de reconocimiento facial tuvieron que tomar decisiones solo con el conjunto limitado de puntos de referencia provenientes de la frente y los ojos. De la noche a la mañana, la firma digital generada a través del reconocimiento facial se volvió incapaz. También hemos visto que, con la llegada de las impresoras 3D, los delincuentes están generando rostros para hacerse pasar por sus objetivos. Para empeorar las cosas, hoy en día, los modelos Deepfake fácilmente disponibles son lo suficientemente buenos como para convencer a la audiencia de algunas declaraciones de la víctima objetivo.

Todas estas lagunas y deficiencias en la tecnología más buscada de hoy requerirán la exploración de técnicas más nuevas. La generación de firmas digitales a través de la forma de caminar de uno podría ser un comienzo prometedor.

Modelo de detección de puntos de referencia humanos

Si bien desarrollar un modelo de detección de la marcha desde cero puede ser un ejercicio muy interesante y divertido, requerirá una gran cantidad de datos, mucha potencia informática y tiempo al que muchos de nosotros no tendremos acceso. Por lo tanto, intentaremos construir sobre un buen trabajo que ya se ha realizado. Al ser un desarrollador de aplicaciones de aprendizaje automático, es muy importante estar al tanto de todos los desarrollos que tienen lugar en el campo de la investigación. El trabajo realizado en el reconocimiento de los diversos puntos de referencia en el cuerpo humano a través de modelos de aprendizaje profundo formará un componente fundamental de nuestra arquitectura.

TensorFlow Hub nos proporciona muchos modelos aprendidosque nos ayudará en la detección de los puntos de referencia del cuerpo humano. Como no modificaremos estos modelos y, en cambio, estamos más interesados ​​en realizar inferencias únicamente a través de estos modelos, incluso podemos optar por mejorar nuestra latencia al cambiar a la versión TensorFlow Lite cambiando un poco la precisión de los modelos. En nuestro experimento, elegiremos la versión TensorFlow Lite de la variante Thunder del modelo MoveNet presente en TensorFlow Hub. El modelo MoveNet nos dará las coordenadas 17 XY junto con la puntuación de confianza en cada punto clave.

Puntos clave emblemáticos (Fuente de la imagen: TensorFlow)

tipo de datos

Ahora que nuestro modelo de detección de puntos de referencia humanos se ha finalizado, el siguiente paso es centrarse en los datos. Como nuestro objetivo es crear una aplicación en la que vamos a crear una especie de firma digital de una persona que camina, es poco probable que tengamos muchos datos de personas individuales. En escenarios prácticos, podemos obtener como máximo de 6 a 10 segundos de una grabación de video en la que tendremos que trabajar. Nuestro objetivo es muy similar a decir que las instituciones financieras pueden recolectar como máximo 1 o 2 muestras de firmas de clientes mientras este último abre una nueva cuenta con ellos.

Profundizando en la configuración de nuestro problema, ejecutaremos nuestro modelo de estimación de postura en cada cuadro del video para generar una serie de datos de tiempo de ubicaciones de puntos de referencia en la imagen como se muestra a continuación.

Izquierda: Video de entrada, Centro: Detección, Derecha: Puntos clave (GIF por autor)

Ahora, surge una pregunta natural: ¿cómo vamos a perfilar el patrón de caminar de un individuo en solo 10 segundos de grabación? Este es el lugar crucial donde tenemos que llenar el vacío, ya que los datos son muy superiores al aprendizaje automático o los modelos de aprendizaje profundo. Intentaremos imitar tantos patrones posibles como se nos ocurra.

Aumento de datos

El aumento de datos es una técnica de creación de un conjunto de datos artificial para complementar la escasez de datos ya disponibles. Los datos recién generados simulan las partes faltantes de los patrones en los datos existentes, lo que facilita el procedimiento de aprendizaje de los modelos ML durante el entrenamiento. Habíamos tratado este tema en profundidad en un artículo anterior que se enfocaba específicamente en el aumento de datos de imágenes.

En el problema que estamos tratando de resolver, además de una menor cantidad de datos, incluso debemos ser conscientes de que el individuo puede caminar de manera diferente a nuestro video de referencia y es ilógico esperar que el individuo mantenga un estilo similar siempre. . A pesar de los cambios en el estilo de caminar, en general, la dinámica general en el movimiento y la coordinación de las partes de su cuerpo debe permanecer bastante similar durante un tiempo (por ejemplo, en los últimos años). Sin embargo, la pieza que falta de caminar de manera diferente debido a diferentes situaciones generando así un estilo diferente, la complementaremos a través del aumento de datos.

a) Caminar rápido:
mientras que la persona durante la filmación del video de referencia puede no estar preocupada por nada más, en la vida real, seguramente, puede tener prisa. Cuando la persona camina rápido, la transición punto a punto entre los marcos no será suave ni continua. Para simular tal situación en el video, podemos omitir aleatoriamente algunos cuadros a intervalos regulares.

Caminar rápido (GIF por Autor)

b) Caminar lento:
similar a caminar rápido, una persona puede haberse lastimado o tal vez tener todo el lujo del tiempo y, por lo tanto, puede caminar lentamente. Para simular condiciones de caminata lenta, debe insertar marcos entre los marcos existentes. Los puntos de referencia en este video lento deben interpolarse a partir de los fotogramas cercanos para que el movimiento de una persona parezca continuo y un mayor número de fotogramas en el video a una velocidad constante de fps hace que la persona camine lentamente.

Caminando lento (GIF por Autor)

c) Mano(s) estancada(s):
Muchas veces, al caminar, uno puede estar sosteniendo una bolsa en una o ambas manos. En tales circunstancias, la(s) mano(s) que sostienen la(s) bolsa(s) no se moverán mucho y vibrarán dentro de un rango pequeño. Simulamos tales condiciones manteniendo los puntos de referencia correspondientes a la muñeca, el codo y el hombro de la mano elegida moviéndose en un rango pequeño.

Izquierda: Mano izquierda estancada, Medio: Mano derecha estancada, Derecha: Ambas manos estancadas (GIF del autor)

d) Solo la postura superior:
a veces, las cámaras que están grabando el movimiento del objetivo pueden haber sido instaladas a una altitud mayor o inclinadas en una posición extraña de modo que solo puedan capturar la postura superior del sujeto. Necesitamos simular tales condiciones desplazando los puntos de referencia de la persona hacia abajo para que, naturalmente, parezca que solo se ve la postura superior.

Postura superior visible (GIF por Autor)

e) Ruido aleatorio:
Otro problema con la cámara que graba el movimiento del objetivo podría ser que se haya vuelto obsoleta y los marcos tengan fallas. También podría suceder que la condición de iluminación del sujeto no sea la adecuada. En tales circunstancias, algunos puntos de referencia pueden desaparecer aleatoriamente y/o el modelo de estimación de pose ha realizado una predicción de confianza muy baja. Este tipo de aumento también agrega un poco más de efecto de regularización que otros aumentos para evitar que nuestro modelo se sobreajuste.

Puntos clave con fallos (GIF por autor)

f) Caminar con pausa:
Una persona puede tener que hacer una pausa intermedia para mirar su celular o hacer alguna otra actividad. Bajo tales circunstancias, las piernas permanecerán estancadas pero otras partes del cuerpo como las manos y la cabeza pueden moverse un poco.

Andando con parada de por medio (GIF by Author)

g) Caminar de izquierda a derecha:
Hasta ahora, en todos los videos hemos asumido que el sujeto caminará justo frente a la cámara en línea recta. Pero el sujeto puede moverse aleatoriamente hacia la izquierda o hacia la derecha.

Izquierda: Moviéndose a la derecha, Derecha: Moviéndose a la izquierda (GIF del autor)

h) Combinaciones mixtas:
el sujeto no necesita alterar su estilo habitual de una manera, por breve que sea la grabación. Como resultado, tenemos que combinar dos o más de las condiciones anteriores para simular el estilo mixto, ya sea en serie o incluso en paralelo.

i) Piense en más alternativas:
nuestro modelo solo será tan bueno como la cantidad de datos diversos que pueda ver durante el entrenamiento. Si bien el conjunto anterior de estilos alternativos para caminar agregará una buena variedad a nuestro conjunto de datos, nunca hay un límite estricto para los tipos de escenarios en los que podemos pensar para proporcionar más aumentos de datos.

Modelo de construcción

Construir un modelo de clasificación puede sonar interesante para clasificar directamente el tema y crear cada tema como una clase. Pero hay una gran caída en este enfoque. Estamos pensando en escalar esta solución a varios miles y un enfoque clasificador dará como resultado una gran matriz densa (capa final). Más importante aún, a pesar de todo el aumento de datos que hemos hecho, todavía no tenemos datos que puedan crear buenos límites a través del aprendizaje de representación para cada clase.

Para contrarrestar los problemas anteriores, utilizaremos el aprendizaje de una sola vez. Con el aprendizaje de una sola toma, podremos evaluar los videos de nuevas personas sobre la marcha sin siquiera incluirlos como parte de la capacitación. El aprendizaje de una sola vez hace uso de la función de similitud para comparar cómo dos entidades son similares entre sí.

Nuestra arquitectura incluirá la red siamesa . Dado que nuestros datos se basan en series temporales, emplearemos redes neuronales recurrentes (GRU o LSTM) dentro de la red siamesa. Pasaremos los datos de la serie temporal de las ubicaciones históricas de un video de referencia y los datos de la serie temporal de las ubicaciones históricas del video de prueba a la red siamesa. Las representaciones latentes individuales luego se pasarán a través de capas densas para maximizar o minimizar la puntuación en función de que el video pertenezca a la misma persona o no, respectivamente.

Arquitectura de alto nivel (Imagen del autor)

Resultado

En nuestro experimento, recopilamos datos grabando videos de personas caminando. Incluso recortamos videos disponibles gratuitamente de personas caminando que estaban presentes en conjuntos de datos de código abierto y también recopilamos varios videos en los que los propietarios de los videos nos permitieron usar sus recursos para nuestra investigación.

Aquí está el resultado de la inferencia en uno de los videos de prueba que se envía a nuestro modelo entrenado. La puntuación de similitud con el vídeo de referencia del sujeto se muestra entre paréntesis. El modelo dio una puntuación de similitud inferior a 0,5 con todos los videos de referencia incorrectos

Izquierda: Video de entrada de prueba, Medio: Detección, Derecha: Resultados con puntaje de similitud (GIF por autor)

¿Es este enfoque el mejor?

No, en absoluto. Todo nuestro objetivo de este experimento era generar un nuevo tipo de firma digital. Con cada avance en técnicas innovadoras destinadas a fortalecer la seguridad, los falsificadores siempre encontrarán una manera de eludirla. Actualmente, con la ayuda de vid2vid , se puede generar un video falso copiando el modo de andar de la víctima. No obstante, el análisis de la marcha combinado con el reconocimiento facial será un buen mecanismo para generar la firma digital de una persona. Sin embargo, creemos que el método simple que se muestra en este experimento puede formar un buen modelo de referencia para avanzar.

Conclusión

En este artículo, aprendimos cómo construir sobre las soluciones existentes. Aprovechamos las mejores soluciones de estimación de pose para adaptar nuestra detección de la marcha mediante el uso de redes siamesas y el aumento de datos para simular muchos escenarios posibles de caminar. En este artículo, hemos demostrado cómo se pueden rediseñar las soluciones de Machine Learning para resolver otros casos de uso.

Código

Si desea echar un vistazo al código utilizado en este experimento, puede consultarlo en este repositorio de GitHub.

También puede consultar nuestro artículo anterior de explicación de los modelos de mezcla gaussiana y el algoritmo de maximización de expectativas.

© Copyright 2021 - 2022 | unogogo.com | All Rights Reserved