Escolar Documentos
Profissional Documentos
Cultura Documentos
AGRADECIMIENTOS
Desde aquel verano de 2005, cuando Jess Machuca y Fernando Gonzlez
queriendo o sin querer enunciaron las bases de este proyecto, una gran cantidad de
personas han colaborado de manera directa o indirecta en este proyecto y por
tanto deben ser mencionados en este pequeo espacio de agradecimientos.
II
RESUMEN
Este proyecto supone el desarrollo y pruebas experimentales de un sistema
inteligente que, a partir de cmaras IP y antenas Bluetooth instaladas en los
semforos, ejecute en tiempo real decisiones sobre los semforos para la
optimizacin del trfico en una interseccin.
Tras un estudio del estado de arte en cuanto a los sensores para la deteccin
y conteo de vehculos, la manera de detectar los vehculos que se encuentran
parados en el semforo o que se aproximan a la interseccin, est basada en el
tratamiento digital de las imgenes tomadas mediante cmaras inalmbricas
montadas en el semforo. Para realizar dicho tratamiento digital de imgenes se
han desarrollado dos algoritmos, uno para la deteccin de vehculos de da y otro
para la deteccin de vehculos de noche. Los resultados de fiabilidad de estos
algoritmos, usando alrededor de 400 imgenes de prueba, son del 98.8% de
aciertos y del 95.5% de aciertos respectivamente. Adicionalmente, para la transicin
entre estos dos algoritmos se ha desarrollado un detector del entorno de luz
ambiente, tambin basado en tcnicas de tratamiento digital de imgenes.
III
espera acumulados durante 270 minutos de simulacin a 5.430 segundos. Por otro
lado, el nmero de arranques se reducen en 70 arranques, de 1.903 arranques
sobre 3.240 vehculos servidos, a 1.820 arranques sobre 3.265 vehculos servidos.
ABSTRACT
This project is based on creating and carrying out experimental tests of an
intelligent system that, using IP cameras and Bluetooth antennas installed on traffic
lights, executes in real-time generated decisions to traffic lights in order to optimize
traffic flows in a junction.
After a state of the art study on vehicle detection and counting techniques
using sensors, the method used for detecting vehicles that are approaching the
junction is based on digital image processing technique. This technique is applied to
images retrieved by IP cameras installed on the top of traffic lights. In order to
implement this method two algorithms have been developed, one for detecting
vehicles under daytime conditions, and another for detecting vehicles under
nighttime conditions. Results of reliability tests of these algorithms, using over 400
images, show 98.8% and 95.5% effectiveness respectively. In addition, so as to use
daytime algorithm or nighttime algorithm, a time condition detector has also been
developed, using digital image processing techniques again.
VI
Counting vehicles that are coming to the intersection and checking if any of
them belongs to emergency equipment, are results that must be processed by a
decision support system. That is why; a decision support system has been also
developed and included in this project. As a result, the best decision for that right
instant is generated in real-time so as to propagate it to intersections traffic lights.
During 30 minutes, traffic flows measures were taken in terms of queuing times,
stops/stars produced and number of vehicles that crossed the intersection. During
another period of time of 30 minutes, the same traffic flow measures were taken
but this time the traffic was being regulated by the intelligent system proposed on
this project.
Results from these experimental tests are quite successful, reassuring estimations
made by executing this intelligent system on simulated environments. More
precisely, results obtained during experimental tests were:
56.3% queuing times reduction. From 2.217 seconds of accumulated waiting
time over the first 30 minutes, to 968 seconds over the last 30 minutes.
70 stops/starts events are eliminated. From 142 stops/starts over 252
vehicles that crossed the junction during the first 30 minutes, to 72
stops/starts over 252 vehicles served during the last 30 minutes.
0.564 fuel consumption reduction over the last 30 minutes.
1.922,83 CO2 grams reduction over the last 30 minutes.
In a nutshell, objectives proposed for this project have been successfully met
because an intelligent traffic regulation system has been created in terms of high
quality and low cost.
VIII
ndice
1. Motivacin ................................................................................................................ 1
2. Concepto principal ................................................................................................. 4
3. Estado del arte ......................................................................................................... 9
4. Objetivos .................................................................................................................. 13
5. Descripcin del sistema ...................................................................................... 15
5.1. Metodologa empleada........................................................................................... 17
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 1
Motivacin
~1~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
1. Motivacin
La motivacin principal de este proyecto es la mejora de una accin cotidiana de la
sociedad actual. Esta accin es la de tener que cruzar una interseccin en un cruce
de trfico regulado por semforos. En innumerables ocasiones las siguientes
preguntas han sido lanzadas al aire sin respuesta obvia:
Existen otras dos realidades ms que, extrapolando los datos que exponen,
sirven como motivacin extra para la realizacin de este proyecto:
~2~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Fuente: [DGT_07]
Fuente: [GRAD07]
~3~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 2
Concepto principal
~4~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
2. Concepto principal
En la siguiente figura se puede observar una representacin de una interseccin de
trfico regulada por semforos. Est compuesta por cuatro vas que acceden a dicha
interseccin, cada una de estas vas con doble sentido de circulacin.
~5~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Semforos
Control de
interseccin
Semforos
~6~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~7~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
WiFi
USB
~8~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 3
~9~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 10 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Problemas
Soluciones
Poblemas
~ 11 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 12 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 4
Objetivos
~ 13 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
4. Objetivos
Los objetivos principales de este proyecto son los que se muestran en el siguiente
diagrama. Estos objetivos sern transformados en funcionalidades o caractersticas
de este proyecto, tal y como se indica en los siguientes apartados de esta memoria.
Desarrollo low-cost
El coste del desarrollo del proyecto debe ser lo ms ajustado posible.
Los elementos necesarios para su desarrollo deben ajustarse a los
requerimientos mnimos.
Los costes de instalacin deben ser mnimos, aunque esto requiera un
coste de desarrollo ms elevado.
El proceso de instalacin debe ser lo menos invasible posible.
Figura 9. Esquema de objetivos a cubrir por este proyecto
~ 14 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 5
~ 15 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 16 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Otro aspecto de vital importancia son las constantes reuniones del equipo
de proyecto para comentar mejoras, solventar errores e informar del estado del
desarrollo. Estas reuniones han sido llevadas a cabo semanalmente, tal y como
muestra la planificacin de este proyecto explicada en el captulo 8 de esta
memoria.
~ 17 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 6
Mdulo de tratamiento
digital de imgenes
~ 18 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 19 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 20 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 12. Resultado 1 de uso de red neuronal. Tiempo de proceso = 147,61 segundos.
Figura 13. Resultado 2 de uso de red neuronal. Tiempo de proceso = 57,87 segundos.
~ 21 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 22 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 23 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 24 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
30
Cantidad de ejemplos
25
20
15
10
5
0
-5
-4
-3
-2
-1
Cantidad de ejemplos
Figura 18. Grfica de errores de la deteccin de vehculos mediante discrepancia por luminosidad
~ 25 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 19. Resultado de ejecutar la tcnica de discrepancia de luminosidad en un entorno con escasa luz
natural.
~ 26 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 20. Grfica de fiabilidad de la deteccin de vehculos mediante discrepancia por contraste
~ 27 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
(a)
(b)
(c)
Figura 21. Comparacin de tcnicas de deteccin de vehculos. (a) Imagen original, (b) discrepancia por
luminosidad y (c) discrepancia por contraste.
~ 28 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
(a)
(b)
(c)
Figura 22. Segunda comparacin de tcnicas de deteccin de vehculos. (a) Imagen original, (b)
discrepancia por luminosidad y (c) discrepancia por contraste.
~ 29 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
(a)
(b)
(c)
Figura 23. Tercera comparacin de tcnicas de deteccin de vehculos. (a) Imagen original, (b)
discrepancia por luminosidad y (c) discrepancia por contraste.
~ 30 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
(a)
(b)
(c)
Figura 24. Cuarta comparacin de tcnicas de deteccin de vehculos. (a) Imagen original, (b) discrepancia
por luminosidad y (c) discrepancia por contraste.
~ 31 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Imagen de
entrada
MATLAB
Image Processing Toolbox
Parmetros:
-Posicin del carril de
estudio
- Algoritmo a usar
- Imagen del carril sin
vehculos
Carril para
correlacin
Imagen
resultado
Figura 25. Esquema de funcionamiento del mdulo de deteccin de vehculos que se aproximan a la
interseccin
Ernesto de la Rocha Gmez
~ 32 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Por otro lado, los parmetros necesarios para la ejecucin de este algoritmo
y que indica la figura anterior son los siguientes:
Posicin del carril de estudio: utilizando este parmetro slo se procesa el
carril donde se encuentran los vehculos. Como ventajas de realizar esta
reduccin del problema estn las siguientes:
o Menor tiempo de proceso. A menos pxeles de la imagen a procesar,
menos tiempo necesario para procesar la imagen completa. A baja
escala las diferencias son mnimas pero a larga escala el ahorro es
significativo.
o Solucin de errores de deteccin. Sin recortar el carril, hay
elementos que pueden ser detectados como regiones de inters
pero que estn fueras de las zonas por donde circulan los vehculos.
Por esta razn la deteccin de esos elementos es evitada si se
recorta el carril. Por ejemplo evita contar vehculos estacionados y
adems evita confundir los vehculos que se alejan del cruce, de los
que se aproximan a este.
o Tratamiento especial a carriles. En vas de varios carriles permite
contabilizar cada carril independientemente, permitiendo realizar un
tratamiento especial a los carriles de giro obligatorio.
~ 33 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 26. Ejemplo de beneficio al recortar el carril para no detectar vehculos aparcados
Figura 27. Ejemplo de beneficio al recortar el carril para no detectar vehculos que no intervienen en la
interseccin
~ 34 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Medioda
Luminosidad
media = 114.5
Atardecer
Luminosidad
media = 90.7
Noche
Luminosidad
media = 35.5
Figura 28. Imgenes que muestran los distintos rangos de luminosidades medias
~ 35 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Elementos que
no deben ser
contabilizados
Figura 29. Conjunto de imgenes que muestran los elementos que no deben ser contabilizados
~ 36 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
coordenadasCarril = roipoly(imagen,carrilCoordX,carrilCoordY);
imagen(~coordenadasCarril) = NaN;
carril = imagen;
~ 37 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 30. Pareja de imgenes que demuestran cmo se extrae el carril. Imagen original a la izquierda y
carril extrado a la derecha
if(strcmp(algoritmo,'Dia'))
~ 38 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 31. Imgenes que representan la aplicacin del mtodo de Sobel sobre el carril con vehculos
(arriba) y sobre el carril sin vehculos (abajo)
Figura 32. Imgenes que muestran como es la aplicacin del mtodo de Sobel pero slo de manera
horizontal
~ 39 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
10
coordenadasCarrilDilatadas = imerode(coordenadasCarril,strel('disk',2));
11
carrilSobelSinBordes = carrilSobel;
12
carrilMediaSobelSinBordes = carrilMediaSobel;
13
carrilSobelCorrelacionSinBordes = carrilSobelCorrelacion;
14
carrilSobelSinBordes(~coordenadasCarrilDilatadas) = 0;
15
carrilMediaSobelSinBordes(~coordenadasCarrilDilatadas) = 0;
16
carrilSobelCorrelacionSinBordes(~coordenadasCarrilDilatadas) = 0;
17
carrilCorrelacion = carrilSobelCorrelacion;
Figura 33. Resultado tras eliminar el borde extra que se introduce al recortar el carril en cada una de las
imgenes anteriores.
Ernesto de la Rocha Gmez
~ 40 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
18
carrilDilatado = imdilate(carrilSobelSinBordes,strel('disk',3));
19
carrilMediaDilatado = imdilate(carrilMediaSobelSinBordes,strel('disk',3));
Una vez preparado el carril con los bordes de los vehculos ya detectados, se
procede a dilatar los bordes (usando imdilate) para llegar a unir bordes difusos
que no se han detectado e intentar conseguir crear elementos lo ms completos
posibles.
Figura 34. Pareja de imgenes donde se puede comprobar la ganancia al dilatar los bordes encontrados
20
carrilClosed = imclose(carrilDilatado,strel('disk',3));
21
carrilMediaClosed = imclose(carrilMediaDilatado,strel('disk',3));
22
carrilFilled = imfill(carrilClosed,'holes');
23
carrilMediaFilled = imfill(carrilMediaClosed,'holes');
El siguiente paso sirve para cerrar los bordes que se encuentran cercanos (usando
imclose) as como para rellenar los huecos que existen entre los bordes
(mediante imfill). Gracias a estos dos procedimientos se consigue, hasta cierto
grado, la morfologa completa del vehculo que se detecta. En la siguiente pareja
de imgenes se comprueba que el vehculo que se encuentra en la parte de arriba
se ha detectado de manera casi perfecta su morfologa. En cambio en el vehculo
en la parte de abajo, an estando ms cerca, su morfologa no se detecta en su
totalidad. Esto es debido a que los bordes detectados no se encuentran
suficientemente cercanos para que sean unidos, y que la seleccin de carril
recorta el vehculo a la mitad. An as, ya que el nmero de pxeles que se
detectan para el vehculo que se encuentra abajo y adems su tamao
~ 41 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 35. Pareja de imgenes que muestra el proceso de las funciones imclose e imfill
24
carrilFinal = bwareaopen(carrilFilled,1500);
25
carrilMediaFinal = bwareaopen(carrilMediaFilled,1500);
Figura 36. Imgenes que muestran el proceso de limpieza de elementos que no superan el tamao mnimo
en pxeles de un vehculo
26
[labelled,nComponents] = bwlabel(carrilFinal);
~ 42 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 37. Imgenes donde se muestra como se pasa a identificar de manera separada a los dos
componentes.
27
caracRegion = regionprops(labelled,'basic');
28
vehiculosEsperando = 0;
29
vehiculosEsperandoLongitud = 0;
30
arrayIndicesProcesados = zeros(nComponents,1)
31
for indice=1:nComponents
Una vez realizado todos los procesos anteriores, se obtienen una serie de
elementos que, en las siguientes lneas de cdigo, van a ser estudiados, uno por
uno, sobre su morfologa gracias a la funcin regionprops. Esta devuelve el
centroide del elemento y el rectngulo que mejor envuelve al elemento
(denominado minimum bounding box) facilitando el clculo de su morfologa.
Tambin se puede comprobar que en las lneas anteriores se inicializan las
variables para el conteo de vehculos.
32
if(arrayIndicesProcesados(indice) == 0)
33
34
35
filas = (filasFirst+filasLast)/2;
36
coordX = caracRegion(indice).Centroid(1);
~ 43 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
37
coordY = caracRegion(indice).Centroid(2);
38
volumen = 0;
39
longitud = 0;
40
arrayIndicesProcesados(indice) = 1;
41
42
43
for indiceCercano=indice:nComponents
if(arrayIndicesProcesados(indiceCercano) == 0)
44
coordXSiguiente = caracRegion(indiceCercano).Centroid(1);
45
coordYSiguiente = caracRegion(indiceCercano).Centroid(2);
46
47
48
separacionOKCoordX = 20;
49
separacionOKCoordY = 20;
50
51
separacionOKCoordX = 35;
52
separacionOKCoordY = 60;
53
54
separacionOKCoordX = 100;
55
separacionOKCoordY = 120;
56
57
separacionOKCoordX = 120;
58
separacionOKCoordY = 150;
59
end
60
61
62
63
arrayIndicesProcesados(indiceCercano) = 1;
64
65
66
67
68
indiceCercano,1,'last');
if(filasLastSiguiente > filasLast || columLastSiguiente > columLast)
filasLast = filasLastSiguiente;
Ernesto de la Rocha Gmez
~ 44 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
69
columLast = columLastSiguiente;
70
coordX = caracRegion(indiceCercano).Centroid(1);
71
coordY = caracRegion(indiceCercano).Centroid(2);
end
72
73
74
75
76
77
longitud = longitudSiguiente;
end
78
end
79
80
81
end
end
En la parte de cdigo que precede se comparan los elementos entre s con el fin
de contabilizar alguno de ellos de manera conjunta. Tras numerosas pruebas se
concluye que este proceso es necesario ya que en algunos casos los vehculos
aparecen divididos en dos objetos muy prximos pero disjuntos. En la realizacin
de este proceso intervienen una serie de parmetros fijos, tales como la
separacin permitida entre elementos para ser unidos. Estos parmetros fijos han
sido calculados en funcin de pruebas, todas ellas en imgenes de tamao
640x480 pxeles que es el tamao estndar que devuelven las cmaras IP y el
recomendando para intentar detectar el mximo nmero de vehculos.
Figura 38. Imgenes donde se muestra como el vehculo que se muestra a la izquierda, es dividido en dos
elementos debido a un reflejo.
~ 45 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
82
83
84
85
pxNecesarios = 7000;
86
87
pxNecesarios);
88
89
90
91
pxNecesarios = 1500;
92
93
94
95
96
pxNecesarios);
elseif (volumen > 800)
vehiculosEsperando = vehiculosEsperando + 1;
end
97
98
99
100
pxNecesarios = 2500;
101
102
103
104
105
106
107
pxNecesarios);
elseif(volumen > 1000)
vehiculosEsperando = vehiculosEsperando + 1;
end
elseif(filas >= 200 && filas < 250)
if(volumen > 2800) %2500
108
109
110
111
112
113
pxNecesarios);
elseif(volumen > 1000)
vehiculosEsperando = vehiculosEsperando + 1;
end
Ernesto de la Rocha Gmez
~ 46 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
114
115
116
pxNecesarios = 6500;
117
118
119
pxNecesarios);
elseif(volumen > 2000)
vehiculosEsperando = vehiculosEsperando + 1;
120
121
end
122
123
124
elseif(filas >=300)
if(volumen > 9000)
125
pxNecesarios = 9000;
126
127
128
pxNecesarios);
elseif(volumen > 1000)
vehiculosEsperando = vehiculosEsperando + 1;
129
130
131
end
end
~ 47 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
132
longitudActual = caracRegion(indice).BoundingBox(4);
133
134
longitud = longitudActual;
135
end
136
137
138
longNecesaria = 50;
139
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud +
140
floor(longitud / longNecesaria);
141
142
143
144
longNecesaria = 30;
145
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud +
146
147
floor(longitud / longNecesaria);
elseif (longitud > 20)
~ 48 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
148
149
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud + 1;
end
150
151
152
153
longNecesaria = 45;
154
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud +
155
156
157
158
floor(longitud / longNecesaria);
elseif (longitud > 20)
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud + 1;
end
159
160
161
162
longNecesaria = 60;
163
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud +
164
165
166
167
floor(longitud / longNecesaria);
elseif (longitud > 20)
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud + 1;
end
168
169
170
171
longNecesaria = 80;
172
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud +
173
174
175
176
floor(longitud / longNecesaria);
elseif(longitud > 30)
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud + 1;
end
177
178
179
elseif(filas >=300)
if(longitud >= 150)
Ernesto de la Rocha Gmez
~ 49 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
180
longNecesaria = 150;
181
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud +
182
floor(longitud / longNecesaria);
elseif(longitud > 30)
183
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud + 1;
184
end
185
end
186
187
188
end
end
~ 50 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Longitud = 55 pxeles
189
190
vehiculosDetectados = ceil(vehiculosDetectados);
191
[labelledMedia,nComponentsMedia] = bwlabel(carrilMediaFinal);
192
bbElementosMedia = regionprops(labelledMedia,'BoundingBox');
193
194
for indiceElemento=1:nComponentsMedia
195
196
boundingBox = bbElementosMedia(indiceElemento).BoundingBox;
~ 51 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
197
boundingBox = floor(boundingBox);
198
elementoMedia = carrilMediaFinal(boundingBox(2)-
199
10:boundingBox(2)+boundingBox(4)+10,...
boundingBox(1)-10:boundingBox(1)+boundingBox(3)+10);
200
201
elementoActual = carrilFinal(boundingBox(2)-
202
203
10:boundingBox(2)+boundingBox(4)+10,...
boundingBox(1)-10:boundingBox(1)+boundingBox(3)+10);
204
205
206
207
208
209
210
errorElementos = sum(sum(xor(elementoActual,elementoMedia)));
211
212
== 0)
213
if(vehiculosEsperando > 0)
214
vehiculosEsperando = vehiculosEsperando - 1;
215
216
end
217
if(vehiculosEsperandoLongitud > 0)
vehiculosEsperandoLongitud = vehiculosEsperandoLongitud - 1;
218
end
219
end
220
end
221
end
222
223
224
end
end
~ 52 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 41. Resultado que devuelve este algoritmo demostrando la no contabilizacin de elementos
estacionarios en la calzada
~ 53 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
A modo de resumen de todas las rutinas presentadas a lo largo del anterior cdigo
fuente, se acompaa la siguiente figura que es el resultado de aplicar el algoritmo
de da sobre otra imagen real, tomada con una cmara IP instalada en un semforo.
A la izquierda se encuentra la imagen resultado tras la ejecucin del algoritmo y a la
derecha se encuentra la imagen original completa. Bajo ambas imgenes se
encuentran los resultados numricos de la deteccin de vehculos, con una
comparacin de ambos resultados entre el nmero que devuelve este algoritmo y
los vehculos que se encuentran en realidad presentes en el carril de estudio,
habiendo sido introducidos estos valores de realidad de manera manual previa a
la ejecucin del algoritmo.
~ 54 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 43. Grfica de evaluacin del algoritmo de deteccin de vehculos en entornos de da. Evaluacin
realizada sobre 417 imgenes
~ 55 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Calle
Alfares
Calle
Mesones
Figura 44. Mapa de situacin de la interseccin de donde proceden las imgenes para la evaluacin del
algoritmo de deteccin de vehculos en entornos de da
Calle Alfares
Carretera CM-4101
Calle Mesones
Figura 45. Conjunto de imgenes de ejemplos de las capturas realizadas en la interseccin
~ 56 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 46. Captura del algoritmo fallando en la deteccin de vehculos usando el algoritmo en entornos de
da
~ 57 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
A consecuencia del poco tamao del citado vehculo, la parte del algoritmo
recogido en las lneas 24 y 25 del cdigo anteriormente explicado, elimina las partes
del vehculo que no se detecta.
~ 58 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 47. Pareja de imgenes que muestran la imagen real y la imagen que se va a procesar una vez
recortado el carril de estudio
~ 59 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
225
226
if(strcmp(algoritmo,'Noche'))
carrilFaros = carril>245;
Figura 48. Imgenes que muestran el resultado del proceso de binarizacin. A la izquierda el carril de
estudio original, a la derecha el carril binarizado.
227
carrilFinal = bwareaopen(carrilFaros,400);
~ 60 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 39. Imgenes que muestran el proceso de limpieza de elementos que no superan el tamao mnimo
en pxeles para los faros de un vehculo
228
[labelled,nComponents] = bwlabel(carrilFinal);
Figura 50. Imgenes donde se muestra el resultado de aplicar la funcin bwlabel, identificado cada
elemento de manera independiente.
~ 61 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
229
vehiculosDetectados = 0;
230
arrayIndicesProcesados = zeros(nComponents,1);
231
for indice=1:nComponents
if( arrayIndicesProcesados(indice) == 0 )
233
234
235
236
237
238
239
240
end
241
242
vehiculosDetectados = vehiculosDetectados + 1;
243
arrayIndicesProcesados(indice) = 1;
244
245
246
continue;
end
~ 62 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 51. Imagen donde se muestra el volumen excesivo de dos faros independientes, por lo cual son
contabilizados como vehculos por s mismos.
247
248
for indiceNoVisitado=1:nComponents
if(arrayIndicesProcesados(indice) == 0 &&
249
250
251
252
253
254
255
256
257
258
259
indiceNoVisitado,1,'first');
[filasDerLast, columDerLast] = find(labelled ==
indiceNoVisitado,1,'last');
260
261
262
263
264
265
~ 63 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
266
if(filasDer > 185 || filasIzq > 185)
267
268
separacionOK = 10;
269
difFilasOK = 40;
270
difColumnasOK = 100;
else
271
272
separacionOK = 5;
273
difFilasOK = 10;
274
difColumnasOK = 100;
end
275
276
if(difFilas > -1 && difFilas < difFilasOK && difColum > -1 &&
277
278
279
vehiculosDetectados = vehiculosDetectados + 1;
280
arrayIndicesProcesados(indice) = 1;
281
arrayIndicesProcesados(indiceNoVisitado) = 1;
282
break;
283
end
284
end
285
end
286
287
288
end
end
~ 64 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
separacin que hay entre dos faros en la parte baja del carril (muy amplia). En el
siguiente par de imgenes se demuestra como la separacin es muy distinta
segn la posicin. A la izquierda se encuentra la imagen original y a la derecha los
faros detectados y las distancias entre dos parejas de faros.
Figura 52. Par de imgenes para comprobar cmo la distancia entre faros depende de la posicin donde se
encuentren.
289
290
for indice=1:nComponents
if( arrayIndicesProcesados(indice) == 0)
291
292
293
294
filas = abs(filasLast-filasFirst);
295
296
297
298
else
separacionOK = 30;
299
300
end
301
302
303
304
indice+1,1,'last');
305
separacionFilasSiguiente = abs(filasLast-filasLastSiguiente);
306
307
308
309
310
1,1,'last');
separacionFilasAnterior = abs(filasLast-filasLastAnterior);
else
separacionFilasSiguiente = separacionOK+1;
~ 65 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
separacionFilasAnterior = separacionOK+1;
311
end
312
313
if( filas < 13 && filasFirst < 250 && columFirst < 250 &&
314
315
316
separacionOK)
317
vehiculosDetectados = vehiculosDetectados + 1;
318
arrayIndicesProcesados(indice) = 1;
end
319
320
321
end
end
Figura 53. Pareja de imgenes que muestran la situacin de faros de vehculos ocultos por vehculos
delante de ellos.
~ 66 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
322
imagenResultado = label2rgb(labelled);
323
carrilCorrelacion = carrilFinal;
324
end
Figura 54. Captura del resultado de aplicar el algoritmo de deteccin de vehculos en entorno de noche a
una imagen donde algunos faros de vehculos estn tapados por otros vehculos.
~ 67 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 45. Grfica de evaluacin del algoritmo de deteccin de vehculos en entornos de noche. Evaluacin
realizada sobre 68 imgenes
~ 68 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 56. Mapa de situacin desde donde se tomaron las fotos para la evaluacin del algoritmo de
deteccin de vehculos en entornos de noche
Figura 57. Pareja de imgenes que muestran ejemplos de la altura desde la que fueron tomadas las
imgenes para la evaluacin del algoritmo de deteccin de vehculos en entornos de noche
~ 69 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 58. Captura del algoritmo fallando en la deteccin de vehculos usando el algoritmo en entornos de
noche
~ 70 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 71 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 72 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 59. Imagen que muestra distintos desplazamientos hasta alcanzar el mximo grado de fitness
Carriles para
estudio de
correlacin
MATLAB
Image Processing Toolbox
Parmetros:
-Recta de movimiento
de los vehculos
-Zona de estudio de
correlacin
Estimacin velocidad
~ 73 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Los parmetros necesarios que indica la figura de este mdulo son los
siguientes:
Recta de movimiento de los vehculos: es estrictamente necesario la
especificacin de una recta que indique la direccin del movimiento que
realiza un vehculo en el carril en el que se encuentra. La recta de
movimiento de vehculos se utiliza para simular el desplazamiento de
fotogramas hasta obtener un buen grado de solape. Si se especifica
errneamente, el estudio de correlacin resulta en valores no fehacientes y
no podr facilitar la estimacin cualitativa que pretende. A continuacin se
muestran los resultados correspondientes al ejemplo de la figura 60 tras una
~ 74 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 61. Imagen que muestra los resultados errneos tras introducir los parmetros de la recta de
manera incorrecta
Figura 62. Imagen que muestra un ejemplo de recta de direccin de los vehculos en cierto carril
~ 75 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 63. Imagen que muestra el escaso nmero de bordes al especificar de manera errnea la zona de
estudio de correlacin
~ 76 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
el frontal del vehculo ya que esta zona ha sido citada por poseer muchos
bordes y ser ptima para realizar el estudio de correlacin.
Figura 64. Imagen que muestra una zona de estudio de correlacin ptima al ser zona donde existen
muchos bordes
~ 77 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Es importante destacar que la siguiente funcin es una funcin que debe ser
retro-alimentada para alguno de sus argumentos. La primera ejecucin recibe como
argumentos lo siguiente:
luminosidadesMedias: matriz de 1 fila y tres columnas con los tres valores a
cero para que vayan siendo rellenados a lo largo de su ejecucin.
carrilEnMomentoAnterior: matriz del tamao de las imgenes que captura la
cmara IP pero con todos sus valores a cero. Esta matriz cambia sus valores
tambin a lo largo de la ejecucin de esta funcin.
indiceImagen: entero con valor igual a 1 para poder llevar una cuenta del
nmero de imgenes procesadas y que sus luminosidades medias pueden
ser guardadas en el vector de luminosidadesMedias en su correspondiente
orden. Este ndice ser incrementado a lo largo de la ejecucin de esta
funcin.
Los argumentos que deben ser retro-alimentados son luminosidadesMedias y
carrilEnMomentoAnterior.
~ 78 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
luminosidadesMedias
indiceImagen
Algoritmo
Estimacin
Velocidad
carrilEnMomentoT
vehiculosDetectados
indiceMaximo
imagenResultado
imagenOriginal
luminosidadesMedias
Figura 65. Esquema que representa la forma de retro-alimentacin de ciertas variables que intervienen en
el algoritmo de estimacin de velocidad
~ 79 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
ProcesarFotosOnline(luminosidadesMedias, carrilEnMomentoAnterior,
indiceImagen)
~ 80 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
mRecta = 1.1458;
bRecta = 15.9430;
zonaCorrelacionPuntoY = 280;
10
zonaCorrelacionPuntoX = 220;
11
correlacion = 0;
Figura 66. Imagen que representa los efectos de la aplicacin de los parmetros necesarios para la
correcta estimacin de la velocidad
~ 81 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
12
imagenOriginal = imread('http://192.168.0.21/axis-
13
cgi/jpg/image.cgi?resolution=640x480&color=1&compression=60');
14
imagen = rgb2gray(imagenOriginal);
15
luminosidadesMedias(mod(indiceImagen-1,3) + 1) = mean(imagen(:));
16
17
18
luminosidadesMedias(2));
19
20
luminosidadesMedias(3) > 0)
21
22
algoritmo = 'Noche';
23
else
algoritmo = 'Dia';
24
25
26
27
end
else
if(mean(imagen(:)) > 50)
algoritmo = 'Dia';
28
29
else
algoritmo = 'Noche';
30
31
32
end
end
~ 82 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 67. Pareja de imgenes con parecida luminosidad, izquierda de da (99) y derecha de noche (90),
para comprobar la no efectividad de utilizar umbrales fijos de luminosidad para discrepar entre da y
noche
33
34
TEA(imagen,algoritmo,carrilCoordX, carrilCoordY);
~ 83 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
35
36
37
if(size(carrilEnMomentoAnterior) > 1)
zonaCorrelacion =
carrilEnMomentoT(zonaCorrelacionPuntoY:ZonaCorrelacionPuntoY+100,...
38
zonaCorrelacionPuntoX:zonaCorrelacionPuntoX+100);
39
capturaMomentoT = zonaCorrelacion(10:101,10:101);
40
Figura 68. A la izquierda se encuentra un estudio de correlacin sin dilatar uno de los carriles. A la
derecha se encuentra un estudio de correlacin diltandao uno de los carriles, quedando ms claro el
proceso.
~ 84 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
41
correlacion = zeros(30,1);
42
for i=1:30
43
valorX = i+250;
44
45
capturaAnterior = carrilEnMomentoAnterior(valorY-60:valorY+31,valorX-
46
60:valorX+31);
47
imagenAnd = and(capturaAnterior,capturaMomentoT);
48
correlacion(i) = sum(sum(imagenAnd));
49
end
50
end
51
52
end
~ 85 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 86 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Calle
Mesones
Figura 70. Mapa de situacin de la calle de donde proceden las imgenes para la evaluacin del algoritmo
de estimacin de la velocidad
Figura 71. Pareja de imgenes consecutivas que muestran las caractersticas del conjunto de ejemplos
usados para la evaluacin del algoritmo de estimacin de la velocidad
~ 87 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Lbulos
Figura 72. Imgenes que muestran la existencia de lbulos y su correspondencia entre la grfica de
evolucin del fitness y cada una de los desplazamientos realizados
~ 88 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Por otro lado, situndose sobre una imagen de una matrcula, que tiene dos
lneas horizontales, es esperable la aparicin de lbulos a distancias equivalentes a
la altura de la matrcula (en pxeles).
~ 89 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 7
Mdulo de deteccin de
vehculos prioritarios
~ 90 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 91 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
esta
situacin
hace
tambin
inviable
la
posibilidad
de
~ 92 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 93 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 94 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 95 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 96 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
import sistematomadecisiones.SimCanvas;
6
7
{
simCanvas = _simCanvas;
9
10
11
12
13
14
~ 97 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
16
17
radio0.start();
18
radio1.start();
19
radio2.start();
20
radio3.start();
}
21
22
~ 98 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
import java.io.*;
import java.util.*;
import sistematomadecisiones.SimCanvas;
Inicialmente, se incluyen las sentencias import necesarias. Las dos primeras son
para utilizar clases de I/O necesarias y manejar colecciones de elementos. La
tercera y ltima es la necesaria para integrarse con el sistema de toma de
decisiones a travs de la clase SimCanvas.
4
10
11
12
13
14
15
idDevice = _idDevice;
16
pollingMillis = _pollingMillis;
17
simCanvas = _simCanvas;
18
@Override
20
21
22
while(true)
23
24
try
25
26
~ 99 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
27
28
29
30
execCommand.append("hcitool -i hci");
31
execCommand.append(idDevice);
32
execCommand.append(" scan");
33
ProcessBuilder btDiscovery = new ProcessBuilder("bash", "-c",
34
35
execCommand.toString());
Process currentScan = btDiscovery.start();
36
Thread.yield();
38
Thread.sleep(pollingMillis);
Estas dos lneas de cdigo son de vital importancia ya que mediante ellas se
realiza el proceso de polling. Debido a que se ha realizado un estudio sobre cmo
influye el tiempo de polling a la hora de descubrir la mayor cantidad de
dispositivos y a la mayor distancia posible se opta a poder variar el polling segn
necesidades, de ah que sea un argumento a la hora de instanciar un objeto de
esta clase.
39
40
41
42
43
while(line != null)
44
{
Ernesto de la Rocha Gmez
~ 100 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
45
if(!line.contains("Scanning"))
46
47
48
49
50
detectionMap.put(macAddress, deviceName);
51
System.out.println("hci" + idDevice + " =>" + macAddress
52
53
54
55
line = br.readLine();
56
57
58
currentScan.destroy();
60
Iterator it = entrySet.iterator();
61
while(it.hasNext())
62
63
64
65
~ 101 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
67
RC4("fernandoGonzalezSanchezMartinezDeMedinilla");
68
69
String cipheredDeviceNameToString =
70
asHex(cipheredDeviceName);
cipheredDeviceNameToString =
71
72
cipheredDeviceNameToString.substring(cipheredDeviceNameToString.length()-
73
15, cipheredDeviceNameToString.length());
74
75
0)
{
76
77
emergencyEquipment = true;
78
if(idDevice.compareTo("0") == 0)
simCanvas.setEmergenciaMesones(true);
79
else if(idDevice.compareTo("1") == 0)
80
simCanvas.setEmergenciaCarretera(true);
81
else
82
simCanvas.setEmergenciaAlfares(true);
83
84
85
else
86
87
emergencyEquipment = false;
88
if(idDevice.compareTo("0") == 0)
simCanvas.setEmergenciaMesones(false);
89
else if(idDevice.compareTo("1") == 0)
90
simCanvas.setEmergenciaCarretera(false);
91
else
92
simCanvas.setEmergenciaAlfares(false);
93
}
94
95
~ 102 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
96
if(entrySet.size() == 0)
97
{
emergencyEquipment = false;
98
}
99
101
catch(Exception e)
102
{
e.printStackTrace();
103
}
104
}
105
}
106
107
108
Por ltimo, el resto del cdigo incluido se encarga de imprimir por consola
cualquier error por producido para que sea observado en tareas de depuracin.
~ 103 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
tipos
de
antenas
concluyendo
que
son
necesarias
antenas
unidireccionales y que tengan un alcance de unos 40-50 metros para detectar los
vehculos de emergencia que se aproximan con la suficiente antelacin.
~ 104 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 8
Sistema de toma de
decisiones
~ 105 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 106 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 107 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Dado que todos los procedimientos del tratamiento digital de imgenes son
realizados en un entorno de desarrollo MATLAB, suponiendo esto un impedimento
a la hora de manejar muchos dispositivos en paralelo, se ha usado la toolbox que
incorpora MATLAB llamada MATLAB JA Builder (for Java language) para llevar a
cabo la integracin entre los procesos de tratamiento digital de imgenes y el
sistema de toma de decisiones que ha sido desarrollado en lenguaje Java por
motivos de portabilidad para trabajos futuros.
~ 108 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Tratamiento digital de
imgenes
Sistema de toma de
decisiones
Decisin
ptima
Figura 77. Esquema que muestra la integracin entre los subsistemas crticos de este proyecto
~ 109 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
import com.mathworks.toolbox.javabuilder.*;
import fusionTEAAlfares.*;
Con estas dos sentencias import, se referencian las libreras necesarias para la
ejecucin del resto de cdigo fuente adjuntado. La primera corresponde a unas
libreras creadas por defecto por MATLAB. La segunda es la librera que tiene que
ser creada
utilizando la
herramienta
Deployment
Tool
anteriormente
import java.awt.image.BufferedImage;
import sistematomadecisiones.SimCanv
10
11
12
13
14
15
simCanvas = _simCanvas;
~ 110 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
16
@Override
18
19
20
21
22
23
int indiceImagen = 1;
24
25
try
26
27
28
luminosidadesMedias = MWNumericArray.newInstance(dims,
29
MWClassID.DOUBLE, MWComplexity.REAL);
30
31
32
Mediante las anteriores retinas, se preparan las variables que van a ser utilizadas
a lo largo de las siguientes partes de cdigo. Ms en concreto, la variable
luminosidadesMedias, es instanciada como MWNumericArray ya que va a ser
utilizada tanto por MATLAB como por JAVA y MATLAB requiere que las variables
sean de ciertas clases.
33
34
results = TEA.ProcesarFotosOnline(6,luminosidadesMedias, 0,
35
indiceImagen);
~ 111 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
argumento:
se
introduce
el
MWNumericArray
vehiculosEsperando = ((MWNumericArray)results[2]).getInt(1);
37
simCanvas.setCurrentCarsAlfares(vehiculosEsperando);
38
39
indiceZonaCritica = ((MWNumericArray)results[3]).getInt(1);
40
41
42
43
simCanvas.setZonaCriticaAlfares(true);
else
simCanvas.setZonaCriticaAlfares(false);
44
45
imagenResultadoMatlab = (MWArray)results[4];
46
imagenResultadoJava =
47
Images.renderArrayData((MWNumericArray)imagenResultadoMatlab);
48
imagenOriginalMatlab = (MWArray)results[5];
49
imagenOriginalJava =
50
Images.renderArrayData(((MWNumericArray)imagenOriginalMatlab));
51
simCanvas.setImagenOriginalAlfares(imagenOriginalJava);
52
simCanvas.setImagenResultadoAlfares(imagenResultadoJava);
~ 112 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Los resultados son recogidos y tratados para que puedan ser utilizados por JAVA
en las anteriores lneas de cdigo. Como se puede comprobar, primero se recoge
el resultado para que posteriormente sea enviado al sistema de toma de
decisiones a travs de la variable simCanvas. En el apartado 8.4.1 se puede
comprobar cmo estas variables forman parte crtica de la generacin de la
decisin ptima. Cabe destacar, que en este momento se realiza la comprobacin
de si en la estimacin de la velocidad de los vehculos se ha detectado un vehculo
que va demasiado deprisa, para en tal caso activar la variable zonaCriticaAlfares.
Tambin en este paso se realiza el proceso de rendering necesario para convertir
las imgenes que devuelve MATLAB en un formato reconocible por JAVA.
53
while(true)
54
{
indiceImagen++;
55
56
results = TEA.ProcesarFotosOnline(6,(MWNumericArray)results[1],
57
58
results[0] , indiceImagen);
59
vehiculosEsperando = ((MWNumericArray)results[2]).getInt(1);
60
simCanvas.setCurrentCarsAlfares(vehiculosEsperando);
61
62
indiceZonaCritica = ((MWNumericArray)results[3]).getInt(1);
63
64
else
65
simCanvas.setZonaCriticaAlfares(false);
66
67
68
imagenResultadoMatlab = (MWArray)results[4];
69
imagenResultadoJava =
70
Images.renderArrayData((MWNumericArray)imagenResultadoMatlab);
71
imagenOriginalMatlab = (MWArray)results[5];
72
imagenOriginalJava =
73
Images.renderArrayData(((MWNumericArray)imagenOriginalMatlab));
74
simCanvas.setImagenOriginalAlfares(imagenOriginalJava);
75
simCanvas.setImagenResultadoAlfares(imagenResultadoJava);
76
En la parte del cdigo que se adjunta arriba, es donde se realizan las siguientes
Ernesto de la Rocha Gmez
~ 113 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
77
78
catch (Exception e)
79
{
System.out.println("Exception: " + e.toString());
80
81
82
finally
83
84
MWArray.disposeArray(luminosidadesMedias);
85
if (TEA != null)
TEA.dispose();
86
}
87
}
88
89
Por ltimo, las anteriores lneas son necesarias para los procesos de depuracin
necesarios a la hora del desarrollo de este algoritmo.
~ 114 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 115 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 116 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
travs
de
las
variables,
emergenciaAlfares,
emergenciaCarretera y emergenciaMesones.
Existencia de posibilidad de colisin debido a vehculos con velocidad
excesiva y que pueden llegar a la interseccin an estando su semforo
cerrado: a travs de las variables, zonaCriticaAlfares, zonaCriticaCarretera y
zonaCriticaMesones.
~ 117 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Cerrar todos los semforos ante situacin crtica, de posible colisin con
vehculos que cruzan la interseccin an teniendo el semforo cerrado
~ 118 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
it = tsPriorities.iterator();
TrafficState currentTS;
while(it.hasNext())
try
if( currentTS.getDirection().equals("Mesones") )
currentTS.setCars(currentCarsMesones);
10
11
12
currentTS.setCars(currentCarsCarretera);
13
14
15
catch(NoSuchElementException rareException)
16
{
rareException.printStackTrace();
17
}
18
19
20
antePreviousTsPriorities = previousTsPriorities;
21
previousTsPriorities = tsPriorities;
22
~ 119 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
24
25
26
27
28
29
30
31
32
time = timeGap + 1;
33
35
36
time = timeGap + 1;
37
emergenciaPresente = true;
38
if(emergenciaAlfares)
previousEmergencia = "Alfares";
39
else if(emergenciaCarretera)
40
previousEmergencia = "Carretera";
41
else
42
previousEmergencia = "Mesones";
43
44
~ 120 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
47
48
time = timeGap + 1;
49
emergenciaPresente = false;
50
52
53
antePreviousTrafficLight = previousTrafficLight;
54
previousTrafficLight = currentTrafficLight;
55
currentTrafficLight = tsPriorities.get(0).getDirection();
if(currentTrafficLight.equals(previousTrafficLight) &&
previousTrafficLight.equals(antePreviousTrafficLight))
currentTrafficLight = tsPriorities.get(1).getDirection();
58
61
62
!emergenciaAlfares
63
&& tsPriorities.equals(previousTsPriorities)
64
&& previousTsPriorities.equals(antePreviousTsPriorities))
65
~ 121 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
currentTrafficLight = tsPriorities.get(
66
67
(indiceRotatorio%3)).getDirection();
indiceRotatorio++;
68
69
70
indiceRotatorio = 0;
71
}
72
73
74
currentTrafficLight.equals("Alfares")) ||
(previousEmergencia.equals("Mesones") &&
75
76
currentTrafficLight.equals("Mesones")) ||
(previousEmergencia.equals("Carretera") &&
77
78
currentTrafficLight.equals("Carretera")))
{
79
80
currentTrafficLight = tsPriorities.get(1).getDirection();
81
previousEmergencia = "";
}
82
83
84
currentTrafficLight.equals("Carretera"))
&& (previousTrafficLight.equals("Alfares") ||
85
86
previousTrafficLight.equals("Carretera"))
&& currentCarsMesones > 0)
87
88
{
currentTrafficLight = "Mesones";
89
90
~ 122 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Esta regla es particular para la situacin donde fue instalado el sistema de toma
de decisiones durante las pruebas en entorno real. La interseccin donde se
realizaban las pruebas, se compona de 3 vas y 2 de ellas se abran de manera
simultnea. Con la ejecucin de esta regla se evita que exista una monopolizacin
entre estas dos vas que se abran de manera simultnea para dar paso a la
tercera.
91
92
93
94
95
openTrafficMesones = true;
96
openTrafficAlfares = false;
97
openTrafficCarretera = false;
98
99
100
&& !emergenciaCarretera
&& !emergenciaAlfares || emergenciaAlfares)
101
102
103
openTrafficMesones = false;
104
openTrafficAlfares = true;
105
openTrafficCarretera = true;
106
if(emergenciaAlfares)
openTrafficCarretera = false;
107
108
109
110
111
112
113
openTrafficMesones = false;
114
openTrafficAlfares = true;
115
openTrafficCarretera = true;
116
if(emergenciaCarretera)
openTrafficAlfares = false;
117
118
~ 123 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
120
121
openTrafficAlfares = false;
122
openTrafficCarretera = false;
123
openTrafficMesones = false;
}
124
125
time = 0;
126
127
130
131
132
!zonaCriticaMesones)
133
134
time = timeGap + 1;
135
openTrafficMesones = false;
136
openTrafficAlfares = false;
137
openTrafficCarretera = false;
138
~ 124 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
La ltima regla es la que cierra todos los semforos s no hay ninguna situacin
prioritaria. Los posibles peatones tienen paso libre.
~ 125 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 126 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 9
~ 127 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 128 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
(http://vwisb7.vkw.tu-dresden.de/~treiber/MicroApplet/),
para
adecuarlo
al
Obviamente las tres vas tienen distinta afluencia de trfico con lo que los
parmetros de ajuste de las distribuciones son distintos para cada va. La
distribucin exponencial slo necesita de un parmetro, que es la media de los
tiempos entre llegadas. En la siguiente tabla se recogen los parmetros de ajuste de
cada va que confluye en la interseccin.
Va de estudio
Calle Alfares
11.5 segundos
Carretera CM-4101
24 segundos
Calle Mesones
16.5 segundos
Figura 79. Tabla que muestra la media de las distribuciones exponenciales que rigen los tiempos entre
llegadas de vehculos a la interseccin de estudio
Ernesto de la Rocha Gmez
~ 129 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 80. Simulacin de la interseccin de estudio usando una regulacin basada en patrones
~ 130 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 82. Grficas de resultados en entorno simulados que muestra la diferencia en tiempos de espera
entre una regulacin semafrica en funcin de patrones y una regulacin semafrica inteligente
~ 131 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 83. Grficas de resultados en entorno simulados que muestra la variacin en trminos de arranques
producidos entre una regulacin semafrica por patrones y una regulacin semafrica inteligente
~ 132 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 133 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Para llevar a cabo estas pruebas, se utilizaron semforos de obra para que
fuesen instalados en paralelo con los semforos existentes. Sobre estos semforos
de obra se instalaron cmaras IP y antenas Bluetooth, que aportaron informacin
de todas las intersecciones del cruce. Para ms informacin sobre cmo llevar a
cabo la instalacin de todos los elementos de este proyecto, es debido consultar el
apndice 1 Manual de Instalacin, incluido en esta memoria.
Calle
Alfares
Calle
Mesones
Figura 84. Mapa de situacin de la interseccin donde se realizaron las pruebas en entorno real
~ 134 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Calle Alfares
Carretera CM-4101
Calle Mesones
Figura 85. Conjunto de imgenes de ejemplos de las capturas realizadas en la interseccin
~ 135 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 136 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 86. Grficas de resultados de diferencia en tiempos de espera entre una regulacin semafrica en
funcin de patrones y una regulacin semafrica inteligente
Figura 87. Grficas de resultados de diferencia en nmero de arrancadas entre una regulacin semafrica
en funcin de patrones y una regulacin semafrica inteligente
~ 137 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Por tanto, los valores correspondientes a los ensayos realizados son los
siguientes:
Combustible
Calle Alfares
Calle Mesones
Carretera CM-4101
TOTALES
Calle Alfares
Calle Mesones
Carretera CM-4101
TOTALES
1 arranque
55
4
9
68
CO2
CO
NOx
5 gramos
275
20
45
340
17.8 gramos
979
71,2
160,2
1210,4
-4
-4
Combustible
CO2
CO
0.18 gramos
140,4
51,12
33,3
224,82
0.57 gramos
444,6
161,88
105,45
711,93
HC
Figura 89. Tabla que cuantifica los ahorros de combustible y de emisiones contaminantes para un vehculo
ligero durante las pruebas ejecutadas en entorno real
~ 138 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 10
Conclusiones
~ 139 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
10. Conclusiones
A modo de resumen, se enumeran las conclusiones ms importantes y las que
impactan de lleno con la motivacin y objetivos planteados al inicio.
Los tiempos de espera de los vehculos que circulan por una interseccin y el
nmero de paradas y arranques pueden ser reducidos por medio de
sistemas de regulacin inteligente de trfico.
~ 140 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 141 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 142 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 143 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Figura 90. Grado de ocupacin rojo debido a la cantidad de vehculos en entornos de noche
Figura 91. Grado de ocupacin amarillo puesto que hay buena circulacin aunque no del todo fluida
~ 144 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 11
Planificacin
~ 145 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
11. Planificacin
En relacin a la planificacin seguida para el desarrollo satisfactorio de este
proyecto, es necesario detallar completamente tanto el equipo de proyecto como
los distintos paquetes en los que se ha subdividido el trabajo para integrar ambos
aspectos.
Director de Proyecto 1
(DP1)
Director de Proyecto 2
Rafael Palacios
David Contreras
(DP2)
Jefe de Proyecto
(JP)
Ernesto de la Rocha
Analista (A)
Investigador 1 (I1)
Investigador 2 (I2)
Programador (P)
Tester (T)
Ernesto de la Rocha
Rafael Palacios
David Contreras
Ernesto de la Rocha
Ernesto de la Rocha
Figura 93. Esquema de distribucin de los roles a travs del equipo de proyecto
~ 146 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Proyecto
TEA
WP 01
WP 02
WP 03
Gestin Proyecto
Desarrollo Sistema
Pruebas
WP 01.01
Documentacin
WP 02.01
WP 03.01
Algoritmo deteccin
de vehculos
Creacin del
simulador
WP 01.02
WP 02.02
WP 03.02
Seguimiento
Proyecto
Algoritmo estimacin
de velocidad
Ejecucin de pruebas
en simulador
WP 02.03
WP 03.03
Algoritmo deteccin de
vehculos de emergencia
Creacin de plan de
pruebas en entorno real
WP 02.04
WP 03.04
Sistema de toma de
decisiones
Ejecucin de pruebas
en entorno real
WP 02.05
WP 03.05
Integracin de todos
los mdulos
Estudio de resultados
obtenidos
De la integracin entre las funciones que ejecutan los distintos miembros del
equipo de trabajo con la Estructura de Divisin del Trabajo propuesta, resulta en la
siguiente tabla de ocupacin de rol por cada paquete de trabajo.
CO DP1 DP2 JP
WP - 01.01 Documentacin
16
WP - 01.02 Seguimiento proyecto
8
TOTALES WP - 01 GESTIN PROYECTO
24
WP - 02.01 Algoritmo deteccin de vehculos
WP - 02.02 Algoritmo estimacin de velocidad
WP - 02.03 Algoritmo deteccin de vehculos de emergencia
WP - 02.04 Sistema de toma de decisiones
WP - 02.05 Integracin de todos los mdulos
TOTALES WP - 02 DESARROLLO SISTEMA
WP - 03.01 Creacin del simulador
WP - 03.02 Ejecucin de pruebas en simulador
WP - 03.03 Creacin de plan de pruebas en entorno real
WP - 03.04 Ejecucin de pruebas en entorno real
WP - 03.05 Estudio de resultados obtenidos
TOTALES WP - 03 PRUEBAS
Totales por Rol 24
8
32
40
16
8
8
16
24
16
4
28
8
8
8
4
28
96
8
24
4
4
8
8
4
28
76
40
40
80
16
8
4
4
4
36
4
16
16
4
40
156
I1
I2
24
24
4
4
4
4
8
24
4
4
4
4
8
24
72
8
8
8
16
16
8
40
8
8
16
24
96
40
4
32
16
4
4
16
72
8
8
16
108
96
204
116
52
44
32
60
304
56
28
36
60
20
200
708
Horas/Hombre
48 32
152 108
Figura 95. Tabla de distribucin del trabajo en funcin del rol y del paquete de trabajo
~ 147 ~
~ 148 ~
WP - 01.01 Documentacin
WP - 01.02 Seguimiento proyecto
WP - 02.01 Algoritmo deteccin de vehculos
WP - 02.02 Algoritmo estimacin de velocidad
WP - 02.03 Algoritmo deteccin de vehculos de emergencia
WP - 02.04 Sistema de toma de decisiones
WP - 02.05 Integracin de todos los mdulos
WP - 03.01 Creacin del simulador
WP - 03.02 Ejecucin de pruebas en simulador
WP - 03.03 Creacin de plan de pruebas en entorno real
WP - 03.04 Ejecucin de pruebas en entorno real
WP - 03.05 Estudio de resultados obtenidos
Work Package
Sept. 2008
2
Oct. 2008
6
Nov. 2008
Dic. 2008
Ene. 2009
Feb. 2009
Mar. 2009
Abr. 2009
May. 2009
Jun. 2009
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
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 12
Estimacin econmica
~ 149 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Para la realizacin de este proyecto slo han intervenido dos entidades. Por
un lado se encuentra el trabajo realizado por el equipo de proyecto, recogido en
unidades de horas/hombre. Y por otro lado se han utilizado ciertos materiales para
llevar a cabo el desarrollo del proyecto y las pruebas pertinentes.
Horas
24
172
152
72
24
152
108
Total personal
26.160
Figura 97. Estimacin del coste de personal para realizar este proyecto
Instrumento
Cmaras IP
Antenas Bluetooth
Alquiler semforos de obra. Medidos en das
Router wireless
Otros componentes hardware (cables, bateras, pilas)
Coste
630
10
270
50
50
1.010
Figura 98. Estimacin del coste de instrumentos necesarios para realizar este proyecto
26.160
Total instrumentos
1.010
Total Proyecto
27.170
Figura 99. Estimacin del coste total para realizar este proyecto
~ 150 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Captulo 13
Bibliografa
~ 151 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
13. Bibliografa
[DGT_07] Direccin General de Trfico, Anuario estadstico de accidentes 2007.
Pgina 100. 2007
[GRAD07] Gradinescu, V., Gorgorin, C., Diaconescu, R., Cristea, V., Iftode, L.,
Departament of Computer Science, Politehnica University of Bucharest, Adaptive
Traffic Lights Using Car-to-Car Communication. 2007
Computer
[GAJD01] Gajda, J., Sroka, M., Stencel, A., Wajda, A., Zeglen, T., A vehicle
classification based on inductive loop detectors, Proc. 18th IEEE Conf. IMTC, vol. 1,
pp.460-464, 2001.
[WANG92] Wang, J., Case, E.R., Manor, D., The Road Traffic Microwave Sensor
(RTMS), Int. Conf. Vehicle Navigation and Information System, pp. 83-90, 1992.
[CARU01] Carullo, A., Parvis, M., An ultrasonic sensor for distance measurement in
automotive applications, Sensors Journal, IEEE, vol. 1, pp. 143-147, August 2001.
[ANDR02] Andreone, L., Antonello, P.C., Bertozzi, M., Broggi, A., Fascioli, A.,
Ranzato, D., Vehicle detection and localization in infra-red images, The IEEE 5th
International Conference on Intelligent Transportation Systems, 2002.
[KAST01] Kastrinaki, V., Zervakis, M., Kalaitzakis, K., A survey of video processing
techniques for traffic applications, Image and Vision Computing, vol. 21, pp. 257261, June 2001.
[ENGH08] Eng How-Lung, Thida, M., Boon-Fong, C., Leman, K., Anggrelly, S.Y.,
Model-based detection and segmentation of vehicles for intelligent transportation
Ernesto de la Rocha Gmez
~ 152 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
system 2008 3rd IEEE Conference on Industrial Electronics and Applications, vol. 1,
pp. 2127-2132, June 2008.
[PAPA00] Papageorgiou, C., Poggio, T., A trainable system for object detection
International Journal Computer Vision, vol.38, no. 1, pp. 15-33, 2000.
[PORN08] Pornpanomchai, C., Liamsanguan, T., Vannakosit, V., Vehicle detection
and counting from a video frame 2008 International Conference on Wavelet
Analysis and Pattern Recognition, vol. 1, pp. 356-361, August 2008.
[ANGU08] Angulo, E., Romero, F.P., Garca, R., Serrano-Guerrero, J., Olivas, J.A, A
methodology for the automatic regulation of intersections in real time using softcomputing techniques, Modelling, Computation and Optimization in Information
Systems and Management Sciences Second International Conference MCO 2008.
[CHAK04] Chakraborty, G., Naik, K., Chakraborty, D., Shiratori, N., Wei, D., Analysis
of the Bluetooth device discovery protocol, Vehicular Technology Conference, 2004.
[MISK07] Miska, M.P., Microscopic Online Simulation for Real Time Traffic
Management, 2007.
[GON05] Gonalves, G.A., Farias, T.L., On-road measurements of emissions and
fuel consumption of gasoline fuelled light duty vehicles, Clean Air 2005 - Eight
International Conference on Technologies and Combustion for a Clean
Environment, 2005.
~ 153 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Apndice I
Manual de instalacin
~ 154 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
Este manual de instalacin puede ser extrapolado para ser utilizado a la hora
de instalar el sistema que propone este proyecto en otros entornos reales. Sin
embargo el entorno software debe ser el mismo al utilizado para el desarrollo de
este proyecto. Los siguientes programas y las correspondientes versiones que
deben ser previamente instaladas son las siguientes:
MATLAB 7.6.0 para Linux.
o Toolbox de tratamiento digital de imgenes.
o Toolbox de MATLAB JA Builder.
JAVA JDK 1.6 o anterior.
Los pasos para llevar a cabo una ejecucin de este proyecto son los que se
indican en el siguiente orden:
~ 155 ~
Mejora del trfico en un cruce regulado por semforos, mediante un sistema basado en visin artificial.
~ 156 ~