diseno y validaci˜ on de un sistema de´ procesamiento de

63
Dise ˜ no y validaci´ on de un sistema de procesamiento de im´ agenes para el reconocimiento vehicular en intersecciones viales Santiago Morales Aguilar Universidad Nacional de Colombia Facultad de ingenier´ ıa, Departamento de Ingenier´ ıa de Sistemas e Industrial Bogot´ a, Colombia 2019

Upload: others

Post on 31-Jul-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseno y validaci˜ on de un sistema de´ procesamiento de

Diseno y validacion de un sistema deprocesamiento de imagenes para el

reconocimiento vehicular en interseccionesviales

Santiago Morales Aguilar

Universidad Nacional de ColombiaFacultad de ingenierıa, Departamento de Ingenierıa de Sistemas e Industrial

Bogota, Colombia2019

Page 2: Diseno y validaci˜ on de un sistema de´ procesamiento de

Diseno y validacion de un sistema deprocesamiento de imagenes para el

reconocimiento vehicular en interseccionesviales

Santiago Morales

Tesis presentada como requisito parcial para optar al tıtulo de:Magıster en Ingenierıa - Ingenierıa de Sistemas y Computacion

Director:Ph.D. Cesar Augusto Pedraza Bonilla

Lıneas de Investigacion:Procesamiento de Imagenes

Sistemas Inteligentes de Transporte

Universidad Nacional de ColombiaFacultad de ingenierıa, Departamento de Ingenierıa de Sistemas e Industrial

Bogota, Colombia2019

Page 3: Diseno y validaci˜ on de un sistema de´ procesamiento de

Dedicatoria

A mis padres y a mi hermanoQue siempre me apoyaron y estuvieron pendientesde mı a lo largo de este proceso, sobre todo en aque-llos momentos mas difıciles, anhelando siempreverme culminar esta experiencia con exito.

A mi noviaSu apoyo y carino desinteresados en la recta finalde este camino, fueron el impulso y la motivacionnecesarios para finalmente alcanzar metas quetardaron mas de lo esperado en cumplirse.

Lema

La unica decision posible es que hacer con el tiempoque tenemos.J.R.R. Tolkien.

Page 4: Diseno y validaci˜ on de un sistema de´ procesamiento de

AgradecimientosA la universidad Nacional de Colombia, por ser mi alma mater durante el pregrado hace masde 11 anos y nuevamente ser templo de instruccion y aprendizaje. A mi director de tesis el doctorCesar Augusto Pedraza Bonilla, quien me instruyo, guio y apoyo a lo largo de este camino, siem-pre con sabidurıa y paciencia. Al doctor Felix Vega Stavro, cuya contribucion en los momentosmas difıciles fue clave para la culminacion de este trabajo. Al doctor Felipe Restrepo Calle, por suvaliosa colaboracion en los aspectos administrativos de la maestrıa. A mi amigo Andres Moreno,por su ayuda en la validacion de los resultados obtenidos. A colegas y amigos del grupo de investi-gacion de compatibilidad electromagnetica de la Universidad Nacional de Colombia (EMC-UN),David Ricardo Martinez Hernandez, Luis Fernando Albarracın Vargas y Edwin Fernando PinedaVargas, por brindar su ayuda de manera desinteresada en diversas etapas del trabajo. Nuevamentea mis padres, mi hermano y mi novia, por su carino, apoyo y anhelo por ver que cumpliese conesta meta. Finalmente a amigos que no mencionare para evitar que esta lista se prolongue de ma-nera indeterminada, aquellos que me guardaron siempre buenos deseos tienen mi gratitud eterna.Muchas gracias a todos.

Page 5: Diseno y validaci˜ on de un sistema de´ procesamiento de

V

ResumenEl flujo vehicular es una medida importante para disenar estrategias de movilidad en ciudades comoconfiguracion de semaforos, obras de ingenierıa civil entre otras. Esta variable se puede determinara traves de diferentes estrategias manuales y automaticas. Sin embargo, en algunas intersecciones,como las rotondas, es difıcil determinar la matriz de origen destino. En el caso de las estrategiasmanuales, es difıcil contar cada auto en una rotonda de tamano mediano o grande. Por otro lado,puede ser difıcil desarrollar estrategias automaticas porque es necesario detectar, rastrear y contarvehıculos que cambian su posicion dentro de la interseccion. Este trabajo presenta un metodo deconteo de vehıculos para determinar el volumen de trafico y la matriz de origen-destino para roton-das, utilizando dos algoritmos principales, ”Viola-Jones”para la deteccion y .On-line Boosting”parael seguimiento. El metodo se valida con una implementacion aplicada a un video de vista superiorde una rotonda de gran tamano. El video tambien procesa manualmente y finalmente se presentanla comparacion entre ambos resultados.

Palabras clave: Interseccion, Rotonda, Matriz O-D, Deteccion, Seguimiento, Viola-Jones, On-lineBoosting.

Page 6: Diseno y validaci˜ on de un sistema de´ procesamiento de

VI

AbstractVehicular flow is an important measurement to design mobility strategies in cities such as trafficlight configuration, civil engineering works, and others. This variable can be determined throughdifferent manual and automatic strategies. However, some street intersections, such as traffic cir-cles are difficult to determine their origin-destination matrix. In the case of manual strategies, it isdifficult to count every single car in a mid to large-size traffic circle. On the other hand, automaticstrategies can be difficult to develop because it is necessary to detect, track and count vehiclesthat change its position inside an intersection. This chapter presents a vehicle counting methodto determine origin-destination matrix for traffic circle intersections, using two main algorithms,”Viola-Jones”for the detection and .On-line Boosting”for the tracking. The method is validated withan implementation applied to a top view video of a traffic circle. The video is also processed ma-nually and finally the comparison between both results is presented.

Keywords: Intersection, Traffic Circle, Matrix O-D, Detection, Tracking, Viola-Jones, On-line Boos-ting.

Page 7: Diseno y validaci˜ on de un sistema de´ procesamiento de

Contenido

Agradecimientos IV

Resumen V

Abstract VI

Lista de figuras VIII

Lista de tablas X

1 Introduccion 2

2 Antecedentes 42.1 Antecedentes del problema desde la ingenierıa de transito . . . . . . . . . . . . . . 4

2.1.1 Importancia de modelar y medir el transito vehicular . . . . . . . . . . . . 42.1.2 Herramientas comunes usadas para obtener informacion primaria . . . . . 52.1.3 Alternativas tecnologicas para obtener informacion . . . . . . . . . . . . . 5

2.2 Deteccion de objetos por medio de procesamiento de imagenes . . . . . . . . . . . 62.2.1 Viola-Jones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2 Otros algoritmos para deteccion . . . . . . . . . . . . . . . . . . . . . . . 62.2.3 Redes neuronales usadas en la deteccion de objetos . . . . . . . . . . . . . 6

2.3 Seguimiento de objetos por medio de procesamiento de imagenes . . . . . . . . . 72.3.1 On-line Boosting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.2 Kernelized Correlation Filter . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.3 Median Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3.4 Multiple Instance Learning . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.5 Otros algoritmos relevantes de seguimiento . . . . . . . . . . . . . . . . . 8

2.4 Matrices O-D en intersecciones viales . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Metodo propuesto 103.1 Posicion de la camara . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Dos metodos alternativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2.1 Deteccion y seguimiento en un solo algoritmo . . . . . . . . . . . . . . . . 133.2.2 Deteccion y seguimiento con algoritmos independientes . . . . . . . . . . 143.2.3 Comparacion entre los dos metodos planteados. . . . . . . . . . . . . . . . 15

Page 8: Diseno y validaci˜ on de un sistema de´ procesamiento de

VIII Contenido

3.3 Descripcion del metodo propuesto . . . . . . . . . . . . . . . . . . . . . . . . . . 163.3.1 Inicializacion y captura de fotogramas . . . . . . . . . . . . . . . . . . . . 173.3.2 Deteccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.3.3 Seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.3.4 Actualizacion de la matriz O-D y fin de la aplicacion . . . . . . . . . . . . 28

4 Diseno del experimento 314.1 Condiciones y caracterısticas del video de muestra . . . . . . . . . . . . . . . . . 314.2 Configuracion del experimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324.3 Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3.1 Matriz de confusion de la deteccion . . . . . . . . . . . . . . . . . . . . . 344.3.2 Error de deteccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354.3.3 Error de seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.3.4 Error combinado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

5 Resultados 385.1 TPR de distintos entrenadores Adaboost . . . . . . . . . . . . . . . . . . . . . . . 385.2 Comparacion entre distintos algoritmos de seguimiento . . . . . . . . . . . . . . . 385.3 Evaluacion de la aplicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5.3.1 Evaluacion de la deteccion . . . . . . . . . . . . . . . . . . . . . . . . . . 395.3.2 Evaluacion del seguimiento . . . . . . . . . . . . . . . . . . . . . . . . . 405.3.3 Tasa de exito de la aplicacion . . . . . . . . . . . . . . . . . . . . . . . . 41

5.4 Rendimiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

6 Discusion 45

7 Conclusiones y trabajo futuro 477.1 Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477.2 Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Bibliografıa 50

Page 9: Diseno y validaci˜ on de un sistema de´ procesamiento de

Lista de Figuras

2-1. Ejemplo de una interseccion de cuatro entradas y cuatro salidas. Se puede apreciarla correspondiente matriz O-D. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3-1. Se puede apreciar en (a) la disposicion de la camara para la toma de muestras devideo con un enfoque diagonal. En (b) se muestra una imagen tıpica obtenida coneste enfoque. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3-2. Muestra de video tomada desde arriba (enfoque top). Se ilustra una rotonda deBogota grabada con la ayuda de un dron. . . . . . . . . . . . . . . . . . . . . . . . 12

3-3. Se ilustran los diagramas de flujo de los distintos metodos propuestos, (a) ilustra lasolucion que depende de un algoritmo de deteccion robusto, (b) ilustra una segundaopcion en la que se dependen de dos algoritmos independientes entre sı, uno dedeteccion y otro de seguimiento. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3-4. Zonas de origen definidas por el usuario. En la figura (a) se aprecia el punto deorigen que es siempre la esquina superior izquierda relativa; el ancho (W) y el alto(H); el angulo de giro paralelo al sentido de la vıa. La figura (b) ilustra una zonade origen particionada en varias areas de deteccion. Aunque cada area detecta demanera independiente, es importante anotar que los vehıculos son etiquetados conel nombre de la zona de origen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3-5. El usuario debe ubicar una zona de destino por cada salida de la interseccion. Cadauna se identifica con una posicion y un tamano. . . . . . . . . . . . . . . . . . . . 20

3-6. La figura (a) muestra una zona de origen establecida por el usuario con un angulode rotacion de 200◦, respecto al eje X. La figura (b), ilustra el ROI obtenido trasrecortar y rotar el fotograma respecto a dicha zona de origen. . . . . . . . . . . . . 21

3-7. Algunas muestras positivas usadas en el entrenamiento. Todas tenıan una resolu-cion de 50 x 25 pıxeles (originalmente de 100 x 50) y estaban orientadas haciala derecha (0◦ respecto al eje X del fotograma). Se puede apreciar como algunasincluyen senalizaciones viales en el fondo, ademas hay variabilidad de colores yformas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

3-8. Algunas etapas del clasificador obtenido, cada una con sus correspondientes ca-racterısticas HAAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Page 10: Diseno y validaci˜ on de un sistema de´ procesamiento de

X Lista de Figuras

3-9. La posicion inicial, conocida a partir de la deteccion del vehıculo ayuda a confor-mar la primera muestra positiva del modelo de clasificacion binario. El fondo semodela con muestras negativas obtenidas de areas del mismo tamano circundantesa la muestra positiva. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3-10. Se ilustra la diferencia entre un area de seguimiento rectangular en la figura (a)y una cuadra en la figura (b) El vehıculo en el area rectangular al principio calzaperfectamente, pero a medida que gira en la interseccion se desajusta, lo cual causaerrores de rastreo. En el caso del area cuadra, esto no sucede sin importar el angulode giro del vehıculo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3-11. Matriz O-D obtenida hasta el fotograma 6503 del video de salida de la aplicacion.Se pueden apreciar el conteo vehicular y el promedio de velocidad de cada posiblecombinacion entre las cuatro zonas de origen versus las cuatro zonas de destino.Esto arroja una matriz de 4 x 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4-1. Estado del video previo al analisis y la validacion. Se pueden apreciar las zonas deorigen denotadas como Z1, Z2, Z3 y Z4; ası como las zonas de destino denotadascomo A, B, C y D. Tambien se puede apreciar en la parte inferior los contadoresglobales, “FRAME” para fotograma actual del video, “Cars” para lo vehıculostotales detectados y “Counted” para los vehıculos finalizados. Finalmente en laparte superior se aprecia la matriz O-D con el conteo vehicular y el promedio develocidad, inicializados en cero en cada posicion. . . . . . . . . . . . . . . . . . . 33

4-2. Se ilustra como al vehıculo rastreado se le asigna el identificador “Z4 8”, es decir,es el octavo vehıculo identificado durante el analisis del video y pertenece a lazona de origen “Z4”. Adicionalmente el centroide del vehıculo, identificado porel algoritmo de seguimiento, se visualiza con el mismo color de la zona de origen(verde), esto para facilitar el proceso de validacion. . . . . . . . . . . . . . . . . . 34

5-1. Diagrama de flujo que ilustra el proceso de fraccionamiento del seguimiento paraque pueda ser procesado en paralelo por varios hilos. . . . . . . . . . . . . . . . . 42

5-2. Uso de la memoria RAM versus conteo vehicular, en el tiempo. . . . . . . . . . . . 435-3. Uso del CPU versus el conteo vehicular, en el tiempo. . . . . . . . . . . . . . . . . 435-4. Tiempo de analisis de cada fotograma versus conteo vehicular, en el tiempo. . . . . 445-5. Se presenta la misma informacion de la figura 5-4 pero con el eje vertical ”tiempo

por fotograma”truncado. Esto permite apreciar mejor (contrario a la figura 5-4) lasimilitud entre ambas variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

6-1. Se puede apreciar un error de seguimiento en el vehıculo con etiqueta “S4 3”,causado por la oclusion generada por el arbol que se impone sobre la vıa. . . . . . 46

