Para esta última parte de la serie de Cognitive Services & Cyber Security os voy a hablar de dos pruebas de concepto (PoC) basadas den comunicación silenciosa usando los servicios de Visión Artificial. En este caso nos inspiramos en la idea de la campaña de comunicación realizada para hacer saber que una persona estaba siendo raptada que dio la vuelta al mundo, y sobre ello creamos dos ideas de trabajo. La primera orientada a reconocer "Símbolos", y la segunda orienta a reconocer "Acciones".
El gesto que se hizo viral por la red social de Tiktok se conoce como "Signal for Help", o "Señal de petición de ayuda", y consiste en cogerse el dedo pulgar de la mano con los cuatro dedos. Es decir, comenzar con los cuatro dedos estirados, y capturar el dedo pulgar. Una clara referencia a que una persona está sufriendo un secuestro, acoso, violencia, y necesita ayuda.
Figura 36: "Cognitive Services & Cyber Security "Ideas Locas".
Artificial Vision & Silent Communications
El gesto que se hizo viral por la red social de Tiktok se conoce como "Signal for Help", o "Señal de petición de ayuda", y consiste en cogerse el dedo pulgar de la mano con los cuatro dedos. Es decir, comenzar con los cuatro dedos estirados, y capturar el dedo pulgar. Una clara referencia a que una persona está sufriendo un secuestro, acoso, violencia, y necesita ayuda.
Con este idea, pensamos que sería fácil entrenar un modelo de Inteligencia Artificial que utilizando un Cognitive Service de Visión Artificial pudiera detectar en cámaras de instituto, cámaras de seguridad de empresas, e incluso de recintos públicos, que una persona está pidiendo ayudar.
Imagina que una persona circula por un museo, o un chico por un instituto y, delante de una cámara de seguridad hace este gesto. Si la cámara de seguridad lleva incorporado este modelo de Inteligencia Artificial entrenado, detectaría el gesto, y podría saltar una alerta que enviara ayuda inmediata a esa persona.
Para hacer esto, como os he explicado en el primer párrafo, trabajamos primero en reconocer "Símbolos" que serían patrones concretos de una persona o de una mano, y en reconocer "Acciones" que sería más complejo, porque habría que reconocer, al menos, dos posiciones (si no más) en una secuencia concreta.
Reconocimiento de Símbolos
Para esta prueba de concepto se nos ocurrió que podríamos hacer un sistema de reconocimiento del Código Morse con un Cognitive Service de Artificial Vision, definiendo tres símbolos: Punto, Raya, y Fin de letra.
Para hacer el proceso hicimos un modelo que obtiene 20 imágenes por signo - que será cada una de las etiquetas del modelo - en tiempo real desde la webcam. Después se selecciona la parte de la imagen que es la activación, en nuestro caso la mano, usando un sistema de "labeling" que detecta partes del cuerpo.
El resto es entrenar el modelo y una vez hecho esto, ya se puede utilizar para reconocimiento de los símbolos con la imagen capturada en tiempo real desde la webcam como podéis ver en el vídeo del ejemplo. El resultado, podemos hacer un sistema de comunicación silenciosa utilizando Código Morse como pretendíamos en el experimento.
Para realizar esta PoC usamos TensorFlow, con una colección de objetos ya pre-entrenados y el framework de TensorFlowObject Detection que fue creado por Google para ayudar a la detección de objetos en imágenes.
Reconocimiento de Acciones
En este caso es un poco diferente, porque necesitamos reconocer un movimiento, así que el trabajo exigía otra aproximación. Para ello se captura para cada símbolo una secuencia de movimiento o "keypoints" usando 30 frames capturados desde la webcam. Se etiqueta la secuencia de movimientos y con ello ya se puede pasar al entrenamiento de una red LSTM (Long Short-Term Memory) con arquitectura RNN (Recurrent Neural Network) de 800 épocas.
Una vez entrenado, se pueden realizar diferentes acciones, que como veis en nuestro caso, fueron: Nada, la Letra A (que podría ser cualquier otra acción), Señal de Alerta y Señal de Secuestro. Y cada una de ellas puede, una vez sea detectada, generar cualquiera acción de tratamiento.
Para construir esto, también utilizamos TensorFlow, pero utilizamos Mediapipe para que nos ayudara a reconocer las manos y la cara de forma correcta, así como la librería Numpy para procesar los resultados obtenidos en Mediapipe.
Conclusión
Durante este artículo, hemos podido ver la cantidad de posibilidades que tenemos hoy en día para construir nuevos sistemas informático, aplicaciones, productos o servicios, gracias a la evolución exponencial de la Inteligencia Artificial en los últimos años, con foco especial en algoritmos avanzados de de Machine Learning y Cognitive Services que puedes aplicar a Ciberseguridad.
Figura 43: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández |
Con los servicios cognitivos cambiamos la manera en la que interactuamos con la tecnología. Ya no es solo teclado y pantalla o impresora. Ahora podemos hablar, podemos dibujar, podemos escribir en papel, podemos atacarlos por medio de comandos de voz o podemos crear secuencias complejas visuales para que reconozcan acciones, movimientos y comportamientos.
¡Saludos Malignos!
*****************************************************************************************
*****************************************************************************************
Autor: Chema Alonso (Contactar con Chema Alonso)
No hay comentarios:
Publicar un comentario