Está en la página 1de 71

CONTEO AUTOMTICO DE VEHCULOS

FRANCISCO CARLOS CALDERN BOCANEGRA


GERMN ENRIQUE URREGO NIO

TRABAJO DE GRADO PARA OPTAR POR EL TTULO DE


INGENIERO ELECTRNICO

DIRECTOR
ING. ALEJANDRO FORERO GUZMN, M.Sc.

PONTIFCIA UNIVERSIDAD JAVERIANA


FACULTAD DE INGENIERA
DEPARTAMENTO DE ELECTRNICA
BOGOT DC, 2008
PONTIFICIA UNIVERSIDAD JAVERIANA
FACULTAD DE INGENIERA
CARRERA DE INGENIERA ELECTRNICA

RECTOR MAGNFICO: PADRE JOAQUN EMILIO SNCHEZ GARCA S.J

DECANO ACADMICO: ING. FRANCISCO JAVIER REBOLLEDO MUOZ

DECANO DEL MEDIO UNIVERSITARIO: PADRE SERGIO BERNAL RESTREPO S.J

DIRECTOR DE CARRERA: ING. JUAN MANUEL CRUZ BOHRQUEZ

DIRECTORES DE PROYECTO: ING. ALEJANDRO FORERO GUZMN.


ARTICULO 23 DE LA RESOLUCIN No. 13 DE JUNIO DE 1946

La Universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus
proyectos de grado.

Solo velar porque no se publique nada contrario al dogma y a la moral catlica y por que los
trabajos no contengan ataques o polmicas puramente personales. Antes bien, que se vea en ellos
el anhelo de buscar la verdad y la justicia.
TABLA DE CONTENIDO

TABLA DE CONTENIDO .......................................................................................................................... I


INDICE DE FIGURAS ............................................................................................................................. III
NDICES DE TABLAS............................................................................................................................... V
LISTA DE ANEXOS................................................................................................................................. VI
1. INTRODUCCIN ...............................................................................................................................1
1.1. INGENIERA DE TRFICO .......................................................................................................2
1.1.1. Principios bsicos de la ingeniera del trfico ............................................................................................. 2
1.1.2. Volumen e Intensidad De Circulacin [8]: ................................................................................................. 2
1.1.3. Velocidad [8] .............................................................................................................................................. 3
1.1.4. Densidad [8] ................................................................................................................................................ 3
1.1.5. Medicin ..................................................................................................................................................... 3
2. DESCRIPCIN ...................................................................................................................................5
2.1. OBJETIVOS .................................................................................................................................5
2.1.1. Objetivo General ......................................................................................................................................... 5
2.1.2. Objetivos Especficos.................................................................................................................................. 5
2.2. DESCRIPCIN GENERAL Y ESPECIFICACIONES ...............................................................6
3. DESARROLLOS .................................................................................................................................8
3.1. INVESTIGACIONES PRELIMINARES .....................................................................................8
3.1.1. OpenCV ...................................................................................................................................................... 8
3.1.2. Estructura de OpenCV ................................................................................................................................ 8
3.2. ALGORITMOS INVESTIGADOS ..............................................................................................9
3.2.1. Seleccin de cmara y formatos de video ................................................................................................. 10
3.3. DESCRIPCIN POR BLOQUES DEL ALGORITMO FINAL.................................................11
3.3.1. Seleccin de Video o Cmara ................................................................................................................... 12
3.3.2. Seleccin de Regin de inters y perspectiva ........................................................................................... 12
3.3.3. Estimacin previa del fondo ..................................................................................................................... 14
3.3.4. Mascara de Bordes del fondo .................................................................................................................... 16
3.3.5. Deteccin De Bordes Del cuadro De video .............................................................................................. 17
3.3.6. Estimacin De Fondo Por FGDStatmodel Modificado............................................................................. 17
3.3.7. Variacin de Perspectiva ........................................................................................................................... 19
3.3.8. Seguimiento de Bloques............................................................................................................................ 20
3.3.9. Conteo de Vehculos ................................................................................................................................. 20
3.3.10. Ejemplos de ejecucin del algoritmo ...................................................................................................... 21
4. PRUEBAS ..........................................................................................................................................23
4.1. PROTOCOLO DE ENTRENAMIENTO ...................................................................................23
4.2. PROTOCOLO DE PRUEBAS ...................................................................................................24
4.3. TABLAS DE RESULTADOS ....................................................................................................28
5. ANLISIS DE RESULTADOS ........................................................................................................29
5.1. ANLISIS DE LOS ERRORES ENCONTRADOS ..................................................................36
5.1.1. Vehculo con Bloques desligados ............................................................................................................. 37
5.1.2. Vehculos con un mismo Bloque .............................................................................................................. 38
5.1.3. Separacin Incorrecta de MBRs .............................................................................................................. 39
5.1.4. Vehculo no detectado............................................................................................................................... 40
5.1.5. Errores Aleatorios. .................................................................................................................................... 41
I
5.1.6. Conteo de Vehculos en distintos sectores de la va.................................................................................. 42
5.2. TIEMPO DE COMPILACIN ...................................................................................................51
5.3. COMPARACIN CON OTROS ESTUDIOS ............................................................................52
6. CONCLUSIONES .............................................................................................................................53
7. BIBLIOGRAFIA ...............................................................................................................................56
7.1. LIBROS Y DOCUMENTOS ..............................................................................................................56
7.1.1. Conteo de vehculos y afines: ................................................................................................................... 56
7.1.2. Libros ........................................................................................................................................................ 56
7.1.3. Fondo ........................................................................................................................................................ 57
7.1.4. Momentos ................................................................................................................................................. 57
7.1.5. Plantilla de movimiento (Motempl) .......................................................................................................... 58
7.1.6. Flujo ptico ............................................................................................................................................... 58
7.1.7. Cascadas de Haar ...................................................................................................................................... 58
7.1.8. Otros ......................................................................................................................................................... 59
7.2. PGINAS WEB .............................................................................................................................59
7.2.1. OpenCV .................................................................................................................................................... 59
7.2.2. Estudios de Trfico ................................................................................................................................... 60
7.2.3. Video......................................................................................................................................................... 61
7.2.4. Herramientas y otros ................................................................................................................................. 61

II
INDICE DE FIGURAS

Figura 1 Ejemplo de ubicacin de cmara....................................................................................... 6


Figura 2 Ejemplo de vista de la cmara con perspectiva................................................................. 7
Figura 3 Distribucin de bibliotecas de OpenCV............................................................................ 9
Figura 4 Diagrama de Flujo bsico del algoritmo definitivo......................................................... 11
Figura 5 Ejemplo de ROI .............................................................................................................. 12
Figura 6 Ejemplo de peticin de perspectiva y correccin de la misma ....................................... 13
Figura 7. Ejemplo de perspectiva y correccin con una seleccin muy grande de rea ............... 14
Figura 8 problemas de falta de conexin de objetos binarios bloques que presenta
FGDStatmodel ............................................................................................................................... 15
Figura 9 Diagrama de flujo del algoritmo de mascara de fondo ................................................... 16
Figura 10: Ejemplo de Mascara de fondo (B) de una imagen (A) con el fondo calculado por
media aumentada (B) ..................................................................................................................... 17
Figura 11. Diagrama de flujo del algoritmo de bordes del cuadro de video ................................. 17
Figura 12. Diagrama de flujo del bloque FGDStatmodel modificado .......................................... 18
Figura 13 Ejemplo del funcionamiento de diferentes etapas del algoritmo:(A) la imagen original,
(B)Unin de los resultados en C(C) FGDStatmodel Modificado y algoritmo de (D) bordes en
fondo calculado con la operacin lgica AND entre (F) bordes del fondo calculado con (E)
Algoritmo de Fondo por media aumentada y los bordes del cuadro original (A) ......................... 19
Figura 14. Diagrama de Flujo de Bloque de seguimiento ............................................................. 21
Figura 15 Ejemplos de deteccin en cuadros con perspectiva ...................................................... 22
Figura 16 cuadros de los videos de entrenamiento (A) primeras 2 horas(2).avi tomado en la
carrera 13 con calle 37, (B) S6300609.AVI tomado en la calle 53 con carrera 13.(C)
S6300570.AVI tomado en la carrera 7 con 33 ........................................................................... 23
Figura 17: Ejemplo de lugar donde se tomaron las muestras de prueba del video........................ 24
Figura 18 Ejemplo de Ubicacin de la cmara en el balcn de un edificio prximo a la va a ser
estudiada ........................................................................................................................................ 24
Figura 19 Cuadros de cada uno de los videos de la muestra ......................................................... 25
Figura 20 Resultado algoritmo ...................................................................................................... 28
Figura 21 Diferencia de conteo manual y automtico ................................................................... 29
Figura 22 Error porcentual del conteo ........................................................................................... 30
Figura 23. Ejemplos de compilacin del video N 13 ................................................................... 31
Figura 24 Mala actualizacin de FGDStatModel lo que genera errores de conteo ....................... 32
Figura 25. Secuencia de cuadros (de izquierda a derecha y de arriba a abajo)del video 10 con
actualizacin de fondo en Rojo. .................................................................................................... 34
Figura 26 ejemplo de cuadro del video N 5 ................................................................................. 35
Figura 27. Ejemplo del video N 14 y 15, donde se aprecian objetos que pasan por fuera de la
lnea de conteo, pero son perceptibles en un conteo manual ......................................................... 35
Figura 28. Frecuencia de los errores.............................................................................................. 36
Figura 29. Ejemplo de Vehculo con Bloques desligados (A) y (B) FGDSTatmodel no fue capaz
de reconocer el vehculo, y el algoritmo de bordes no fue suficiente para unir el contorno del
vehculo ......................................................................................................................................... 38
Figura 30 (A) Unin por cercana de vehculos, (B) Unin por estela de FGDStatmodel (C)
Unin por perspectiva.................................................................................................................... 39
III
Figura 31. (A) separacin causada por perspectiva (B) Separacin causada por trayecto diagonal
del bus que aumento su MBR ........................................................................................................ 40
Figura 32 (A) no reconoci el vehculo ni el algoritmo de bordes ni FGDStatmodel (B) el bloque
correspondiente a la motocicleta no fue lo suficientemente grande para ser tomado como un
posible vehculo se presentaron dos casos similares a este ltimo ................................................ 41
Figura 33 (A) conteo de un peatn (B) conteo de un carro de dulces de traccin humana que
pasaba por la va ............................................................................................................................ 42
Figura 34. Realizacin de conteo en tres partes diferentes en el mismo cuadro de video. ........... 43
Figura 35. Resultados Algoritmo de 3 lneas ................................................................................ 45
Figura 36. Diferencias entre conteo manual y el algoritmo de 3 Lneas ....................................... 45
Figura 37. Error porcentual del algoritmo de 3 Lneas.................................................................. 46
Figura 38 Error 3 Lneas V/S 1Lnea ............................................................................................ 47
Figura 39. Error Porcentual 3 Lneas V/S 1 Lnea ........................................................................ 47
Figura 40 Conteo total de las 15 muestras..................................................................................... 50
Figura 41 Conteo total sin videos 1 y 13 ....................................................................................... 50

IV
NDICES DE TABLAS