Page 11: Diseno y validaci˜ on de un sistema de´ procesamiento de

Lista de Tablas

4-1. Caracterısticas del hardware donde se corrio la aplicacion . . . . . . . . . . . . . . 324-2. Matriz de confusion del algoritmo de deteccion. . . . . . . . . . . . . . . . . . . . 35

5-1. Tasa de deteccion positiva de distintos tipos de entrenadores Adaboost. . . . . . . . 385-2. Resultados obtenidos para distintos algoritmos de seguimiento. . . . . . . . . . . . 395-3. Matriz de confusion de la zona de origen 1. . . . . . . . . . . . . . . . . . . . . . 395-4. Matriz de confusion de la zona de origen 2. . . . . . . . . . . . . . . . . . . . . . 395-5. Matriz de confusion de la zona de origen 3. . . . . . . . . . . . . . . . . . . . . . 405-6. Matriz de confusion de la zona de origen 4. . . . . . . . . . . . . . . . . . . . . . 405-7. Matriz de confusion totalizada de la rotonda. . . . . . . . . . . . . . . . . . . . . . 405-8. Errores de deteccion de cada zona de origen y de toda la interseccion. . . . . . . . 405-9. Errores de seguimiento para los vehıculos originados en cada una de las zonas de

origen, ası como el error total de seguimiento en toda la interseccion. . . . . . . . . 415-10. Errores combinados en cada una de las zonas de origen, ası como el error total de

la aplicacion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415-11. Tiempos en microsegundos medidos para cada rutina relevante de la aplicacion. . . 42

Page 12: Diseno y validaci˜ on de un sistema de´ procesamiento de

1 Introduccion

A medida que las ciudades en el mundo aumentan de tamano, el transito vehicular se hace cadavez mas denso y la movilidad mas compleja, afectando la vida de millones de personas. Por estemotivo existe la necesidad de medir y modelar en transito por medio de la realizacion de estudiosque obtienen informacion primaria directamente de las vıas. Esto es crıtico a la hora de la tomade decisiones en el diseno de intersecciones, vıas, semaforos, cruces peatonales, puentes, entreotros, ya que sin un conocimiento previo y preciso de la cantidad de flujo vehicular, dichos disenospueden no ser optimos.El conteo vehicular es una herramienta que permite conocer con detalle el comportamiento dela movilidad en las ciudades. Saber cuantos carros pasan por un punto determinado, ası comosu promedio de velocidad, ayuda a actualizar los modelos de transito vehicular. El metodo mascomunmente usado para la obtencion de esta informacion es el conteo manual de vehıculos [1], noobstante, este tiene problemas fundamentales, como errores significativos de medicion (debido ala intervencion humana), falta de trazabilidad, frecuencia baja en la toma de mediciones y costoselevados. Adicionalmente, el problema se agudiza dependiendo del lugar donde se quieran obtenerlas mediciones, por ejemplo, es mas difıcil medir la cantidad de vehıculos en una interseccion queen un segmento recto de vıa.A medida que la tecnologıa avanza, se han implementado metodos tecnologicos alternativos, quepermiten solucionar algunos de los inconvenientes explicados. De entre todas las tecnologıas emer-gentes, se destaca el procesamiento de imagenes y la vision artificial, como alternativas que ganancada vez mas aceptacion, debido a los errores reducidos, capacidad de validacion, trazabilidad deerrores y capacidad de medir con mayor frecuencia y en mas ubicaciones dentro de una ciudaddeterminada. Los metodos manuales y los recientes avances tecnologicos obtienen informacion envıas rectas, pero comienzan a tener problemas en intersecciones donde se requiere obtener la ma-triz de origen y destino (matriz O-D) [2]. La problematica se agudiza cuando se quieren analizarintersecciones mas complejas, como por ejemplo rotondas. Dado el panorama anterior, se planteael siguiente problema:

¿Que caracterısticas debe tener un sistema de procesamiento de imagenes para la medicionde flujo vehicular en intersecciones?

En el presente trabajo se busca solucionar esta inquietud por medio de la implementacion de unmetodo, que hace uso de algoritmos y tecnologıas del procesamiento de imagenes y de la vi-sion artificial. Se desarrolla ası, una solucion de software que busca medir el flujo vehicular en

Page 13: Diseno y validaci˜ on de un sistema de´ procesamiento de

3

intersecciones (particularmente rotondas de gran tamano), usando algoritmos de deteccion y deseguimiento.La distribucion del presente trabajo es la siguiente, el capıtulo 2 presenta los antecedentes del pro-blema planteado, el capıtulo 3 expone el metodo usado en detalle, el capıtulo 4 describe el disenodel experimento que valida los resultados, los cuales se presentan en el capıtulo 5. Los capıtulos 6y 7 presentan respectivamente, la discusion de los resultados y las conclusiones obtenidas.

Page 14: Diseno y validaci˜ on de un sistema de´ procesamiento de

2 Antecedentes

A continuacion se presenta el estado del arte del problema planteado en capıtulo 1. Dichos trasfon-do se aborda desde dos opticas, la primera estudia la importancia de medir y modelar el comporta-miento del transito vehicular en las ciudades, y las herramientas actualmente usadas para obtenerla informacion primaria requerida en dichos modelos, la segunda ilustra las tecnologıas actualesmas comunes para detectar y seguir objetos por medio del procesamiento de imagenes, lo anteriorjustificado por el hecho de que la tecnologıa actual permite solucionar el problema planteado pormedios computacionales y sirviendo ademas de introduccion a las herramientas que finalmente seusaron en la solucion final. Partiendo de estas dos opticas, el presente capıtulo se organiza de lasiguiente manera, primero se presenta la importancia de los estudios de transito en la seccion 2.1.Luego en la seccion 2.2, se analizan los sistemas y algoritmos mas conocidos actualmente en latarea de la deteccion objetos. Posteriormente en la seccion 2.3, se presentan algunos algoritmosvigentes para el seguimiento de objetos. Finalmente en la seccion 2.4, se presentan los antece-dentes del problema central de este trabajo, es decir, la dificultad de obtener la matriz de origeny destino (matriz O-D) en intersecciones y rotondas, sobre todo cuando estas son de un tamanorelativamente grande.

2.1. Antecedentes del problema desde la ingenierıa detransito

A continuacion se resumen los antecedentes del problema desde el punto de vista de la ingenierıacivil y de transito y los estudios relacionados a estas disciplinas.

2.1.1. Importancia de modelar y medir el transito vehicular

A medida que el volumen de vehıculos aumenta en las grandes ciudades, se hace necesario medir,analizar, modelar y evaluar el transito vehicular, de tal manera que se pueda conocer con mayorprecision el comportamiento del mismo en las vıas de las urbes modernas. Esto permite tomardecisiones acertadas que contribuyan en el mejoramiento de la movilidad de millones de personas,teniendo ademas un impactando significativo en otros aspectos como el economico o el cultural[3]. De esta manera, los modelos de transito influyen en el diseno de vıas, cruces peatonales, puen-tes, intersecciones vehiculares, ajustes de los tiempos de los semaforos, entre otros [4].La necesidad de modelar el flujo vehicular, y de manera general el comportamiento del transito no

Page 15: Diseno y validaci˜ on de un sistema de´ procesamiento de

2.1 Antecedentes del problema desde la ingenierıa de transito 5

es nueva, es un problema que ha sido analizado desde los anos 50, cuando se propusieron mode-los matematicos que hacıan una analogıa entre el flujo vehicular y el movimiento de partıculas enfluidos [5]. Desde entonces el tema se ha estudiado y debatido de manera exhaustiva. Sin embargoes necesario para evaluar y contrastar con la realidad, recopilar informacion en entornos reales, yaque sin dicha informacion no hay manera de validar los resultados teoricos. Esta toma de infor-macion implica a su vez un reto, el cual ha sido abordado de diversas formas. A continuacion seresaltan las mas relevantes.

2.1.2. Herramientas comunes usadas para obtener informacionprimaria

Dentro de los metodos mas usados se tiene el aforo manual, en el cual personal capacitado se ubicaen las vıas o intersecciones para contabilizar vehıculos[6]. Este metodo, no obstante, es costosoy no se realiza con regularidad, ademas los conteos manuales son susceptibles al error [1]. Otrasalternativas reemplazan al ser humano con contadores automaticos como sensores neumaticos, sen-sores infrarrojos, o lazos de inductancia, todos instalados en la vıa [1]. Estas alternativas reducenel error inducido por el ser humano, pero son costosas, ademas requieren de tiempos adicionalespara la instalacion y suelen ser invasivas con el entorno donde se las requiere.

2.1.3. Alternativas tecnologicas para obtener informacion

Alternativas mas sofisticadas para el conteo de vehıculos incluyen el uso de plataformas basadasen sistemas de localizacion como GPS (Global Positioning System) [7] o VANETS (Vehicular Ad-Hoc Network) [8], las cuales permiten conocer con precision y en tiempo real la ubicacion de losvehıculos en vıas e intersecciones ası como almacenar su recorrido, con lo cual tras juntar datosde una cantidad significativa de automotores, se obtiene un modelo preciso del flujo vehicular. Sinembargo, aunque parecen soluciones ideales, aun estan lejos de ser una realidad, ya sea por costoselevados, falta de voluntad polıtica, falta de integracion de tecnologıas, dificultades tecnicas, fallasde seguridad, entre otros [9].Otra alternativa tecnologica cada vez mas aceptada, es el conteo vehicular por medio de video,para la cual existen dos enfoques. Uno consiste en grabar video en el sitio de interes, para poste-riormente analizarlo de manera manual [1]. Este enfoque sufre de inconvenientes similares al casodel conteo manual en sitio, pero cuenta con trazabilidad de errores y validacion de resultados. Laotra alternativa es el conteo automatico por medio de procesamiento de imagenes, el cual a medidaque la tecnologıa avanza, se hace cada vez mas comun. A continuacion se hace un resumen delos metodos mas relevantes en el campo del procesamiento de imagenes y la vision artificial, quepueden ser usados para el conteo vehicular.

Page 16: Diseno y validaci˜ on de un sistema de´ procesamiento de

6 2 Antecedentes

2.2. Deteccion de objetos por medio de procesamientode imagenes

A continuacion se presentan algunos de los algoritmos relevantes en el area de la deteccion deobjetos por medio de procesamiento de imagenes.

2.2.1. Viola-Jones

El algoritmo propuesto por Viola-Jones [10], fue el primero en ofrecer tasas de deteccion competi-tivas en tiempo real. Consiste en aplicar caracterısticas HAAR [11], como clasificadores primariosque evaluan diferencias de intensidad de luz entre regiones de la imagen. Una caracterıstica HAAR,es insuficiente como clasificador, pero a partir de un conjunto de estas, se puede obtener un clasifi-cador debil, con una tasa de acierto poco superior al 50 %. Sin embargo si se juntan varios de estosultimos en un clasificador en cascada, la tasa de acierto mejora significativamente. Para obtener lasmejores caracterısticas HAAR y los mejores clasificadores debiles que conforman el clasificadoren cascada, se ejecuta un entrenamiento por medio del algoritmo Adaboost [12].

2.2.2. Otros algoritmos para deteccion

El problema de la deteccion se ha abordado de manera similar a la de Viola-Jones, buscando pro-piedades del objeto que se desea detectar y que le permitan distinguirlo de un entorno, para asıentrenar clasificadores robustos por medio de algoritmos de aprendizaje de maquinas (no nece-sariamente con Adaboost). De esta manera, otros autores han propuesto enfoques en los que seextraen otras propiedades de la imagen. Ejemplos notables son las caracterısticas LBP (local Bi-nary Patterns) [13], las HOG (Histogram of Oriented Gradients) [14], las cuales han sido usadasde manera exitosa en la deteccion de peatones [15]. En este mismo problema se han usado conexito las ICF (Integral Channel Features) presentadas por Dollar et al. [16]. Otro ejemplo son lascaracterısticas SIFT (Scale-invariant feature transform) [17], usadas en deteccion de rostros [18].

2.2.3. Redes neuronales usadas en la deteccion de objetos

Las ANN (Artificial Neural Networks) son sistemas computacionales, que han adquirido en losanos recientes mucha atencion y aceptacion, por su desempeno en una amplia variedad de pro-blemas, que van desde clasificacion o prediccion, hasta reconocimiento del habla, o diagnosticomedico [19]. Desde luego el procesamiento de imagenes no ha escapado al impacto de las redesneuronales, en este campo han mostrado versatilidad en la deteccion y clasificacion de objetos. Porejemplo OverFeat [20], es un framework que permite entrenar y adaptar redes neuronales convolu-cionales (CNN, Convolutional Neural Networks) para la deteccion de objetos. Otro ejemplo es elmetodo Fast R-CNN (Fast Region-based Convolutional Neural Network) propuesto por Girshick

Page 17: Diseno y validaci˜ on de un sistema de´ procesamiento de

2.3 Seguimiento de objetos por medio de procesamiento de imagenes 7

[21]. Por ultimo se destacan los progresos alcanzados por arquitecturas como RetinaNet [22], YO-LO [23] y YOLOv3 [24], las cuales no solo pueden detectar y clasificar objetos con altas tasas deexito, sino que ademas logran un rendimiento que en algunos casos lo hacen en tiempo real.

2.3. Seguimiento de objetos por medio deprocesamiento de imagenes

A continuacion se presentan algunos de los algoritmos relevantes en el area del seguimiento deobjetos. Vale la pena destacar que todos los algoritmos de deteccion mencionados tienen dos fases,una primera de inicializacion, donde se requiere conocer de antemano la posicion inicial del objetoa rastrear, y posteriormente la fase de seguimiento, donde el algoritmo actualiza la posicion delobjeto en cuestion en cada fotograma.

2.3.1. On-line Boosting

Conocido como On-line Boosting o simplemente boosting, este algoritmo de seguimiento fue pro-puesto por Grabner et al. [25] en el 2006. En la inicializacion, el algoritmo crea un modelo a partirde una muestra positiva (el objeto en su posicion inicial) y varias muestras negativas (el entorno quele rodea) por medio de Adaboost. En los pasos posteriores el modelo va agregando mas muestraspositivas y negativas del objeto y de su entorno para adaptarse a cambios y robustecer el modelo.

