Comunicación presentada al II Congreso Ciudades Inteligentes:
Autores
- Fidel Díez Díaz, Responsable de I+D+i & Servicios Tecnológicos, CTIC Centro Tecnológico
- Daniel Sánchez Valdés, Especialista del área de análisis inteligente de datos, CTIC Centro Tecnológico
Resumen
Hoy en día se está realizando un esfuerzo considerable por conseguir que nuestras ciudades sean más fáciles de gestionar y, por lo tanto, sea más agradable vivir en ellas. Una manera de alcanzarlo consiste en realizar una gestión del tráfico inteligente y eficaz. Existen multitud de soluciones de este tipo pero normalmente tienen un coste muy alto, ya que necesitan dotar a la ciudad con sensores y equipos de comunicación. Este trabajo presenta el desarrollo de un sistema de bajo coste, flexible, configurable y que se adapta a las necesidades de cada ciudad sin tener que invertir en una nueva infraestructura. Para ello, se utilizan los sistemas de cámaras de vigilancia de tráfico ya existentes como una red de sensores de la cual se pueda extraer información relevante. Además, a través del uso de técnicas de Visión Artificial y de Análisis de Datos, se realizan predicciones de congestión del tráfico.
Introducción
Hoy en día se está haciendo un importante esfuerzo en la puesta en marcha de iniciativas para transformar las ciudades en Smart Cities, entra las cuales se encuentra la utilización de técnicas de análisis inteligente de datos para la monitorización y planificación del tráfico urbano.
La gestión inteligente del tráfico de una ciudad se basa en el desarrollo de herramientas de análisis, simulación, optimización y predicción del flujo de tráfico. Para ello, la ciudad debe estar equipada con sensores y equipos de comunicación capaces de medir el tráfico y actuar sobre él. Actualmente existen algunas soluciones de este tipo, pero están orientadas hacia una visualización de alta fidelidad y presentan un coste muy elevado para ciudades de un tamaño intermedio. Para este tipo de ciudades resulta muy interesante el desarrollo de sistemas configurables que se adapten a sus necesidades sin tener que incurrir en grandes costes, promoviendo una gestión inteligente de las infraestructuras existentes. Para ello, es necesario realizar un estudio de integración de los sistemas de cámaras de vigilancia de tráfico, aprovechándolos como una red de sensores de flujo de tráfico.
La mayoría de aproximaciones presentes en la literatura tratan de clasificar el tráfico mediante la combinación de segmentación y seguimiento de vehículos (Cavallaro et. al, 2005), (Kanhere & Birchfield, 2008). De esta manera se puede estimar el número de vehículos y obtener información agregada del tráfico: velocidad media de cada vehículo, grado de congestión, etc. Sin embargo, no es una tarea fácil puesto que en el proceso de segmentación es común que aparezca ‘ruido’ debido principalmente a condiciones ambientales adversas y a cambios bruscos en la iluminación, oclusiones entre vehículos, baja resolución en las imágenes, etc. Otras aproximaciones tratan de clasificar el tráfico mediante técnicas de flujo óptico (Monteiro et. al, 2007), (Lee & Bovik, 2009), pero tienen el inconveniente de que se ven también alteradas por las condiciones ambientales, así como cuando el flujo presente en la imagen es excesivo.
Esta comunicación presenta un sistema para la supervisión del tráfico flexible, configurable y de bajo coste, que caracteriza el tráfico de forma robusta. Para conseguirlo, se combinan técnicas de conteo de vehículos mediante segmentación junto con técnicas de estimación de la congestión mediante flujo óptico, proporcionando una solución fiable en todas las condiciones posibles.La experimentación de la tecnología desarrollada se ha llevado a cabo con imágenes capturadas en un entorno real, facilitadas por la policía local de Oviedo.
El proyecto
Este trabajo forma parte del proyecto ‘Smart Traffic: Análisis inteligente de datos para la supervisión del tráfico’, realizado por la Fundación CTIC bajo el ‘Programa de ayudas económicas a centros tecnológicos y centros de apoyo a la innovación tecnológica en el Principado de Asturias 2014-2015’.
Materiales y métodos
Para el desarrollo práctico del proyecto se trabajó con información real de señal de video de una zona de la ciudad de Oviedo (Asturias). Se trabajó con los videos obtenidos desde un sistema de cámaras de vigilancia de tráfico, capturados desde el poste central de la rotonda con una alta densidad de tráfico y que se encuentra a la entrada de la ciudad por la autovía AS II (Figura 1).
Diseño de la solución
La Figura 2 presenta la arquitectura diseñada para resolver el problema planteado. El sistema propuesto recibe como entrada la secuencia de imágenes provenientes de las cámaras de vigilancia de tráfico. Existen cuatro módulos generales que se detallan brevemente a continuación:
- Módulo de conteo de vehículos: tiene como objetivo la detección, el conteo y el seguimiento de los vehículos.
- Módulo de estimación de la congestión: tiene como objetivo analizar el movimiento global en las imágenes para caracterizar el flujo de vehículos.
- Caracterización del tráfico: recibe la información del módulo de conteo de vehículos y del módulo de estimación de la congestión para caracterizar el tipo de tráfico.
- Visualización: permite ver los resultados de todos los módulos de manera gráfica y visual.
Conteo de vehículos
El módulo de conteo de vehículos se divide en tres partes, cada una de las cuales está explicada en las siguientes subsecciones:
Detección de vehículos
Existen varios métodos para la detección de vehículos pero nos centraremos en los métodos basados en la sustracción de fondo. La sustracción de fondo es un método que consiste, en general, en la detección de objetos móviles sobre un fondo fijo. Es un método común que se utiliza para generar lo que se conoce como máscara de primer plano (foreground mask), realizando una especie de sustracción entre el frame o imagen actual y el modelo de fondo. Permite obtener una imagen binaria que contiene los píxeles que se corresponden con los objetos móviles en la escena. La Figura 3 muestra un ejemplo de sustracción de fondo para el caso de aplicación de este trabajo.
Existen muchos métodos y algoritmos para la sustracción de fondo, cada uno de ellos con sus ventajas e inconvenientes (Sobral, 2014). En este punto, y puesto que la construcción de un modelo de fondo es un paso primordial del algoritmo, se ha hecho especial hincapié en la generación de un modelo de fondo muy robusto que permita obtener con relativa facilidad la información proveniente de las partes móviles (vehículos en su mayor parte). En particular, se han analizado 36 algoritmos de sustracción de fondo, obteniendo que el que ofrece mejores resultados, es decir, el que menos ruido introduce y mejor reconoce los vehículos, es el ‘IndependentMultimodalBGS’.
Seguimiento de objetos
El siguiente paso consiste en desarrollar un mecanismo para realizar el seguimiento de los objetos a lo largo del tiempo. En primer lugar se filtra la imagen para compactar los objetos detectados sin distorsionar demasiado su forma y sin cambiar su tamaño. Este filtrado se realiza aplicando operaciones morfológicas sobre la imagen, tales como la erosión, la dilatación o una combinación de ambas.
A continuación, se detectan las regiones blancas o blobs (en inglés, Binary Large Object) que se corresponden con los objetos en movimiento. Un blob es un conjunto conectado y amorfo de píxeles que están unidos entre sí y cuya intensidad es superior a un umbral. Se emplea la librería ‘OpenCVBloblsLib’.
El algoritmo implementado en esta fase permite detectar objetos móviles con bastante precisión (peatones, motocicletas, coches, camiones y autobuses). Aunque la forma extraída en alguno de los casos no sea exacta, se considera suficiente para poder estimar el tráfico en función de los vehículos.
La Figura 4 muestra visualmente cómo funciona el algoritmo. Como se puede comprobar, existe un peatón en la acera que es filtrado por el tamaño de su área, por eso no aparece resaltado en la imagen. En cambio, también aparece un policía que si se detecta ya que su contorno es mayor.
Conteo
Como resultado de las operaciones anteriores, el último paso consiste en el conteo de los vehículos. Si hay varios vehículos que están muy próximos puede que se detecte un sólo blob, aunque es una situación que ocurre pocas veces.
Para eliminar otros posibles errores cometidos en la detección de vehículos se ha desarrollado un sencillo algoritmo que analiza el tamaño de los vehículos y se queda con aquellos cuya área es superior a un umbral mínimo. En el ejemplo mostrado en la Figura 4, a pesar de que el policía es reconocido como un vehículo, este no se contabiliza por presentar un área pequeño, inferior al umbral mínimo.
Estimación de la congestión
En las siguientes subsecciones se detallan los algoritmos propuestos tanto para la detección de flujo óptico como para la clasificación de la congestión.
Detección de flujo óptico
Para la estimación de la congestión se ha desarrollado un algoritmo basado en flujo óptico. Dicho algoritmo consta de dos pasos principalmente: la detección y el seguimiento de los puntos característicos. Estos puntos característicos se corresponden normalmente con esquinas, bordes o puntos de alto contraste en la imagen.
Detección de puntos característicos
Para realizar la estimación del flujo se calculan los puntos característicos en la imagen mediante las funciones que el software ‘Opencv’ facilita para trabajar con el flujo óptico. En concreto, se hace uso de la función ‘cvGoodFeaturesToTrack’ (Shi & Tomasi, 1994). Por otra parte, para ajustar la posición de los puntos extraídos se ha utilizado la función ‘cvFindCornerSubPix’. La Figura 5 presenta tres ejemplos que permiten comprobar los puntos característicos detectados para tres vehículos diferentes.
Seguimiento de los puntos característicos
Para el seguimiento de los puntos característicos se ha empleado la función ‘cvCalcOpticalFlowPyrLK’, que es una evolución del algoritmo creado por Lucas y Kanade (Lucas & Kanade, 1981) implementado en pirámide (Bouguet, 2001).
Para realizar el emparejamiento, se asume que el entorno del punto se mantiene constante. Por tanto, se crea una ventana alrededor del pixel que define su entorno y se intenta encontrar su ventana correspondiente en la siguiente imagen.
Clasificación de la congestión
El algoritmo de clasificación de la congestión calcula los desplazamientos de los puntos característicos entre dos imágenes consecutivas. Para ello, calcula los vectores de desplazamiento para cada uno de los puntos. Cada vector de desplazamiento contiene información de su longitud y su ángulo, siendo especialmente interesante la longitud, pues el ángulo no es tan relevante para calcular la congestión. La Figura 6 muestra los vectores de desplazamiento sobre cada uno de los vehículos detectados.
Para calcular la congestión se suma la longitud de todos los vectores obtenidos. Si se obtiene un número alto, se corresponde con un flujo alto, lo que quiere decir que hay bastantes vehículos. Por el contrario, si se obtiene un valor bajo, se corresponde con poco movimiento, lo cual indica que hay pocos vehículos en movimiento.
Caracterización del tráfico
Para la caracterización del tráfico se utilizan las salidas del módulo de conteo de vehículos y las del módulo de estimación de la congestión. De esta manera se obtiene un modelado de los datos más acorde a la situación real del tráfico que utilizando sólo uno de los métodos, como ocurre con la mayoría de algoritmos consultados en la bibliografía (Kanhere & Birchfield, 2008).
Visualización
Como muestra la arquitectura general presentada en la Figura 2, el módulo de visualización está integrado en cada una de las partes del proceso de supervisión del tráfico. Todos los módulos permiten mostrar los resultados parciales de forma visual. De esta manera se puede ver qué módulo es el que está fallando o requiere una mejora.
Resultados
Los resultados obtenidos se exportan en formato CSV (en inglés, Comma Separated Values). Estos resultados contendrán la siguiente información:
- Fecha: marca temporal actual.
- Vehículos contabilizados: es el número de vehículos contados desde la anterior marca temporal hasta la actual, devueltos por el módulo de conteo de vehículos.
- Estimación de la congestión: es el grado de congestión devuelto por el algoritmo de estimación de flujo óptico. Para exportar el flujo óptico se calcula la suma de todos los valores.
Discusión y conclusiones
La gestión inteligente del tráfico urbano es una medida que está teniendo gran acogida en el intento de las ciudades por promover un desarrollo sostenible y convertirse en Smart Cities.
Esta comunicación presenta un sistema para la supervisión del tráfico flexible, configurable y de bajo coste, que promueve una gestión inteligente de las infraestructuras existentes. Se han empleado técnicas de Visión Artificial y de Análisis de Datos para caracterizar el tráfico de forma robusta, confrontando los resultados obtenidos a partir del conteo de vehículos y de la estimación de la congestión.
El desarrollo y depuración de los algoritmos desarrollados se ha llevado a cabo a partir de las imágenes capturadas en un entorno real, facilitadas por la policía local de Oviedo.
Una de las posibles líneas de aplicación de la tecnología desarrollada consiste en el análisis de la salida del sistema cuando un policía está dirigiendo el tráfico en momentos de alta congestión, para comprobar la efectividad de sus indicaciones y tratar de optimizarlas. Otra posible línea de aplicación consiste en la generación de un modelo predictivo que, a partir de la evolución del tráfico, sea capaz de anticipar cuándo se va a producir un momento de alta congestión, optimizando, de esta manera, el momento de actuación humana.
Agradecimientos
Este proyecto ha sido financiado por el Principado de Asturias bajo el proyecto CT14-04-2-07.
Referencias
- Bouguet, J. Y., 2001. Pyramidal implementation of the affine lucas kanade feature tracker description of the algorithm. Intel Corporation, 5, 1-10.
- Cavallaro, A., Steiger, O., & Ebrahimi, T., 2005. Tracking video objects in cluttered background, IEEE Transactions on Circuits and Systems for Video Technology, 15(4), 575-584.
- Kanhere, N. K., & Birchfield, S. T., 2008. Real-time incremental segmentation and tracking of vehicles at low camera angles using stable features. IEEE Transactions on Intelligent Transportation Systems, 9(1), 148-160.
- Lee, J., & Bovik, A. C., 2009. Estimation and analysis of urban traffic flow. IEEE International Conference on Image Processing ICIP, (pp. 1157-1160).
- Lucas, B. D., & Kanade, T., 1981. An iterative image registration technique with an application to stereo vision. In International Joint Conference on Artificial Intelligence (Vol. 81, pp. 674-679).
- Monteiro, G., Ribeiro, M., Marcos, J., & Batista, J., 2007. Wrongway drivers detection based on optical flow. IEEE International Conference on Image Processing, ICIP (Vol. 5, pp. V-141).
- Shi, J., & Tomasi, C., 1994. Good features to track. IEEE Computer Society Conference on Computer Vision and Pattern Recognition (pp. 593-600).
- Sobral, A., & Vacavant, A., 2014. A comprehensive review of background subtraction algorithms evaluated with synthetic and real videos. Computer Vision and Image Understanding, 122, 4-21.