Técnico

Distanciamiento social: un enfoque de visión artificial

Share

Se ha demostrado que el distanciamiento social es una de las medidas más eficaces contra la propagación del nuevo coronavirus (COVID-19). Como parte de la llamada «nueva normalidad», muchas instituciones han implementado diferentes formas de controlar las distancias, desde pegatinas en el suelo hasta aplicaciones o pulseras de alarma. En este artículo se presentará un enfoque de visión artificial, que consiste en una estimación automática de las distancias interpersonales desde una imagen o un vídeo, y un ejemplo de implementación fácil de probar.

En este post hablaremos de:

  • Detección de peatones: reconocer a los peatones en un fotograma de vídeo
  • Adaptación de perspectiva: deshacerse del sesgo de perspectiva
  • Medición de distancia: localizar a los peatones y estimar las distancias
  • Índices de distanciamiento social: útil para cuantificar cómo se cumplen las políticas de restricción de distancia

Después de leer esta publicación, podrá probar una implementación sencilla del algoritmo presentado con cualquier extracto de video que elija.

Detección de peatones

[caption id="attachment_355" align="alignnone» width="675"]

Créditos: analytics-vidhya [/caption] El primer paso es reconocer a las personas que aparecen en los marcos de la cámara. Existen varios algoritmos para detectar y clasificar objetos a partir de imágenes. Los detectores de objetos de última generación utilizan enfoques de aprendizaje profundo (p. ej. R-CNN más rápido, YOLO), que consiste en redes neuronales convolucionales profundas (CNN) previamente entrenadas que detectan a las personas con cajas delimitadoras en un marco de cámara monocular determinado. Estos clasificadores se entrenan con grandes conjuntos de datos de imágenes etiquetadas, p. ej. COCO, Imagenet. Para limpiar la salida, es común aplicar un poco de posprocesamiento, como supresión no máxima (NMS), lo que elimina la duplicación de casillas delimitadoras. Sin embargo, la medición de distancias no se puede realizar fácilmente utilizando únicamente los cuadros delimitadores proporcionados por el algoritmo de detección, ya que los tamaños y las distancias de los píxeles dependen en gran medida de la vista en perspectiva de la cámara.

Adaptación de la perspectiva

Imprescindible cuando se trata de grandes áreas, como estadios, estaciones de tren o incluso centros comerciales.

Como el vídeo de entrada puede tomarse desde una perspectiva arbitraria, la distancia de píxeles entre dos objetos que están más cerca de la cámara y entre otros dos objetos puede ser la misma, pero las distancias reales pueden diferir considerablemente, ya que los tamaños de los cuadros delimitadores también cambian. El siguiente paso del proceso es calcular la transformación (denominada homografía) que convierte esta vista en perspectiva en una vista panorámica (de arriba hacia abajo). Las distancias se miden con mayor precisión cuando los puntos se ven desde arriba. [caption id="attachment_366" align="alignnone» width="915"]

Izquierda: vista de cámara. Derecha: vista de pájaro. Créditos: Universidad Estatal de Ohio, EE. UU. [/caption] Para calcular el mapeo, necesitamos definir la región de interés (ROI), que se puede determinar con cuatro puntos en el marco -fijo- de la cámara, y se puede configurar al principio para que permanezca constante. En este caso, asumimos la planaridad en la región de interés. Se supone que estos puntos corresponden a un rectángulo visto desde arriba. El siguiente paso es definir el umbral de distancia. Algunas implementaciones requieren definirlo manualmente, lo que puede determinarse por la altura de una persona en la imagen (aproximadamente 6 pies). Una configuración más precisa puede requerir establecer el umbral real en el suelo, ya que es el plano en el que se realiza la homografía. Otro enfoque habitual consiste en calibrar las cámaras fijas observando el movimiento de objetos dinámicos, como los peatones. Recientemente, los enfoques basados en el aprendizaje profundo intentan estimar directamente la postura de la cámara y los parámetros intrínsecos en una sola imagen.

Medición de distancia

Una vez definida la homografía, el siguiente paso es mapear las cajas delimitadoras al plano «terrestre» a vista de pájaro, transformando el centro de los puntos inferiores de cada caja delimitadora, a fin de tener una ubicación (x, y) para cada persona en el nivel del suelo. Conociendo el factor de escala de transformación (cuántos píxeles corresponden a 6 pies en la vida real), ahora es posible medir distancias euclidianas entre cada par de puntos y alertar de proximidad.

Índices de distanciamiento social

Como se mencionó anteriormente, los algoritmos de distanciamiento social tampoco pueden detectar violaciones de una sola distancia, sino también calcular parámetros estadísticos para evitar el hacinamiento. Investigadores de la Universidad Estatal de Ohio han desarrollado un «sistema de detección de densidad crítica y distanciamiento social basado en la visión» [1], que define una métrica de densidad social crítica y aconseja no incluir el ROI si la densidad es superior a este valor. El valor de la densidad social crítica se obtiene mediante técnicas de regresión que proporcionan la densidad social de un marco y el número de infracciones de distancia que contiene.

Otros investigadores han implementado el índice de infracción que representa la relación entre el número de personas y el número de grupos, donde un grupo significa un grupo de personas que no respetan la distancia social [2]. Otro enfoque consiste en estimar los mapas de recuento y densidad a partir de imágenes de multitudes utilizando la CNN capacitada para esta tarea [3], como se muestra en la imagen de abajo. [caption id="attachment_372" align="aligncenter» width="598"]

Créditos: Elsevier, 2017 [/caption]

Ejemplo de implementación

Hay una implementación de Python gratuita y fácil de probar del algoritmo descrito en: https://github.com/aqeelanwar/SocialDistancingAI. El proyecto pide al usuario que marque 6 puntos en el marco, 4 de los cuales corresponden al ROI (abajo a la izquierda, abajo a la derecha, arriba a la izquierda, arriba a la derecha) y 2 puntos que se supone que están separados por 6 pies. El proyecto utiliza un vídeo de ejemplo y es fácil cambiarlo y probar nuevos escenarios. El resultado incluye los recuadros delimitadores del vídeo original y una ventana a vista de pájaro para rastrear fácilmente a los peatones.

Investigación adicional

Una investigación de la Universidad de Trento (Italia) [4], ha llegado a un método para detectar la presencia de interacciones sociales en un escenario de vigilancia, distinguiendo entre interacciones casuales e intencionales, donde los eventos intencionales se subdividen a su vez en comportamientos normales y anormales. Las características extraídas se analizan a través de una SVM multiclase. A lo largo de la investigación, también he encontrado un artículo sobre la medición de distancias que vale la pena mirar, pero teniendo en cuenta la distancia de la cámara al objeto que fotografía. Se basa en el aprendizaje profundo y se entrenó utilizando una técnica de aprendizaje supervisado en la que las características de entrada se calculaban manualmente, los parámetros de las casillas delimitadoras del objeto y las salidas eran las mediciones precisas de las distancias a los objetos de la escena grabada con un escáner láser 3D. Más detalles en [5].

Referencias:

  • [1]: «Un sistema de detección de densidad crítica y distanciamiento social basado en la visión para la COVID-19»
  • [2]: 'Monitorear el distanciamiento social de la COVID-19 con la detección y el seguimiento de personas mediante técnicas optimizadas de YOLO v3 y Deepsort
  • [3]: «Una encuesta sobre los avances recientes en el conteo de multitudes y la estimación de densidad con una sola imagen basada en CNN»
  • [4] :'Detección en tiempo real de interacciones sociales en vídeos de vigilancia'
  • [5] :'DisNet: un método novedoso para la estimación de distancias desde una cámara monocular
  • Además: IEEE, «El problema del distanciamiento social visual»: eslabón

Cada viaje de IA comienza con una conversación

Hablemos
Hablemos