2.3.2. Kernelized Correlation Filter

El algoritmo Kernelized Correlation Filter conocido simplemente como KCF fue propuesto porHenriques et al. en el 2015 [26]. La idea basica consiste en estimar un filtro optimo de imagenes(llamado filtro de correlacion) de tal manera que ante una imagen de entrada se produzca unarespuesta deseada, es decir, una distribucion normal con centro en el objetivo. En la inicializacionse entrena el modelo con un set creado a partir de traslaciones espaciales del objetivo. El modelose actualiza con cada fotograma para adaptarse a cambios del objeto y del entorno.

2.3.3. Median Flow

Median Flow fue propuesto en el 2010 por Kalal et al. [27], y es un algoritmo que funciona biencuando el movimiento es lento y predecible. Se basa en la idea de predecir el movimiento a futuro,comparandolo con el registro de la trayectoria previamente almacenada. Con cada fotograma sereduce el error entre prediccion y registros pasados. No es un algoritmo que deba ser usado endistancias de seguimiento largas, o con objetos de trayectorias cambiantes.

Page 18: Diseno y validaci˜ on de un sistema de´ procesamiento de

8 2 Antecedentes

2.3.4. Multiple Instance Learning

En el 2016 Wang et al. [28] propusieron otro algoritmo de seguimiento llamado Multiple InstanceLearning (MIL). La idea basica de MIL es similar a la de On-line boosting, pero en lugar de unamuestra positiva y varias muestras negativas para obtener el modelo, MIL hace uso de “bolsas”de muestras. Solo una de estas bolsas contiene varias muestras positivas del objetivo. Segun losautores, gracias a esto se cuenta con una mayor variabilidad para escoger las caracterısticas quemejor describen la imagen.

2.3.5. Otros algoritmos relevantes de seguimiento

Algunos otros ejemplos de algoritmos relevantes para el seguimiento de objetos son, Channel andSpatial Reliability Tracker (CSRT) [29], Tracking, Learning and Detection (TLD) [30], MinimumOutput Sum of Squared Error (MOSSE) [31] y Generic Object Tracking Using Regression Net-works (GOTURN) [32].

Figura 2-1: Ejemplo de una interseccion de cuatro entradas y cuatro salidas. Se puede apreciar lacorrespondiente matriz O-D.

2.4. Matrices O-D en intersecciones viales

Muchas de las tecnologıas mencionadas en la seccion 2.1, son utiles para contar vehıculos y sacarpromedios de velocidades en vıas rectas. No obstante, a la hora de analizar una interseccion, elproblema se hace mas complejo, porque en estudios de transito se desea conocer la matriz O-D dela misma [2]. Dicha matriz se obtiene tras contabilizar por donde entran y salen los vehıculos en lainterseccion. Ası para una interseccion como la de la de la figura 2-1, con cuatro entradas y cuatro

Page 19: Diseno y validaci˜ on de un sistema de´ procesamiento de

2.4 Matrices O-D en intersecciones viales 9

salidas, existen dieciseis posibles combinaciones, cada una con un conteo vehicular independiente.Por ejemplo, si un vehıculo entra por A y sale por 4, se contabiliza en la posicion correspondientea la cuarta columna y la primera fila.Esta matriz es crucial para los estudios de transito, pero normalmente es difıcil de obtener. Algunosaforos manuales pueden enfocarse en el estudio de intersecciones, de tal manera que se ubicapersonal para que contabilice vehıculos en las entradas y salidas, esta informacion se complementacon aproximaciones matematicas y se obtiene una aproximacion de la matriz O-D real [33], noobstante esta aproximacion tiene un error el cual se incrementa conforme la interseccion es masgrande y compleja. El presente trabajo se concentro en superar estas limitantes, de tal manera quefuese posible conocer de manera precisa la matriz O-D de una glorieta de tamano importante.

Page 20: Diseno y validaci˜ on de un sistema de´ procesamiento de

3 Metodo propuesto

El presente capıtulo describe el metodo usado para afrontar el problema planteado. Fue necesarioantes de esto, decidir sobre varios aspectos relevantes de la solucion. Por esto en la seccion 3.1,se presenta una discusion sobre la relevancia de la posicion de la camara en la toma de videosde muestra y al final de la misma se revela la decision por la cual se opto. En la seccion 3.2, sediscuten dos metodos alternativos que permiten dar solucion al problema y se revela cual fue elseleccionado. Finalmente en la seccion 3.3, se da una descripcion detallada de dicho metodo.

3.1. Posicion de la camara

La posicion de la camara es una variable fundamental que afecta fuertemente el subsecuente desa-rrollo de la solucion, por lo que es imperativo tomar una decision sobre la posicion en la que segrabaran los videos de muestra. Inicialmente se considero grabar video desde una posicion diago-nal, a una altura de 3 a 4 metros y con un angulo de la camara respecto a la horizontal de entre20◦ y 45◦. Esto se ilustra en la 3-1(a), y la figura 3-1(b) muestra un fotograma estandar del videoobtenido con dicha configuracion. Las ventajas son las siguientes:

Facilidad para la toma de video de muestra, una vez se dispone del montaje fısico adecuado.

Posibilidad de montar camaras de distintas caracterısticas y tamanos.

Larga duracion del video para el posterior analisis, limitada unicamente por la capacidad dealmacenamiento o la fuente de energıa de la camara.

Sin embargo ası mismo se presentan algunas desventajas importantes, las cuales se resumen acontinuacion:

Se requieren varias camaras (instalaciones), para poder obtener la matriz O-D de una solainterseccion, ya que cada camara solo puede por lo general abarcar la trayectoria de losvehıculos en una de las entradas. Si la interseccion tiene cuatro entradas, se necesitan 4camaras para el analisis.

La altura a la cual se instala la camara limita el tamano maximo de la interseccion que puedeanalizarse. Intersecciones grandes requieren de alturas mayores desde las cuales tomar elvideo. En el caso particular de las rotondas, es bastante difıcil encontrar un punto de vistaoptimo que cubra completamente cada uno de los posibles trayectos vehiculares.

Page 21: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.1 Posicion de la camara 11

Figura 3-1: Se puede apreciar en (a) la disposicion de la camara para la toma de muestras devideo con un enfoque diagonal. En (b) se muestra una imagen tıpica obtenida con esteenfoque.

Si la altura requerida es significativa, el montaje fısico propuesto en la figura 3-1(a) no esseguro. Se depende entonces de instalaciones en edificaciones cercanas, lo cual no siemprees viable, ya sea porque estas no existen o porque no se otorgan los permisos necesarios pararealizar las tomas de video.

Las tomas con angulos diagonales son mas susceptibles a padecer de reflejos del sol a ciertashoras del dıa, lo cual podrıa ocasionar problemas.

Se padece continuamente del fenomeno de oclusion, es decir, es comun que algunos vehıcu-los pasen por delante de otros, dificultando su seguimiento [34].

Se sufre el fenomeno de cambio de formas, es decir, un mismo vehıculo que por ejemplohace un giro, desde el punto de vista de la vision artificial, aparece primero como un objetoy a medida que gira, cambia completamente para transformarse en algo diferente. Para losalgoritmos de tratamiento de imagenes y de vision artificial este fenomeno es un reto[34].

Lo anterior supone, mas desventajas que ventajas, por lo que se considero hacer el analisis con unavista desde encima (top), lo cual es viable mediante el uso de la tecnologıa de drones. Un ejemplode una toma aerea top, se aprecia en la figura 3-2. Esto supone las siguientes ventajas:

El problema de oclusion se reduce significativamente, los carros no se pueden ocultar entreellos, no obstante puede haber oclusion debido a objetos como puentes o arboles.

Page 22: Diseno y validaci˜ on de un sistema de´ procesamiento de

12 3 Metodo propuesto

Figura 3-2: Muestra de video tomada desde arriba (enfoque top). Se ilustra una rotonda de Bogotagrabada con la ayuda de un dron.

Ya no se presenta el cambio de forma. En lugar de este, se presenta rotacion de vehıculos amedida que avanzan en la interseccion. Este fenomeno es mas facil de tratar en comparacional cambio de forma mencionado anteriormente.

Se tiene control sobre la altura de vuelo del dron y por consiguiente es posible analizarintersecciones de distintos tamanos, desde las mas pequenas hasta rotondas de tamanos im-portantes.

No se depende de edificaciones cercanas, virtualmente cualquier interseccion puede ser ana-lizada.

El fenomeno de los reflejos directos causados por el sol se reduce de manera significativa,ya que es mas difıcil captarlos cuando las tomas se hacen desde arriba.

La matriz O-D puede obtenerse con un solo dron, no es necesario hacer uso de varias cama-ras.

No obstante se consideran tambien las siguientes desventajas:

Solo drones de mediana y alta gama pueden volar con la suficiente estabilidad para que elvideo pueda ser analizado. Esto implica unos costos mucho mayores en comparacion de unacamara estatica instalada diagonalmente.

Page 23: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.2 Dos metodos alternativos 13

Aun con drones costosos, es imposible reducir a nulidad las perturbaciones propias del vuelo,por lo que la solucion debe considerar ser robusta a movimientos (sutiles) del dron.

La duracion de los videos se limita debido a la autonomıa de vuelo del dron, en general nose esperan videos de mas de 30 minutos. No obstante existen alternativas que pueden ayudara prolongar el tiempo de captura, como el uso de tethering1, de dirigibles2 y la alternanciasincronizada de drones.

No se puede usar una alta variedad de camaras para la grabacion de video, esta queda limi-tada a la capacidad de carga del dron.

Tras el anterior analisis se opta por enfrentar el problema con un enfoque de video desde una vistadesde arriba (top).

3.2. Dos metodos alternativos

A continuacion se presentan dos metodos para afrontar el problema de el analisis de flujo vehicularen intersecciones. El primero consiste en la deteccion y seguimiento en un solo algoritmo. Elsegundo consiste en la deteccion y seguimiento con algoritmos independientes. La figura 3-3 ilustralos diagramas de flujo que resumen cada uno de estos enfoques.En ambos casos es necesario primero establecer unas condiciones iniciales, como por ejemplo,definir las zonas de origen y destino por donde los vehıculos entran y salen de la interseccion, o eltamano promedio de los vehıculos a analizar, luego en un bucle se captura y analiza cada fotogramadel video de entrada de manera secuencial. Luego de estos pasos el procedimiento cambia segunel metodo usado.

3.2.1. Deteccion y seguimiento en un solo algoritmo

Esta alternativa implementa un algoritmo de deteccion robusto, capaz de capturar vehıculos en todoel fotograma y en todas las posiciones o con cualquier angulo de rotacion. Una vez superado esteprimer reto, se correlacionan las detecciones halladas con las detecciones del anterior fotograma,de tal manera que las que aparezcan cerca se tomen como actualizaciones de posicion, completandoası la etapa de seguimiento. Las detecciones que se acerquen a las zonas de origen se etiquetan demanera acorde, para conocer su procedencia (creacion del vehıculo en la interseccion). Finalmentetras la actualizacion de la posicion, aquellos vehıculos etiquetados que entren en alguna zona dedestino se consideran conteos finalizados, dando paso a la correspondiente actualizacion de lamatriz O-D, lo anterior se ilustra en la figura 3-3.(a).

1Elistar, the Tethered Drone Company. Url: https://elistair.com/2Airship Solutions, Aerial Filming/Video. Url: airship.com.au

Page 24: Diseno y validaci˜ on de un sistema de´ procesamiento de

14 3 Metodo propuesto

Figura 3-3: Se ilustran los diagramas de flujo de los distintos metodos propuestos, (a) ilustra lasolucion que depende de un algoritmo de deteccion robusto, (b) ilustra una segun-da opcion en la que se dependen de dos algoritmos independientes entre sı, uno dedeteccion y otro de seguimiento.

3.2.2. Deteccion y seguimiento con algoritmos independientes

Como se puede apreciar en la figura 3-3.(b), se presenta el diagrama de flujo de un segundo metodo.En este caso, se hace una deteccion debajo consumo computacional, en el area definida en laszonas de origen. Esto es opuesto al caso anterior, donde la deteccion se ejecuta en el area completadel fotograma. Una vez detectados nuevos vehıculos, un algoritmo especializado de seguimientoactualiza las posicion de cada uno en su trayectoria dentro de la interseccion hasta que finalmente

Page 25: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.2 Dos metodos alternativos 15

se alcanza una zona de destino, con lo cual se actualiza la matriz O-D.

3.2.3. Comparacion entre los dos metodos planteados.

Se resumen a continuacion las ventajas y desventajas de cada metodo.

Metodo 1: Ventajas

Al depender de un solo algoritmo, la implementacion es mas sencilla, y todos los esfuerzospueden concentrarse unicamente en refinar, y robustecer el proceso de deteccion.

Si la deteccion es robusta, el seguimiento tambien lo es. Las tasas de error tanto del se-guimiento como de deteccion se ven reducidas de manera conjunta ante una mejora en elalgoritmo global de deteccion.

Metodo 1: Desventajas

El algoritmo de deteccion debe estar en capacidad de capturar vehıculos en cualquier angulode rotacion.

El algoritmo de deteccion debe trabajar sobre el fotograma completo. Esto puede impactarde manera negativa en el rendimiento de la solucion, e incluso hacerla inviable (sobre todopara resoluciones de video altas como Full HD o superiores).

Trabajar en el fotograma completo puede ocasionar que el algoritmo de deteccion sea sus-ceptible a arrojar una tasa elevada de falsos positivos.

El set de entrenamiento para un algoritmo robusto de deteccion capaz de distinguir diversosangulos de rotacion debe ser enorme.

Metodo 2: Ventajas

El algoritmo de deteccion no debe trabajar sobre el fotograma completo, las zonas de origen(establecidas previamente por el usuario), sirven a su vez como zonas de deteccion. Estoreduce enormemente la cantidad de procesamiento requerida en la etapa de deteccion, y latasa de generacion de falsos positivos.

Lo anterior permite trabajar indistintamente sobre resoluciones de video altas como Full HDo superiores.

