• No results found

Mass Communication plus Interpersonal Communication

4. From Communication Technologies to the Communications System

4.3. Mass Communication plus Interpersonal Communication

Una de las técnicas encontradas para la detección de personas, se basa en la simpleza de la detección de blobs en movimiento sobre una escena. A continuación se muestra en un diagrama de flujo la representación de cada uno de los módulos que comprenden el algoritmo así como la relación entre ellos.

Dispositivo de Captura Cámara WEB

Obtención del Video y separación Fotograma por Fotograma

Sustracción de Fondo y separación de Foreground

Aplicación de filtros Morfológicos

Detección de Blobs

¿Corresponde a una persona?

¿Paso límite de detección? Seguimiento sobre el fotograma

No

Si

No

Fig. 22. Diagrama de Flujo para algoritmo de deteccion por sustraccion de fondo y extraccion de Blobs

Dispositivo de captura:

En visión artificial, el principal dispositivo de captura es una cámara de video, la cual obtiene las imágenes del mundo real y las digitaliza para poder ser utilizadas por un equipo de procesamiento. Aunque en la aplicación el dispositivo de captura es la cámara web descrita con anterioridad, este también puede ser un video previamente grabado, o una imagen almacenada en un computador o incluso un video creado a partir de un algoritmo de imágenes.

Obtención del video – Separación fotograma por fotograma:

Entrando en materia del algoritmo diseñado, el primer bloque o modulo funcional debe ser la obtención del video, cuyo objetivo principal es la generación de datos de imágenes sobre las que los demás bloques realizar su ejecución. La técnica de procesamiento es capturar un fotograma, realizar las operaciones diseñadas, capturar el siguiente fotograma y realizar de nuevo las operaciones, por lo que este bloque separa el video en fotogramas para ser procesados.

Peatones = Peatones +1

¿Fin de Video?

Si

Generación de video a partir de Fotograma Procesado

No

Fig. 23 Obtención Fotograma por Fotograma del Video

Sustracción de fondo y separación de Foreground:

Dentro de las librerías de OpenCV, se tienen implementado 2 algoritmos de sustracción de fondo, el BackgroundSubtractorMOG2 y el BackgroundSubtractorKNN. Para el algoritmo de detección de personas se ensayaron ambos métodos pero fue el BackgroundSubtractorMOG2 el que mostro una mayor velocidad a los cambios de iluminación y del entorno de fondo, permitiendo que el análisis en tiempo real de la imagen presente mejores resultados. Los siguientes son los valores de configuración del sustractor de fondo:

History: Cantidad de frases que utilizara para modelar el fondo. varThreshold: Umbral de distancia entre pixeles.

detectShadows: Si es True, el algoritmo detecta las sombras y las marca. Los parámetros definidos para el sustractor de fondo fueron

History = 500

varThreshold = 16 # por defecto

Fig. 24. Separación del Foreground mediante sustractor de fondo.

Al observar, el algoritmo modela un escenario estático sobre el cual aplica una máscara binarizada en donde se muestran los pixeles en movimiento. La variación de los parámetros del algoritmo no agrega mayor valor a la aplicación, ya que lo que se quiere en este punto es detectar los objetos en movimiento para luego detectar el blob perteneciente.

Filtros morfológicos:

Las transformaciones morfológicas modifican la forma de los objetos de una imagen. En la detección de blobs son de gran utilidad para eliminar ruido como por ejemplo el movimiento de un árbol o pixeles dispersos que no contribuyen con el modelo y que pueden ser generados por cambios de luz en la escena. Dentro de las transformaciones morfológicas de utilidad se implementaron las siguientes:

Erosión:

La idea básica de la erosión es igual que la erosión del suelo solamente, que erosiona los límites del objeto en primer plano. Un kernel se desliza a través de la imagen. Un píxel en la imagen original será considerado 1 sólo si todos los píxeles bajo el kernel son iguales a 1, de lo contrario se erosiona (se hace cero).

Fig. 25 Aplicación de Filtro Morfológico de erosión.  Dilatación:

El filtro de Dilatación es justo lo contrario al de erosión, Aquí, un elemento de imagen es ' 1' si al menos un píxel bajo el kernel es ' 1 ' . Por lo tanto, aumenta la región de blanco en la imagen o el tamaño de los aumentos de objeto en primer plano. Normalmente, en casos como la eliminación de ruido, la erosión es seguida por la dilatación. Debido a que, la erosión no solo elimina ruidos blancos, sino que también se reduce el objeto. Entonces al dilatarlo, no va a volver el objeto inicial, pero aumenta el área de objetos.

Fig. 26. Aplicación de Filtro Morfológico de dilatación

Detección de blobs:

En los bloques anteriores el objetivo es agrupar en cada fotograma los pixeles en movimiento que se encuentran continuos o adyacentes entre sí como una sola región (blob). De la máscara de Foreground obtenida y filtrada, las imágenes en blanco representan las zonas en movimiento y las partes negras las partes inmóviles.

Estos blobs son una herramienta útil para el análisis de forma y la detección de objetos para reconocimiento.

Fig. 27. Detección de Blobs mediante la mascara Detección de personas:

Una vez se obtienen los blobs en movimiento sobre el fotograma analizado, falta identificar si esta coincide o no con una persona, para lo cual existen varias técnicas, pero el objetivo de este algoritmo es la utilización de las características del blob para su detección.

Al observar en las imágenes analizadas, varios objetos en movimiento son detectados por la aplicación por lo que se realiza un primer filtro concerniente al área del blob detectado, descartando los que contengan un área inferior o superior a un valor establecido. Este valor depende de la distancia de análisis de la cámara y es un parámetro que debe ser configurado en el escenario analizado.

El siguiente filtro aplicado es la relación entre el ancho y el largo del blob, clasificando así el blob dentro de un valor el cual corresponde a una persona erguida y descartando por ejemplo un animal o un coche pequeño o algún elemento que no corresponda con una persona.

Fig. 28. Detección de personas Generación Video de salida:

Es el ultimo modulo y se encarga de la generación del fotograma con todas las modificaciones, y texto de información para mostrar en pantalla como la cantidad de personas que se han detectado. Asi mismo la información incluye la cantidad de fotogramas por segundo analizados que deben estar por encima de 15 FPS para cumplir con la rata minima de detección en tiempo real.

4.6 Evaluación de los algoritmos de identificación.