Imprimir este artículo - Universidad Privada del Norte

Anuncio
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
DESARROLLO DE UN AGENTE INTELIGENTE PARA EL CONTROL DEL
TRÁFICO VEHICULAR
Development of an Intelligent Agent for traffic control
Jesús Alayo1, Raúl Mera1, Claudia Rodriguez1
1
Universidad Privada del Norte
Recibido ene. 2014; aceptado mar. 2014; versión final abril 2014.
Autor de correspondencia: Jesús Alayo, e-mail: [email protected]
_______________________________________________________________
Resumen
Esta investigación se basa en la tecnología de la visión computarizada de imágenes y videos para
detectar, clasificar y dar seguimiento a objetos o eventos con la finalidad de entender una escena o
contexto del mundo real. El objetivo es realizar el reconocimiento de vehículos automovilísticos que se
encuentran en espera del cambio de color del semáforo en las vías de tránsito de la ciudad de Trujillo,
para analizar e interpretar el congestionamiento vehicular y entregar una solución alternativa basada en
la decisión que tome el conjunto de agentes inteligentes que examinarán dicha situación. Se aplicará el
método de Horn-Schunck de estimación de flujo óptico, el cual es un método global que establece una
restricción general de suavidad para resolver el problema de apertura y así determinar la dirección en la
que se mueve un objeto específico en la secuencia de imágenes.
Palabras clave: Horn-Schunck, filtros de mediana, BoundingBox, RegionProps, flujo óptico.
Abstract
The project presented below is based on computer vision of images and video technology to detect,
classify, and track objects or events in order to understand a scene or real-world context. This project will
have as target the recognition of motor vehicles which are awaiting on traffic lights in different roads of
the city of Trujillo, in order to analyze and interpret traffic congestion and provide an alternative solution
based on the decision that a set of intelligent agents take based on the assessment of the situation. This
research was performed the Horn-Schunck optical flow estimation method, which is a comprehensive
approach that provides an overall smoothness constraint to solve the problem of opening and determine
the direction where a specific object is moving in the image sequence.
Keywords: Horn-Schunck, median filters, BoundingBox, RegionProps, optical flow.
1
REFI UPN.2014; 2(1): 01-14
I.
Desarrollo de un agente inteligente
INTRODUCCIÓN
El tráfico vehicular es un problema que se presenta en muchas ciudades del Perú,
como en la ciudad de Trujillo. Este se refiere a la condición de un flujo vehicular que
se ve saturado debido al exceso de demanda de las vías, que produce incrementos
en los tiempos de viaje y atochamientos. Para evitar este inconveniente los
automovilistas usan la tecnología para encontrar rutas que le permitan llegar a su
destino, pero esto se dificulta por la congestión de las vías.
El uso de los semáforos en las rutas vehiculares permite tener un control de todas las
vías disponibles en cualquier momento del día, sin embargo estas no cuentan con la
capacidad de mejorar la congestión que frecuentemente se presenta. Observando
esta problemática nace la necesidad de buscar una solución que ayude a disminuir
la aglomeración vehicular que se presenta en las principales vías de la ciudad de
Trujillo, para ofrecerles a los automovilistas, además de una ciudad con sendas
libres, llegar a sus destinos en menor tiempo. Todo esto gracias a vías alternas que
se les ofrecerán y que evitará efectos negativos como: Pérdida de tiempo de los
automovilistas y pasajeros, retrasos para llegar a su destino final, desperdicio de
combustible, etc.
La posibilidad de ofrecerle vías alternativas se da con la creación de un agente
inteligente que adaptado a los semáforos de la ciudad permitirán controlar los carriles
vehiculares, y de esta manera visualizar la congestión de la misma. Este control
frecuente de imágenes será procesado a través del método de Horn-Schunck de
estimación de flujo óptico (Montero, 2010) y posteriormente serán llevados a un
análisis comparativo que permitirán contabilizar el número de automóviles que se
encuentren en cada una de éstas, y finalmente llevadas a través del algoritmo de
Dijkstra a mostrar rutas alternativas disponibles.
II.
MATERIALES Y MÉTODO
El desarrollo de este agente inteligente para el control de tráfico vehicular se
implementó bajo el lenguaje Matlab, en el cual se llevó a cabo el procesamiento y
análisis de las imágenes bajo un entorno de diagramas de bloques para la
simulación de los algoritmos como Simulink (Arce y Vianna, 2009).
2
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
Para futuros trabajos e implementación real de este agente, se puede utilizar una
videocámara VA Series Cameras porque cuentan con una alta resolución en la
captura de imágenes de 1080 x 1064 (Banco Central de Reserva de Perú, 2011),
lo cual resulta ideal para monitorear el tráfico vehicular, a través de imágenes con
bajo ruido y alta resolución (figura 1). Estas imágenes pueden ser almacenadas
en un servidor para posteriormente ser analizadas y tener un historial de éstas.
Fuente: Elaboración propia.
Figura 1. Video Cámara VA Series Cameras
Población
La población que se ha considerado para el desarrollo y pruebas del agente es
indeterminado debido a que la cantidad de imágenes que pueden ser capturadas
no es un valor finito debido a que el monitoreo del tráfico es constante en todo
momento.
Muestra
Cada estudio tiene un tamaño muestral idóneo, que permite comprobar lo que se
pretende con la seguridad y precisión fijadas por el grupo investigador, en estudio,
debido a la que la población es infinita o desconocida (Bolaños, 2012), el cálculo
de la muestra se fijó bajo la siguiente fórmula matemática:
3
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
Dónde:

n = Tamaño muestral.

z = Valor para la seguridad o nivel de confianza.

p = Prevalencia esperada del parámetro a evaluar o Prueba Piloto.

q = 1-p

i = Error que se prevé cometer.
Los valores serían los siguientes:

z = 1.96 (Considerando un nivel de confianza de 95%).

p = 0.5 (Maximizando, debido a que es un valor desconocido).

i = 0.08 (Con un error del 8%).
Llevando estos valores a la fórmula matemática del estudio y se obtuvo el
siguiente tamaño muestral:
Técnicas de Procesamiento y Análisis
Después de conocer el tamaño muestral, se procedió a aplicar las técnicas que
ayudaron a llevar a cabo del procesamiento de las imágenes:
1. Captura
La adquisición de las imágenes se realizó desde un video previamente
capturado para las pruebas necesarias, el cual contaba con una resolución de
155x155 píxeles en RGB, dicho video está conformado por un conjunto de
imágenes.
4
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
2. Pre-Procesamiento
Cuando se captura las imágenes a través de una videocámara, es casi
imposible que las imágenes tengan la calidad ideal para poder llevar a cabo
una evaluación sin errores. Este ruido que se genera en las imágenes puede
ser causado por diferentes factores, como puede ser la calidad de la
videocámara utilizada para la toma de la información.
Para evitar posibles errores en el reconocimiento posterior, ese ruido será
eliminado, para poder asegurar que las imágenes procesadas tengan la mejor
calidad posible y los resultados finales tengan un mayor nivel de confianza.
Para ello se aplicó inicialmente una conversión de RBG a Intensity para
mejorar la calidad de la imagen para su posterior análisis, luego utilizamos el
filtro de la mediana.
Median Filter (Filtro Mediana)
Como se mencionó anteriormente, la captura de una imagen está siempre
expuesta al ruido, es por ello que se aplicó el filtro de la mediana, que es
utilizado para reducir ruido y mejorar los resultados del procesamiento
posterior.
El filtro de la mediana consideró cada pixel de la imagen y miró a sus vecinos
más cercanos para decidir si es o no representativo de su entorno. La mediana
se calculó ordenando primero todos los valores de los pixeles en orden
numérico, para posteriormente reemplazar el pixel con el valor más alto, como
se muestra en la figura 2.
Fuente: Elaboración propia.
5
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
Figura 2: Cálculo de la mediana
Cuando el pixel en consideración es par, se utiliza el promedio de los dos
valores de pixeles intermedios. En este caso, el valor medio sería: 124 (figura
3)
Fuente: Elaboración propia.
Figura 3: Valor medio de los valores de pixeles
3. Segmentación
Después de haber aplicado todos los filtros necesarios para tener una imagen
de calidad, para el análisis se segmentó con el siguiente método:
Método de Horn-Schunck
Como la captura está dada por un video, se aplicó el algoritmo de HornSchunck para determinar en qué dirección se mueve un objeto en el video.
Este algoritmo permitió obtener dos imágenes, las cuales fueron almacenadas
en una matriz, para detectar cuáles eran los objetos que se encuentran en
movimiento y de esta manera, determinar el objeto de estudio, es decir los
automóviles que van a ser contabilizados para medir el tráfico (MeinhardtLlopis, Sánchez y Kondermann, 2013).
Ecuación 1. Fórmula de Horn-Schunck
6
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
Aplicando dichas formulas a cada imagen, se obtuvo dos imágenes u y v por
cada captura, donde
e
son los bordes horizontales y los bordes verticales
obtenidos aplicando el filtro de Sobel, el cuál detectó los bordes horizontales y
verticales de la imagen, que dio como resultado una imagen transparente con
líneas negras y algunos restos de color (Meinhardt-Llopis, Sánchez y
Kondermann, 2013).
En la figura 4 se muestra como el método logra a través de las dos imágenes
capturadas en el video, identificar el movimiento de los objetos, señalizándolos
con flechas de dirección.
Fuente: Elaboración propia.
Figura 4. El método identifica el movimiento de los objetos
4. Descripción
Teniendo capturada, procesada y segmentada la imagen, se procedió a
controlar los objetos (automóviles) que fueron contabilizados para medir el
tráfico vehicular, por lo que se estableció las medidas del área de la imagen
que fueron consideradas.
Donde se segmentó la región en 2 matrices, puesto que el video capturado
muestra un escenario de 2 vías (izquierda y derecha) y a partir de las matrices
generadas se capturaron las coordenadas para la creación del bounding box.
7
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
RegionProps
Mide un conjunto de propiedades de cada componente conectado (objeto) en
la imagen (RegionProps, 2013).
STATS = regionprops (BW, propiedades)
Dónde:

BW: Imagen que será procesada.

Propiedades: Para la realización del agente, se consideró la propiedad
“BoundingBox”. El rectángulo más pequeño que contiene la región
BoundingBox es [ancho ul_corner], donde:
ul_corner: Especifica la esquina superior izquierda del rectángulo de la
selección.
Ancho: Especifica el ancho del rectángulo de la selección a lo largo de
cada dimensión.
Una vez ubicado los objetos en un rectángulo de selección gracias al
RegionProps, se procedió a delimitar los puntos dentro de la imagen, los
cuales sirvieron para contabilizar los objetos que fueron considerados para
medir el tráfico vehicular.
Para ello, se dividió la región en dos matrices para hacer el filtro de
segmentación de la imagen en escala de grises y posteriormente se creó una
imagen binaria.
L1
Matriz vía
izquierda
Matriz vía
derecha
8
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
Dónde:
L1 representa el margen bajo el cual se empezará a contabilizar los objetos
(automóviles) que van transitando por la vía (figura 5).
Fuente: Elaboración propia.
Figura 5: Margen para contabilizar los objetos
5. Reconocimiento
Para poder afirmar que una vía se encuentra con atochamiento, se
consideraron los siguientes aspectos:
 Tiempo: 2 minutos
Si en ambos carriles han pasado 15 automóviles como mínimo, es
considerado que es una vía con tráfico vehicular.
6. Interpretación
Una vez explicado todos los procesos previos a la realización del agente
inteligente, se presenta el diagrama de bloque implementado para su correcto
funcionamiento (figura 6 y 7).
9
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
Fuente: Elaboración propia.
Figura 6: Bloque Region Filtering
Fuente: Elaboración propia.
Figura 7: Display Bounding boxes and number of cars
10
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
III. RESULTADO
Las pruebas realizadas estaban basadas en la muestra de 150, que fueron
obtenidas a partir de la fórmula para el muestreo. Los resultados obtenidos se
presentan en la tabla 1.
Tabla 1: Resultados de las pruebas
N°
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
N°
Automóviles
16
17
15
18
17
20
21
16
6
3
21
23
19
20
21
32
17
17
18
19
16
17
13
12
19
29
28
25
27
12
28
25
24
21
21
25
21
24
17
16
18
32
22
16
18
19
Resultado
Esperado
T
T
T
T
T
T
T
T
NT
NT
T
T
T
T
T
T
T
T
T
T
T
T
NT
NT
T
T
T
T
T
NT
T
T
T
T
T
T
T
T
T
T
NT
T
T
T
T
T
Resultado
Obtenido
T
T
T
T
T
T
T
T
T
NT
T
T
T
T
T
T
T
T
T
NT
T
T
NT
T
T
T
T
T
T
NT
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
N°
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
N°
Automóviles
19
10
16
17
18
18
34
23
32
22
21
25
16
16
17
17
22
27
32
17
18
21
26
23
25
27
28
29
21
17
18
9
22
10
32
33
31
30
21
24
20
10
12
30
21
16
Resultado
Esperado
T
NT
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
NT
T
NT
T
T
T
T
T
T
T
NT
NT
T
T
T
Resultado
Obtenido
T
NT
T
T
T
T
T
T
T
T
T
T
NT
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
NT
T
NT
NT
T
T
T
T
T
T
NT
NT
T
T
T
11
REFI UPN.2014; 2(1): 01-14
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
32
21
22
43
32
17
21
21
22
18
16
19
32
21
19
22
18
16
18
22
27
25
29
30
5
21
17
18
21
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
NT
T
T
T
T
Desarrollo de un agente inteligente
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
T
NT
NT
T
T
T
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
12
14
28
21
31
20
15
12
15
12
14
20
23
35
10
14
32
32
26
12
11
19
22
33
14
13
30
21
22
NT
NT
T
T
T
T
T
NT
T
NT
NT
T
T
T
NT
NT
T
T
T
NT
NT
T
T
T
NT
NT
T
T
T
NT
NT
NT
T
T
T
T
NT
T
NT
NT
T
T
T
NT
NT
T
T
T
NT
NT
NT
T
T
T
NT
T
T
T
Fuente: Elaboración propia.
Nota: T = Tráfico vehicular, NT = No tráfico vehicular
 Total de Errores en los resultados obtenidos = 10.
 Total de Pruebas = 150.