Tabla 1 Relacin de los videos de prueba del algoritmo definitivo .............................................. 26


Tabla 2 Relacin del conteo manual.............................................................................................. 27
Tabla 3 Dimensiones de las Regiones de Inters por cada video .................................................. 27
Tabla 4 Resultados de conteo del algoritmo.................................................................................. 28
Tabla 5 Errores porcentuales por tipo de vista .............................................................................. 33
Tabla 6 Resultados Conteo Algoritmo 3 Lneas............................................................................ 44
Tabla 7 Promedio y Desviacin del conteo de 3 lneas ................................................................. 44
Tabla 8 Errores Porcentuales en 3 lneas ....................................................................................... 48
Tabla 9 Valores de clculo de la Mediana para el conteo en 3 lneas ........................................... 49
Tabla 10 Datos del Video de muestra ............................................................................................ 51
Tabla 11 Datos de las ejecuciones en diferentes computadores .................................................... 51

V
LISTA DE ANEXOS

ANEXO N 1 FONDO POR MEDIA AUMENTADA


ANEXO N 2 ALGORITMO DE SEGUIMIENTO
ANEXO N 3 ESTUDIO DEL COLOR EN VIDEOS DE TRFICO
ANEXO N 4 ALGORITMO DE FLUJO PTICO
ANEXO N 5 HISTORIA DE MOVIMIENTO
ANEXO N 6 VIDEO

VI
1. INTRODUCCIN

En los ltimos aos, la secretaria Distrital de Movilidad de Bogot [35] se preocupa de los altos
ndices de accidentalidad que aumentan en la ciudad [37] y [38]. Muchas otras ciudades en el
mundo, como Londres, ven en el uso de cmaras de video una solucin para el control de trfico
y de esta manera detectar zonas vulnerables y de alta accidentalidad, posibles infractores, estimar
parmetros de trfico de vehculos y reporte de accidentes, entre otros. Sobre todo, si este
monitoreo se realiza de manera automtica [36].

El uso de visin artificial en sistemas de monitoreo de trfico puede ofrecer muchas ventajas
respecto de otras tecnologas. [25], [8] Entre estas ventajas se incluyen la capacidad para extraer
varias variables de trfico simultneamente o la flexibilidad en la eleccin de la escena de trfico
a monitorear. Adems, las tcnicas de visin artificial se puede implementar en tiempo real y
unido a los avances en comunicaciones, es posible transmitir la informacin a las autoridades de
trnsito de manera remota para su posterior anlisis; asimismo la instalacin requiere mnimas
modificaciones fsicas de la va. [27], [28], [8].

Est comprobado que la Supervisin de video de manera automtica es ms confiable que una
supervisin manual, incluso una persona dedicada y bien intencionada no brinda un apoyo
suficiente y eficaz en un sistema de monitoreo, la atencin de la mayora de personas se degenera
muy por debajo de los niveles aceptables en tan solo 20 minutos, la vigilancia de pantallas de
video es aburrida al no proporcionar una participacin ni estimulacin intelectual, como cuando
se ve un programa de televisin [50].

Tcnicamente hay tres parmetros que caracterizan la circulacin de trfico: el volumen o


intensidad de circulacin, la velocidad y la densidad. La primera variable se obtiene mediante dos
medidas que cuantifican la cantidad de trfico que pasa en una carretera durante un lapso de
tiempo; la velocidad, es la distancia recorrida por el vehculo sobre unidad de tiempo; y densidad,
se define como el nmero de vehculos que ocupan un tramo de longitud dado de un carril o
carretera. [25], [26], [27], [24], [8].

La finalidad de este proyecto es proponer una tcnica para encontrar el nmero de vehculos en
un video tomado en un segmento de va tpico, con condiciones de iluminacin aceptables, para
1
la posterior relacin de este conteo con el tiempo de duracin de la muestra de video y as tener el
volumen de circulacin de trfico en la va.

1.1. INGENIERA DE TRFICO

1.1.1. Principios bsicos de la ingeniera del trfico

La ingeniera del trfico es una rama de la ingeniera civil que se encarga de planear, disear y
organizar la operacin del trfico en calles y autopistas, con el fin de obtener una movilidad
segura y eficiente [8].

Como herramienta en el diseo de vas, se usan modelos de prediccin, que son diseados
basndose en muestras de varios parmetros de trfico:

1.1.2. Volumen e Intensidad De Circulacin [8]:

Son dos medidas que indican el nmero de vehculos que pasan por un segmento de va durante
un intervalo de tiempo determinado.

El Volumen se define como el nmero total de vehculos que pasan por una determinada seccin
de la carretera en un intervalo de tiempo dado. Ya sean aos, das, horas o menos. Y es un valor
real medido directamente en la va en el tiempo total de la medicin

La intensidad horaria se define como el nmero de vehculos que pasan por un segmento de va
durante un intervalo de tiempo inferior a una hora, pero expresado como una intensidad horaria
equivalente. Se obtiene dividiendo el volumen registrado en un periodo entre la duracin del
mismo expresado en horas vehculos / hora.

2
1.1.3. Velocidad [8]

Se define como la distancia recorrida por un vehculo por unidad de tiempo, y se expresa en
kilmetros por hora; Para caracterizar el trfico, se usa como valor representativo la velocidad
media, que se obtiene al promediar las velocidades individuales de cada vehculo.

La velocidad media de recorrido se calcula tomando una porcin de la va, y dividindola entre el
tiempo medio que tardan los vehculos en recorrerla, en este clculo estn incluidas las demoras
del trfico por detenciones completas o congestin del mismo

Si se tiene en cuenta el tiempo en el cual el vehculo est en movimiento el resultado de


velocidad seria la velocidad media de movimiento

1.1.4. Densidad [8]

La densidad se define como el nmero de vehculos que ocupan un segmento de longitud


especifico de una va de tal manera que esta densidad esta dada en vehculos por kilmetro, este
valor depende del segmento considerado y del tiempo en el que se realiz la medicin.

La densidad puede ser medida mediante un mecanismo que permita contar los vehculos en un
tramo de la va deseado, en un instante de tiempo. Tericamente se puede llegar al mismo
resultado, aplicando la ecuacin fundamental del trfico:

intensidad (veh / h)
densidad(veh / km) =
velocidad(km / h)

1.1.5. Medicin

Para llevar un registro de los parmetros en una va en estudio, se usan diversos sistemas de
monitoreo como detectores magnticos, tubos de presin, pistolas de radar y sensores de
microondas. De lejos, los detectores magnticos son los ms utilizados para el monitoreo de
sistemas de trfico [25], [8]. Son instalados en el suelo, sobre la superficie de la va y cuentan el
nmero de carros.

3
Los sensores de presin cuentan los carros cuando han pasado. Las pistolas de radar son el
mtodo ms exacto para monitorear la velocidad de los vehculos y son el sistema ms utilizado
por la Polica para hacer los respectivos correctivos. Los sensores de microondas han sido
utilizado en otros lugares para detectar vehculos que han entrado a una zona determinada [25],
[8].

Estos sistemas solo permiten recopilar una cantidad limitada de informacin relacionada con el
trfico, mientras que la visin artificial podra remplazar simultneamente a varios de estos
sistemas. Adems de contar vehculos y medir la velocidad, se puede proporcionar ruta del
vehculo, tipo de vehculo, tasa de flujo de vehculos, congestiones de trfico e identificacin de
vehculos por nmero de placa [25]. Otro tipo de informacin a largo plazo que se puede tomar
sera tiempo de desplazamiento en ciertas rutas, la longitud y tiempo de espera en una
interseccin, el nmero de cambios de carril y la rpida aceleracin o desaceleracin de vehculos
[25], [26], [27], [24]. Otras posibles ventajas son su fcil instalacin, su bajo costo de
mantenimiento, la flexibilidad en la implementacin y que ms de un carril puede ser
monitoreado mediante este sistema.

4
2. DESCRIPCIN

2.1. OBJETIVOS

2.1.1. Objetivo General

9 Investigar y disear un sistema de conteo automtico de vehculos para extraer la


informacin relacionada con el trfico

2.1.2. Objetivos Especficos

9 Identificar los parmetros generales involucrados en el trfico y su relacin con el conteo


de vehculos.

9 Proponer un algoritmo de deteccin de vehculos bajo buenas condiciones de


luminosidad, y en un segmento de va tpico.

9 Proponer una ubicacin y nmero de cmaras mnimas para conseguir la deteccin de los
vehculos en un segmento de va tpico.

9 Detectar y contar los vehculos en un segmento de va tpico.

9 Evaluar la posibilidad de unificar la informacin de dos o ms cmaras

5
2.2. DESCRIPCIN GENERAL Y ESPECIFICACIONES

El sistema a ser diseado, es la implementacin de un conjunto de algoritmos dispuestos de tal


manera que realicen un conteo de los vehculos en un video, con el fin de obtener el volumen de
trfico en un segmento de va tpico, entendindose este como un tramo unidireccional de una va
en general. Se evit la toma de muestras en intersecciones de vas, glorietas y vas de doble
sentido, en general cualquier tramo en donde el flujo de los carros cuente con ms de una
direccin.

El video a ser capturado, ser tomado en alturas variables, con una inclinacin respecto al plano
horizontal de -45 30 (Figura 1), esto es por comodidad en la toma de videos ya que la cmara
puede ser ubicada en puentes, semforos, seales informativas, costados de edificios y seales de
trnsito elevadas.

Figura 1 Ejemplo de ubicacin de cmara

La iluminacin es un aspecto muy importante en la adquisicin de videos, y determina la


eficiencia que tiene el sistema detectando los vehculos. Se pretende trabajar con videos tomados
durante el da, los cuales servirn como base para el desarrollo de este algoritmo, y determinar en
el anlisis de resultados las condiciones de iluminacin necesarias para obtener conteos precisos.

6
Figura 2 Ejemplo de vista de la cmara con perspectiva

El video utilizado en el proyecto se encontrar en el formato de archivo contenedor AVI, usando


los formatos de compresin o codecs Xvid, DivX y MJPEG [40], [41], [42]. [Ver Anexo N6]
Los videos son tomados a una tasa de 25 y 30 cuadros por segundo (fps).

La salida del sistema consiste en un conteo final representado por el nmero de vehculos en un
video.

7
3. DESARROLLOS

3.1. INVESTIGACIONES PRELIMINARES

Para el desarrollo del proyecto era necesaria la exploracin de las herramientas a ser utilizadas y
el estado del arte de investigaciones similares, que pudieran servir de punto de inicio al proyecto,
definiendo los algoritmos, bibliotecas y las tcnicas de resolucin de problemas a ser usadas.

3.1.1. OpenCV

OpenCV es un conjunto de bibliotecas de cdigo abierto u Open Source desarrolladas en un


principio por Intel disponibles desde http://SourceForge.net/projects/opencvlibrary. Estn
desarrolladas en lenguaje C y C++ y se pueden ejecutar desde Windows, Linux y Mac OS X.[6]

Estas bibliotecas ofrecen cdigo diseado eficientemente, orientado a aplicaciones capaces de


