COVID-19: Detector de distanciamiento social habilitado por IA usando OpenCV
Publicado: 14 Ago 2020, 19:57
COVID-19: Detector de distanciamiento social habilitado por IA usando OpenCV y Python
Descripción
El distanciamiento social es una de la mejor forma de contener la propagación del virus COVID-19 es por ello que un equipo de inteligencia artificial, desarrolló un una herramienta que permite visualizar si existe el distanciamiento social utilizando conceptos de visión por computadora.
Para este detector de distanciamiento social, se utilizó los pesos del algoritmo de detección de objetos YOLO v3 y el conjunto de datos COCO que se pueden encontrar en linea. La biblioteca principal que se utilizó es OpenCV junto con el módulo Deep Neural Network .
El aprendizaje profundo se utiliza para detectar y localizar a los peatones que luego se asignan a una proyección de vista de pájaro de la cámara como se explicó anteriormente. Una vez que tenemos las coordenadas de los peatones a vista de pájaro, los parámetros de distanciamiento social se vuelven sencillos.
El diagrama de bloques completo del algoritmo se puede ver a continuación.
los requisitos para construir este modelo son muy pocos, en este caso se utiliza las siguientes librerías.
comprobar la función
La primera función utilizada para calcular la distancia entre dos puntos diferentes ( a y b ) en una imagen, que vendría a ser un cuadro de un video. Los dos puntos denotan el centro de los individuos detectados en el video. La distancia que se calcula es la Distancia euclidiana entre dos puntos.
luego se hace uso de la calibración para encontrar el punto medio entre los dos puntos y la declaración ' si ' devuelve un ' Verdadero ' si la distancia se encuentra entre el rango, de lo contrario devuelve ' Falso '.
Función de configuración
La os.path.sep.join() función se utiliza para unir uno o más componentes de ruta de forma inteligente. En términos simples, almacena los archivos “ yolov3.weights ”, “ yolov3.cfg ” y “ coco.names ” en el directorio “ yolo ”.
Función de proceso de imagen
Esta función permite procesar los videos en cuadros de imagen.
Parámetros de entrada
Permite inicializar el archivo de video de entrada como ' nombre de archivo ' y el archivo de salida para ser almacenado en el formato .mp4, flv, etc .
Función principal
En esto, el video de entrada se separa en muchos cuadros individuales en los que se realizarán las funciones definidas anteriormente. Una vez hecho esto, cada cuadro de salida se recibe y se combina para crear el video de salida.
Resultados
Basado en la vista de pájaro y los puntos de distancia de 6 pies marcados por el usuario, el algoritmo calcula e informa los siguientes parámetros.
1. # Violaciones de 6 pies:
Número de veces que los peatones violaron el umbral de distancia segura de 6 pies.
2. Índice de personas que se quedan en casa :
Cuantifica cuántas personas se quedan en casa en comparación con el tráfico de peatones de rutina normal. 0% significa que no hay cambios en el tráfico de peatones en comparación con los días normales, 50% significa que la mitad de las personas se quedan en casa.
3. Índice de distanciamiento social :
Cuantifica el distanciamiento social que se mantiene. 50% significa que la mitad de las interacciones violan el criterio de distancia segura de 6 pies.
Conclusiones
Este modelo es facil y basico de implementar para detectar el distanciamiento social, ya que no se hace mucho uso de librerías.
Este algoritmo se puede utilizar para analizar el distanciamiento social en un área pública y realizar las acciones necesarias para enfrentar mejor la pandemia. También se puede usar para modelos más complejos y que permita la automatización del mismo.
Fuente
https://towardsdatascience.com/covid-19 ... 2abd827d34
https://towardsdatascience.com/monitori ... b81da44c9f
Descripción
El distanciamiento social es una de la mejor forma de contener la propagación del virus COVID-19 es por ello que un equipo de inteligencia artificial, desarrolló un una herramienta que permite visualizar si existe el distanciamiento social utilizando conceptos de visión por computadora.
Para este detector de distanciamiento social, se utilizó los pesos del algoritmo de detección de objetos YOLO v3 y el conjunto de datos COCO que se pueden encontrar en linea. La biblioteca principal que se utilizó es OpenCV junto con el módulo Deep Neural Network .
El aprendizaje profundo se utiliza para detectar y localizar a los peatones que luego se asignan a una proyección de vista de pájaro de la cámara como se explicó anteriormente. Una vez que tenemos las coordenadas de los peatones a vista de pájaro, los parámetros de distanciamiento social se vuelven sencillos.
El diagrama de bloques completo del algoritmo se puede ver a continuación.
los requisitos para construir este modelo son muy pocos, en este caso se utiliza las siguientes librerías.
- import numpy as np
import cv2
import imutils
import os
import time
import tensorflow as tf
comprobar la función
La primera función utilizada para calcular la distancia entre dos puntos diferentes ( a y b ) en una imagen, que vendría a ser un cuadro de un video. Los dos puntos denotan el centro de los individuos detectados en el video. La distancia que se calcula es la Distancia euclidiana entre dos puntos.
luego se hace uso de la calibración para encontrar el punto medio entre los dos puntos y la declaración ' si ' devuelve un ' Verdadero ' si la distancia se encuentra entre el rango, de lo contrario devuelve ' Falso '.
Función de configuración
La os.path.sep.join() función se utiliza para unir uno o más componentes de ruta de forma inteligente. En términos simples, almacena los archivos “ yolov3.weights ”, “ yolov3.cfg ” y “ coco.names ” en el directorio “ yolo ”.
Función de proceso de imagen
Esta función permite procesar los videos en cuadros de imagen.
Parámetros de entrada
Permite inicializar el archivo de video de entrada como ' nombre de archivo ' y el archivo de salida para ser almacenado en el formato .mp4, flv, etc .
Función principal
En esto, el video de entrada se separa en muchos cuadros individuales en los que se realizarán las funciones definidas anteriormente. Una vez hecho esto, cada cuadro de salida se recibe y se combina para crear el video de salida.
Resultados
Basado en la vista de pájaro y los puntos de distancia de 6 pies marcados por el usuario, el algoritmo calcula e informa los siguientes parámetros.
1. # Violaciones de 6 pies:
Número de veces que los peatones violaron el umbral de distancia segura de 6 pies.
2. Índice de personas que se quedan en casa :
Cuantifica cuántas personas se quedan en casa en comparación con el tráfico de peatones de rutina normal. 0% significa que no hay cambios en el tráfico de peatones en comparación con los días normales, 50% significa que la mitad de las personas se quedan en casa.
3. Índice de distanciamiento social :
Cuantifica el distanciamiento social que se mantiene. 50% significa que la mitad de las interacciones violan el criterio de distancia segura de 6 pies.
Conclusiones
Este modelo es facil y basico de implementar para detectar el distanciamiento social, ya que no se hace mucho uso de librerías.
Este algoritmo se puede utilizar para analizar el distanciamiento social en un área pública y realizar las acciones necesarias para enfrentar mejor la pandemia. También se puede usar para modelos más complejos y que permita la automatización del mismo.
Fuente
https://towardsdatascience.com/covid-19 ... 2abd827d34
https://towardsdatascience.com/monitori ... b81da44c9f