El algoritmo de seguimiento tampoco depende de la resolucion del video, ya que normal-mente solo se examina el entorno mas inmediato del objetivo rastreado.

Page 26: Diseno y validaci˜ on de un sistema de´ procesamiento de

16 3 Metodo propuesto

El set de entrenamiento requerido para detectar vehıculos solo requiere que estos se encuen-tren en un solo sentido. Esto reduce mucho tiempos de entrenamiento y tamanos del set dedatos.

Metodo 2: Desventajas

La implementacion es mas compleja. Se depende ahora de dos algoritmos independientes.

Las tasas de error no se reducen de manera conjunta, cada algoritmo (deteccion y seguimien-to) aporta sus propias tasas de error al resultado global.

El seguimiento debe ejecutarse de manera independiente a cada vehıculo existente en unmomento dado, por lo que el rendimiento depende del flujo vehicular, si este es alto, seespera un rendimiento bajo.

A pesar del resumen anteriormente expuesto, la unica forma precisa de saber cual es la mejoropcion, es desarrollar ambas alternativas para poder hacer una comparacion justa. Debido a lainviabilidad de desarrollar dos soluciones para el mismo problema, se escogio el segundo metodo,sin olvidar que el metodo 1 fue descartado arbitrariamente y bien podrıa ser objeto de estudio enotro contexto.

3.3. Descripcion del metodo propuesto

Algorithm 1 Version detallada del diagrama de flujo presentado en la figura 3-3.(b).1: procedure MAIN

2: initialize originZones, destinationZones, vehicles, MatrixOD3: load inVideo4: while true do5: get new frame from inVideo6: if frame is null then7: break8: for each originZone in originZones do9: detect vehicles on originZone on frame

10: for each vehicle in vehicles do11: track vehicle and update its center12: for each destinationZone in destinationZones do13: if destinationZone contains vehicle then14: delete vehicle from vehicles15: update MatrixOD

Page 27: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.3 Descripcion del metodo propuesto 17

El algoritmo 1 describe con mayor detalle que el diagrama de flujo de la figura 3-3.(b) al metodoescogido. Dicho algoritmo se puede dividir en las siguientes partes, las cuales se explicaran cadauna en las secciones 3.3.1 a la 3.3.4:

Inicializacion y captura de fotogramas: De las lıneas 1 a la 7 (Seccion 3.3.1).

Deteccion: Lıneas 8 y 9 (Seccion 3.3.2).

Seguimiento: Lıneas 10 y 11 (Seccion 3.3.3).

Actualizacion de la matriz O-D y fin de la aplicacion: Lıneas 12 a la 15 (Seccion 3.3.4).

3.3.1. Inicializacion y captura de fotogramas

En la inicializacion, el usuario establece las condiciones iniciales de la aplicacion. La informacionmas relevante que este debe suministrar se describe a continuacion:

Video de origen y de destino: El usuario debe definir la ruta del archivo de video que deseaanalizar. Tambien puede decidir si desea obtener un video de salida con el resultado delanalisis.

Zonas de origen: Una zona de origen demarca un punto de entrada a la interseccion y esdonde se ejecuta el proceso de deteccion vehicular, segun lo indicado por el metodo es-cogido. Deben ubicarse paralelas a la vıa, para lo cual el usuario debe definir un angulode rotacion, ası como el tamano (ancho por alto) y la posicion respecto al fotograma, estose ilustra en la figura 3-4(a). Bajo las condiciones de video de entrada (seccion 4.1), estasabarcan un area de entre 7k y 17k pıxeles, que comparados con los 4.1M pıxeles en cadafotograma, se traduce en una reduccion de 3 ordenes de magnitud del area efectiva en la quese hacen las detecciones vehiculares, lo cual reduce de manera significativa los recursos y lacantidad de tiempo requeridos para esta tarea. La cantidad de zonas de origen que puedendefinirse en el video de entrada depende de las necesidades del usuario, no necesariamentese requiere enmarcar todas las entradas de la interseccion ya que hay escenarios donde solose necesita conocer el flujo vehicular de solo una de estas. Vale la pena mencionar que elusuario puede definir varias areas de deteccion dentro de una zona de origen. Esto ayuda aevadir obstaculos que afectan al seguimiento como el arbol que se aprecia en la figura 3-4(b). Si la zona de origen solo contiene un area de deteccion, estos terminos pueden usarsede manera indistinta, pero si contiene varias, hay que tener en cuenta que cada una detectavehıculos de manera independiente, no obstante estos quedan etiquetados con el nombre dela zona de origen a la que pertenece el area de deteccion en cuestion. Finalmente se hacenotar que cada zona de origen se corresponde con una columna en la matriz O-D.

Zonas de destino: Una zona de destino es un rectangulo no rotado que se debe ubicar enlas salidas vehiculares de la interseccion. Cuando un vehıculo cruza por alguna de estas, se

Page 28: Diseno y validaci˜ on de un sistema de´ procesamiento de

18 3 Metodo propuesto

determina que su recorrido ha concluido y se procede con la correspondiente actualizacionde la matriz O-D. El usuario debe establecer de manera previa, el tamano y la ubicacion decada una de estas zonas. A diferencia de las zonas de origen, es obligatorio que el usuarioidentifique todas las posibles salidas y las demarque con una zona de destino. Ası mismo, acada una de estas le corresponde una fila de la matriz O-D. La figura 3-5 ilustra la ubicacionde una zona de destino dentro de la interseccion.

Tamano de un vehıculo estandar en pıxeles: Este parametro es requerido a lo largo dedistintas partes de la solucion, como por ejemplo determinar las areas mınimas y maximasvalidas en la etapa de deteccion o el area de rastreo (seccion 3.3.3). El usuario debe determi-nar el tamano promedio en pıxeles de los vehıculos.

Una vez establecidos los parametros iniciales requeridos para el funcionamiento de la aplicacion,se inicia el lazo principal. Cada iteracion en este lazo analiza un fotograma a la vez, de tal maneraque el video de entrada es examinado fotograma por fotograma de manera secuencial. La infor-macion obtenida al final del ciclo es necesaria para el inicio del siguiente (esto es particularmenterelevante en el algoritmo de seguimiento). Este proceso se repite hasta que alguna de las siguientescosas sucedan:

Fotograma nulo debido a que se alcanzo el final del video.

Fotograma nulo debido a corrupcion del video.

Interrupcion externa producida por el usuario (teclado).

Otro tipo de interrupcion externa controlada (causada por el S.O, o por otros procesos).

Otro tipo de interrupcion externa no controlada (por ejemplo fallo de energıa).

3.3.2. Deteccion

Tras la captura de cada fotograma en el lazo principal, se ejecuta el primero de los dos pilarescentrales de la aplicacion, la deteccion. Es en este paso, donde se decide en cada zona de origenen un momento dado, si hay o no vehıculos. La relevancia de esta etapa es crıtica, ya que tasas dedeteccion bajas, afectan los posteriores pasos de la aplicacion y se traducen en matrices O-D pococercanas a la realidad. A continuacion se presenta con detalle como se aplico la deteccion vehicular,explicando primero la etapa de acondicionamiento y la validacion de detecciones (algoritmo 2) yposteriormente como se uso la deteccion proporcionada por Viola-Jones.

Algoritmo de acondicionamiento para la deteccion y de validacion de vehıculos

La deteccion se baso en el trabajo de Viola-Jones, no obstante eran necesarios pasos adicionalesprevios para acondicionar las areas de deteccion y pasos posteriores para la validacion y depuracion

Page 29: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.3 Descripcion del metodo propuesto 19

Figura 3-4: Zonas de origen definidas por el usuario. En la figura (a) se aprecia el punto de origenque es siempre la esquina superior izquierda relativa; el ancho (W) y el alto (H); elangulo de giro paralelo al sentido de la vıa. La figura (b) ilustra una zona de origenparticionada en varias areas de deteccion. Aunque cada area detecta de manera inde-pendiente, es importante anotar que los vehıculos son etiquetados con el nombre de lazona de origen.

de las detecciones. Para describir con detalle este proceso, se presenta el algoritmo 2, el cual sedescribe con detalle a continuacion.

Page 30: Diseno y validaci˜ on de un sistema de´ procesamiento de

20 3 Metodo propuesto

Figura 3-5: El usuario debe ubicar una zona de destino por cada salida de la interseccion. Cadauna se identifica con una posicion y un tamano.

Algorithm 2 Acondicionamiento de las zonas de origen, ejecucion de Viola-Jones, y posteriorvalidacion y depuracion de detecciones.

1: procedure SETUPNEWVEHICLES(detectionZone, frame, vehicles)2: obtain rotatedROI from originZone on frame3: use Viola-Jones cascade classifier to get detections on rotatedROI4: depure detections5: if detections not null then6: for each detection in detections do7: if detection not contains vehicle in vehicles then8: create new vehicle in vehicles9: set new vehicle validity to False

10: else11: if detection contains vehicle in vehicles and vehicle is not valid then12: validate vehicle in vehicles13: else14: depure vehicles

Lınea 1: El procedimiento recibe algunos parametros de entrada, de los cuales los mas relevantesson:

Page 31: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.3 Descripcion del metodo propuesto 21

detectionZone: Es el area de deteccion (ver seccion 3.3.1) dentro de la la zona de origen quese analizara en un instante dado.

frame: Fotograma actual del video de entrada.

vehicles: Lista que contiene las instancias de todos los vehıculos detectados hasta el momen-to.

Figura 3-6: La figura (a) muestra una zona de origen establecida por el usuario con un angulo derotacion de 200◦, respecto al eje X. La figura (b), ilustra el ROI obtenido tras recortary rotar el fotograma respecto a dicha zona de origen.

Lınea 2: En esta lınea se obtiene el ROI (region of interest) a analizar. Como se menciono en laseccion 3.2.3, el metodo escogido permite que el analisis de deteccion no se ejecute en el foto-grama entero sino en areas reducidas, lo cual disminuye significativamente el tiempo de ejecuciony la tasa de generacion de falsos positivos. No obstante se debe tener en cuenta que las zonas deorigen tienen un angulo de rotacion definido por el usuario, de tal manera que aparezcan paralelasa la vıa. Por esto es necesario girar la zona de origen para que se obtenga un ROI con un angulode giro igual a cero. Este giro se ilustra en la figura 3-6(a). El angulo de giro es el inverso aditivodel angulo propio de la zona de origen, es decir, si el usuario establecio que una zona de origendebe tener un angulo de giro de 75◦, el ROI se obtiene con un giro de -75◦. Lo anterior tiene unaconsecuencia importante, solo se requieren imagenes de vehıculos mirando en un solo sentido enlas muestras positivas del set de entrenamiento, claramente lo anterior reduce de manera significa-tiva el tamano del mismo. Por ejemplo si se tienen 500 muestras positivas de vehıculos en un solosentido, entrenar un clasificador robusto que sea capaz de detectar vehıculos en 360 grados, podrıaimplicar un aumento del set a 36000 imagenes, es decir 72 veces mas (con una tolerancia en losangulos de rotacion de 5◦).Lınea 3: En esta lınea, el clasificador en cascada de Viola-Jones ejecuta la tarea de deteccion

Page 32: Diseno y validaci˜ on de un sistema de´ procesamiento de

22 3 Metodo propuesto

vehicular. Debido a la importancia de esta parte de la aplicacion, a continuacion (ver subseccion”Viola-Jones para la Deteccion”) se daran mas detalles de este proceso. De momento solo es re-levante mencionar que la deteccion arroja una lista de rectangulos referenciados a la ROI, dondecada uno pertenece a una posible deteccion vehicular.Lınea 4: La lınea anterior no necesariamente arroja un rectangulo por vehıculo. Es posible queun mismo vehıculo cuente con dos o mas detecciones. En esta lınea se ejecuta una depuracion,donde se comparan las intersecciones entre todas las detecciones encontradas. Si dos deteccionescomparten mas del 50 % del area, se considera que ambas apuntan al mismo vehıculo y una deestas se elimina.Lıneas 5 y 6: Una vez depuradas las detecciones, se itera sobre aquellas que persistieron a dichoproceso.Lıneas 7 a 9: Cada deteccion se compara con todos los vehıculos existentes, si no se intersectacon ninguno de estos, se crea un nuevo vehıculo que aun debe validarse en fotogramas posterio-res. Vale la pena resaltar, que para que esta comparacion sea valida debe efectuarse un cambio decoordenadas, ya que el marco de referencia de los vehıculos es el fotograma, mientras que el delas detecciones es el ROI.Lıneas 10 a 12: Si la deteccion se intersecta con algun vehıculo no validado se incrementa uncontador interno del vehıculo en cuestion, cuando dicho contador alcanza un valor arbitrario (5fotogramas para las pruebas realizadas), el vehıculo se valida y pasa a ser seguido. De esta maneraen caso de que el algoritmo de deteccion genere un falso positivo, este proceso de validacion ayu-da a evitar que los mismos pasen a ser rastreados. Sin embargo esto conlleva a que la deteccionvehicular deba ser mas exigente, obligando a su vez que el clasificador tenga que ser mas robusto.Si la deteccion se intersecta con un vehıculo previamente validado no pasa nada.Lıneas 13 y 14: Se deben depurar aquellos falsos positivos que no fueron validados para liberarrecursos computacionales. Este proceso es similar a la validacion, cada vehıculo no validado tieneun segundo contador que se incrementa cuando en un fotograma no hay detecciones. Si dicho con-tador alcanza un valor arbitrario (10 fotogramas no necesariamente consecutivos, para las pruebasrealizadas), el falso positivo se elimina.Finalmente vale la pena agregar que el procedimiento descrito por el algoritmo 2, se ejecuta unavez por area de deteccion en cada una de las zonas de origen. Si por ejemplo se tienen dos zonasde origen, una de estas con dos areas de deteccion y la otra con solo una, el proceso se repetira tresveces en cada fotograma (ver particion de las zonas de origen en areas de deteccion en la seccion3.3.1).

Viola-Jones para la deteccion

Para usar Viola-Jones como herramienta de deteccion, fue necesario entrenar un clasificador (arqui-tectura de clasificacion en cascada), de tal manera que este sea capaz de reconocer a los vehıculosque cruzan por las zonas de origen. Antes de describir las caracterısticas del set de entrenamien-to requerido para obtener dicho clasificador, primero vale la pena resaltar algunas conclusiones