ejecutarse en tiempo real en procesadores modernos. Estas bibliotecas tienen como objetivo
proveer las funciones ms usadas en Visin por computadora y tiene ms de 500 funciones
implementadas. Se usan ampliamente en Vigilancia, imgenes medicas, inspeccin industrial,
interfaces de usuario, calibracin de cmaras, y recientemente se han usado estas bibliotecas en
imgenes areas y mapas de calles, por ejemplo en la herramienta Googles Street View. Se hace
uso de la calibracin de cmara y de funciones de OpenCV para hacer el proceso de stitching,
que consiste en combinar mltiples imgenes para producir una imagen panormica o una imagen
de alta resolucin. [6]

3.1.2. Estructura de OpenCV

Estas bibliotecas se dividen en cinco grandes grupos, en donde se encuentran divididas las
funciones dependiendo de su utilidad (Figura 3): CXCORE, donde se encuentran las estructuras y
algoritmos bsicos que usan las dems funciones; CV donde estn implementadas las funciones
principales de procesamiento de imgenes y algoritmos de visin; HighGUI, con todo lo

8
relacionado a la sencilla interfaz grafica de OpenCV y las funciones que permitan importar
imgenes y video ; ML, que cuenta con algoritmos de aprendizaje, clasificadores y dems; y
CvAux, con funciones experimentales entre ellas BG/FG, esta ltima biblioteca cuenta con
menos documentacin que las dems siendo en algunos casos inexistente una documentacin
oficial del uso de la funcin incluyendo solo el artculo del algoritmo implementado en otros
casos.

Figura 3 Distribucin de bibliotecas de OpenCV

3.2. ALGORITMOS INVESTIGADOS

Al comienzo de la investigacin, se sigui un mtodo que comprenda probar todos los


algoritmos que pudieran servir en la solucin del problema, implementarlos y hacer pruebas
preliminares de calidad de deteccin de los vehculos, para despus de estas pruebas preliminares
seleccionar los algoritmos que tuvieran mejores caractersticas para la solucin del problema.

Primero, se hizo una investigacin dentro de las bibliotecas de OpenCV de las herramientas ms
viables a ser usadas. De esta primera seleccin se tomaron como las ms opcionadas a ser la base
del algoritmo definitivo seis posibles:

9 Clasificadores de Haar [21], [22] y [23] que por sus caractersticas fue descartado, ya que
no era el adecuado dada la diversidad de vehculos que se pretendan detectar; sin
embargo podra ser usado en un futuro, en trabajos que requieran reconocer tipos de

9
vehculos, entrenando una base de datos de manera automtica recopilando muestras con
la deteccin implementada en este proyecto.

9 Motion Template [15], [16], [17], [18] y [Ver Anexo N 5].

9 Flujo ptico [19], [20] y [Ver Anexo N 4].

9 Diversos algoritmos de fondo recientes y de prueba en OpenCV (al encontrarse todava en


la biblioteca CvAux [31]) como FGDStatModel [10], [11] y GaussianBGModel [9].

9 Algoritmos de la biblioteca vidsurv y blobtrack (Se encuentran todava en la biblioteca


CvAux).[30], [31] y [Ver Anexo N 2]

9 Separacin de caractersticas por color de los vehculos [Ver Anexo N 3]

Al realizar un estudio de los aportes de cada uno de estos algoritmos, se tomaron las
caractersticas ms relevantes de cada uno para llevar a cabo la solucin del problema planteado.

3.2.1. Seleccin de cmara y formatos de video

Para la escogencia de la cmara se tuvo en cuenta su formato nativo de salida y la posible


conversin de un formato en otro, ya que OpenCV trabaja en formato AVI [43]. Primero se
trabaj con cmaras que graban en formato contenedor MOV[44] y MPEG [42], para despus
cambiar el formato contenedor de estos videos a AVI. Finalmente, se encontr una cmara que
graba en formato contenedor AVI de manera nativa, lo que evita la necesidad de convertir a otro
formato y el codec en el que trabaja es MJPEG [13], de libre reproduccin, ms no de libre
codificacin.

Para hacer este trabajo de codificar videos, despus de una investigacin de los formatos
disponibles y de haber realizado pruebas con cada uno de ellos [Ver Anexo N 3], se termin
usando el formato contenedor AVI, y como CODECs XviD [40] y MJPEG [42].

10
3.3. DESCRIPCIN POR BLOQUES DEL ALGORITMO FINAL

INICIO

Seleccin de
Seleccin de
Regin de Inters
Video Cmara
y Perpectiva

ROI Parmetros de
Estimacin Previa
Mscara de
de Fondo
Perspectiva y ROI

Mascara de
Bordes de Fondo

Deteccin de V
Bordes de Cuadro
de Video

Bordes de los
vehculos

Estimacin de
Fondo Variacin de
FGDStatModel V Bloques
Perspectiva
Modificado

Seguimiento de
Bloques

Conteo de Vehculos

Variacin Inversa
de Perspectiva

Visualizacin
Final

FIN

Figura 4 Diagrama de Flujo bsico del algoritmo definitivo

11
3.3.1. Seleccin de Video o Cmara

Para hacer el algoritmo ms verstil se pens en hacerlo compatible con estas dos opciones de
compilacin, automticamente al principio de la ejecucin, en caso de no introducir ninguna ruta
de video, el algoritmo detecta todas las cmaras listadas en el sistema, y selecciona la primera
listada por el sistema operativo para compilar, esta cmara debe cumplir las propiedades de
controlador listadas en el [Ver Anexo N 6], en general este bloque es un algoritmo sencillo, que
selecciona el origen de la captura.

3.3.2. Seleccin de Regin de inters y perspectiva

El primer objetivo de este bloque, es brindar una regin de inters configurable por el usuario,
con al nimo de no procesar regiones que no hagan parte de la va, o que por perspectiva sean
intiles y no brinden la suficiente informacin para ser consideradas como parte de la imagen.
Por ejemplo en la (Figura 5) se muestra un video que incluye dos andenes, adems de otra va en
sentido contrario, esta informacin es innecesaria y con la escogencia de este ROI rectngulo de
lneas blancas y amarillas, esas zonas ya no se incluirn en el procesamiento del algoritmo.

Figura 5 Ejemplo de ROI

Existe otro tipo de perspectivas que requieren de correccin para poder ser procesadas, como la
que se muestra en la (Figura 2). Para hacer esta correccin se usaron las funciones de OpenCV,

12
cvWarpPerspectiveQMatrix en OpenCV 1.0 cvGetPerspectiveTransform en OpenCV 1.1, para
obtener la matriz de 3x3 a ser usada luego en la transformacin de perspectiva, la obtencin de
los puntos para calcular esta matriz se hace con una interfaz con el usuario, en la que se pide
indicar con el ratn el ROI y despus dos puntos ms, los que se usarn como destino, junto con
los puntos inferiores del ROI, en la Figura 6 se muestra un ejemplo de esta seleccin de
perspectiva: En violeta, la regin de inters; en amarillo las lneas de la va con las que se realiza
la orientacin de la perspectiva y dos puntos (uno rojo a la izquierda, y verde a la derecha) que
luego de la correccin de perspectiva pasarn a ser los puntos superior izquierdo y derecho
respectivamente.

Figura 6 Ejemplo de peticin de perspectiva y correccin de la misma

En la Figura 7 la seleccin de la perspectiva se hizo muy amplia para mostrar un defecto al


escoger la regin de inters, la falta de resolucin en la parte superior de la imagen que
distorsiona significativamente la imagen con correccin Mientras ms alejado este la va de la
cmara menos resolucin se va a tener por lo que la cantidad de informacin se ver disminuida.
Los algoritmos planteados requieren de un mnimo de resolucin y calidad de la imagen para
trabajar de manera adecuada, por lo menos que el rea de los vehculos este por encima de los
750 pixeles, por lo que se recomienda usar regiones como las de la Figura 6 [6]

13
Figura 7. Ejemplo de perspectiva y correccin con una seleccin muy grande de rea

En esta etapa del algoritmo, se calcularon las coordenadas de la regin de inters, y la matriz de
perspectiva, que son parmetros que se van a usar posteriormente en el algoritmo.

3.3.3. Estimacin previa del fondo

La biblioteca Vidsurv.h [30] implementada en OpenCV es usada en diversas aplicaciones de


vigilancia por video y tiene como algoritmo base para la deteccin de objetos la estimacin de
fondo y posterior reconocimiento del primer plano con lo que detecta los objetos en escena, para
su posterior seguimiento.

Los algoritmos en esta biblioteca fueron estudiados previamente, y en especial FGDStatmodel


[10] y [11] provea una deteccin de los vehculos superior a otros algoritmos estudiados [Ver
Anexos N 4 y 5], por lo que se intent corregir los problemas que se presentaban en la
deteccin.

En las investigaciones preliminares se observ que este algoritmo de fondo en unin con una
tcnica complementaria sera suficiente para lograr solucionar el problema que se muestra en la
Figura 8 y brindar una deteccin de los vehculos estable, que proporcione una imagen binaria en
la cual existe un solo objeto binario que representa a cada vehculo que se denominar de aqu en
adelante como bloque o blob en ingls [49],

14
Figura 8 problemas de falta de conexin de objetos binarios bloques que presenta FGDStatmodel [10] y [11]

FGDStatmodel [10] y [11] tiene el inconveniente de no detectar objetos que tengan un color
parecido al color del fondo como se muestra en la Figura 8, los vidrios en general y los vehculos
de un color similar al pavimento concreto confunden a este algoritmo, por lo que se implement
un algoritmo que no trabajara con color, de [Ver Anexo N 3], se encontr que con ningn
espacio de color se obtuvieron resultados buenos, as que se busc otra alternativa.

Un algoritmo de bordes como el mostrado en la Figura 9 es capaz de detectar cambios en la


imagen lo suficientemente sutiles para poder detectar la presencia de un automvil, incluso si es
de un color parecido al del fondo, esto debido a las sombras y a la iluminacin. En la mayora de
los casos a pesar de ser el vehculo del mismo color del pavimento la textura de la pintura es lo
suficientemente distinta para que un algoritmo de bordes sea capaz de detectar el cambio.

El fondo de la imagen [Ver Anexo N 1], por ejemplo la Figura 10 (B), cuenta con caractersticas
complejas como la demarcacin de la va, manchas del pavimento, huecos y sombras, las cuales
son captadas por el algoritmo de bordes. Como solucin se realiz este bloque que hace una
estimacin del fondo, para posteriormente hallar los bordes propios del fondo y de esta manera
no tenerlos en cuenta en el procesamiento de los bordes del cuadro (Figura 10 (B y C)). Se busc
que este fondo estimado cuente con una convergencia rpida y sea eficiente computacionalmente
en su implementacin. Los detalles de este algoritmo implementado se encuentran en el [Ver
Anexo N 1].
15
3.3.4. Mascara de Bordes del fondo

Con el fondo ya calculado [Ver Anexo N 1], peridicamente se sacan los bordes de este fondo,
se aplican diferentes operaciones morfolgicas, y se invierte con el objetivo de tener una mscara
de bordes del fondo (Figura 9), para poder substraer de los bordes del cuadro los bordes del
fondo, y tener solamente los vehculos.

Figura 9 Diagrama de flujo del algoritmo de mascara de fondo

