Analizar fotograma a fotograma un vídeo con Azure Computer Vision

Gisela Torres
Computación en la nube
Una de las pruebas de concepto que me ha tocado desarrollar esta semana era para el análisis de videos con Azure Computer Vision, centrándome principalmente en la detección de contenido adulto, que puede ser sexual, gore

Analizar fotograma a fotograma un vídeo con Azure Computer Vision

Una de las pruebas de concepto que me ha tocado desarrollar esta semana era para el análisis de videos con Azure Computer Vision, centrándome principalmente en la detección de contenido adulto, que puede ser sexual, gore o racial. Gracias a esta se ha podido demostrar la fiabilidad con la que el servicio puede detectar este tipo de escenas, fotograma a fotograma. En este artículo te comparto el código de dicha prueba.

El objetivo

Si bien es cierto que Computer Vision ofrece más que la detección de contenido adulto, esta prueba de concepto está centrada en este escenario, aunque podría aprovecharse para más que eso. El objetivo principal es ser capaces de analizar todos los frames, sin discriminar ninguno, y obtener el número total de cada uno de los tipos mencionados: adulto, racial y gore.

El código

Para poder probar este escenario he utilizado el siguiente código en Node.js:

Como puedes ver, en él utilizo el módulo ffmpeg-extract-frames para poder extraer todos los fotogramas del video que quiero analizar. Se crea una carpeta, dentro del directorio frames, con el nombre del video, sin la extensión, y hago la extracción. Una vez que ya tengo qué analizar llamo a Azure Computer Vision, utilizando el módulo @azure/cognitiveservices-computervision, y le paso uno por uno cada frame que tengo en el directorio. Esto dará una salida como la siguiente por cada uno de los fotogramas que estoy analizando:

Salida por cada uno de los frames analizados

Para que todo esto funcione debes crear un archivo .env con los siguientes valores:

Y añadir la ruta de tu local donde tengas el archivo que quieras analizar en la constante VIDEO_TO_TEST.

Una vez finalice el análisis obtendrás un resultado como el siguiente:

Resultado final del análisis

El código de la PoC lo tienes en mi GitHub.

¡Saludos!

Articulo Original haz click aqui

Gisela Torres

Gisela Torres trabaja en Microsoft como Cloud Solution Architect. Se trata de un puesto técnico cuya misión es apoyar y asesorar sobre soluciones y arquitecturas cloud utilizando Microsoft Azure como plataforma. Antes de eso trabajo como arquitecta de software y desarrolladora de aplicaciones en varias empresas. Durante esos años recibio varios premios por ejemplo Most Valuable Professional en Microsoft Azure. Le encanta programar y la tecnología en general.

Más artículos de Gisela en su blog - https://www.returngis.net/

Related Posts

Únete a nuestra Newsletter

Lidera la Conversación en la Nube