Page 33: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.3 Descripcion del metodo propuesto 23

obtenidas de la experiencia adquirida durante la realizacion de varios entrenamientos:

Es deseable aumentar la cantidad y la heterogeneidad de las imagenes positivas. A mayorcantidad de imagenes positivas, mejor es la capacidad de deteccion del algoritmo, ademases deseable que estas sean heterogeneas, es decir, incluir diversidad de fondos como asfalto,cebras o senalizaciones dibujadas en el piso, entre otras. Tambien se debe agregar la mayorvariabilidad posible de formas y de colores.

El ancho y el alto de las imagenes son parametros sensibles. Es obligatorio que todas lasimagenes positivas del set de entrenamiento tengan el mismo ancho y alto, de tal maneraque la proporcion se preserve siempre. Estas dimensiones deben escogerse acertadamente,ya que un ancho y alto excesivamente grandes haran que sobre area entre los bordes de laimagen y el vehıculo, haciendo que este pierda relevancia dentro del marco de la muestrapositiva, pero por el contrario si son muy pequenas pueden truncar informacion.

El deseable usar un algoritmo de entrenamiento tipo Real Adaboost. Existen diversas va-riaciones de clasificadores “boosted” [35], de entre las cuales se evaluaron las siguientes,DAB (Discrete Adaboost), RAB (Real Adaboost) y GAB (Gentle Adaboost). En la seccion5.1 se muestran los resultados obtenidos de esta comparacion, pero se puede anticipar queRAB fue el que arrojo mejores resultados.

Las imagenes positivas contienen vehıculos orientados en una sola direccion. Como semenciono en la seccion 3.3.1, cada zona de origen se rota de tal manera que queda siempreubicada en el sentido positivo del eje X del fotograma. Ası mismo solo es necesario queel set de entrenamiento cuente con vehıculos orientados en este sentido (3-7). Esto reducesignificativamente la cantidad de muestras positivas requeridas para entrenar al clasificador.

Las muestras negativos deben incluir imagenes del entorno habitual. Generalmente seenuncia que las imagenes negativas pueden incluir cualquier cosa menos los objetos que sequieren detectar. Se encontro sin embargo que se obtienen mejores resultados cuando estasincluyen porciones del fondo por el cual se desplazan los vehıculos, teniendo cuidado, porsupuesto de no incluir nunca a los propios vehıculos. En otras aplicaciones el fondo delobjeto a detectar puede ser incierto, pero para esta problema muchas formas aparecen derecurrentemente en las vıas por donde transitan los vehıculos. Cebras, flechas, alcantarillas,adoquines entre otras, son comunes no solo en Colombia sino que en el mundo entero. Esconveniente agregar estas formas al set de muestras negativo.

Teniendo en cuenta lo anterior, se describen ahora las caracterısticas del set de entrenamiento crea-do. Se usaron 5 de los cerca de 44 minutos de video capturado, (ver seccion 4.1) para crear un setde 500 muestras positivas, todas orientadas hacia la derecha, es decir a cero grados respecto al ejeX del fotograma. Todas tenıan una relacion de aspecto 2 a 1. Solo se usaron vehıculos que estuvie-sen contenidos en imagenes de 100 x 50 pıxeles en el video original (sedanes y camionetas). En elentrenamiento, las muestras positivas se redujeron a 50 x 25 pıxeles (1250 pıxeles cuadrados), area

Page 34: Diseno y validaci˜ on de un sistema de´ procesamiento de

24 3 Metodo propuesto

Figura 3-7: Algunas muestras positivas usadas en el entrenamiento. Todas tenıan una resolucionde 50 x 25 pıxeles (originalmente de 100 x 50) y estaban orientadas hacia la dere-cha (0◦ respecto al eje X del fotograma). Se puede apreciar como algunas incluyensenalizaciones viales en el fondo, ademas hay variabilidad de colores y formas.

dentro de la cual existen 1’176’509 posibles caracterısticas HAAR, de entre las cuales Adaboostescoge aquellas que mejor trabajo cumplen para la deteccion. Las muestras eran heterogeneas, confondos, formas y colores variables. La figura 3-7, ilustra algunas muestras positivas que se usaronen el entrenamiento del clasificador.Las muestras negativas, fue un conjunto de alrededor de 1600 imagenes que no contenıan vehıcu-los. Se incluyeron fondos caracterısticos de vıas y carreteras (con cebras, flechas de direccion osenalizaciones viales), pero desde luego sin vehıculos.

Finalmente, se puede ilustrar y describir las caracterısticas del clasificador obtenido por mediodel entrenamiento. La figura 3-8 muestra algunas de las etapas del clasificador que se obtuvieronresultado del proceso de entrenamiento3. Tambien se puede apreciar las caracterısticas HAAR quecomponen a dichas etapas.

Se puede apreciar que se obtuvo un clasificador en cascada de catorce etapas, cada una con unpromedio 4 a 5 caracterısticas HAAR. Este es el clasificador que se obtuvo con la arquitectura quemejores resultados ofrecio, “Real Adaboost”. La comparacion con otras arquitecturas de clasifica-dores se presenta en la seccion 5.1.

3OpenCV: opencv visualisation. Herramienta para visualizacion de clasificadores y caracterısticas HAAR.Url: https://github.com/opencv/opencv/tree/3.3.0/apps/visualisation

Page 35: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.3 Descripcion del metodo propuesto 25

Figura 3-8: Algunas etapas del clasificador obtenido, cada una con sus correspondientes carac-terısticas HAAR.

3.3.3. Seguimiento

Este es el segundo pilar central de la aplicacion. Cada vehıculo que ya ha sido debidamente detec-tado y validado se rastrea hasta que alcanza alguna de las zonas de destino definidas por el usuario.En cada fotograma se actualiza la posicion del centroide del vehıculo, de tal manera que se puedadeterminar por donde saldra para actualizar ası la matriz O-D. El seguimiento deberıa idealmentetener las siguientes caracterısticas:

Capacidad de seguimiento multiple. Debe ser posible rastrear un numero indeterminadode vehıculos. Aunque se presume que a mayor cantidad de flujo vehicular, mayores recursoscomputacionales se deben consumir, no debe existir lımite maximo de vehıculos a rastrear.

Exacto. Se requiere que la actualizacion en cada fotograma del nuevo centroide sea muyexacta, es decir, que este siempre lo mas cerca posible al centroide real. En las condicionesdel video, 1 metro equivale a 8 pıxeles aproximadamente, por lo que maximo se esperantolerancias de ±4 pıxeles respecto al verdadero centroide.

Rapido. Idealmente, el algoritmo de deteccion debe realizar la actualizacion del centroiderapidamente, ya que este proceso debe repetirse con cada vehıculo dentro de la interseccionen cada fotograma. Para tener una idea, se puede suponer que el video de entrada tiene 24fps, con lo cual se tiene entre fotogramas un tiempo de 1/2441.7 ms. Suponiendo que en

Page 36: Diseno y validaci˜ on de un sistema de´ procesamiento de

26 3 Metodo propuesto

un instante dado hay 30 vehıculos en una interseccion, el tiempo de rastreo por vehıculono debe tardar mas de 1.3 ms (y esto sin sumar los tiempos de las demas rutinas de laaplicacion). Cumpliendo estas condiciones, el video podrıa analizarse a una tasa de 1x, esdecir, una velocidad de analisis igual de rapida a la velocidad de reproduccion. Mayor flujovehiculares obliga a una velocidad de analisis mayor, lo cual a su vez implica un desempenodel algoritmo de seguimiento proporcionalmente mayor.

Tolerante a perturbaciones y cambios. Las condiciones en las que se deben tomar losvideos para el analisis de intersecciones no son ideales. Movimientos en el dron o cambiosde luz repentinos pueden presentarse con facilidad. Por esto se requiere que el algoritmode seguimiento sea capaz de asimilar estos cambios, manteniendo el seguimiento de losvehıculos a pesar de que se presenten estas u otras perturbaciones.

Tolerante a altas densidades de flujo de vehıculos. En las intersecciones puede haber unadensidad de flujo vehicular importante, sobre todo en horas pico, causando que los vehıculosesten muy cerca los unos de los otros. Ante este escenario es deseable que el algoritmo deseguimiento sea capaz de mantener su referencia, sin importar que vehıculos similares estenrelativamente cerca.

Distancias largas. Hay intersecciones de tamanos considerables, como es el caso de lasrotondas. En este escenario es deseable que el algoritmo sea capaz de mantener la referencia,a pesar de que la trayectoria seguida por el vehıculos sea extensa (del orden de cientos demetros), para lo cual no debe haber una acumulacion de error apreciable que pueda causarla perdida del rastreo.

Capacidad de seguir vehıculos con velocidades bajas. Hay muchas aplicaciones en lasque se quiere maximizar la capacidad de rastreo de tal manera que se puedan seguir objetosque van a gran velocidad. Este no es el caso, por el contrario se espera que la velocidaden general sea baja y esto supone un reto diferente. Se desea que el algoritmo no se veaperjudicado por la quietud absoluta o por velocidades muy bajas. Mediciones ruidosas delcentroide, suponen un problema cuando el vehıculo se encuentra estatico. Se debe considerarincluso el hecho de que haya casos en los que algun vehıculo decida detenerse o se averıe enmedio de la interseccion. No se debe perder la referencia en este escenario.

Resistente a la oclusion. Finalmente se espera que el algoritmo sea capaz de seguir alvehıculo incluso si otro objeto se antepone a la camara. Una de las motivaciones de ha-ber escogido el analisis de intersecciones con una vista desde arriba tomada por un dron, fueprecisamente reducir el problema de la oclusion propio de otras posiciones de la camara. Noobstante aun con una vista desde arriba, sigue existiendo el problema de la oclusion aun-que en menor medida. Por ejemplo un puente peatonal o un arbol cuyas ramas sobresalensobre la vıa pueden causar oclusion. Idealmente el algoritmo debe ser capaz de sortear estadificultad.

Page 37: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.3 Descripcion del metodo propuesto 27

Se mencionaron varios algoritmos de seguimiento en la seccion 2.3, sin embargo las pruebas serealizaron unicamente con los siguientes cinco:

Kernelized Correlation Filters (KCF)

Multiple Instance Learning (MIL)

Median Flow

Tracking-Learning-Detection (TLD)

On-Line Boosting

Aunque en la seccion 5.2 se presentaran los resultados obtenidos tras comparar estos cinco algo-ritmos, se puede adelantar que aquel que arrojo mejores resultados fue “On-Line Boosting”. Asıque se explicara brevemente el uso de este algoritmo en la aplicacion. On-Line Boosting (al igualque muchos otros algoritmos de seguimiento), tiene dos etapas, una de inicializacion y otra deejecucion. Estas se explican a continuacion.

Inicializacion en seguimiento

La inicializacion se ejecuta una unica vez en cada vehıculo, inmediatamente despues de que este sevalida. El proceso consiste en crear un modelo a partir de una muestra inicial, la cual se obtiene deun area fija definida (proporcional al tamano del vehıculo) y una posicion inicial que se obtiene delproceso de deteccion previo. Ademas de la muestra positiva, se obtienen varias muestras negativasque buscan modelar el fondo del objeto, estas se obtienen sustrayendo areas del mismo tamanoa la muestra positiva y circundantes a la misma. Con esta informacion el problema adquiere unenfoque de clasificacion binaria en el cual se busca diferenciar entre el objeto y el fondo. La figura3-9 ilustra lo anterior. El modelo inicial se entrena en tiempo de ejecucion, encontrando por mediode Adaboost las caracterısticas HAAR, y los LBP (local binary patterns) que permiten diferenciarcon mayor exito el objeto del fondo.El proceso de inicializacion de On-Line Boosting es mas costoso en terminos de tiempo de ejecu-cion que la actualizacion de la posicion del objetivo, esto se demostrara en la seccion 5.4 (tabla5-11).

Ejecucion del seguimiento

Posterior a la inicializacion, a medida que van llegando nuevos fotogramas, el proceso de On-LineBoosting se repite cıclicamente, solo que en lugar de entrenar un modelo completamente nuevo,el algoritmo se encarga de actualizar el ya existente. Para esto, primero se evalua el clasificadoractual, de tal manera que se obtiene una nueva posicion del vehıculo. Con esta posicion se creannuevamente una muestra positiva y varias muestras negativas circundantes, con las cuales el mo-delo se actualiza. Esto permite al algoritmo adaptarse a los cambios del fondo y del objeto que

Page 38: Diseno y validaci˜ on de un sistema de´ procesamiento de

28 3 Metodo propuesto

Figura 3-9: La posicion inicial, conocida a partir de la deteccion del vehıculo ayuda a conformar laprimera muestra positiva del modelo de clasificacion binario. El fondo se modela conmuestras negativas obtenidas de areas del mismo tamano circundantes a la muestrapositiva.

esta siendo rastreado. Este proceso se repite de manera recursiva con cada actualizacion de la po-sicion en cada fotograma, hasta que finalmente el vehıculo alcanza una zona de destino para sercontabilizado en la matriz O-D.Es importante destacar que para el caso concreto del problema, se usaron areas cuadradas para ge-nerar las muestras positivas y negativas en las que se basa la deteccion. El motivo de esto se explicaen el hecho de que los vehıculos vistos desde arriba van girando, en torno a su eje Z (perpendicularal suelo). Este giro aparece como un cambio de forma poco conveniente para formas rectangula-res no cuadradas. Supongamos por un momento que un vehıculo se detecto en una posicion decero grados respecto al eje X del fotograma. Si este vehıculo gira 90◦ dentro de la interseccion, elrectangulo inicial ya no abarcarıa al vehıculo en sı, sino que abarcarıa buena parte del fondo quese desea evitar. Esto se ilustra en la figura 3-10. Aunque una posible solucion a este problema serıareplicar el giro del rectangulo de seguimiento junto con el giro del vehıculo, On-Line Boostingno trabaja con rectangulos rotados. Por esto se decidio trabajar con areas cuadradas y de tamanosproporcionales al ancho del vehıculo.

3.3.4. Actualizacion de la matriz O-D y fin de la aplicacion