La (Figura 10) muestra uno de los casos de mayor complejidad encontrada en el fondo[Ver
Anexo N 1], la va cuenta con demarcacin y las condiciones de luz crean sombras alargadas en
la va, que se pueden ver en la (Figura 10(B)), y la mscara de fondo, que se aprecia en la
(Figura 10 (C)). En esta imagen el algoritmo de deteccin de bordes de fondo fue capaz de
detectar todos los bordes en la imagen de fondo y estos no sern tenidos en cuenta en la
estimacin de bordes del cuadro, por lo que la complejidad de la escena no afectar de manera
significativa la deteccin del vehculo.

16
Figura 10: Ejemplo de Mascara de fondo (B) de una imagen (A) con el fondo calculado por media aumentada (B)

3.3.5. Deteccin De Bordes Del cuadro De video

Consiste en un operador de Canny, seguido de una clausura con un elemento estructurante de


5X5 elptico, esto con el fin de unir lneas del vehculo, que el operador de Canny no uni.

Conversin de
Bordes del cuadro de
Cuadro de video RGB a escala de Canny Clausura
video
grises

Figura 11. Diagrama de flujo del algoritmo de bordes del cuadro de video

3.3.6. Estimacin De Fondo Por FGDStatmodel Modificado

Para una resea del algoritmo de FGDStatmodel, refirase a [10] y [11]. Los parmetros
ingresados al algoritmo fueron encontrados mediante pruebas iterativas con los videos de
entrenamiento (ver el protocolo de entrenamiento)

17
Cuadro de video con correccin
de perspectiva (si requiere)

Bordes del cuadro Primera condicin de NO


movimiento

SI

Segunda condicin NO
de presencia

SI

Se continua con el
Se actualiza
ltimo modelo de
FGDStatmodel
fondo

Calculo del Primer


plano

Figura 12. Diagrama de flujo del bloque FGDStatmodel [10] y [11] modificado

Solo se actualiza el modelo estadstico [10] cuando se encuentran dos posibles condiciones: la
primera, basada en el movimiento del cuadro que consiste en hallar mediante un umbral de la
resta de cuadros consecutivos una silueta de movimiento y cuando esta silueta sobrepasa en rea
de sus bloques un valor en norma L1 mayor al 0.5% del rea de la regin de inters se actualiza
as:

actualiza el fondo umbral ( I n 1 I n ) L1


> ( M X N) x 0.005

no se actualiza umbral ( I n 1 I n ) L1
< ( M X N) x 0.005
el fondo

El umbral esta en 50, y M y N son el largo y ancho de la regin de inters

Con esta primera condicin se separan cuadros en los que hay movimiento de cuadros donde no
lo hay, de tal manera que si no hay movimiento de un cuadro a otro, no se actualiza.

La segunda condicin evala, si hay vehculos en el cuadro, si no hay ninguno, actualiza,


funciona usando el resultado de la deteccin de bordes del cuadro despus de la AND (ver Figura
4) con la mscara de bordes y cuando este sobrepasa en rea de sus bloques un valor en norma L1
mayor al 0.2% del rea de la regin de inters actualiza

18
actualiza el fondo diferencia de bordes L1
> ( M X N) x 0.002

no se actualiza diferencia de bordes L1


< ( M X N) x 0.002
el fondo

Figura 13 Ejemplo del funcionamiento de diferentes etapas del algoritmo:(A) la imagen original, (B)Unin de los resultados en C(C)
FGDStatmodel Modificado y algoritmo de (D) bordes en fondo calculado con la operacin lgica AND entre (F) bordes del fondo calculado con
(E) Algoritmo de Fondo por media aumentada y los bordes del cuadro original (A)

3.3.7. Variacin de Perspectiva

La variacin de perspectiva permite trabajar todos los videos con un mismo algoritmo base como
se observa en la (Figura 6), comparndola con la (Figura 5), pero al utilizarse antes de los bloques
de Estimacin de Fondo por FGDStatModel [10], [11] y de Mscara de Bordes, se presentaban

19
errores en las estimaciones de estos bloques por el efecto de prdida de informacin que se
muestra en la (Figura 7).

Por esta razn se utiliza la Variacin de Perspectiva despus y no antes de ser procesadas por los
algoritmos de estimacin de fondo FGDStatModel Modificado y por mscara de bordes de fondo,
al ser unidos estos resultados mediante el operador binario OR (Figura 4), para luego ser
procesados por el Algoritmo de Seguimiento[Ver Anexo N 2].

3.3.8. Seguimiento de Bloques

Teniendo el resultado de la unin de los bloques Estimacin de Fondo por FGDStatModel [10],
[11] y Mscara de Bordes de Fondo corregido en su perspectiva en caso de requerirlo, se
procesan estas imgenes binarias con el siguiente algoritmo de reconocimiento, seguimiento,
clasificacin y conteo ([1] y [31]) que se muestra en el diagrama de flujo de la (Figura 14).

Las flechas azules que se observan en la Figura 14 es la representacin del control de banderas.

La descripcin detallada del funcionamiento del algoritmo se encuentra en el [Ver Anexo N 2]

3.3.9. Conteo de Vehculos

Esta funcin se realiza en el algoritmo de Seguimiento[Ver Anexo N 2], en el bloque de color


rojo de la Figura 14. El algoritmo realiza el conteo de los vehculos en la una lnea perpendicular
a la va (ver Figura 34) al revisar si el centro de gravedad del objeto en el cuadro anterior se
encuentra antes o sobre de la mitad del cuadro y que el centro de gravedad del objeto en el cuadro
actual se encuentre despus de esta lnea, este objeto pasa a ser un vehculo contado, y se marca
para evitar un posible doble conteo del mismo por cualquier motivo.

20
Variacin de perspectiva
FGD + MBF

Tamao
de los
bloquess

Bsqueda de
Contornos en la
Imagen

Unin de MBRs

Nmero
de
Carriles

Separacin de
MBRs mayores al
carril

Clculo de
Momentos de rea
en los MBRs
b[0,1,.., k ]n

Clculo
Es el primer NO Reinicio Matriz Distancias entre
cuadro? de Registro B[r]n-1
y b[s]n

Asignacin de
b[s]n a B[r]n-1
Almacenamiento
de datos en la
secuencia de
Bloques
B[0,1,.., j ]n 1 Conteo de
Vehculos

Borrado de
Asignacin de Control de
Bloques sin Variacin Inversa de
Nuevos Bloques banderas de perspectiva
asignar en
de b[0,1,,k]n B[r]n-1 y b[s]n
B[0,1,,j]n-1
Figura 14. Diagrama de Flujo de Bloque de seguimiento [Ver Anexo N 2]

3.3.10. Ejemplos de ejecucin del algoritmo

A continuacin se muestran algunos ejemplos de la ejecucin del algoritmo. En rojo se muestra el


resultado de FGDStatmodel [10] y [11], en verde el resultado de Bordes de los vehculos, en
amarillo los puntos comunes de los dos anteriores, y en azul la combinacin de los dos con
correccin de perspectiva, y en blanco la mscara de bordes del fondo. El conteo est ubicado en
el cuadro de video en la parte inferior de color cian, la lnea de conteo se muestra en el piso, el

21
MBR que representa el vehculo detectado, est en color morado al igual que nmero de
identificacin del bloque que lo representa

Figura 15 Ejemplos de deteccin en cuadros con perspectiva

22
4. PRUEBAS

4.1. PROTOCOLO DE ENTRENAMIENTO

Para realizar las pruebas preliminares se cont con una serie de videos en los que fue compilado
el algoritmo y con base en los errores vistos se realizaron las correcciones pertinentes, y
calibraciones necesarias. Estos videos no se tuvieron en cuenta para las pruebas finales, pero si
fueron posteriormente aadidos a la base de datos del grupo SIRP

Los videos de entrenamiento fueron tres y sus caractersticas se muestran en la Figura 16

Figura 16 cuadros de los videos de entrenamiento (A) primeras 2 horas(2).avi tomado en la carrera 13 con calle 37, (B) S6300609.AVI
tomado en la calle 53 con carrera 13.(C) S6300570.AVI tomado en la carrera 7 con 33

23
4.2. PROTOCOLO DE PRUEBAS

Se tomaron videos con una cmara puesta en un trpode para evitar movimiento de la imagen, en
una locacin elevada sobre un segmento de va tpico, como lo es un puente peatonal, donde su
parte ms baja se encuentra en promedio a 4.5m por encima de la va, sumando la altura del piso
del puente y la del trpode, la cmara queda a una altura entre 6.5 y 7 metros de la va (Figura
17). La perspectiva que se tiene de la va es tal que incluyen todos los carriles de la misma, y se
toma el rea de inters del video lo ms cercano posible, para as evitar sobrelape u obstrucciones
de los vehculos por la perspectiva, como en la Figura 6.

Figura 17: Ejemplo de lugar donde se tomaron las muestras de prueba del video

En la otra Perspectiva usada la cmara fue ubicada en la parte exterior de un edificio que limita
con la va a ser estudiada, (Figura 18) la cmara en este caso estara orientada de manera vertical
y los problemas de perspectiva con los vehculos sern mnimos.

Figura 18 Ejemplo de Ubicacin de la cmara en el balcn de un edificio prximo a la va a ser estudiada

Un ejemplo de la primera perspectiva desde un puente peatonal se puede ver en la (Figura 19 de


la B a la L) con distintos ngulos de cmara, y de la segunda, en la (Figura 19 A, M, N, O)

24
Figura 19 Cuadros de cada uno de los videos de la muestra

25
De diferentes muestras de perspectivas, vas e iluminaciones se escogieron de manera aleatoria
15 videos de la base de datos del grupo SIRP, todos estos diferentes al conjunto de datos de
entrenamiento, y con estos 15 videos se realizaron las pruebas del algoritmo.

Los videos fueron tomados en distintas horas del da entre las 10:00 am y las 5:40 de la tarde
antes del ocaso, por lo que el algoritmo se prob con videos tomados de da con iluminacin
natural con tiempo soleado nublado (Figura 19).

Entre los videos seleccionados, se encuentran videos grabados por diferentes personas con
objetivos de estudio diferentes; sin embargo, la lista completa de videos seleccionables cumple
con los requerimientos mnimos de las especificaciones del proyecto.

La relacin de los videos, su tiempo de duracin, el lugar de grabacin, su representacin en la


Figura 19 y sus dimensiones se muestra en la Tabla 1.

