Tensorflow Object Detection en videos, basta de pizza, donuts y cakes...

En un artículo anterior les compartí un desafío en donde analizamos una imagen de una situación social, una cena con amigos. Ahora vamos a trabajar en un desafío mayor, vamos a analizar videos. En este desafío solo buscaremos detectar un objeto prohibido dentro del video (pizzas, donuts, cakes). Vamos a utilizar una simple metodología:
  1. Leemos el video y los separamos por frames (luego los tratamos como imágenes)
  2. Analizamos cada imagen con nuestra rutina de detección de objetos basada en Tensor Flow[version 1.2.1] Object Detection API .
  3. Podríamos volver a ensamblar el video para visualizar los resultados. [tenemos que saber que es un procedimiento que consume muchos recursos]
  4. Como no deseamos ver los resultados de manera visual,  les voy a proponer algo. Ya que solo necesitamos identificar un objeto con una probabilidad alta, vamos a colocar reglas para generar una alerta al detectar estas etiquetas dentro del video.
El procedimiento de detección y alerta sería el siguiente, cuando encontramos una etiqueta de objeto prohibido con una probabilidad alta, alertamos y cerramos el análisis (hace mucho más veloz el análisis para muchos casos).

Para la manipulación del video vamos a utilizar, OpenCv, si quisiéramos realizar otras operaciones con el vídeo podríamos utilizar también moviepy. [entorno python]

Vamos a concentrarnos solamente en buscar etiquetas con un probabilidad mayor al 50% 60% 90%, si encontramos ese caso, para simplificar el desafío cerraremos la rutina de detección. (también podemos analizar si una etiqueta de las que denominamos prohibidas, está en el mismo momento de una etiqueta persona)

Veamos los 3 casos propuestos de forma práctica:

Caso de donuts

*Vamos a detallar este primer caso
Extracto video ensamblado con detección visual:

Animación de la rutina de detección y alerta:
*Regla para detener la detección con donut > 87%.

Caso pizzas

Extracto video ensamblado con detección visual:

Muchas veces, como este caso, la identificación visual es muy pequeña, pero nuestra rutina no tiene problemas con eso.

Caso Cakes

Extracto video ensamblado con detección visual:


Ahora si sus pareja les prohíbe ingerir estos alimentos, tendrán que tener más cuidado, o por lo menos evitar tener un video del mismo.

Aquí la rutina completa:

Licencia Creative Commons
Tensorflow Object Detection en videos, basta de pizza, donuts and cakes... por Nicolas Bortolotti se distribuye bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.

Comentarios

Entradas más populares de este blog

Modelando relaciones en UML, un acercamiento a las Asociaciones

Utilizando Intents implícitos para crear actividades

Secuencias…Modelado indispensable