Una vez los vehıculos son detectados, validados y rastreados, se evalua si alguno de estos hallegado a una de las zonas de destino establecidas por el usuario. Esto se logra evaluando si elcentroide actualizado de cada vehıculo en la interseccion se ubica dentro de alguna zona de destino.

Page 39: Diseno y validaci˜ on de un sistema de´ procesamiento de

3.3 Descripcion del metodo propuesto 29

Figura 3-10: Se ilustra la diferencia entre un area de seguimiento rectangular en la figura (a) y unacuadra en la figura (b) El vehıculo en el area rectangular al principio calza perfecta-mente, pero a medida que gira en la interseccion se desajusta, lo cual causa erroresde rastreo. En el caso del area cuadra, esto no sucede sin importar el angulo de girodel vehıculo.

De ser ası, la matriz O-D se actualiza acorde a la procedencia del vehıculo (de que zona de origenproviene) y a la zona de destino a la cual llego. Cada posicion en la matriz O-D contiene uncontador que se incrementa segun sea el caso. Ademas de este proceso, pueden agregarse algunosotros calculos, como por ejemplo determinar velocidades promedio, para lo cual cada vehıculolleva el conteo de los fotogramas que ha sido rastreado (tiempo) y la distancia que ha recorrido(acumulando los pıxeles recorridos). De esta manera puede obtenerse una matriz de promedio develocidades para cada posible combinacion de zona de origen y destino. Por ultimo el vehıculo seelimina de la lista de analisis una vez concluye su recorrido dentro de la interseccion, liberandorecursos del sistema. La imagen 3-11 ilustra la matriz O-D, con el conteo vehicular y el promediode velocidad, actualizada al fotograma 6503 en el video de salida obtenido del proceso de analisisde la aplicacion desarrollada.

Page 40: Diseno y validaci˜ on de un sistema de´ procesamiento de

30 3 Metodo propuesto

Figura 3-11: Matriz O-D obtenida hasta el fotograma 6503 del video de salida de la aplicacion.Se pueden apreciar el conteo vehicular y el promedio de velocidad de cada posiblecombinacion entre las cuatro zonas de origen versus las cuatro zonas de destino. Estoarroja una matriz de 4 x 4.

Page 41: Diseno y validaci˜ on de un sistema de´ procesamiento de

4 Diseno del experimento

El presente capıtulo describe el diseno del experimento que se llevo a cabo con el objetivo devalidar el resultado del analisis que arroja la aplicacion desarrollada. En la seccion 4.1 se resumenlas condiciones y caracterısticas del video que se capturo originalmente. Luego, en la seccion 4.2,se describe la configuracion del experimento que se llevo a cabo. Finalmente, en la seccion 4.3,se presentan las definiciones de error y matriz de confusion usadas para consignar y resumir losresultados obtenidos.

4.1. Condiciones y caracterısticas del video de muestra

Se tomaron cerca de 44 minutos de video (divididos en 3 partes de 12 minutos y otra de 8 minutos),de los cuales se usaron 5 minutos para la construccion de las muestras positivas para el entrena-miento del clasificador (seccion 3.3.2) y 6 minutos y 15 segundos para el analisis y la validacion.Las condiciones y caracterısticas mas relevantes del video de muestra y de la ubicacion escogidason las siguientes:

Hora: Entre las 8:00 y las 9:00 (GMT -5)Ubicacion: 4.6594225,-74.0886375 (Glorieta de la carrera 60 con calle 63, Bogota Colom-bia)Condiciones de luz: Luz de dıa, parcialmente nubladoFlujo vehicular: AltoDimensiones y area registrada: Aproximadamente 340 x 191 metros, que equivalen a64940 m2

Resolucion del video: 2720 x 1530 pıxelesRelacion metro pıxel: 8 pıxeles/mNumero de zonas de origen: 4Numero de areas de deteccion: 6Numero de zonas de destino: 4Tamano vehicular: 100 x 50 pıxeles (reducida a 50 x 25 pıxeles en entrenamiento)

A la hora en la que se tomo el video, la ciudad de Bogota aun se encuentra en hora pico, por lo queel flujo vehıcular aun es intenso. En este punto de la ciudad y a la hora indicada la mayorıa de losvehıculos se desplazan en el sentido norte sur y occidente oriente.Vale la pena resaltar que las condiciones anteriormente descritas hacen que el analisis de la in-terseccion sea una tarea exigente, debido al tamano y a la cantidad de vehıculos en la misma. Si

Page 42: Diseno y validaci˜ on de un sistema de´ procesamiento de

32 4 Diseno del experimento

Caracterıstica ValorCPU Intel(R) Core(TM) i7-4500U CPUCores / Logical CPUs 2 / 4RAM 8 GBDisk HDD 1 TBO.S Linux Ubuntu 16.04

Tabla 4-1: Caracterısticas del hardware donde se corrio la aplicacion

la aplicacion implementada funciona en estas condiciones, se espera que no tenga problemas conintersecciones mas pequenas (siempre y cuando las condiciones de luz dıa se mantengan, ya queel problema cambia si se toma video nocturno).La tabla 4-1 muestra las caracterısticas del hardware donde se ejecutaron los analisis.

4.2. Configuracion del experimento

El experimento busca contrastar la realidad contra los resultados obtenidos por la aplicacion desa-rrollada. Para esto se proponen los siguientes pasos:

Inicializacion: Se escoge uno de los videos capturados para su analisis. La duracion de estees de 6 minutos y 15 segundos o 375 segundos, equivalentes a 9000 fotogramas. Luego elusuario define los parametros de inicializacion (seccion 3.3.1), zonas de origen y destino(figura 4-1), tamano vehicular promedio (en pıxeles), path del video de entrada y path delvideo de salida.

Analisis: Se ejecuta la aplicacion para obtener el video de salida. En este se visualizan yactualizan los resultados del analisis en cada fotograma, de tal manera que se imprime infor-macion, como la identificacion y el centroide de cada vehıculo, ambos producto del procesode deteccion y seguimiento, las zonas de origen y destino, el estado actual de la matriz O-D(tanto conteos como promedios de velocidad) y algunos contadores globales. Las figuras 4-1y 4-2 ilustran lo anteriormente descrito. Ademas, paralelo a la ejecucion, se usan herramien-tas de software externas1, que permiten medir el uso de los recursos del sistema (CPU ymemoria RAM). Finalmente temporizadores2 implementados en la propia aplicacion midenlos tiempos que tardan las distintas rutinas y esta informacion es almacenada en archivos detexto para su posterior analisis.

1psutil: Librerıa multiplataforma para monitorizacion de procesos y del sistema en Python. Url: https://github.com/giampaolo/psutil

2chrono: Librerıa de C++ para medicion de tiempos de ejecucion. Url: http://www.cplusplus.com/reference/chrono/

Page 43: Diseno y validaci˜ on de un sistema de´ procesamiento de

4.2 Configuracion del experimento 33

Validacion del video de salida: Cuando el analisis termina, se procede a contabilizar ma-nualmente el flujo vehıcular. Para validar la deteccion, se contabilizan todos los vehıculosque cruzaron por cada zona de origen. Cada vehıculo contabilizado tiene dos atributos, unosi era detectable (aquellos que cumplen el criterio de deteccion como sedanes y camionetas)o no detectable (buses, motos, camiones), otro si fue detectado o no detectado. Con estainformacion se puede construir una matriz de confusion (seccion 4.3.1). En cuanto al segui-miento, se han propuesto estrategias de evaluacion como en Lehtola et al. [36], no obstanteuna medicion en cada fotograma para cada vehıculo habrıa sido extenuante (teniendo encuenta que se rastrearon alrededor de 500 vehıculos con aproximadamente 700 fotogramaspor cada uno), por lo que se propone usar las etiquetas en los vehıculos del video de salidacomo ayuda visual, para contabilizar aquellos cuyo seguimiento no fue exitoso durante todasu trayectoria en la interseccion (ver figura 6-1 en el capıtulo 6) y compararlos con aquellosque sı completaron todo el recorrido.

Analisis de resultados: La informacion recopilada en el paso anterior, se consigna en grafi-cas, matrices y formulas (seccion 4.3), de tal manera que pueda ser debidamente analizada ydiscutida.

Figura 4-1: Estado del video previo al analisis y la validacion. Se pueden apreciar las zonas de ori-gen denotadas como Z1, Z2, Z3 y Z4; ası como las zonas de destino denotadas comoA, B, C y D. Tambien se puede apreciar en la parte inferior los contadores globales,“FRAME” para fotograma actual del video, “Cars” para lo vehıculos totales detec-tados y “Counted” para los vehıculos finalizados. Finalmente en la parte superior seaprecia la matriz O-D con el conteo vehicular y el promedio de velocidad, inicializa-dos en cero en cada posicion.

Page 44: Diseno y validaci˜ on de un sistema de´ procesamiento de

34 4 Diseno del experimento

Figura 4-2: Se ilustra como al vehıculo rastreado se le asigna el identificador “Z4 8”, es decir, esel octavo vehıculo identificado durante el analisis del video y pertenece a la zona deorigen “Z4”. Adicionalmente el centroide del vehıculo, identificado por el algoritmode seguimiento, se visualiza con el mismo color de la zona de origen (verde), esto parafacilitar el proceso de validacion.

El anterior procedimiento puede repetirse con el mismo video de entrada pero con algoritmos deseguimiento diferentes (TDL, KCF, Boosting, etc) o con clasificadores entrenados con algoritmosdistintos (RAB, GAB, etc), de tal manera que los distintos videos de salida permiten comparar losresultados obtenidos en cada caso. En resumen, de esta manera se puede conocer que version deentrenamiento arroja mejores resultados, que algoritmo de seguimiento es el mas adecuado parala aplicacion, y cuales son las tasas de error de la deteccion, del seguimiento y de la aplicaciongeneral.

4.3. Definiciones

En esta seccion se definen la matriz de confusion, el error de deteccion, el error de seguimiento yel error combinado. Dichas definiciones se usan posteriormente en el capıtulo 5, para presentar losresultados obtenidos.

4.3.1. Matriz de confusion de la deteccion

Dado que la deteccion es un problema de clasificacion, es conveniente consignar los resultados enuna matriz de confusion (tabla 4-2).

Page 45: Diseno y validaci˜ on de un sistema de´ procesamiento de

4.3 Definiciones 35

Vehıculos Reales Total de la evaluaciondel algoritmoDetectables No Detectables

Evaluacion dela deteccion

Detectados VTP VFP VTP + VFP

No Detectados VFN VTN VFN + VTN

Total Vehıculos Reales VP = VTP + VFN VN = VFP + VTN

Tabla 4-2: Matriz de confusion del algoritmo de deteccion.

Como se puede apreciar en la tabla 4-2 las columnas corresponden a todos los vehıculos reales queentran a la interseccion en el video de salida. Estos se pueden clasificar en dos clases, detectables yno detectables. Los primeros se refieren a todo vehıculo que se espera debe ser detectado. Debido aque el set de entrenamiento se creo unicamente con sedanes y camionetas (seccion 3.3.2), solamen-te estos deberıan ser reconocidos como vehıculos segun el algoritmo de deteccion, cualquier otrotipo de vehıculo, como motocicletas, camiones o buses, pertenecen a la clase de no detectables.Por otro lado, las filas de la matriz corresponden al resultado de la evaluacion del algoritmo, elcual arroja dos posibilidades, detectados o no detectados. De esta manera, un vehıculo detectabley detectado es un verdadero positivo (VTPdel ingles de true positive), uno no detectable no detec-tado es un verdadero negativo (VTN del ingles de true negative), uno detectable no detectado es unfalso negativo (VFN del ingles false negative) y uno no detectable detectado es un falso positivo(VFP del ingles false positive).

4.3.2. Error de deteccion

De la matriz de confusion descrita anteriormente, se pueden extraer varias metricas, de entre lascuales se destacan, el TPR (true positive rate) y el FNR (false negative rate), los cuales se puedendeterminar segun las ecuaciones 4-1 y 4-2.

FNR =|VP − VTP |

VP

× 100 [%] (4-1)

TPR =VTP

VP

× 100 = 100− FNR [ %] (4-2)

Donde:FNR : Tasa de falsos negativos (false negative rate)TPR : Tasa de verdaderos positivos (true positive rate)VP : Cantidad de vehıculos que cruzaron la zona de origen, y que eran detectablesVTP : Cantidad de vehıculos que fueron correctamente detectados

El FNR es equivalente al error de deteccion.

Page 46: Diseno y validaci˜ on de un sistema de´ procesamiento de

36 4 Diseno del experimento

4.3.3. Error de seguimiento

El error de seguimiento viene dado por la ecuacion 4-3, y la tasa de seguimiento exitosa viene dadapor la ecuacion 4-4.

ETR =VNTR

VTP

× 100 [%] (4-3)

STR = 100− ETR [ %] (4-4)

Donde:ETR : Error de seguimientoSTR : Tasa de seguimiento exitoso (successful tracking rate)VNTR : Cantidad de vehıculos en los que el seguimiento no fue exitosoVTP : Cantidad de vehıculos que fueron correctamente detectados

4.3.4. Error combinado

En cada zona de origen, se puede determinar el error combinado de los dos algoritmos como latasa de vehıculos que finalmente no se incluyeron adecuadamente en la matriz O-D. Esto implicacomputar el error producido tanto por el algoritmo de deteccion como por el de seguimiento. Esteerror se define en la ecuacion 4-5.

EC =TPR× ETR

100+ FNR [ %] (4-5)

Donde:EC : Error combinado de deteccion y seguimiento en la zona de origenETR : Error de seguimientoTPR : Tasa de verdaderos positivos (true positive rate)FNR : Tasa de falsos negativos (false negative rate)

Teniendo en cuenta lo anterior, podemos ahora definir el error de deteccion, de seguimiento ycombinado en toda la interseccion. Estas se definen en las ecuaciones 4-6 a 4-11.

VTotalP =n∑

i=1

VPi [ %] (4-6)

VTotalTP

n∑i=1

VTPi [ %] (4-7)

FNRTOTAL =1

VTotalP

n∑i=1

FNRi × VPi [ %] (4-8)

ETR−TOTAL =1