Tabla 1
Relacin de los videos de prueba del algoritmo definitivo
Dimensiones
N Nombre Duracin Lugar Figura Conteo Manual
Ancho Alto
1 08092407.avi 00:02:45 Cll 53 con Cra 13 O 720 480 70,5
2 S6300610.AVI 00:10:04 Cll 53 con Cra 13 A 640 480 192,5
3 8092401.avi 00:10:01 Cll 53 con Cra 13 N 720 480 220,5
4 08022703.avi 00:04:44 Cll 38 con Cra 13 M 720 480 169,5
5 S6300572.avi 00:03:48 Cra 7 con Cll 31 B 640 480 98
6 S6300573.avi 00:03:30 Cra 7 con Cll 31 E 640 480 72
7 S6300582.avi 00:03:28 Cra 30 con Cll 72 D 640 480 326,5
8 S6300586.avi 00:00:36 Cra 30 con Cll 72 C 640 480 43
9 S6300581.avi 00:03:23 Cra 30 con Cll 72 F 640 480 270
10 S6300598.AVI 00:01:56 Autonorte con Cll 122 G 640 480 137
11 S6300585.avi 00:01:31 Cra 30 con Cll 72 H 640 480 145,5
12 S6300596.avi 00:03:43 Autonorte con Cll 122 I 640 480 252,5
13 MOV00265.avi 00:01:21 Cra 30 con Cll 45 J 640 480 65,5
14 MOV00267.avi 00:01:21 Cra 30 con Cll 45 K 640 480 92
15 MOV00272.avi 00:01:07 Cra 30 con Cll 45 L 640 480 87

Todos los vehculos en los videos fueron contados por tres personas, distribuidos de tal manera
que cada video fue contado por lo menos dos veces.

Se tom la media de estos dos conteos manuales como el resultado a ser comparado con el conteo
automtico realizado por el algoritmo.

La relacin de conteo manual se encuentra en la Tabla 2

26
Tabla 2
Relacin del conteo manual
Conteo Manual
Video N Persona 1 Persona 2 Persona 3 Promedio
1 71 70 70,5
2 196 189 192,5
3 222 219 220,5
4 167 172 169,5
5 98 98 98
6 72 72 72
7 328 325 326,5
8 43 43 43
9 270 270 270
10 138 136 137
11 146 145 145,5
12 252 253 252,5
13 66 65 65,5
14 94 90 92
15 89 85 87

La prueba del algoritmo se realiz seleccionando en cada video una regin de inters tal como se
describe en el apartado Seleccin de Regin de inters y perspectiva de la descripcin por
bloques del algoritmo final, teniendo como resultado final la seleccin de Regiones de Inters
listada en la Tabla 3

Tabla 3
Dimensiones de las Regiones de Inters por cada video
Dimensiones ROI
Video N Nombre Ancho Alto
1 08092407.avi 680 260
2 S6300610.AVI 620 340
3 8092401.avi 676 378
4 08022703.avi 264 310
5 S6300572.avi 540 228
6 S6300573.avi 628 290
7 S6300582.avi 620 262
8 S6300586.avi 612 244
9 S6300581.avi 548 190
10 S6300598.AVI 500 202
11 S6300585.avi 612 260
12 S6300596.avi 608 184
13 MOV00265.avi 432 214
14 MOV00267.avi 620 422
15 MOV00272.avi 616 446

27
4.3. TABLAS DE RESULTADOS

Los resultados del conteo del algoritmo se encuentran en la Tabla 4.

Tabla 4
Resultados de conteo del algoritmo
Resultado
Video N Conteo Manual
algoritmo
1 74 70,5
2 190 192,5
3 218 220,5
4 173 169,5
5 95 98
6 71 72
7 325 326,5
8 43 43
9 269 270
10 132 137
11 148 145,5
12 246 252,5
13 53 65,5
14 86 92
15 85 87

Un grfico comparativo de estos resultados con el conteo manual es el siguiente:

Figura 20 Resultado algoritmo

28
5. ANLISIS DE RESULTADOS

Un grfico del error representado por la diferencia de vehculos del conteo automtico comparado
con el conteo manual se muestra en la Figura 21

Figura 21 Diferencia de conteo manual y automtico

En la Figura 21 se puede observar el comportamiento del algoritmo ante las diferentes muestras
de video.

Se observa que en el video 8 el conteo del algoritmo es igual al conteo manual, mientras que en
los dems videos se presentan errores en el conteo tanto positivos, como errores negativos.

La representacin del error porcentual por cada video se encuentra en la Figura 22.

29
Figura 22 Error porcentual del conteo

Estos porcentajes son calculados con respecto al conteo manual de cada video, listado en la Tabla
2. Se observa el error porcentual en cada uno de los videos, la mayora de estos se encuentran por
debajo del 5% e incluso es nulo en el video 8.

No se puede realizar una comparacin directa entre los distintos errores de los videos al ser estos
de muestras diferentes, distintas condiciones de trfico y perspectiva de la cmara.

La precisin del algoritmo en algunos casos es alta, donde se observan errores menores al 5 %.

En el caso del video 13, la perspectiva de la cmara es distinta a de los dems videos ya esta no
se encuentra en el centro de la va, sino tendiendo al carril izquierdo y es baja con respecto al
suelo, esto empeora la perspectiva vista por la cmara y hace que los bloques que representan los
vehculos se encuentren unidos de manera vertical, situacin que genera errores en el conteo,
adems el video presenta errores de compresin en segmentos del cuadro, que deteriora la escena
y causa falsos objetos detectados por FGDStatModel [10] y [11]. Un ejemplo de la compilacin
del algoritmo se muestra en la Figura 23.

30
Figura 23. Ejemplos de compilacin del video N 13

Adems de esto, las caractersticas de la cmara y su cercana con la va hacan que esta perdiera
el foco con los cambios de nivel ocurridos al pasar un vehculo de gran altura, lo que dificulta el
trabajo del algoritmo.

En el caso del video N 1 el error se debe a una mala obtencin y actualizacin de la estimacin
del fondo de FGDStatModel [10] y [11]. El video comienza con una detencin de los vehculos
causada por un semforo y esta dura el tiempo suficiente para que estos se tengan en cuenta en el
modelo de fondo un ejemplo de este error se encuentra en la Figura 24

31
Figura 24 Mala actualizacin de FGDStatModel [10] y [11] modificado lo que genera errores de conteo

En la Figura 24 (A) se muestra como los vehculos estn detenidos por el semforo, en la Figura
24 (B) estos vehculos ya estn arrancando, sin embargo ya son parte del fondo calculado por
FGDStatModel [10], [11] y este fondo ser mantenido por un prolongado periodo de tiempo
usualmente ms de 3 minutos usualmente dependiendo del video.

El video fue nuevamente compilado cortndolo de tal manera que el principio de este fuera el
comienzo del movimiento de los vehculos y el conteo realizado por el algoritmo fue de 71

32
vehculos, es decir un +0.7% lo que muestra que las condiciones inciales son importantes para
un correcto funcionamiento; sin embargo, despus de cierto tiempo al tener un modelo del fondo
adecuado los errores de conteo causados por este tipo de errores disminuyen

Este ltimo resultado muestra que la perspectiva area tiene errores bajos, y estos dependen de
las condiciones inciales del video, como se aprecia en la Tabla 5 con la adicin del video N 1
cortado en su inicio

Tabla 5
Errores porcentuales por tipo de vista
Resultado Conteo
Video N Diferencia Error (%) Tipo de vista(**) Figura
algoritmo Manual
1 74 70,5 3,5 4,96 A O
1* 71 70,5 0,5 0,71 A O
2 190 192,5 -2,5 -1,3 A A
3 218 220,5 -2,5 -1,13 A N
4 173 169,5 3,5 2,06 A M
5 95 98 -3 -3,06 B B
6 71 72 -1 -1,39 B E
7 325 326,5 -1,5 -0,46 B D
8 43 43 0 0 B C
9 269 270 -1 -0,37 B F
10 132 137 -5 -3,65 B G
11 148 145,5 2,5 1,72 B H
12 246 252,5 -6,5 -2,57 B I
13 53 65,5 -12,5 -19,08 B J
14 86 92 -6 -6,52 C K
15 85 87 -2 -2,3 C L
(*)Versin del video N 1 cortando el inicio de los videos detenidos
(**)Para una referencia del tipo de vista de los videos (A, B y C), remtase a la Figura 19 y al protocolo de pruebas
A vista area elevada B vista desde puente peatonal inclinada hacia el horizonte C vista vertical desde un puente peatonal

En el video N 5 la regin de inters se encuentra alejada de la cmara y adems se encuentra


cerca a un semforo, los vehculos al detenerse se unen por perspectiva. Un ejemplo de este caso
se observa en la Figura 26, en el que se unen los vehculos por perspectiva.

En el video N 10 se presenta un error al comienzo del conteo, mientras se crea el estimado del
fondo. En la Figura 25 en la esquina inferior izquierda de cada cuadro se encuentra el nmero de
cuadro, en color magenta. Despus de 240 cuadros u ocho segundos este estimado se estabiliza y
el conteo es normal, como se observa en la Figura 25.

33
Figura 25. Secuencia de cuadros (de izquierda a derecha y de arriba a abajo)del video 10 con actualizacin de fondo en Rojo.

En los videos N 14 y 15 el video se sale de foco, por la misma razn del video 13, y la
perspectiva es tal que se tiene una cobertura completa del carril central y se observan
parcialmente los carriles laterales, esto hace que el conteo manual sea difcil de realizar al no
haber una decisin clara de que vehculos contar lo cual se aprecia en la dispersin de los datos
del conteo manual de estos videos de 1.91 vehculos en el N 14 y 3.0 vehculos en el video N
15, por lo que el conteo manual se espera que tambin cuente con error comparado con el conteo
real.

Estos ejemplos de indecisin de conteo se pueden ver en la Figura 27.

34
Figura 26 ejemplo de cuadro del video N 5

Figura 27. Ejemplo del video N 14 y 15, donde se aprecian objetos que pasan por fuera de la lnea de conteo, pero son perceptibles en un conteo
manual

35
5.1. ANLISIS DE LOS ERRORES ENCONTRADOS

Obviando los resultados dados en los videos 1, 13, 14 y 15 ya que las caractersticas de ellos no
permiten la separacin de los errores de manera manual en los videos resultantes de la
compilacin del algoritmo, se examinaron los dems videos poniendo especial atencin a los
errores en el conteo y las caractersticas que estos presentan.

En este anlisis se encontraron las siguientes caractersticas:

9 Vehculo con Bloques desligados

9 Vehculos con un mismo Bloque

9 Separacin Incorrecta de MBRs

9 Vehculo no detectado

9 Errores Aleatorios.

Estos errores detectados en los videos de las diferentes compilaciones fueron catalogados de
acuerdo a las anteriores categoras y se muestran a continuacin en la Figura 28 segn su
frecuencia:

Figura 28. Frecuencia de los errores

36
5.1.1. Vehculo con Bloques desligados

Se detecta el vehculo pero el algoritmo de seguimiento[Ver Anexo N 2] no es capaz de unir los


bloques que lo representan.

En versiones pasadas del algoritmo, con el uso de FGDStatModel [10] y [11], los vehculos
comnmente se encontraban desligados, por lo que fue necesaria la implementacin de un
algoritmo de bordes que permitiera delimitar los bordes del vehculo y la creacin de un filtro de
unin de MBRs de bloques desligados, implementado en el algoritmo de seguimiento [Ver
Anexo N 2].

Este error era esperado en algunos casos en que la deteccin de bordes de los vehculos no fue lo
suficientemente marcada esto debido al color del vehculo y adems a que este iba a una alta
velocidad lo que causaba una captura prolongada en el cuadro de video por lo que el vehculo en
el cuadro no es ntido. Existen casos en donde FGDStatModel [10] y [11] no detecta el vehculo
de manera correcta. Tambin suceden en los casos en los cuales el filtro de MBRs no actua ya
que estos no se encuentran unidos ms del 20% de su tamao.