Luego de hacer las pruebas correspondientes se calculó con la fórmula de 3 simple.
Teniendo así un porcentaje de error 6.66%.
De las 150 pruebas que se implementaron, se generaron algunos errores ya que el
agente no tenía un reconocimiento acertado al momento de pasar los carros debido a
3 tipos de escenarios que se presentaron como:

La mala posición de la cámara.

La mala calidad del video.

El agente implementado solo es apto para un entorno específico.
12
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
IV. DISCUSIÓN
Luego de observar el conjunto de resultados que fueron recogidos por intermedio
de nuestro agente inteligente, se logró determinar que el porcentaje de error al
cual el agente está respondiendo, es a un nivel no superior del 6.66%, y el
porcentaje máximo de error que se podría obtener es del 8% en general. Esto nos
lleva a deducir que las distintas etapas para el procesamiento de imágenes que
fue planificado ha sido el más adecuado ya que se pudo contrastar los resultados
mostrados en esa sección.
Dentro del procesamiento y segmentación de las imágenes, existen dos métodos,
los cuales han sido piezas fundamentales para el análisis de dichos elementos.
Tanto el filtro Horn-Schunck, como el filtro de la Mediana han sido métodos
esenciales que han hecho posible la localización de los objetos; sin embargo,
cada agente es muy sensible al entorno que le rodea y a la infraestructura misma
de su construcción, esto ha sido verificado en el origen de captura de los datos (la
cámara), donde muchas veces ésta se encontraba mal posicionada, en un ángulo
muy difícil de procesar, con una mala resolución y calidad de video, entre otros
factores que jugaban un rol en contra y terminaban ocasionando desajustes en los
métodos de pre procesamiento.
V. CONCLUSIONES
El uso del método de estimación de flujo óptico denominado Horn-Schunck sirvió
para suavizar el contenido de la imagen y determinar la dirección de movimiento
de aquellos elementos que fueron objeto de interés de esta investigación; es tal
vez uno de los mejores algoritmos para la etapa de pre procesamiento de la
imagen capturada por la cámara, para poder de este modo localizar al elemento
en movimiento.
Sin embargo, para llevar a cabo todo el proceso, la aplicación de este método no
fue suficiente y se tuvo que aplicar el filtro de la mediana para eliminar el ruido del
fotograma y así finalmente aplicarle el umbral a la imagen para poder seleccionar
el espacio que ocupa el vehículo móvil en la imagen. En lo sucesivo se contabilizó
cada uno de los vehículos que iban transitando en determinados intervalos de
tiempo y en los diferentes carriles de la pista vehicular; así bajo ciertos criterios
13
REFI UPN.2014; 2(1): 01-14
Desarrollo de un agente inteligente
que se han establecido para determinar cuando existe o no congestión, se llegó a
determinar el contexto de la congestión vehicular en una determinada vía.
Para posteriores trabajos, esta investigación podría ser de utilidad ya que después
de este procesamiento, se podrían optar por mostrar al usuario una lista de rutas
alternativas o enlazar los distintos agentes inteligentes ubicados en los semáforos,
para tomar una decisión y optar tal vez por cambiar el estado de los semáforos de
forma coordinada para dar preferencia a alguna vía de tránsito.
Agradecimiento
A la Universidad Privada del Norte por brindarnos los medios e instalaciones necesarias
para la demostración del proyecto, y de una forma muy en especial al Ingeniero Juan
Salazar Campo, docente a cargo del curso.
BIBLIOGRAFÍA
Bolaños R., E. (2012). Muestra y Muestreo. Universidad Autónoma del Estado de Hidalgo.
Recuperado
22
de
abril
de
2014,
a
partir
de
http://www.uaeh.edu.mx/docencia/P_Presentaciones/tizayuca/gestion_tecnologica/mue
straMuestreo.pdf
Banco Central de Reserva del Perú (2011). El tiempo es dinero: Cálculo del valor social del
tiempo en Lima Metropolitana para usuarios transporte urbano. Revista Estudios
Económicos, 20, 73 -86. Recuperado 25 de abril de 2014, a partir de
http://www.bcrp.gob.pe/docs/Publicaciones/Revista-Estudios- Economicos/20/ree-20calmet-capurro.pdf
Meinhardt-Llopis, E., Sánchez P., J. y Kondermann, D. (2013). Horn-Schunck Optical Flow
with a Multi-Scaly Strategy. Image Processing On Line. Recuperado 22 de abril de
2014, a partir de http://www.ipol.im/pub/art/2013/20/
RegionProps. (2013).The Mathworks, Inc. Recuperado 25 de abril de 2014, a partir de
http://www.mathworks.com/help/images/ref/regionprosp.html
Arce, A. y Vianna, G. (2009). Manual Avanzado de Simulink para la Asignatura
Fundamentos de Automática. Universidad de Sevilla. Recuperado 25 de abril de 2014,
a partir de
https://www5.uva.es/guia_docente/uploads/2011/493/46447/1/Documento1.pdf
14
Descargar