VTotalTP

n∑i=1

ETRi × VTPi [ %] (4-9)

Page 47: Diseno y validaci˜ on de un sistema de´ procesamiento de

4.3 Definiciones 37

ETOTAL =1

VPT

n∑i=1

ECi × VPi [ %] (4-10)

ASR = 100− ETOTAL [ %] (4-11)

Donde:n : Cantidad de zonas de origen establecidas por el usuarioFNRi : Tasa de falsos negativos de la i-esima zona de origenETRi : Error de seguimiento de la i-esima zona de origenECi : Error combinado de la i-esima zona de origenVPi : Cantidad de vehıculos detectables que cruzaron la i-esima zona de origenVTotalP : Cantidad total de vehıculos detectables que entraron a la interseccionVTPi : Cantidad de vehıculos correctamente detectados en la i-esima zona de origenVTotalTP : Cantidad total de vehıculos correctamente detectadosFNRTOTAL : Tasa de falsos negativos total en toda la interseccionETR−TOTAL : Error de seguimiento total en toda la interseccionETOTAL : Error total de la aplicacionASR : Tasa de exito de la aplicacion (Application Success Rate)

Page 48: Diseno y validaci˜ on de un sistema de´ procesamiento de

5 Resultados

El presente capıtulo expone los resultados obtenidos. En la seccion 5.1, se muestran las tasas deerror de los distintos algoritmos de entrenamiento Adaboost, luego en la seccion 5.2, se comparanlos resultados de diferentes algoritmos de seguimiento. En la seccion 5.3, se muestra la evalua-cion de la aplicacion, con las tasas de error de la deteccion, el seguimiento y el error combinado.Finalmente en la seccion 5.4, se presentan los resultados del rendimiento de la aplicacion.

5.1. TPR de distintos entrenadores Adaboost

La tabla 5-1 presenta la tasa de deteccion positiva (TPR) de distintos tipos de entrenadores Ada-boost, tal y como se menciono en la seccion 3.3.2.

Tipo de entrenador TPR [ %]Discrete Adaboost 68.7 %Gentle AdaBoost 70.9 %Real AdaBoost 80.7 %

Tabla 5-1: Tasa de deteccion positiva de distintos tipos de entrenadores Adaboost.

Debido a que el error de RAB fue el menor, este se escogio como el tipo de clasificador definitivopara la aplicacion.

5.2. Comparacion entre distintos algoritmos deseguimiento

La tabla 5-2 muestra el tiempo que en promedio tardan diversos algoritmos de seguimiento enactualizar la posicion de un solo vehıculo, ası como la tasa de error de los mismos, tal y como semenciono en la seccion 3.3.3.

Page 49: Diseno y validaci˜ on de un sistema de´ procesamiento de

5.3 Evaluacion de la aplicacion 39

Algoritmo de seguimiento Tiempo [ms] Error[ %]Kernelized Correlation Filters (KCF) ∼15 11.3

On-Line Boosting ∼50 2.0Median Flow ∼67 68.0

Multiple Instance Learning (MIL) ∼182 8.2Tracking-Learning-Detection (TLD) 500+ Muy lento, no se evaluo

Tabla 5-2: Resultados obtenidos para distintos algoritmos de seguimiento.

Debido a que el algoritmo que mejor compromiso tiene entre error y rapidez de ejecucion es el deOn-Line Boosting, fue el escogido como el rastreador definitivo en la aplicacion.

5.3. Evaluacion de la aplicacion

A continuacion se presentaran los resultados obtenidos vistos desde tres enfoques diferentes, errordel algoritmo de deteccion, error del algoritmo de seguimiento y por ultimo tasa de exito de laaplicacion. El orden en el que se presentan los resultados inicia con la evaluacion individual de laszonas de origen y luego el totalizado de la interseccion.

5.3.1. Evaluacion de la deteccion

Se presenta primero las matrices de confusion, y el error de deteccion (en ambos casos primeropor zona de origen de manera individual y luego de manera totalizada).

Matrices de confusion del algoritmo de deteccion

A continuacion se presentan las matrices de confusion obtenidas por cada zona de origen.

Detectables No detectables TotalDetectados 109 0 109No Detectados 15 33 48Total 124 33

Tabla 5-3: Matriz de confusion de la zona de origen 1.

Detectables No detectables TotalDetectados 228 0 228No Detectados 50 78 128Total 278 78

Tabla 5-4: Matriz de confusion de la zona de origen 2.

Page 50: Diseno y validaci˜ on de un sistema de´ procesamiento de

40 5 Resultados

Detectables No detectables TotalDetectados 59 0 59No Detectados 17 10 27Total 76 10

Tabla 5-5: Matriz de confusion de la zona de origen 3.

Detectables No detectables TotalDetectados 125 0 125No Detectados 71 42 113Total 196 42

Tabla 5-6: Matriz de confusion de la zona de origen 4.

Finalmente se presenta una matriz de confusion con la sumatoria de todas las zonas en la tabla 5-7.

Detectables No detectables TotalDetectados 521 0 521No Detectados 153 163 316Total 674 163

Tabla 5-7: Matriz de confusion totalizada de la rotonda.

Error de deteccion

La tabla 5-8 presenta el error de deteccion para cada zona y el totalizado, tal y como se definio enlas ecuaciones 4-1 y 4-8.

Error Valor [ %]FNR1 12.1FNR2 18.0FNR3 22.4FNR4 36.2

FNRTOTAL 22.7

Tabla 5-8: Errores de deteccion de cada zona de origen y de toda la interseccion.

5.3.2. Evaluacion del seguimiento