Un ejemplo de este error se muestra en la Figura 29.

37
Figura 29. Ejemplo de Vehculo con Bloques desligados (A) y (B) FGDSTatmodel [10] y [11] no fue capaz de reconocer el vehculo, y el
algoritmo de bordes no fue suficiente para unir el contorno del vehculo

5.1.2. Vehculos con un mismo Bloque

Se unen dos o ms vehculos por perspectiva o por estelas del algoritmo de fondo.

Esta caracterstica se presenta cuando dos o ms vehculos se encuentran unidos ya sea por
perspectiva (Figura 30 C), sombras (Figura 30 A), o estelas del algoritmo de FGDStatModel [10]
y [11] (Figura 30 B). Estas estelas se producen al entrar al cuadro de video uno o ms vehculos
de colores claros que obliga a la cmara a compensar el contraste de la imagen oscureciendo el
pavimento. El algoritmo de fondo FGDStatmodel [10] y [11] detecta el pavimento oscurecido
como otro objeto ubicado detrs del vehculo y al salir el vehculo del cuadro este desaparece
causando errores en el conteo.

Para solucionar los posibles errores mostrados en la Figura 30 (A y C), se implement una
separacin de MBRs dependiendo del ancho del bloque y del nmero de carriles en el video,
[Ver Anexo N 2].

Los ejemplos de estos casos en que las medidas tomadas no fueron suficientes para separar los
vehculos se muestran en la Figura 30.

En la Figura 30 (A) el algoritmo de seguimiento[Ver Anexo N 2] reconoci la unin de solo dos


vehculos en la unin de los tres (taxi, motocicleta y bus colectivo),

38
Figura 30 (A) Unin por cercana de vehculos, (B) Unin por estela de FGDStatmodel [10] y [11] (C) Unin por perspectiva

5.1.3. Separacin Incorrecta de MBRs

El algoritmo de seguimiento [Ver Anexo N 2] separa los MBRs de manera errnea cuando un
vehculo grande (bus, camin, tractomula, etc) es visto ms grande de lo que es.

39
Este error surge como consecuencia del algoritmo implementado para solucionar el anterior error
de vehculos con un mismo bloque, se encuentran falsos positivos a ser separados y se generan
ms conteos de los reales.

Esto puede suceder cuando el vehculo, por la perspectiva de la cmara con respecto a la va,
muestra a los vehculos de manera lateral, que hace que se vean tanto el costado como la parte
superior del vehculo como se ve en la Figura 31 (A)

Otra razn de la presencia de esta caracterstica es debido a que el vehculo se encuentra diagonal
con respecto al sentido de la va, como se observa en la Figura 31(B).

Figura 31. (A) separacin causada por perspectiva (B) Separacin causada por trayecto diagonal del bus que aumento su MBR

5.1.4. Vehculo no detectado

El vehculo no tiene las caractersticas suficientes para ser detectado.

40
La no deteccin de un vehculo se debe a problemas de calibracin de los filtros de tamao de
MBRs para el video o a un vehculo que tenga un color muy parecido al fondo Se encontraron
solo 3 casos de este problema en una muestra de 2106. Dos de estos se muestran en la Figura 32

Figura 32 (A) no reconoci el vehculo ni el algoritmo de bordes ni FGDStatmodel [10] y [11] (B) el bloque correspondiente a la motocicleta no
fue lo suficientemente grande para ser tomado como un posible vehculo se presentaron dos casos similares a este ltimo

5.1.5. Errores Aleatorios.

Dentro de los errores que se encuentran en esta categora se observan conteos de objetos
diferentes a vehculos, pero que debido a sus caractersticas, son analizados por el algoritmo
como un objeto a ser contado como un vehculo.

En toda la muestra de videos se encontraron pocos casos de errores de conteo que no se


encontraban en ninguna de las anteriores categoras.

En el caso de peatones contados, se debe a una calibracin que se encuentra por debajo de su
valor ptimo, se espera que el vehculo ms pequeo a ser contado sea una bicicleta una
motocicleta y estos cuentan con un rea en su forma mayor a la de un peatn de pie, por lo que
este error se puede evitar subiendo los umbrales de rea y permetro de los bloques a ser
detectados. Una muestra de estos errores se encuentra en la Figura 33.
41
Figura 33 (A) conteo de un peatn (B) conteo de un carro de dulces de traccin humana que pasaba por la va

5.1.6. Conteo de Vehculos en distintos sectores de la va

Con la intencin de mejorar estos valores de error se pens en realizar el conteo en distintos
sectores de la va. Este estudio tambin mostrar las mejores posiciones de ubicacin de la lnea
de conteo.

El conteo de los vehculos se realiza mediante el cruce del vehculo, detectado en forma de
bloque, por una lnea determinada en el cuadro de video. Se presentaron casos en los que el
algoritmo presentaba un error justo en el momento de pasar esta lnea, esto provocaba un conteo
errneo

42
En las distintas perspectivas de los videos a probar se realizaron mediciones en tres partes del
cuadro de video como se muestra en la Figura 34.

Figura 34. Realizacin de conteo en tres partes diferentes en el mismo cuadro de video.

Se realizan 3 mediciones para tener una mejor aproximacin estadstica de la veracidad de las
mediciones y su cercana a las mediciones manuales.

Las mediciones se realizan en cuartas partes del cuadro. Una lnea Cian realiza el conteo en el
primer cuarto, cuando los carros entran al cuadro; Una lnea Amarilla realiza el conteo en la
mitad del cuadro y una lnea Magenta realiza el conteo en el ltimo cuarto del cuadro, cuando los
vehculos salen de escena.

La adicin de ms lneas de conteo hace que vehculos en los que se presente un error en el
conteo en una lnea, sean contados en las siguientes.

Los resultados para los conteos en tres sectores de la va se encuentran en la Tabla 6

43
Tabla 6
Resultados Conteo Algoritmo 3 Lneas
Resultado Algoritmo
Video N Linea Linea Linea Conteo Manual
Cian Amarilla Magenta
1 50 72 59 70,5
2 191 191 189 192,5
3 222 217 219 220,5
4 168 173 166 169,5
5 97 98 93 98
6 72 73 71 72
7 326 327 331 326,5
8 43 43 42 43
9 267 270 268 270
10 137 137 132 137
11 145 146 150 145,5
12 249 259 249 252,5
13 51 55 46 65,5
14 91 88 85 92
15 88 87 82 87

A estas mediciones se les realiz el clculo de la media y de la desviacin estndar, que se


muestra en la Tabla 7.

Tabla 7
Promedio y Desviacin del conteo de 3 lneas
Promedio 3 Desviacin
Video N Conteo Manual
lneas Estandar
1 60 11 70,5
2 190 1 192,5
3 219 3 220,5
4 169 4 169,5
5 96 3 98
6 72 1 72
7 328 3 326,5
8 43 1 43
9 268 2 270
10 135 3 137
11 147 3 145,5
12 252 6 252,5
13 51 5 65,5
14 88 3 92
15 86 3 87

La grfica que relaciona los datos obtenidos en el conteo de 3 lneas se encuentra en la Figura 35

44
Figura 35. Resultados Algoritmo de 3 lneas

La diferencia entre el conteo manual y los conteos de 3 lneas se muestra en la Figura 36

Figura 36. Diferencias entre conteo manual y el algoritmo de 3 Lneas

La representacin de los errores porcentual en 3 lneas por cada video se encuentra en la Figura
37.

45
Figura 37. Error porcentual del algoritmo de 3 Lneas

Similar a lo encontrado en la Figura 21 y la Figura 22, se observa que los videos con ms errores
son el video 1 y el video 13.

Al observar la desviacin de los valores de conteo en los videos 1 y 13 en la Tabla 7, se ve cmo


la medicin en estos casos induce a que la media est alejada del conteo manual.

Se puede observar el comportamiento del algoritmo en los dems videos en la Figura 38, donde
se observan los errores en el algoritmo de 1 lnea y los errores en el algoritmo de 3 lneas.

46
Figura 38 Error 3 Lneas V/S 1Lnea

La representacin de los errores porcentuales de los valores de la Figura 38 se encuentra en la


Figura 39.

Figura 39. Error Porcentual 3 Lneas V/S 1 Lnea

Observando la informacin de los videos 1 y 13, dado que la dispersin de estos datos es alta y
algunas lneas presentan un error alto, la media presenta un mayor error que el conteo realizado
en una sola lnea. En el video 12 la dispersin es alta, mayor que en el video 13, pero la muestra

47
en video cuenta con ms vehculos en escena y el error en cada una de las lneas es bajo. En los
dems casos, la inclusin de ms lneas permite que el error sea compensado en caso en los que
se tengan errores positivos y negativos que permiten que la media est ms cerca al conteo
manual comparado con el conteo realizado con una sola lnea.

El video 1 fue nuevamente compilado cortndolo de tal manera que el principio de este fuera el
comienzo del movimiento de los vehculos, para evitar el error mostrado en la Figura 24. El
conteo realizado por el algoritmo se observa en la Tabla 8 lo que muestra que las condiciones
inciales son importantes para un correcto funcionamiento; sin embargo, despus de cierto tiempo
al tener un modelo del fondo adecuado los errores de conteo causados por este tipo de errores
disminuyen al igual que su dispersin.

Tabla 8
Errores Porcentuales en 3 lneas
Linea Cian Linea Amarilla Linea Magenta Promedio 3 Lneas
Video N Conteo Diferencia Error (%) Conteo Diferencia Error (%) Conteo Diferencia Error (%) Conteo Desv. Est. Diferencia Error (%) Conteo Manual
1 50 -20,5 -29,08 72 1,5 2,13 59 -11,5 -16,31 60 11 -10,5 -14,89 70,5
1* 67 -3,5 -4,96 70 -0,5 -0,71 70 -0,5 -0,71 69 2 -1,5 -2,13 70,5
2 191 -1,5 -0,78 191 -1,5 -0,78 189 -3,5 -1,82 190 1 -2,5 -1,3 192,5
3 222 1,5 0,68 217 -3,5 -1,59 219 -1,5 -0,68 219 3 -1,5 -0,68 220,5
4 168 -1,5 -0,88 173 3,5 2,06 166 -3,5 -2,06 169 4 -0,5 -0,29 169,5
5 97 -1 -1,02 98 0 0 93 -5 -5,1 96 3 -2 -2,04 98
6 72 0 0 73 1 1,39 71 -1 -1,39 72 1 0 0 72
7 326 -0,5 -0,15 327 0,5 0,15 331 4,5 1,38 328 3 1,5 0,46 326,5
8 43 0 0 43 0 0 42 -1 -2,33 43 1 0 0 43
9 267 -3 -1,11 270 0 0 268 -2 -0,74 268 2 -2 -0,74 270
10 137 0 0 137 0 0 132 -5 -3,65 135 3 -2 -1,46 137
11 145 -0,5 -0,34 146 0,5 0,34 150 4,5 3,09 147 3 1,5 1,03 145,5
12 249 -3,5 -1,39 259 6,5 2,57 249 -3,5 -1,39 252 6 -0,5 -0,2 252,5
13 51 -14,5 -22,14 55 -10,5 -16,03 46 -19,5 -29,77 51 5 -14,5 -22,14 65,5
14 91 -1 -1,09 88 -4 -4,35 85 -7 -7,61 88 3 -4 -4,35 92
15 88 1 1,15 87 0 0 82 -5 -5,75 86 3 -1 -1,15 87
(*)Versin del video N 1 cortando el inicio de los videos detenidos

Realizando el anlisis de cada una de las tres lneas se puede decir que la lnea amarilla presenta
el mejor conteo de las 3 lneas, seguida de la lnea cian y, por ltimo, la lnea magenta.

Como otra manera de correlacionar los datos, se calcul la mediana de los resultados de conteo
en las 3 lneas. Los resultados de este clculo se encuentran en la Tabla 9.

48
Tabla 9
Valores de clculo de la Mediana para el conteo en 3 lneas
Video N Mediana Diferencia Error (%) Conteo Manual
1 59 -11,5 -16,312 70,5
1* 70 -0,5 -0,709 70,5
2 191 -1,5 -0,779 192,5
3 219 -1,5 -0,68 220,5
4 168 -1,5 -0,885 169,5
5 97 -1 -1,02 98
6 72 0 0 72
7 327 0,5 0,153 326,5
8 43 0 0 43
9 268 -2 -0,741 270
10 137 0 0 137
11 146 0,5 0,344 145,5
12 249 -3,5 -1,386 252,5
13 51 -14,5 -22,137 65,5
14 88 -4 -4,348 92
15 87 0 0 87
(*)Versin del video N 1 cortando el inicio de los videos detenidos

Observando la informacin de los videos 1 y 13, dado que la dispersin de estos datos es alta y
algunas lneas presentan un error alto, la mediana presenta un mayor error que el conteo realizado
en una sola lnea. En los dems casos, la inclusin de ms lneas permite que el error sea
compensado en caso en los que se tengan errores positivos y negativos que permiten que la
mediana est ms cerca al conteo manual comparado con el conteo realizado con una sola lnea.

Al realizar el clculo de la media en una muestra de 3 lneas y al existir entre ellas una baja
desviacin, la mediana y la media sern similares, como se observa al comparar la Tabla 8 y la
Tabla 9.

La recopilacin total de los conteos se observa en la Figura 40.

49
Figura 40 Conteo total de las 15 muestras

Si se calcula nuevamente, teniendo en cuenta las observaciones anteriores sobre los videos y sin
tener en cuenta los videos 1 y 13,de una muestra de 2106 vehculos a contar se llega a un valor de
0,62% de error, comparado con un 1,19% logrado con una sola lnea. Comparando las lneas se
tiene que la Lnea Cian obtuvo un 0,47% de error; la lnea Amarilla obtuvo un 0,14% de error y
la lnea Magenta obtuvo un 1,38% de error, como se observa en Figura 41. Por lo anterior, se
deduce que la mejor ubicacin para contar los vehculos es realizando el conteo en la mitad del
cuadro del ROI.

Figura 41 Conteo total sin videos 1 y 13

50
5.2. TIEMPO DE COMPILACIN

Se tom una versin del algoritmo que no contaba con los resultados mostrados en pantalla ni la
grabacin del video de ejecucin y se midi el tiempo que tardaba el algoritmo en completar el
video de muestra (Tabla 10) en distintos computadores, todos estos con Windows XP SP3 como
sistema operativo, adems de tener instalado OpenCV 1.0 y .NET Framework 2.0. Los datos de
las ejecuciones se muestran en la Tabla 11

Tabla 10
Datos del Video de muestra
Dimensiones Video Dimensiones ROI
Nombre Video Tiempo Cuadros por segundo N Cuadros Ancho Alto Ancho Alto
S6300570 0:01:28 30 2640 640 480 585 223

Tabla 11
Datos de las ejecuciones en diferentes computadores
Tiempo Compilacin Relacin de Tiempos**
N PC Procesador Ncleos Vel. Reloj (GHz) RAM (GB) Tarjeta Grfica RAM video (MB) FMA* Seguimiento FMA* Seguimiento
1 Pentium 4 1 3.06 1.87 Ati Radeon 9100 128 0:01:08 0:07:42 0,77 5,25
2 Pentium D 2 3.4 1.87 Intel 82945G 128 0:00:41 0:06:02 0,47 4,11
3 Core 2 Duo 2 2.6 3.5 Nvidia Quadro NVS 135M 512 0:00:42 0:03:45 0,47 2,55
*FMA algoritmo de fondo por media aumentada[Ver Anexo N 1]
** tiempo de compilacin / tiempo de duracin de video

El tiempo de compilacin para el fondo de Media Aumentada[Ver Anexo N 1] en los 3


computadores, es realizado ms rpido que la duracin del video, lo que implica que la
implementacin en tiempo real de este algoritmo es posible en equipos de prestaciones comunes
(computador 1). El computador 2 y el computador 3 tienen similar tiempo de procesamiento, la
similitud en el tiempo podra deberse a la diferencia que tienen en la velocidad del reloj, siendo la
arquitectura del procesador del Computador 3 ms reciente. Un caso diferente es la compilacin
del seguimiento en los tres computadores, donde el Computador 3 present las mejores
prestaciones en el algoritmo de seguimiento ya que su configuracin en procesamiento de
imgenes lo permite al tener tanto memoria RAM como Tarjeta de Video); estas prestaciones son
suficientes para pensar en una implementacin en tiempo real en este momento reduciendo la
resolucin de la captura o disminuyendo los cuadros por segundo del video.

El desarrollo del algoritmo de fondo por media aumentada[Ver Anexo N 1] y de


seguimiento[Ver Anexo N 2] puede ser llevado a sistemas embebidos en hardware lo que
permitir reducir estos tiempos de ejecucin de los algoritmos, para procesamiento en tiempo
real.

51
5.3. COMPARACIN CON OTROS ESTUDIOS

En el trabajo realizado por Kiratiratanapruk K, et al titulado Vehicle detection and tracking for
traffic monitoring system[5] reporta pruebas con 6 videos a una resolucin de 640X480 a 30
cuadros por segundo, tomados durante el da con un espacio de tiempo en conjunto de 52 minutos
y con una cmara ubicada en un puente peatonal, entre 5 y 12 metros de altura. El total de
vehculos contados manualmente es de 1764, de los cuales se detectaron correctamente 1442 y se
contaron de estos 1374 haciendo los clculos respectivos para poder comparar los resultados
presentan un error de 22.11 % en el conteo de vehculos. Tambin usaron bibliotecas de Opencv
y el algoritmo usado para la deteccin se basa en un modelo de fondo del video usando canny
para el pre procesamiento. En un procesador Pentium M a 1.6 GHz y con 720 MB de RAM
reportaron entre 9.51 y 7.02 cuadros por segundo.

En el trabajo presentado por Thou-Ho (Chao-Ho) Chen, et al. En el trabajo titulado Intelligent
Vehicle Counting Method Based on Blob Anlysis in traffic Surveillance [2] donde reportan
pruebas con 3 videos tomados a 320 X 240 a 30 cuadros por segundo y un total de vehculos
contados manualmente de 88 y de estos cuentan un total de 81 y reportan un error del 7.95%
sobre la muestra. Y usaron un notebook con un procesador Pentium M a 1.7 GHz. Usaron
deteccin de primer plano con una imagen del fondo encontrada mediante la actualizacin del
mismo determinada por el movimiento en la escena.

52
6. CONCLUSIONES

Una correcta medicin de parmetros generales de trfico, que estn relacionados directamente
con el conteo de vehculos en el tiempo, permite el desarrollo de diversos estudios y
caracterizaciones de vas e incluso del comportamiento a futuro, y permite la realizacin de
estimaciones y predicciones de obras de manera confiable.

La obtencin de estos parmetros de trfico comnmente se realiza de manera manual. Esto


implica una desarrollada capacidad de atencin y concentracin, las cuales se debilitan por
cansancio suscitando errores en las mediciones [50]. La visin artificial actualmente est en el
punto que este tipo de tareas se puede realizar de manera automtica, debido al desarrollo en
hardware que permite procesar las grandes cantidades de informacin que se obtienen de un
video.

Actualmente existen cmaras de video dedicadas principalmente a crear un registro de los


acontecimientos en la va mediante grabacin de video y sonido.

Se propone ubicar estas cmaras de tal manera que se pueda realizar el procesamiento del video
con el algoritmo implementado para obtener el menor error en conteo comparado con el conteo
manual.

La ubicacin que brinda los menores errores en el conteo es una vista superior y centrada en la
va, evitando con esto las uniones de vehculos por perspectiva, adems de ser lo suficiente
elevada para que los vehculos ms largos que transiten de manera frecuente por la va y la
totalidad de carriles sean capturados en el cuadro de la escena.

En caso de no ser posible la ubicacin anterior, se pueden obtener resultados con un error similar
ubicando la cmara de tal manera que se produzcan las menores uniones entre vehculos por
perspectiva, ubicndola de manera elevada, centrada en la va, que se observe la totalidad del
ancho de la va con una inclinacin de la cmara respecto a la horizontal de -90 65 (Figura 1)
donde la regin de Inters debe estar ubicada lo ms cercano posible a la cmara.

Al constatar que al procesar los videos capturados por una cmara que cumple con alguna de las
anteriores ubicaciones, el algoritmo obtiene un resultado de conteo con errores menores al 5%,
53
minimizndose estos al ubicar una lnea de conteo en la mitad del cuadro hasta un 2.6%. Todo
esta reflexin lleva a concluir que con una cmara bien situada se evita el uso de ms cmaras
para el trabajo de conteo. Lo que si implicara el uso de por lo menos dos cmaras sera hacer un
seguimiento en estreo, para esto es necesario el uso de tcnicas estereogrficas y de calibracin
que se encuentran en desarrollo en OpenCV [6].

Por otra parte, en el proceso de la investigacin de herramientas que pudieran ser usadas para la
tarea de conteo de vehculos, se encontr que un solo algoritmo de deteccin no es
suficientemente robusto. Un nico algoritmo de deteccin de fondo es una buena opcin para
detectar objetos mviles en ambientes controlados; para ambientes no controlados y complejos
como lo es una va, es necesario complementar las fallas que pueda obtener un algoritmo con las
virtudes de otro, as esto implique un mayor tiempo de procesamiento, que ser compensado por
los avances tecnolgicos en procesamiento de informacin.

Los resultados de este proyecto se pueden mejorar buscando aadir ms de estos algoritmos con
el fin de hacer an ms robusta la deteccin, el seguimiento y el conteo, e implementar la
obtencin de otros parmetros como la clasificacin de vehculos y la obtencin de otros datos
tiles para estimar los parmetros de trfico, como la velocidad o la segmentacin geomtrica de
vehculos. Tambin se pueden prevenir los errores aislados con una correcta retroalimentacin
del calibrado de rea y permetro, ya sea de forma manual automtica.

Del algoritmo de seguimiento se puede sacar la velocidad fcilmente teniendo calibrado el video
con la relacin de pixeles por metro; dado que ya se tiene una estimacin de la velocidad en
pxeles por segundo. Adicionalmente, esta medida puede ser mejorada usando tcnicas ms
especializadas en seguimiento como flujo ptico que pueden permitir hallar esta medida con
mayor precisin