La tabla 5-9 muestra el error de seguimiento para los vehıculos que partieron de cada zona deorigen, ası como el error total en la interseccion (ecuaciones 4-3 y 4-9.

Page 51: Diseno y validaci˜ on de un sistema de´ procesamiento de

5.4 Rendimiento 41

Error Valor [ %]ETR1 2.0ETR2 6.1ETR3 2.0ETR4 4.1

ETR−TOTAL 4.3

Tabla 5-9: Errores de seguimiento para los vehıculos originados en cada una de las zonas de ori-gen, ası como el error total de seguimiento en toda la interseccion.

5.3.3. Tasa de exito de la aplicacion

La tabla 5-10 muestra el error combinado de los algoritmos de deteccion y seguimiento en cadazona de origen y finalmente el error total combinado de todas las zonas que equivale al error totalde la aplicacion.

Error Valor [ %] Contribuciondeteccion [ %]

Contribucion se-guimiento [ %]

EC1 13.9 12.1 1.8EC2 23.0 18.0 5.0EC3 23.9 22.4 1.5EC4 38.8 36.2 2.6

ETOTAL 26.0 22.7 3.3

Tabla 5-10: Errores combinados en cada una de las zonas de origen, ası como el error total de laaplicacion.

5.4. Rendimiento

Antes de presentar las graficas de rendimiento, vale la pena mencionar que fue necesario un procesode paralelizacion para aprovechar al maximo los recursos del sistema. El algoritmo de seguimientose ejecuto en paralelo en las 4 unidades logicas del CPU. Esto se ilustra en la figura 5-1, la cual esuna version reducida de aquel diagrama de flujo mostrado en la figura 3-3(b), solo se busca hacerenfasis en la paralelizacion.En cuanto a la medicion del rendimiento, primero se presentan los tiempos de procesamiento delas partes mas sensibles de la aplicacion. Se escogieron la deteccion (ambos casos, deteccion y nodeteccion), inicializacion del seguimiento, y la actualizacion de la posicion (seguimiento normal).Para cada caso se obtienen el tiempo mınimo, maximo y promedio de ejecucion. La tabla 5-11resume estos resultados.

Page 52: Diseno y validaci˜ on de un sistema de´ procesamiento de

42 5 Resultados

Figura 5-1: Diagrama de flujo que ilustra el proceso de fraccionamiento del seguimiento para quepueda ser procesado en paralelo por varios hilos.

Ademas se observaron tres variables diferentes a lo largo del tiempo de analisis, uso de memoria(consumo real de RAM), uso de CPU, y tiempo de analisis por fotograma. Cada una de estas me-diciones se comparo con el numero de vehıculos que la aplicacion debıa analizar en cada instante(fotograma) determinado. Las figuras 5-2 a 5-3 ilustran el rendimiento de la aplicacion.Finalmente se pudo establecer de manera empırica que en el hardware donde se corrio la aplica-cion, el tiempo total de analisis es 24 veces mayor al tiempo de reproduccion, o lo que es igual,la velocidad de analisis es aproximadamente 1 fps. Desde luego esta relacion depende de factorescomo la densidad de trafico vehicular o las distancias entre las zonas de origen y destino, ası co-mo la naturaleza misma de la interseccion a analizar (en general intersecciones pequenas implicananalisis mas rapidos).

Rutina de la AplicacionTiempo [µs]

Mınimo Promedio MaximoDeteccion Negativa 272.7 402.4 1783.8Deteccion Positiva 285.3 447.1 1994.3

Inicializacion del seguimiento 263365.0 283192.3 341027.0Seguimiento (actualizacion) 22382.2 50267.9 106262.0

Tabla 5-11: Tiempos en microsegundos medidos para cada rutina relevante de la aplicacion.

Page 53: Diseno y validaci˜ on de un sistema de´ procesamiento de

5.4 Rendimiento 43

Figura 5-2: Uso de la memoria RAM versus conteo vehicular, en el tiempo.

Figura 5-3: Uso del CPU versus el conteo vehicular, en el tiempo.

Page 54: Diseno y validaci˜ on de un sistema de´ procesamiento de

44 5 Resultados

Figura 5-4: Tiempo de analisis de cada fotograma versus conteo vehicular, en el tiempo.

Figura 5-5: Se presenta la misma informacion de la figura 5-4 pero con el eje vertical ”tiempopor fotograma”truncado. Esto permite apreciar mejor (contrario a la figura 5-4) lasimilitud entre ambas variables.

Page 55: Diseno y validaci˜ on de un sistema de´ procesamiento de

6 Discusion

En este capıtulo se hacen varias observaciones y analisis a raız de las tablas y graficas presentadasen los resultados. Primero se examinan las contribuciones al error total de la aplicacion (26.0 %),por parte de la deteccion y el seguimiento. El que mas aporto fue el primero con un 22.7 %, mien-tras que el segundo es significativamente menor con un 3.3 %. Esto contrasta con los tiempos deejecucion donde sucede todo lo contrario, ya que en promedio la deteccion (deteccion exitosa)tarda en promedio 447 microsegundos por area de deteccion por fotograma, mientras que el segui-miento tarda en promedio 50 milisegundos por actualizacion del centroide de cada vehıculo porfotograma, y la inicializacion es aun mas lenta (en promedio 283 milisegundos). Lo anterior indicaque el seguimiento se toma un tiempo de procesamiento de 100 ordenes de magnitud mayor res-pecto a la deteccion, pero a su vez aporta menos al error global de la aplicacion. Dada la naturalezade la aplicacion y la forma en que se entreno al clasificador, lo anterior es entendible. Las deteccio-nes no son significativamente difıciles en este problema ya que la forma en la que se presentan losvehıculos desde la perspectiva del video es relativamente regular (tienden a ser formas “rectangu-lares”). En cambio su seguimiento es complejo. Varias pruebas realizadas con distintos algoritmosde deteccion, demostraron que seguir el movimiento de los vehıculos era bastante difıcil, a pe-sar de que la velocidad de movimiento es baja. El problema radica en que las distancias dentrode la interseccion son amplias, las condiciones son cambiantes (movimientos sutiles del dron, ocambios de luz) y el trafico vehicular es denso, esto ultimo incluso causo “saltos entre vehıculos”,perdiendose la referencia original y generando error en la medicion. Para alcanzar un porcentajede error relativamente bajo, debio compensarse con tiempos de procesamiento significativos. Asımismo, la mayor contribucion al error por parte de la deteccion, es comprensible si a su vez seaprecia la rapidez con la que ejecuta su proceso. Ademas, esto no es de gran preocupacion, ya queel set de entrenamiento usado no era grande (500 muestras positivas), se puede reducir el error dedeteccion aumentando la cantidad de muestras positivas.Otro problema que se enfrento fue el de la oclusion. Ninguno de los algoritmos presentados, de-mostraron ser resistentes a este obstaculo. Esto se refleja claramente en las mayores tasas de errorde la zona ”Z4”, ya que en esta zona se ubica un arbol de dimensiones apreciables que dificultosignificativamente la tarea de seguimiento. Esto se ilustra en la figura 6-1.Por otro lado, vale la pena mencionar el impacto que causa el seguimiento en los recursos dehardware. En la figura 5-2, se aprecia como a medida que aumenta el numero de vehıculos anali-zados en cada fotograma, el consumo de RAM aumenta de manera proporcional, esto es evidenteen los primeros 190 segundos de procesamiento. Este aumento se sostiene hasta llegar al lımi-te que el sistema puede tolerar, un valor cercano a los 7.1 GB de memoria (recordando que el

Page 56: Diseno y validaci˜ on de un sistema de´ procesamiento de

46 6 Discusion

Figura 6-1: Se puede apreciar un error de seguimiento en el vehıculo con etiqueta “S4 3”, causadopor la oclusion generada por el arbol que se impone sobre la vıa.

hardware contaba con 8 GB de RAM, debe conservarse mas o menos 1 GB para otros procesosdel sistema operativo). En cuanto al uso de CPU (figura 5-3) se puede apreciar que la aplicacionhace uso intensivo del procesador desde el comienzo mismo de la ejecucion. Este uso es cons-tante y se mantiene alrededor del 350 % (teniendo en cuenta que se dispone de 4 CPUs logicosdonde el maximo es de 400 %). Los picos inferiores del uso del CPU se corresponden con picosexagerados (tiempos mayores a 10 segundos) del tiempo de procesamiento por fotograma (figura5-4). Esto se puede atribuir a la necesidad del sistema de migrar bloques de memoria al espacio deintercambio (swap), el cual es un proceso lento, teniendo en cuenta que el disco es HDD y no SSD.

A pesar de la presencia de picos, la figura 5-5 ilustra la relacion directa entre los tiempos deanalisis y la cantidad de vehıculos. En un hardware con mas RAM, estas variables seguramenteserıan muy similares. Lo anterior indica que el seguimiento no solo es el que se toma mas tiempo,sino que ademas es el que consume mas recursos, lo cual nuevamente nos lleva a reflexionar sobrela dificultad de rastrear vehıculos en este tipo de interseccion.

Page 57: Diseno y validaci˜ on de un sistema de´ procesamiento de

7 Conclusiones y trabajo futuro

En el presente capıtulo se hace una lista de conclusiones en la seccion 7.1, y otra lista del trabajofuturo requerido en la seccion 7.2.

7.1. Conclusiones

Una vez presentados y discutidos los resultados se pueden sacar las siguientes conclusiones.

Se diseno una aplicacion que basandose en el metodo ilustrado en la figura 3-3.(b) y explica-do en detalle en la seccion 3.3, hizo uso de algoritmos especializados para obtener la matrizO-D de una interseccion, uno de deteccion y el otro de seguimiento. Por un lado la deteccionse realizo por medio de Viola-Jones, el cual se basa en caracterısticas HAAR y en clasifi-cadores obtenidos en entrenamiento por medio de Adaboost. Por otro lado el algoritmo deseguimiento usado fue el de On-Line Boosting.

El algoritmo de deteccion de Viola-Jones arrojo un TPR del 77.3 %. No obstante esta tasade deteccion puede mejorarse con un set de entrenamiento con mayor cantidad de muestraspositivas.

El algoritmo de seguimiento basado en On-Line Boosting arrojo una tasa de error del 4.3 %.Sin embargo este algoritmo no es robusto ante la oclusion, obstaculos como puentes o arbolespodrıan aumentar considerablemente esta tasa de error, como se aprecia en las mayores tasasde error de la zona de origen 4, donde se ubica un arbol que sobresale sobre la vıa.

El error total de la aplicacion, es decir la combinacion del error aportado por cada algoritmoes del 26.0 %. De este porcentaje, 22.7 % corresponde al error de deteccion mientras que elotro 3.3 % corresponde al seguimiento.

El rendimiento de la aplicacion se ve impactado principalmente por el algoritmo de segui-miento, el cual consume la mayor cantidad de los recursos de hardware y toma la mayorparte del tiempo de procesamiento.

Debido al hecho anterior, el tiempo total de procesamiento depende fuertemente de la canti-dad de vehıculos a analizar en cada fotograma, y esto a su vez esta supeditado al tamano dela interseccion y a la densidad del flujo vehicular.

La velocidad de procesamiento en las circunstancias especificadas fue de 1 fps.

Page 58: Diseno y validaci˜ on de un sistema de´ procesamiento de

48 7 Conclusiones y trabajo futuro

7.2. Trabajo futuro

A continuacion se enumeran aquellas cosas en las que se puede seguir trabajando para mejorar ala aplicacion.

1. Disminucion de error de deteccion. Es la mejora mas inmediata que se puede realizar. El errorde deteccion se logra con un clasificador mas robusto, que a su vez se obtiene aumentandola cantidad de muestras positivas del set de entrenamiento.

2. Mejora del rendimiento. Este es otro aspecto en el que deberıan enfocarse esfuerzos. Dadoque es el algoritmo de seguimiento el que consume gran parte de los recursos, hay variasalternativas que pueden probarse.

Paralelizacion del algoritmo de seguimiento con tarjetas de video: Migrar el algoritmode On-Line Boosting a una version paralelizada en tarjetas de video, de tal manera queno sea la CPU la encargada de ejecutar el grueso del procesamiento en este algoritmo.

Paralelizacion por medio de computacion distribuida: Otra alternativa es hacer uso deun sistema de computacion distribuida de tal manera que entre varios computadores seejecute la aplicacion.

Probar otros algoritmos de seguimiento: Hubo otros algoritmos de seguimiento que nose probaron, como TDL, CSRT, MOSSE o GOTURN.

Crear un nuevo algoritmo de seguimiento especıfico para la aplicacion: Otra alternativaviable es disenar un algoritmo de seguimiento propio de la aplicacion. Vale la penaresaltar que el problema presentado tiene caracterısticas muy concretas que lo hacenmuy especıfico. Quiza algunos de los algoritmos de seguimiento presentados fallaronporque estan disenados para funcionar de manera mas general, en una amplia gama decircunstancias.

3. Eliminar el problema de la oclusion. De la mano con el punto anterior, es deseable queel algoritmo de seguimiento no sea unicamente mas eficiente, sino que ademas supere elproblema de la oclusion, de tal manera que el analisis de intersecciones no se vea perjudicadopor obstaculos como puentes o arboles.

4. Incrementar la cantidad de clases vehiculares. Se establecio que para simplificar el proble-ma, solo se analizarıa un unico tipo de vehıculos (sedanes y camionetas). Futuras versionesde este trabajo deberıan considerar incluir otros tipos de vehıculos (buses, camiones o moto-cicletas).

5. Clasificar. Una vez se incluyen mas tipos de vehıculos, es deseable agregar a la solucionun sistema de clasificacion, de tal manera que se puedan obtener para una misma intersec-cion, diferentes matrices O-D. Por ejemplo una matriz unicamente para vehıculos pequenosparticulares, otra para vehıculos pequenos de servicio publico (taxis), otra para buses, etc.

Page 59: Diseno y validaci˜ on de un sistema de´ procesamiento de

7.2 Trabajo futuro 49

6. Afrontar el problema en condiciones nocturnas. Las muestras de video se tomaron siempreen condiciones de luz dıa. No obstante desde el punto de vista de analisis de transito, lo quesucede en la noche es igualmente importante. Sin embargo este es un cambio radicalmen-te sensible para el metodo y los algoritmos propuestos en este trabajo. Queda la pregunta¿Como deberıa afrontarse el mismo problema en condiciones nocturnas?

Page 60: Diseno y validaci˜ on de un sistema de´ procesamiento de

Bibliografıa

[1] Federal Highway Administration, Traffic Monitoring Guide. No. October, Federal HighwayAdministration - U.S Department of Transportation, 2013.

[2] H. Tuydes-Yaman, O. Altintasi, and N. Sendil, “Better estimation of origin–destination ma-trix using automated intersection movement count data,” Canadian Journal of Civil Enginee-ring, vol. 42, pp. 490–502, jul 2015.

[3] R. Gifford and L. Steg, “The Impact of Automobile Traffic on Quality of Life,” in Threatsfrom Car Traffic to the Quality of Urban Life, pp. 33–51, Emerald Group Publishing Limited,apr 2016.

[4] E. de la Rocha, “Image-processing algorithms for detecting and counting vehicles waiting ata traffic light,” Journal of Electronic Imaging, vol. 19, p. 043025, oct 2010.

[5] S. P. Hoogendoorn and P. H. L. Bovy, “State-of-the-art of vehicular traffic flow modelling,”Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Con-trol Engineering, vol. 215, pp. 283–303, jun 2001.

[6] Instituto Nacional de Vıas (INVIAS), Volumenes de Transito 2010-2011. Republica de Co-lombia, 2013.

[7] J. Suda, “Misstatements of GPS- location of public transport vehicles in Warsaw,” Transpor-tation Overview - Przeglad Komunikacyjny, vol. 2017, pp. 37–45, feb 2017.

[8] C. Chen, J. Hu, J. Zhang, C. Sun, L. Zhao, and Z. Ren, “Information congestion controlon intersections in VANETs: A bargaining game approach,” in IEEE Vehicular TechnologyConference, vol. 2016-July, pp. 1–5, IEEE, may 2016.

[9] M. Saini, A. Alelaiwi, and A. E. Saddik, “How Close are We to Realizing a Pragmatic VA-NET Solution? A Meta-Survey,” ACM Computing Surveys, vol. 48, pp. 1–40, nov 2015.

[10] P. Viola and M. J. Jones, “Robust Real-Time Face Detection,” International Journal of Com-puter Vision, vol. 57, pp. 137–154, may 2004.

[11] A. Haar, “Zur Theorie der orthogonalen Funktionensysteme - Erste Mitteilung,” Mathema-tische Annalen, vol. 69, pp. 331–371, sep 1910.

Page 61: Diseno y validaci˜ on de un sistema de´ procesamiento de

Bibliografıa 51

[12] Y. Freund and R. E. Schapire, “A Decision-Theoretic Generalization of On-Line Learningand an Application to Boosting,” Journal of Computer and System Sciences, vol. 55, no. 1,pp. 119–139, 1997.

[13] T. Bouwmans, C. Silva, C. Marghes, M. S. Zitouni, H. Bhaskar, and C. Frelicot, “On the roleand the importance of features for background modeling and foreground detection,” Compu-ter Science Review, vol. 28, pp. 26–91, may 2018.

[14] C. Silva, T. Bouwmans, and C. Frelicot, “An eXtended Center-Symmetric Local Binary Pat-tern for Background Modeling and Subtraction in Videos,” Proceedings of the 10th Interna-tional Conference on Computer Vision Theory and Applications, pp. 395–402, 2015.

[15] X. Wang, T. X. Han, and S. Yan, “An HOG-LBP human detector with partial occlusion hand-ling,” in 2009 IEEE 12th International Conference on Computer Vision, pp. 32–39, IEEE,sep 2009.

[16] P. Dollar, Z. Tu, P. Perona, and S. Belongie, “Integral Channel Features,” in Procedings ofthe British Machine Vision Conference 2009, pp. 91.1–91.11, British Machine Vision Asso-ciation, 2012.

[17] D. Lowe, “Object recognition from local scale-invariant features,” Proceedings of the SeventhIEEE International Conference on Computer Vision, pp. 1150–1157 vol.2, 1999.

[18] J. Luo, Y. Ma, E. Takikawa, S. Lao, M. Kawade, and B. L. Lu, “Person-specific SIFT featuresfor face recognition,” in ICASSP, IEEE International Conference on Acoustics, Speech andSignal Processing - Proceedings, vol. 2, pp. 593–596, 2007.

[19] W. Liu, Z. Wang, X. Liu, N. Zeng, Y. Liu, and F. E. Alsaadi, “A survey of deep neural networkarchitectures and their applications,” Neurocomputing, vol. 234, pp. 11–26, apr 2017.

[20] P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, and Y. LeCun, “OverFeat: Integra-ted Recognition, Localization and Detection using Convolutional Networks,” 2013.

[21] R. Girshick, “Fast R-CNN,” in 2015 IEEE International Conference on Computer Vision(ICCV), pp. 1440–1448, IEEE, dec 2015.

[22] T.-Y. Lin, P. Goyal, R. Girshick, K. He, and P. Dollar, “Focal Loss for Dense Object Detec-tion,” in 2017 IEEE International Conference on Computer Vision (ICCV), pp. 2999–3007,IEEE, oct 2017.

[23] J. Redmon, S. Divvala, R. Girshick, and A. Farhadi, “You Only Look Once: Unified, Real-Time Object Detection,” in 2016 IEEE Conference on Computer Vision and Pattern Recog-nition (CVPR), pp. 779–788, IEEE, jun 2016.

[24] J. Redmon and A. Farhadi, “YOLOv3: An Incremental Improvement,” arXiv, apr 2018.

Page 62: Diseno y validaci˜ on de un sistema de´ procesamiento de

52 Bibliografıa

[25] H. Grabner, M. Grabner, and H. Bischof, “Real-Time Tracking via On-line Boosting,” Pro-cedings of the British Machine Vision Conference 2006, pp. 6.1–6.10, 2006.

[26] J. F. Henriques, R. Caseiro, P. Martins, and J. Batista, “High-speed tracking with kernelizedcorrelation filters,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 37,no. 3, pp. 583–596, 2015.

[27] Z. Kalal, K. Mikolajczyk, J. Matas, and C. Republic, “Forward-Backward Error : Autono-mous Identification of Tracking Failures,” Proceedings of the 20th International Conferenceon Pattern Recognition, pp. 2756–2759, 2010.

[28] Z. Wang, S. Yoon, S. J. Xie, Y. Lu, and D. S. Park, “Visual tracking with semi-supervisedonline weighted multiple instance learning,” Visual Computer, vol. 32, no. 3, pp. 307–320,2016.

[29] A. Lukezic, T. Vojır, L. Cehovin, J. Matas, and M. Kristan, “Discriminative Correlation FilterTracker with Channel and Spatial Reliability,” International Journal of Computer Vision,vol. 126, pp. 671–688, jul 2018.

[30] Z. Kalal, K. Mikolajczyk, and J. Matas, “Tracking-Learning-Detection,” IEEE TRANSAC-TIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 6, no. 1, 2010.

[31] D. Bolme, J. R. Beveridge, B. A. Draper, and Y. M. Lui, “Visual object tracking using adap-tive correlation filters,” in 2010 IEEE Computer Society Conference on Computer Vision andPattern Recognition, pp. 2544–2550, IEEE, jun 2010.

[32] D. Held, S. Thrun, and S. Savarese, “Learning to track at 100 FPS with deep regression net-works,” in Lecture Notes in Computer Science (including subseries Lecture Notes in ArtificialIntelligence and Lecture Notes in Bioinformatics), vol. 9905 LNCS, pp. 749–765, Springer,Cham, 2016.

[33] A. S. A. Al-Sobky and I. H. Hashim, “A generalized mathematical model to determine theturning movement counts at roundabouts,” Alexandria Engineering Journal, vol. 53, pp. 669–675, sep 2014.

[34] B. Y. Lee, L. H. Liew, W. S. Cheah, and Y. C. Wang, “Occlusion handling in videos ob-jact tracking: A survey,” IOP Conference Series: Earth and Environmental Science, vol. 18,p. 012020, feb 2014.

[35] J. Friedman, T. Hastie, and R. Tibshirani, “Additive logistic regression: A statistical view ofboosting,” Annals of Statistics, vol. 28, pp. 337–407, apr 2000.

Page 63: Diseno y validaci˜ on de un sistema de´ procesamiento de

Bibliografıa 53

[36] V. Lehtola, H. Huttunen, F. Christophe, and T. Mikkonen, “Evaluation of visual trackingalgorithms for embedded devices,” in Lecture Notes in Computer Science (including subse-ries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), vol. 10269LNCS, pp. 88–97, Springer, Cham, 2017.