El algoritmo desarrollado tambin podra ser til para recopilar informacin para un futuro
clasificar: se pueden recopilar muestras de vehculos con el algoritmo de seguimiento[Ver Anexo
N 2] para entrenar con esta base de datos un clasificador como cascadas de Haar, Adaboost u
otra tcnica similar, reduciendo el trabajo de adquisicin de muestras positivas.

Finalmente, este estudio promete a futuro servir de punto de referencia a otros trabajos del grupo
SIRP en especial el algoritmo de seguimiento[Ver Anexo N 2] al ser compatible con muchas

54
tcnicas diferentes, y el algoritmo de estimacin de fondo por media aumentada[Ver Anexo N 1]
que brinda una aproximacin de rpida convergencia especializada en el anlisis de trfico.

55
7. BIBLIOGRAFIA

7.1. Libros y documentos

7.1.1. Conteo de vehculos y afines:

[1] Cheong,C. y Ching,N.(2007, Septiembre)."A Method for Vehicle Count in the Presence of
Multiple-Vehicle Occlusions in Traffic Images".IEEE Transactions on Intelligent
Transportation Systems.8 (3).

[2] Chen,T.,Lin,Y. y Chen,T.(2007)."Intelligent Vehicle Counting Method Based on Blob


Analysis in Traffic Surveillance". Proceedings of the Second International Conference on
Innovative Computing, Information and Control.pp.238-241.

[3] Del Carpio, Damin. Ch. C. , Navarrete, R. Marco, A. y Kemper, V. Guillermo , "Sistema de
deteccin de automoviles utilizando tcnicas de procesamiento digital de imgenes".
Universidad de San Martn de Porres, Facultad de Ingeniera y Arquitectura.

[4] Gupte, S., Masoud, O., Martin, R.F.K., Papanikolopoulos,N.P.(2002,March)."Detection and


classification of vehicles".IEEE Transactions on Intelligent Transportation Systems.3(1).
pp.37 - 47.

[5] Kiratiratanapruk, K. y Siddhichai, S. (2006) "Vehicle Detection and Tracking for Traffic
Monitoring System"Information Research and Computer Development Division National
Electronics and Computer Technology Center,TENCON,IEEE Region 10 Conference.

7.1.2. Libros

[6] Bradsky,G. y Kaehler,A.(2008)."Learning OpenCV".Sebastopol,Canada.OReilly Media,


Inc.Septiembre 30 2008.

56
[7] Jain, Anil. K. (1948)."Fundamentals of Digital Image Processing". Englewood
Cliffs.Prentice-Hall International, Inc.1991

[8] Pardillo, M. Jos, M.(2003). "Apuntes de ingeniera de trfico". Madrid, Espaa.E.T.S.


Ingenieros de Caminos, Canales y Puertos.

7.1.3. Fondo

[9] KaewTraKulPong, P. y Bowden, R.(2001,Sept)."An Improved Adaptive Background Mixture


Model for Real time Tracking with Shadow Detection". 2nd European Workshop on
Advanced Video Based Surveillance Systems, AVBS01.

[10] Li,L.,Huang,W., Gu,I.,Tian,Q.(2003)."Foreground Object Detection from Videos Containing


Complex Background". International Multimedia Conference Proceedings of the eleventh
ACM international conference on Multimedia.pp.2 10.

[11] Rosin,Paul L.(1998)."Thresholding for Change Detection". Department of Information


Systems and Computing Brunel University. iccv,pp.274, Sixth International Conference
on Computer Vision (ICCV'98).

7.1.4. Momentos

[12] Hu,M.(1962)."Visual Pattern Recognition by Moment Invariants".IEEE Transactions of


information theory. pp. 179-187.

[13] Kilian,J.(2001,Marzo)"Simple Image Analysis By Moments".(0.2).Consultado el 17 de


noviembre de 2008 en:
http://vaderio.googlepages.com/SimpleImageAnalysisbyMoments.pdf.

[14] Kotoulas,L. y Andreadis,I. "Image analysis using moment".Department of Electrical and


Computer Engineering.Democritus University of Thrace.

57
7.1.5. Plantilla de movimiento (Motempl)

[15] Bobick A. y Davis J. .(1996). Real-time recognition of activity using temporal templates,
IEEE Workshop on Applications of Computer Vision (pp. 3942).

[16] Bradski G. y Davis J. .(2000). Motion segmentation and pose recognition with motion
history gradients, IEEE Workshop on Applications of Computer Vision.

[17] Davis J. W. y Bobick Aaron F. .(1997)."The Representation and Recognition of Action


Using Temporal Templates". IEEE Conference on Computer Vision and Pattern
Recognition

[18] Davis J. W. y Bradski G. .(1999). Real-time motion template gradients using Intel CVLib,
ICCV Workshop on Framerate Vision.

7.1.6. Flujo ptico

[19] Bouguet,J."Pyramidal implementation of the Lucas Kanade feature Tracker".[Artculo en


lnea].Consultado el 18 de Noviembre de 2008 en:
http://robots.stanford.edu/cs223b04/algo_tracking.pdf.

[20] Stavens,D."Introduction to OpenCV". [Artculo en lnea]. Consultado el 18 de Noviembre de


2008 en: http://ai.stanford.edu/~dstavens/cs223b/stavens_opencv_optical_flow.pdf.

7.1.7. Cascadas de Haar

[21] Jones,M. y Viola,P.(2001,Julio)."Robust Real-time Object Detection". Second International


Workshop on Statistical and Computational Theories of Vision - Modeling, Learning,
Computing and Sampling. Vancouver, Canada.

[22] Seo,N.(2008)."Tutorial: OpenCV haartraining Rapid Object Detection With A Cascade of


Boosted Classifiers Based on Haar-like Features".[Curso en Lnea]. Consultado el 18 de
Noviembre de 2008 en :http://note.sonots.com/SciSoftware/haartraining.html.

58
[23] Viola,P. y Jones,M.(1991)."Rapid Object Detection using a Boosted Cascade of Simple
Features".Conference on Computer Vision and Pattern Recognition.

7.1.8. Otros

[24] Christopher Jhon Setchell (1997), Applications of Computer vision to Road-Traffic


Monitoring [tesis doctoral en linea]. University of Bristol. consultado el 19 de noviembre
de 2008 en: http://www.cs.bris.ac.uk/Publications/pub_master.jsp?id=1000217

[25] Kim-Sung Jie y Ming Liu.(2005)"Computer vision based real-time information acquisition
for transport traffic", Information Acquisition, 2005 IEEE International Conference on
Volume, 27 paginas: 6 pp.

[26] Senior, A.W., Hampapur, A. y Lu M.(2005) "Acquiring Multi-Scale Images by Pan-Tilt-


Zoom Control and Automatic Multi-Camera Calibration". Application of Computer
Vision,05 Volume 1. Seventh IEEE Workshops on Volume 1 , Page(s):433 438.

[27] Kai-Tai Song y Jen-Chao Tai.(2006) "Dynamic Calibration of PanTiltZoom Cameras for
Traffic Monitoring." IEEE TRANSACTIONS ON SYSTEMS, MAN, AND
CYBERNETICSPART B: CYBERNETICS, VOL. 36, NO. 5,

[28] Del Bimbo, Alberto y Pernici, Federico. (2005) "Distant Targets Identification as an On-
Line Dynamic Vehicle Routing Problem using an Active- Zooming Camera", IEEE
INTERNATIONAL WORKSHOP ON VS-PETS Beijing

[29] Sudipta, N. Sinha y Marc, Pollefeys, "Toward Calibrating a Pan Tilt Zoom Camera
Network." Departament of computer science, University of North Carolina at Chapel Hill

7.2. Pginas Web

7.2.1. OpenCV

[30] wiki opencv http://opencv.willowgarage.com/wiki/ consultado el 19 de noviembre de 2008

59
[31] The OpenCV Video Surveillance / Blob Tracker Facility
http://opencv.willowgarage.com/wiki/VideoSurveillance consultado el 19 de noviembre
de 2008

[32] Visual C++. http://www.microsoft.com/spanish/msdn/vstudio/express/VC/default.mspx


consultado el 19 de noviembre de 2008

[33] Pgina de Devcpp. http://www.bloodshed.net/devcpp.html consultado el 19 de noviembre


de 2008

[34] BSD Licence. http://www.opensource.org/licenses/bsd-license.php consultado el 19 de


noviembre de 2008

7.2.2. Estudios de Trfico

[35] Secretaria de movilidad de Bogota.


http://www.transitobogota.gov.co/categoria.asp?cat_id=225 . consultado el 19 de
noviembre de 2008

[36] EL MUNDO Londres, videovigilado: cada 10 segundos le capturar un vdeo.


http://www.elmundo.es/suplementos/ariadna/2007/336/1183740591.html , consultado el
19 de noviembre de 2008

[37] Secretaria de transito de Bogot observatorio de movilidad urbana


http://www.transitobogota.gov.co/omu/contenido/contenido.aspx?catID=9&conID=13
consultado el 19 de noviembre de 2008

[38] Cmara de comercio de Bogot


http://camara.ccb.org.co/contenido/contenido.aspx?catID=434&conID=2295 consultado
el 19 de noviembre de 2008

60
7.2.3. Video

[39] http://buscon.rae.es/draeI/SrvltConsulta?TIPO_BUS=3&LEMA=video consultado el 19 de


noviembre de 2008

[40] Pgina de XVid. Xvid.org http://www.xvid.org/FAQ.14.0.html, consultado el 19 de


noviembre de 2008

[41] Pgina de DivX. DivX.com http://www.divx.com/divx/whatisdivx.php , consultado el 19 de


noviembre de 2008

[42] Mjpeg. http://mjpeg.sourceforge.net/ consultado el 19 de noviembre de 2008

[43] Pgina de AVI File Format. http://msdn.microsoft.com/en-us/library/ms779631(VS.85).aspx


consultado el 19 de noviembre de 2008

[44] Mpeg-4. http://www.apple.com/quicktime/technologies/mpeg4/ consultado el 19 de


noviembre de 2008

7.2.4. Herramientas y otros

[45] The MathWorks - Matlab and Simulink http://www.mathworks.com/ consultado el 19 de


noviembre de 2008

[46] Image Acquisition Toolbox http://www.mathworks.com/access/helpdesk/help/toolbox/imaq/


consultado el 19 de noviembre de 2008

[47] Image Processing


Toolboxhttp://www.mathworks.com/access/helpdesk/help/toolbox/images/ consultado el
19 de noviembre de 2008

[48] Harpia Proyect http://s2i.das.ufsc.br/harpia/en/home.html consultado el 19 de noviembre de


2008

61
[49] True story of BLOBs. http://www.cvalde.net/misc/blob_true_history.htm consultado el 19
de noviembre de 2008

[50] Green, Mary W (1999,Septiembre). The Appropriate and Effective Use of Security
Technologies in U.S. Schools,[Libro en Lnea] consultado el 19 de noviembre de 2008
en http://ncjrs.gov/school/178265_5.pdf

62

También podría gustarte