ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

47
ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON BASE EN FRANJAS DE INTERES MARIO ALEJANDRO PRIETO VALDÉS PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRÓNICA BOGOTA, MAYO DE 2010

Transcript of ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

Page 1: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON BASE EN FRANJAS DE INTERES

MARIO ALEJANDRO PRIETO VALDÉS

PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA BOGOTA, MAYO DE 2010

Page 2: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON BASE EN FRANJAS DE INTERES

MARIO ALEJANDRO PRIETO VALDÉS

TRABAJO DE GRADO PARA OPTAR AL TÍTULO DE INGENIERO

ELECTRÓNICO

DIRECTOR ING. PEDRO RAÚL VIZCAYA GUARÍN Ph.D

PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA

DEPARTAMENTO DE ELECTRÓNICA BOGOTÁ, MAYO DE 2010

Page 3: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

PONTIFICIA UNIVERSIDAD JAVERIANA

Artículo 13 de la Resolución No. 13 de Junio de de 1964

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

Sólo velará porque no se publique nada contrario al dogma y a la moral católica y porque los trabajos no contengan ataque o polémicas puramente personales. Antes bien que se vea en, ellos el anhelo de buscar la verdad y la justicia”

Page 4: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

PONTIFICIA UNIVERSIDAD JAVERIANA

DIRECTOR MAGNÍFICO: PADRE JOAQUÍN EMILIO SANCHEZ G. S.J

DECANO ACADÉMICO: ING. FRANCISCO JAVIER REBOLLEDO M.

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

DIRECTOR DE CARRERA: ING. JUAN MANUEL CRUZ BOHÓRQUEZ

DIRECTOR DEL PROYECTO: ING. PEDRO RAÚL VIZCAYA GUARÍN

Page 5: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

AGRADECIMIENTOS

El autor expresa sus sinceros agradecimientos a:

ING. PEDRO RAÚL VIZCAYA GUARÍN, profesor de la Pontificia Universidad Javeriana de Bogotá no sólo por aceptar dirigir guiar y supervisar este proyecto, sino por su invaluable apoyo durante mi formación profesional.

Page 6: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

i

TABLA DE CONTENIDO

pág.

1. INTRODUCCIÓN 1

2. MARCO TEÓRICO 3

2.1. MARCO DE REFERENCIA 3 2.1.1. Flujo Vehicular. 3 2.1.1.1. Clasificación de modelos de Flujo Vehicular. 3 2.1.2. Variables Flujo Vehicular. 4 2.1.2.1. Tasa de flujo (q). 4 2.1.2.2. Velocidad (v). 4 2.1.2.3. La densidad o concentración (k). 4 2.2. VISIÓN ARTIFICIAL 4 2.2.1. Procesamiento Digital de Imágenes. 4 2.2.1.1. Filtrado espacial. 4 2.2.1.2. Operaciones Morfológicas. 5 2.2.1.2.1. Dilatación y Erosión. 5

3. DESCRIPCIÓN GENERAL DEL PROCESO 6

3.1. ESPECIFICACIONES 6 3.1.1. Requisitos del sistema. 6 3.1.2. Técnicas de procesamiento de imágenes. 6 3.2. HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO 6 3.3. ENTRADAS Y SALIDAS DEL SISTEMA 7 3.3.1. Entradas al sistema. 7 3.3.2. Salidas del sistema. 7 3.4. DIAGRAMA EN BLOQUES DEL SISTEMA 8

4. DESCRIPCIÓN DETALLADA DEL SISTEMA 9

4.1. CAPTURA DE VIDEO 9 4.2. SELECCIÓN DE FRANJAS DE INTERÉS Y LÍNEA DE CONTEO 9 4.3. DETECCIÓN DE FRENTE Y FONDO 10 4.4. SEGMENTACIÓN 12 4.4.1. Umbralización. 12 4.4.2. Cerramiento 13 4.5. MANIPULACIÓN FRANJAS DE INTERÉS 13 4.6. DETECCIÓN DE REGIONES 14 4.7. CONTEO 15 4.7.1. Umbrales de Área, Ancho y Largo. 15

Page 7: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

ii

pág.

4.8. FLUJO ÓPTICO 15 4.8.1. Cálculo del Centro 15 4.8.2. Algoritmo de Lukas y Kanade 16 4.9. MEDICIONES DE TRÁFICO VEHICULAR 21 4.9.1. Flujo vehicular. 21 4.9.2. Velocidad. 21 4.9.3. Densidad vehicular. 22 4.10. EVALUACIÓN Y SELECCIÓN DE VIDEOS 22

5. ANÁLISIS DE RESULTADOS 24

5.1. TIEMPO REAL 24 5.2. CONTEO 24 5.3. CÁLCULO DE ERROR EN CONTEO 26 5.3.1. Falsos Positivos y Falsos Negativos. 28 5.3.2. Comparación resultados del trabajo de grado, con resultados de desarrollos anteriores. 31 5.3.3. Limitaciones del algoritmo. 32

6. CONCLUSIONES 33

7. BIBLIOGRAFÍA 35

LISTA DE FIGURAS iii

LISTA DE TABLAS v

LISTA DE ANEXOS vi

Page 8: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

iii

LISTA DE FIGURAS

pág.

Figura 1 Operación morfológica de un elemento estructurante S[u,v] sobre

un área de la imagen F[x,y] para obtener una imagen G[x,y].. 5

Figura 2.Diagrama general en bloques del desarrollo del algoritmo para conteo

vehicular en tiempo real 8

Figura 3. 1. Consola de arranque del sistema, 2. Video de entrada

3. GUI para selección de franjas de interés y línea de conteo 10

Figura 4. Diagrama Franjas de interés y línea de conteo 10

Figura 5 Diagrama en bloques. Extracción de Frente y Fondo 11

Figura 6. 1. Entrada 2. Fondo, 3. Frente a color 4. Frente en escala de grises 11

Figura 7. Detalle de la franja de interés 1. Entrada 2. Fondo,

3. Frente a color 4. Frente en escala de grises 12

Figura 8. Umbralización Franjas de interés 1. Frente en escala de grises 2. Imagen Binaria 13

Figura 9. Imagen generada a partir de la manipulación de franjas de interés 13

Figura 10. Detección de regiones 14

Figura 11. Imágenes de entrada y salida Lukas-Kanade 16

Figura 12. Descripción del flujo óptico 16

Figura 13. Suposiciones fundamentales del flujo óptico 17

Figura 14. Apertura 18

Figura 15. L-K utilizando piramides 19

Figura 16. L-K utilizado en el algoritmo 20

Figura 17. Conteo Manual y Automático por video 27

Figura 18. Porcentaje de error por video 27

Figura 19. Imagen video 2, Fuentes de falsos positivos 28

Figura 20. Porcentaje Falsos positivos Vs. Falsos negativos 29

Page 9: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

iv

Figura 21. Porcentaje de Falsos positivos Vs. Falsos negativos con región

de valor estándar < 2< σ 30

Figura 22. Errores de conteo trabajo “Conteo Automático de vehículos” 31

Page 10: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

v

LISTA DE TABLAS

pág.

Tabla 1. Características de los videos evaluados 22

Tabla 2. Tiempo de ejecución del algoritmo 24

Tabla 3. Relación de Conteos –Manual, Automático, Falsos Positivos y Negativos

por Video 26

Tabla 4. Falsos positivos, Falsos Negativos 28

Page 11: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

vi

LISTA DE ANEXOS

Anexo 1. CD Método de OTSU. CD Código Fuente y Ejecutable del Algoritmo para conteo vehicular basado en

franjas de interés.

Page 12: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

1

1. INTRODUCCIÓN

La Visión Artificial cada vez adquiere más importancia por sus múltiples aplicaciones a nivel industrial, científico, médico, de seguridad, control de calidad, automatización de procesos obtención, reconocimiento y clasificación de objetos por su tamaño, reconocimiento de rostros, huellas dactilares, entre muchos otros.

Los sistemas de visión artificial utilizan de manera conjunta un amplio número de técnicas diferentes y complementarias, tales como el análisis y procesamiento de imágenes, seguimiento de múltiples objetos deformables, reconocimiento de patrones, etc.1, nos permite transformar la imagen visual de un objeto en un conjunto de datos digitalizados que pueden ser procesados; la extracción de información de secuencias de imágenes es clave en muchos sistemas de visión artificial para la solución de problemas como la obtención de datos que nos permiten calcular desplazamiento y velocidad de objetos, la modelización tridimensional del entorno, la restauración de imágenes, etc.2 Es así como el seguimiento y caracterización dinámica de objetos en movimiento permite la utilización de la visión artificial en aplicaciones como el control de tráfico vehicular, pues, nos permite estimar la densidad vehicular el volumen de tráfico y la velocidad que son los tres parámetros principales que describen el flujo vehicular.

El conteo vehicular es uno de los aspectos que componen un sistema de gestión de tráfico pero es un elemento importante en los procesos de planeación y diseño de la construcción, ampliación y modernización de la infraestructura. Este proyecto presenta un sistema automático de conteo vehicular en tiempo real utilizando franjas de interés, y pretende cumplir con los siguientes objetivos

- Diseño, desarrollo y optimización de un algoritmo para determinar automáticamente en un segmento de vía, el tráfico vehicular en tiempo real, con base en video y analizando regiones de interés.

- Aplicar técnicas de procesamiento de imágenes, para separación del fondo y el frente. - Analizar regiones de interés específicas para reducir los tiempos de procesamiento. - Estimar velocidad de los vehículos y realizar seguimiento de su trayectoria. - Determinar parámetros tales como densidad y volumen de tráfico.

Para su implementación se aplicaron técnicas de procesamiento de imágenes a los videos, como el uso de filtros de suavizado de imagen y operaciones morfológicas, el sistema se desarrolló en su totalidad en OPENCV.

1Sistemas de visión artificial en tareas de video-vigilancia del tráfico grupo de Investigación Gavab-Capo,

de la Universidad Rey Juan Carlos (URJC) consultado marzo de 20010 En.: http://www.madrimasd.org/informacionidi/noticias/noticia.asp?id=42633.

2ZULOAGA, Izaguirre Aitzol. Visión Artificial Dinámica Determinación de Movimiento a Partir de

Secuencias de Imágenes Doctorado en Tecnologías de la Información Bilbao, septiembre 98, consultado abril de 2010.En.: http://reocities.com/capecanaveral/8482/docu003.pdf.

Page 13: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

2

Recientemente en la Pontificia Universidad Javeriana se están desarrollando diversos trabajos en el área de visión artificial, enmarcados en diferentes disciplinas como la medicina, la seguridad, el tráfico, la Bioingeniería y la robótica. En el área de seguridad se destacan trabajos como el de “Detección e identificación de rostros empleando SVM y color”3 e identificación de huellas dactilares, como es “Detección de Detalles en Huellas Dactilares Usando Redes Neuronales”4, el grupo BASPI viene desarrollando trabajos en las, áreas Análisis de señales electroencefalográficas basado en un modelo dinámico del cerebro, Aprendizaje de máquinas, estadístico, Audio, Presiones plantares, Prótesis y órtesis combinado con análisis de imágenes 2D-3D, Síntesis de voz en el idioma español, Tecnologías de apoyo a discapacitados, Verificación de identidad empleando biomedidas, Voz.

El grupo SIRP (Sistemas Inteligentes, Robótica y Percepción), desarrolló el proyecto Úrsula, un robot capaz de identificar minas anti-persona en terrenos de alto riesgo. Actualmente se trabaja en Amaranta una versión mejorada de Úrsula el cual pretende reducir el tamaño del robot y adaptarse a territorios altamente accidentados. En el área médica, se ha venido trabajando continuamente en el área de procesamiento de señales de origen biológico.

En cuanto de tráfico vehicular terrestre se ha trabajado la Visión Artificial en el área de conteo automático vehicular “Conteo Automático de Vehículos”5, identificación de placas de vehículos “Sistema de reconocimiento y lectura de placas de vehículos en movimiento”6, también se han realizado trabajos en el área de conteo de personas. Los anteriores desarrollos se han enfocado en algoritmos robustos que buscan la mayor precisión tanto en los procesos de detección de fondo, como en el de identificación y conteo de objetos, este trabajo aborda el tema del conteo de vehículos procesando únicamente franjas de interés, permitiendo optimizar el desempeño del algoritmo para ejecutarlo en tiempo real.

3 DUARTE, M., HIDALGO, M., PINILLA, O.. Detección e identificación de rostros utilizando SVM y

color., Memorias STSIVA 2008. 4 HERRERA, S Fabian, URIBE, K. Leonardo Detección de detalles en huellas dactilares usando redes

neuronales, 2005. 5 CALDERON, B Francisco, URREGO, N. Germán, Conteo automático de vehículos. Trabajo de grado.

Pontificia universidad javeriana, Noviembre de 2008. 6 MAHECHA, N. Viviane, QUIROGA, Sepúlveda Julián. Sistema de reconocimiento y lectura de placas

de vehículos en movimiento, Memorias STSIVA 2008.

Page 14: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

3

2. MARCO TEÓRICO

2.1. MARCO DE REFERENCIA

2.1.1. Flujo Vehicular. La teoría de flujo del tránsito se basa en el desarrollo de las relaciones matemáticas entre los elementos primarios del flujo vehicular tales como flujo, densidad y velocidad. Mediante el análisis del flujo vehicular se pueden entender las características y el comportamiento del tránsito y se describe la forma como circulan los vehículos en cualquier sistema vial.7

Los estudios sobre el flujo vehicular tienen sus comienzos en la década de los 30 con la aplicación de la probabilidad para la descripción de éste, Greenshield realizó estudios modelando el comportamiento de una línea de tráfico, proponiendo una relación lineal entre velocidad y densidad después de la segunda guerra mundial con el aumento en el número de vehículos surgen modelos como Car-Following, teoría de ondas de tráfico y teoría de colas para la descripción del flujo vehicular. Se desarrollan trabajos muy importantes como los de Reuschel (1950) Wardrop (1952), Pipes (1953), Lighthill y Whitman (1955), Newell (1955), Richards (1956), Webster (1957), Eddie y Foote (1958). 8

En 1992 los científicos Kai Nagel y Michael Schreckenberg crearon un modelo de flujo de tránsito vehicular con un autómata celular, donde cada célula del autómata equivale ya sea a un vehículo en movimiento con cierta velocidad o a un espacio vacío de la avenida donde se encuentran los vehículos. Algunos de estos modelos fueron desarrollados pensando en la realización de las simulaciones a través de computadoras, el proyecto AISUM es un software comercial para la simulación de tráfico y utiliza como modelo para sus simulaciones al “modelo de Gipps de vehículo siguiente” (Peter Gipps) publicado en 1981.

2.1.1.1. Clasificación de modelos de Flujo Vehicular. Debido al la gran variedad de modelos de tráfico vehicular existentes se establecieron algunos criterios para clasificarlos.9

- Escala de las variables independientes (continuo discreto o semi-discreto) - Nivel de detalle (microscópico mesoscópico y macroscópico) - Representación de los procesos (determinístico, estocástico) - Funcionamiento (analítica o simulación) - Escala de aplicación

7CAL, Rafael, CÁRDENAS, Grisales James. Ingeniería de tránsito fundamentos y aplicaciones 7ª edición

editorial Alfa omega. 8 GARBER, Nicholas J./HOEL, Lester A. Ingeniería de Tránsito y Carreteras 3ª.Ed. México,2002 p.1999. 9 SERGE P,. Hoogendoorn and Piet H.L] State-of-the-art of Vehicular Traffic Flow Modeling,. Bov,

Special Issue on Road Traffic Modeling and Control of the Journal of Systems and Control Engineering. En.: http://perseo.cs.buap.mx/bellatrix/tesis/TES1116.pdf p. 7.

Page 15: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

4

En general todos los modelos deben ser regidos por las mismas variables fundamentales velocidad, densidad y flujo, y por relaciones o ecuaciones entre dichas variables, similares en su forma.10

2.1.2. Variables Flujo Vehicular.11

2.1.2.1. Tasa de flujo (q). Se define el flujo como la frecuencia o número de vehículos que pasa por un punto o sección transversal dada, de un carril o una calzada, durante un periodo determinado, se expresa como: � = n/t

Donde:

- q = Número de vehículos que pasan por unidad de tiempo (vehículos por periodo) - n = Número total de vehículos que pasan (vehículos) - t = periodo determinado (unidad de tiempo)

2.1.2.2. Velocidad (v). La velocidad del tráfico es la distancia recorrida por un vehículo durante una unidad de tiempo regularmente se expresa en kilómetros por hora (km/h).

2.1.2.3. La densidad o concentración (k). Es el número de vehículos que ocupa una longitud específica (d), de un sector de la vía en un momento dado k = n /d

Estas tres variables están relacionadas mediante la ecuación fundamental del flujo vehicular

� vehículos/tiempo = � �

2.2. VISIÓN ARTIFICIAL

“La visión por computador es la transformación de datos de una imagen o una video-cámara en una decisión o una nueva representación. Todas estas transformaciones se realizan para lograr un objetivo particular.”12

2.2.1. Procesamiento Digital de Imágenes. Proceso mediante el cual se toma una imagen y se produce una versión modificada de ésta, y se optimiza con un conjunto de procedimientos para que sea más fácil de interpretar por el sistema que la va a utilizar.

2.2.1.1. Filtrado espacial. Transformaciones de la imagen pixel a pixel que no dependen solamente del nivel de gris de un determinado pixel sino también del valor de los niveles de gris de los pixeles vecinos en la imagen original.

10GONZÁLEZ, Juan Manuel et al. ¿Cómo mejorar el flujo vehicular por medio de la simulación?.

Saltillo Coahuila, México Escuela Nacional de Optimización y Análisis Numérico, 2003. p 2. 11 CAL, M. Rafael, CÁRDENAS, Grisales James Op. Cit. 12.BRADSKY, Gary, KAEHLER, Adrián. Learning OpenCv. p.2.

Page 16: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

5

2.2.1.2. Operaciones Morfológicas. Como lo expresa Zoluaga.13 Las operaciones morfológicas a imágenes se definen como procedimientos en los cuales cada nuevo pixel de la imagen resultante es obtenido de una operación no lineal entre un conjunto de puntos de la

imagen original [ ]yxF , y un conjunto de puntos conocido con el nombre de elemento

estructurante [ ]yxS , . Este elemento estructurante recorre toda la imagen para obtener todos los puntos de la nueva imagen, sin cambiar el tamaño de la imagen de salida. (ver figura 1).

Figura 1 Operación morfológica de un elemento estructurante S[u,v] sobre un área de la imagen F[x,y] para obtener una imagen G[x,y]. tomada de 14.

Dependiendo de los elementos estructurantes y de las operaciones utilizadas, los filtros morfológicos, pueden detectar bordes en las imágenes, filtrar objetos de tamaños menores a uno determinado, suavizar fondos de texturizados, detectar fallos en patrones de textura, etc.

2.2.1.2.1. Dilatación y Erosión. Las operaciones morfológicas binarias de dilatación y erosión para imágenes binarias consiste en tomar el elemento estructurante (uno de cuyos puntos se considera el origen) y superponerlo a la imagen.

Si en el proceso de erosión el elemento estructurante está completamente contenido en la imagen, el punto de ésta se mantiene, de lo contrario pasa a ser del color del fondo. La erosión se aplica para reducir salientes de objetos, eliminar partes de tamaño menor que el elemento estructurante, eliminar conexiones insignificantes entre objetos mayores.

En el proceso de dilatación si parte del elemento estructurante es igual al contenido de la imagen, el punto de la imagen pasa a ser igual al punto origen del elemento estructurante, de otra forma pasa a ser del color del fondo. La dilatación se aplica para rellenar entrantes de objetos y unir pequeñas separaciones en las imágenes.

13 Zoluaga Op. Cit En http://reocities.com/capecanaveral/8482/docu003.pdf. 14 Ibid.

Page 17: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

6

3. DESCRIPCIÓN GENERAL DEL PROCESO

El algoritmo propuesto realiza conteo vehicular en tiempo real, esta ventaja se consigue procesando únicamente unas franjas de interés; adicionalmente se calcula la velocidad y densidad de tráfico.

3.1. ESPECIFICACIONES

Las principales características son:

- No requiere de hardware de alta tecnología - Aplicación de técnicas de procesamiento de imágenes para la separación de frente y fondo - Procesamiento del conteo vehicular en tiempo real - Cálculo de volumen de tráfico y seguimiento de la trayectoria de un vehículo

3.1.1. Requisitos del sistema.

- Cámara de video - Compilador C++ (Software libre) - Windows XP - Codecs de Video (Software libre) - Librería de OpenCV (Software libre)

3.1.2. Técnicas de procesamiento de imágenes. Las técnicas de procesamiento de imágenes empleadas implementadas son:

- Filtro con memoria de primer orden para la Detección de Frente y Fondo - Resta de imágenes. - Método de OTSU para la segmentación de la imagen - Operación Morfológica de cerramiento para mejorar la conectividad del objeto - Análisis de conectividad para encontrar y etiquetar los objetos - Flujo Óptico para determinar la trayectoria de un objeto

3.2. HERRAMIENTAS UTILIZADAS PARA EL DESARROLLO

El algoritmo de conteo, es una aplicación desarrollada en C++, utilizando la biblioteca para visión artificial de código libre, OpenCV.

Page 18: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

7

3.3. ENTRADAS Y SALIDAS DEL SISTEMA

3.3.1. Entradas al sistema.

- Archivos de video tipo AVI almacenados en disco - Región de interés, dependiendo de la selección del usuario al momento de iniciar el proceso.

3.3.2. Salidas del sistema.

- Número de vehículos, que el sistema ha reconocido y contado exitosamente. - Tasa de flujo vehicular

Page 19: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

8

3.4. DIAGRAMA EN BLOQUES DEL SISTEMA

CAPTURA Y SELECCIÓN DE REGIONES DE ÍNTERES

DETECCIÓN DE FRENTE Y DE FONDO

SEGMENTACIÓN

MANIPULACIÓN DE FRANJASDE ÍNTERES

DETECCIÓN DE BLOBS

CONTEO

FILTRO CON MEMORIA DE PRIMER ORDEN

GENERAR IMÁGEN GLOBAL A PARTIR DE FRANJAS DE ÍNTERES

FILTRO POR AREA, LONGITUD Y

ANCHO

UMBRALIZACIÓN CRITERIO OTSU Y CERRAMIENTO

FLUJOÓPTICO

Figura 2. Diagrama general en bloques del desarrollo del algoritmo para conteo vehicular en tiempo real

Page 20: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

9

4. DESCRIPCIÓN DETALLADA DEL SISTEMA

4.1. CAPTURA DE VIDEO

Las condiciones que deben cumplir los videos a procesar en el algoritmo son:

- De luminosidad. Se deben tomar con luz día, ya que al anochecer hay pérdida de color y no se pueden identificar los objetos.

- De ángulo de la cámara. La cámara debe colocarse perpendicular a la vía para que no se presente solapamiento de vehículos.

- Nitidez. Ésta debe ser suficiente para identificar los contornos de los vehículos. - Resolución. 480 x 620 pixeles, a pesar de que no se requiere detalles de los vehículos,

simplemente detectar su presencia.

Los videos trabajados en este proyecto se tomaron del Banco de videos del Proyecto SIRP de la Pontificia Universidad Javeriana. .

4.2. SELECCIÓN DE FRANJAS DE INTERÉS Y LÍNEA DE CONTEO

En este modulo se le permite al usuario que iniciará el sistema crear las franjas de interés y línea de conteo, como el algoritmo se procesa más eficientemente si el flujo vehicular es horizontal, el usuario debe ingresar la dirección del flujo y en caso de ser vertical se utiliza una matriz de transformación sobre la imagen para obtener su representación horizontal. Esta configuración puede guardarse en un archivo de texto, para posteriores comparaciones.

El sistema procesará únicamente las franjas escogidas, evitando procesamiento innecesario sobre toda la imagen. (ver figura 3).

Las franjas deben definirse sobre la región del video donde se necesite considerar el flujo vehicular; el algoritmo automáticamente las calibra garantizando que:

31 yy =

42 yy =

3412 xxxx −=−

Donde las variables anteriores están definidas en la Figura 4.

Page 21: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

10

21

3

Figura 3. 1. Consola de arranque del sistema, 2. Video de entrada

3. GUI para selección de franjas de interés y línea de conteo

f1 f2

L

y1

y2

x1 x2 x3 x4 Figura 4. Diagrama Franjas de interés y línea de conteo

4.3. DETECCIÓN DE FRENTE Y FONDO

En este modulo se desarrolló un filtro con memoria de primer orden, regido por un parámetro α , que determina que tanto peso tiene la imagen de entrada con respecto a la imagen acumulada del fondo, y se obtiene la imagen del frente en escala de grises (ver figuras 5, 6 y 7); el comportamiento de el filtro esta dado por la siguiente ecuación

Page 22: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

11

1).1).(()(.)( −−+= zzYzXzY αα

1).1(1)(

)(−−−

=zzX

zY

αα

para 10 <<α

donde:

X = Imagen de entrada Y = Imagen de salida α = Memoria del filtro z = Retardo unitario

αVIDEO

(1- ).Z-1α

+

+

FONDO

+-

UMBRALOTSU

IMAGENBINARIAFRENTE

Figura 5. Diagrama en bloques. Extracción de Frente y Fondo

1

43

2

Figura 6. 1. Entrada 2. Fondo, 3. Frente a color 4. Frente en escala de grises

Page 23: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

12

2

43

1

Figura 7. Detalle de la franja de interés 1. Entrada 2. Fondo, 3. Frente a color 4. Frente en escala de grises

La conversión de la imagen de frente en modelo de color RGB figura. 7-3 a escala de grises figura. 7-4 se realiza con la siguiente fórmula y el propósito es poder realizar la segmentación.

4.4. SEGMENTACIÓN

En este modulo se desarrolló la umbralización y posteriormente se aplicó la operación morfológica de cerradura para mejorar la conectividad de los objetos presentes en la imagen.

4.4.1. Umbralización. Se requiere obtener una imagen binaria, que muestre los objetos presentes en la franja de interés. La binarización se realiza únicamente sobre la imagen de frente generada (ver figura 7.3, 7-4). Como la escena es cambiante en términos de iluminación y color de los objetos (vehículos) con respecto al fondo, no es factible utilizar un valor fijo de umbral. Un método robusto y ligero computacionalmente, es el método de OTSU, (ver anexo 2) .Método de OTSU)) .éste asume que las imágenes están constituidas por dos clases de píxeles, píxeles de frente y píxeles de fondo, después, elige el umbral óptimo que maximice la varianza intra-clase, es decir el punto mínimo entre dos clases.

Nivel de gris = 0.299.R +0.587.G + 0.114.B

Page 24: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

13

1 1 2

Figura 8. Umbralización Franja de interés 1.. Frente en escala de grises 2. Imagen Binaria

4.4.2. Cerramiento. Se aplicó la operación morfológica de cerramiento con el fin de mejorar la conectividad de los objetos en la imagen binaria. Para este propósito se utilizó un elemento estructurante cuadrado de tamaño 5X5 y se itero 5 veces el procedimiento.

4.5. MANIPULACIÓN FRANJAS DE INTERÉS

A partir de la imagen binaria del frente obtenida en el proceso de umbralización, (figura 8-2) se genera una imagen completa por cada una de las franjas de interés, para ello se colocan las franjas una detrás de la otra al inicio de la imagen a medida que van siendo procesadas. (ver figura 9)

Figura 9. Imagen generada a partir de la manipulación de franjas de interés

Page 25: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

14

En la figura 9 se aprecia el proceso de formación de la imagen, se observa como se coloca una franja detrás de la otra hasta obtener la imagen completa. Se obtiene una imagen por franja, que representa el tránsito vehicular y a partir de ésta se realiza el conteo y el cálculo de los parámetros de tráfico.

4.6. DETECCIÓN DE REGIONES

En este modulo se desarrolló un procedimiento para detectar los objetos en la imagen binaria (figura. 10), basado en el planteamiento de marcado de componentes conexos desarrollado por Matlab.

La creación de regiones se realiza únicamente sobre la franja de interés, para cada región nueva se determina si esta es adyacente a alguna de las regiones existentes, de suceder este evento, la región existente crece y actualiza sus límites con respecto a los de la región nueva y la región nueva se borra, de lo contrario esta permanece. Las regiones existentes en la imagen se mueven horizontalmente una distancia igual al ancho de la región y se itera sobre el procedimiento. Con este algoritmo determinamos la conectividad de todos los objetos presentes en la secuencia de imágenes, reduciendo drásticamente la cantidad de operaciones por trama.

Si se aplicara sobre la imagen completa se realizarían yx* operaciones donde x y y son la

longitud y el ancho de la imagen respectivamente, para un video típico de 480640× se deben realizar al menos 307200 iteraciones mientras que utilizando una franja de interés típica de 10

píxeles se tiene que el número de iteraciones es aproximadamente 480010480 =× , además de que se reducen las operaciones intermedias. Logrando reducir el tiempo de procesamiento y

Figura 10. Detección de regiones

Page 26: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

15

4.7. CONTEO

Observamos que las regiones detectadas continúan moviéndose a la derecha a medida que la región se actualiza, cuando el final de la región pasa por la línea de conteo se incrementa el contador de vehículos si la región identificad cumple con los requisitos de área, ancho y largo.

4.7.1. Umbrales de Área, Ancho y Largo. Para calcular los umbrales de área, longitud y ancho se desarrollo un filtro de primer orden con memoria, basado en el mismo concepto utilizado para el cálculo de fondo.

))(1()/)(( PrPr Nuevaomom MframesdeTotalMM αα −+=

Donde:

M = umbral de la magnitud: Área, Ancho, o Largo

Las regiones que no cumplen con el umbral de área, longitud y ancho, se ignoran.

4.8. FLUJO ÓPTICO

4.8.1. Cálculo del Centro Para obtener la trayectoria de los objetos se calculó el centro de cada una de las regiones identificadas.

Cálculo aproximado del centro de una región

++=

2,

2),( minmin YYXXyxc MaxMax ,

Donde ),( yxc es el centro de la región detectada y X y Y son las coordenadas de los puntos que conforman la región, máximos y mínimos respectivamente.

Page 27: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

16

4.8.2. Algoritmo de Lukas y Kanade Los algoritmos de flujo óptico buscan solucionar el problema de encontrar el movimiento de los píxeles entre 2 imágenes. Por lo tanto el problema consiste en encontrar una correspondencia entre los píxeles de la primera imagen con los de la segunda.

Figura 11. Imágenes de entrada y salida Lukas-Kanade

Tomado de www.cs.ucf.edu/courses/cap6411/cap5415/spring03/lecture19.ppt Para solucionar el problema de correspondencia de los píxeles. Dado un píxel en H se busca un píxel cercano en I que tenga el mismo color que el píxel seleccionado en H.

Figura 12. Descripción del flujo óptico, Tomado de BRADSKY, Gary, KAEHLER, Adrián. Learning OpenCv.

Page 28: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

17

Para realizar estos cálculos se deben tomar en cuenta 3 suposiciones fundamentales:

Figura 13. Suposiciones fundamentales del flujo óptico

1. Constancia del color, para imágenes en escala de grises es constancia del brillo.

f (x, t)≡I(x(t), t)=I(x(t+dt), t+ dt)

2. Movimientos pequeños

t

xx

II

∂∂

= I, t

yy

II

∂∂

= , )(tx

ty

II

∂=

0=++ tyx IvIuI

,

Para esta ecuación existen 2 incognitas para cada píxel, por lo tanto no se puede utilizar para obtener una solución única para el movimiento bidimensional en un punto

3. Coherencia espacial, los puntos vecinos pertenezcan a la misma superficie y se proyectan a puntos cercanos en el plano de la imagen.

Page 29: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

18

Podemos observar el problema de apertura en el siguiente gráfico, que se presenta cuando la ventana sobre la cual se presenta el algoritmo es muy pequeña.

Figura 14. Apertura

El algoritmo detecta un movimiento de izquierda a derecha(fila superior), pero no tiene conocimiento acerca del movimiento de arriba hacia abajo que verdaderamente esta teniendo el objeto(fila inferior). Si una malla local de píxeles se mueve coherentemente, entonces fácilmente se resuelve la ecuación de movimiento para el píxel central utilizando los píxeles circundantes para generar un sistema de ecuaciones.

Sistema de ecuaciones para un parche de 5 X 5 A partir de este sistema se puede realizar una minimización por mínimos cuadrados

Page 30: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

19

La solución a esta ecuación es:

Esta ecuación se puede resolver cuando (ATA) es invertible, es decir tiene rango completo.

Figura 15. L-K utilizando piramides

En OpenCV encontramos una implementación del algoritmo de lukas y Kanade en forma piramidal utilizando la función cvCalcOpticalFlowPyrLK(). Esta implementación piramidal mitiga los problemas causados por romper la suposición de movimiento pequeño y coherente; la estimación de movimiento del nivel anterior se toma como punto de partida para la estimación de movimiento de la capa de abajo. Este algoritmo nos pide una imagen de entrada, una imagen de salida, 2 imágenes que se utilizan como buffer para alojar la imagen de las pirámide, un conjunto de puntos donde se encuentra el movimiento en la imagen de entrada, un contador de la cantidad de puntos donde se encuentra movimiento, la ventana sobre la cual se va a calcular el movimiento coherente, un criterio de terminación que le dice al algoritmo cuando terminar bien sea después de determinado número de iteraciones o cuando el criterio de convergencia llegue a cierto valor. En el algoritmo planteado para encontrar la relación entre los objetos presentes en la primera franja y los objetos presentes en la segunda, se planteó un algoritmo de flujo óptico que relacionará los centros de cada uno de los objetos identificados en la imagen respetando las 3 suposiciones anteriormente planteadas.

Page 31: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

20

La primera imagen “Before 1”, es una imagen donde sobre un fondo blanco se dibujaron círculos de 3 píxeles de radio que representan los centros de cada uno de los objetos presentes en la imagen consolidada de la región 1 y se realiza la mismo para la segunda imagen “After 1”, con los puntos correspondientes a la franja 2, las posiciones de los puntos de entrada se obtienen del arreglo de centros que se genera cuando se calcula la región.

C

3 4

Figura 16. L-K utilizado en el algoritmo

Imágenes de entrada para el algoritmo de flujo óptico, círculos verdes y rojos se utilizaron únicamente con el propósito de señalar los centros de los objetos en las imágenes, no formaron parte del procesamiento del algoritmo de flujo óptico.

Page 32: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

21

4.9. MEDICIONES DE TRÁFICO VEHICULAR

4.9.1. Flujo vehicular.

t

nq =

N= Número de vehículos obtenidos del conteo automático en un período de tiempo t.

fps

ft =

Remplazando en ,

f

fpsnq

×=

Donde: fps = Tramas/seg y se obtiene directamente del video f = Tramas procesadas en el video.

4.9.2. Velocidad.

t

dv =

t

Franjasv =

En el manejo de franjas observamos que la imagen se traslada a una velocidad de una franja por trama; utilizando flujo óptico obtenemos el desplazamiento de un objeto entre franjas, la distancia entre las franjas es calculada por el algoritmo. La velocidad se calcula en términos de Franjas / tiempo. Entonces:

fps

dt = ,

t

dFrv = ,

d

fpsdFrv

×=

Page 33: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

22

Donde

d = distancia encontrada por el algoritmo de flujo óptico.

dFr = distancia entre franjas

4.9.3. Densidad vehicular. Para hallar la densidad vehicular utilizamos la ecuación fundamental del flujo.

vkq ×=

v

qk =

4.10. EVALUACIÓN Y SELECCIÓN DE VIDEOS

Para evaluar los parámetros óptimos de entrada, como ángulo de toma de la cámara, calidad del video y luminosidad se realizaron pruebas con los videos relacionados en la tabla 1. (suministrados por el grupo SIRP de la Pontificia Universidad Javeriana), con diferentes localizaciones y tamaños de las franjas de interés.

VIDEOS

Num Dirección

Tiempo muestra

Tipo Características

1 Vertical 3 min Entrenamiento Ángulo de toma 60º sobre la vía

2 Horizontal 5 min Entrenamiento Ángulo de toma 90º sobre la vía

3 Vertical 5 min Prueba Ángulo de toma 90º sobre la vía

4 Horizontal 3 min Entrenamiento Ángulo agudo de toma

5 Vertical 4:30 min Entrenamiento Ángulo de toma 90º sobre la vía, intersección, sombras únicamente sobre uno de los carriles.

6 Vertical 5 min Prueba Ángulo de toma 60º No se presenta oclusión de vehículos

7 Vertical 5 min Entrenamiento Escena lluviosa, se observan sombras de los carros, Ángulo de toma 60º sobre la vía, escena difuminada

8 Vertical 7 min Entrenamiento Ángulo de toma 60º sobre la vía

9 Vertical 7 min Descartado Movimiento de la cámara, Ángulo de toma 60º sobre la vía

10 Vertical 1:20 min Descartado Sobrelapamiento de vehículos

11 Vertical 3:00 min Descartado Sobrelapamiento de vehículos

12 Vertical 1:00 min Descartado Video recortado

Tabla 1. Características de los videos evaluados

Page 34: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

23

Realizadas las pruebas, con la información obtenida de los videos, se clasificaron en tres categorías de entrenamiento, de pruebas y descartados.

- Videos de prueba. Éstos cumplen las características óptimas para ejecución del algoritmo Se utilizaron como referencia para obtener información (conteo, flujo vehicular).

- Videos de entrenamiento. Presentan características no óptimas, éstos se utilizaron para realizar ajustes al algoritmo.

- Videos descartados. Realizadas las pruebas se obtuvo que los videos 9 10, 11, 12 no son aptos para la ejecución del algoritmo por diferentes razones:

Los videos 10 y 11 presentan solapamiento de vehículos impidiendo seleccionar una región de interés donde exista una separación clara entre los objetos; el video 12 muestra únicamente un segmento de vía, impidiendo establecer límites claros sobre los cuales realizar el conteo; el video 9 debido al movimiento de la cámara genera un elevado número de falsos conteos.

Page 35: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

24

5. ANÁLISIS DE RESULTADOS

Para evaluar el desempeño del modelo se realizaron pruebas orientadas a medir diferentes aspectos del algoritmo, tiempo de ejecución, conteo y cálculo de parámetros de tráfico.

5.1. TIEMPO REAL

Se realizaron pruebas correspondientes al tiempo de ejecución del algoritmo obteniendo los resultados que presentamos en la tabla 2..

Video Duración Video Tiempo Ejecución 1 3:10 3:00 2 9:54 8:32 3 8:31 4:32 4 3:37 0:56 5 4:34 2:15 6 8:20 4:17 7 10:00 5:17 8 10:00 5:42

Tabla 2. Tiempo de ejecución del algoritmo

Se evidencia que el algoritmo realiza el procesamiento en un tiempo menor al de la duración del video, garantizando su ejecución en tiempo real.

El tiempo de procesamiento por trama, es directamente proporcional a la cantidad de objetos presentes en la imagen, dado que para una mayor cantidad de objetos el algoritmo debe realizar una mayor cantidad de comparaciones cuando ejecute el detector de regiones.

5.2. CONTEO

Se trabajó con el promedio del conteo manual de cada uno de los videos, registrando muestras cada 30 segundos, empezando la toma de datos en el segundo 30, tiempo aproximado que utiliza el algoritmo para estabilizar el filtro de fondo. Se ejecutó el sistema en modo depuración, deteniendo la ejecución cada vez que éste realizaba un conteo, procedimiento con el cual se clasificó fácilmente el conteo en tres grupos distintos:

- Verdaderos positivos. Conteo de un vehículo que existe. - Falsos positivos no se contó un vehículo que existe. - Falsos positivos se contó un vehículo que no existe.

Page 36: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

25

Los resultados del conteo manual, automático, falsos positivos y falsos negativos se muestran en la tabla 3.

RELACION DE CONTEOS -MANUAL - AUTOMATICO - FALSOS POSITIVOS Y NEGATIVOS POR VIDEO

TIEMPO CONTEO

VIDEOS Seg 1 2 3 4 5 6 7 8 9

30

Manual 37 2 24 4 20 25 25 22 19 Automático 42 3 23 4 23 26 25 21 15 Falsos Positivos 0 1 0 0 2 2 0 0 Falsos Negativos 5 0 1 0 5 1 2 1

60

Manual 92 13 48 11 27 42 45 39 20 Automático 85 14 47 11 24 45 45 38 16 Falsos Positivos 2 3 0 0 2 4 2 0 Falsos Negativos 9 1 1 0 5 1 4 1

90

Manual 138 37 54 32 49 56 60 69 26 Automático 128 39 51 32 43 58 58 63 20 Falsos Positivos 2 4 0 2 2 5 2 0 Falsos Negativos 13 2 3 2 8 3 4 3

120

Manual 190 47 63 45 72 75 82 87 38 Automático 176 51 60 47 66 77 81 84 33 Falsos Positivos 3 7 0 4 4 6 4 0 Falsos Negativos 17 3 3 2 10 4 5 3

150

Manual 237 48 86 53 86 94 110 114 72 Automático 220 53 82 60 82 101 107 108 59 Falsos Positivos 4 8 0 9 6 12 5 0 Falsos Negativos 21 3 4 2 10 5 8 6

180

Manual 59 107 62 96 116 128 132 79 Automático 67 101 72 96 117 127 124 70 Falsos Positivos 11 0 12 10 15 9 0 Falsos Negativos 3 6 2 10 5 10 8

210

Manual 73 123 122 134 140 158 90 Automático 84 116 126 133 139 149 76 Falsos Positivos 14 0 14 16 9 0 Falsos Negativos 3 6 10 9 10 9

240

Manual 85 132 139 147 162 170 106 Automático 97 126 143 144 163 160 95 Falsos Positivos 17 0 16 16 12 0 Falsos Negativos 5 6 11 10 11 10

270

Manual 85 150 164 196 197 109 Automático 97 144 165 186 181 103 Falsos Positivos 17 0 17 14 0 Falsos Negativos 5 6 10 24 16

Page 37: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

26

RELACION DE CONTEOS -MANUAL - AUTOMATICO - FALSOS POSITIVOS Y NEGATIVOS POR VIDEO

TIEMPO CONTEO

VIDEOS Seg 1 2 3 4 5 6 7 8 9

300

Manual 93 168 180 239 220 113 Automático 108 161 181 232 204 110 Falsos Positivos 20 0 18 19 0 Falsos Negativos 5 8 10 26 16

330

Manual 106 203 261 Automático 122 204 255 Falsos Positivos 22 20 20 Falsos Negativos 6 12 26

360

Manual 110 213 284 Automático 127 217 281 Falsos Positivos 23 22 23 Falsos Negativos 6 14 26

390

Manual 110 304 Automático 127 304 Falsos Positivos 23 28 Falsos Negativos 6 28

420

Manual 324

Automático 324

Falsos Positivos 28

Falsos Negativos 28

Tabla 3. Relación de Conteos –Manual, Automático, Falsos Positivos y Negativos por Video

5.3. CÁLCULO DE ERROR EN CONTEO

Se tomó como total de la muestra el promedio obtenido del conteo manual, el porcentaje de error por video se calculó utilizando la siguiente expresión

Donde CM = Conteo Manual CA = Conteo Automático

En las figuras 12 y 13 se observan las diferencias de conteo total manual y automático para cada video, y su correspondiente porcentaje de error.

%100×−

M

AM

C

CC

Page 38: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

27

CONTEO TOTAL POR VIDEO MANUAL Y AUTOMATICO

No. Video Manual Automático

1 237 220

2 110 127

3 168 161

4 62 72

5 139 143

6 213 217

7 324 324

8 220 204

9 113 110

Figura 17. Conteo Manual y Automático por Video

PORCENTAJE DE ERROR DE CONTEO EN LA TOTALIDAD DE LOS VIDEOS

Video Manual Automático % error

1 237 220 7,17 2 110 127 15,45 3 168 161 4,17 4 62 72 16,13 5 139 143 2,88 6 213 217 1,88 7 324 324 0,00 8 220 204 7,27 9 113 110 2,65

Figura 18. Porcentaje de Error por Video

Observando la gráfica detectamos que el porcentaje de error de conteo no depende de el flujo vehicular, analizando el video 7 tiene el mayor tiempo de ejecución y el mayor flujo vehicular y su porcentaje de error es de 0%; sin embargo el video 2 que tiene un flujo vehicular menor en un tiempo aproximadamente igual al del video 7 obtuvo un porcentaje de error del 15,45%. La tabla 3 nos ilustra los falsos positivos y negativos de los dos videos, mientras en el video 7 los falsos positivos se anulan con los negativos, en el video 2 los falsos positivos son mayores que los falsos negativos generando un error porcentual más alto, el error porcentual promedio de toda la muestra es del 6%.

Page 39: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

28

El video 2 se tomó con un ángulo de 90° sobre la vía, sin embargo presenta 2 condiciones que generan falsos positivos, al estar cerca de un semáforo. Los peatones que recorren las franjas de interés de manera transversal dan la apariencia de ser un vehículo; adicionalmente cuando un vehículo se detiene estando sobre una franja, el algoritmo detecta como positivo la porción del vehículo que pasó y lo vuelve a detectar, cuando el vehículo sale, generando un falso positivo. (ver figura 14)

Figura 19. Imagen video 2, Fuentes de falsos positivos

5.3.1. Falsos Positivos y Falsos Negativos.

No. Tiempo minutos

Conteo FP FN % valor estándar

Video FP/CM FN/CM FP FN

1 2.5 237 4 21 1,69 8,86 -0,68 2,04

2 6.5 110 8 3 7,27 2,73 0,56 -0,67

3 6 168 0 4 0,00 2,38 -1,05 -0,82

4 3 62 9 2 14,52 3,23 2,16 -0,45

5 4 139 6 10 4,32 7,19 -0,10 1,30

6 6 213 15 5 7,04 2,35 0,51 -0,83

7 7 284 9 10 3,17 3,52 -0,35 -0,32

8 5 220 0 8 0,00 3,64 -1,05 -0,27

Tabla 4. Falsos positivos, Falsos Negativos

La tabla 4 muestra los lo porcentajes de falsos positivos Vs. los falsos negativos, los valores estándar del conjunto de datos

Page 40: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

29

75,4=FP 24,4=FN

53,4=FPσ 53,4=FPσ

Aplicando la fórmula de la estandarización podemos estimar a cuantas veces de la desviación estándar con respecto a la media se encuentran ubicados los valores porcentuales de los Fp y los Fn, para establecer algunas condiciones para procesar el algoritmo. (ver tabla 4)

σxx

Z−

=

Figura 20. Porcentaje Falsos positivos Vs. Falsos negativos

Por medio del valor estándar podemos inferir la distribución probabilística del

porcentaje de fp y los fn como se muestra en la Figura 16.

Page 41: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

30

Figura 21. Porcentaje de Falsos positivos Vs. Falsos negativos con región de valor estándar < 2< σ

Donde la elipse corresponde al conjunto de puntos que están a una distancia menor de σ×2 de la media, región que según la desigualdad de Chebyshev, alberga el 75 % de los datos de una muestra probabilística.

Analizando la gráfica encontramos que a pesar de las diferentes características de los videos el algoritmo los procesa correctamente.

Se determino que la zona óptima de trabajo del algoritmo se cumple en:

0→= FNFP

Si los falsos positivos y falsos negativos son iguales se anulan minimizando el error de conteo, sin embargo la situación ideal corresponde a 0== FNFP donde el error sería de 0%.

Page 42: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

31

5.3.2. Comparación resultados del trabajo de grado, con resultados de desarrollos anteriores

Los resultados del trabajo de grado son comparables a los resultados del trabajo desarrollado por Francisco Carlos Calderon B. y German Enrique Urrego N. Conteo Automático de Vehículos. En este trabajo de grado se planteó un sistema de conteo de vehículos procesando sobre la imagen completa, utilizando un modelo gaussiano para procesar el fondo. Nuestro trabajo analizó los resultados obtenidos, mediante verdaderos positivos, falsos positivos y falsos negativos. Una comparación del conteo total entregado por el algoritmo vs el conteo realizado manualmente, en ciertos casos puede mostrar resultados falsos acerca de la calidad del algoritmo. Un algoritmo con 0% de error parece perfecto pero puede ser causado por la cancelación de falsos positivos con falsos negativos. El anterior trabajo presenta los resultados en términos del error total, por lo cual no podemos realizar una comparación directa con los resultados obtenidos por nuestro algoritmo, ya que nuestro cálculo de error esta discriminado en falsos positivos y falsos negativos. Para poder realizar una comparación entre los modelos deberíamos contar con la curva característica, que nos permitiera realizar una comparación directa bajo iguales condiciones de prueba. El informe de resultados del trabajo citado “Conteo Automático de vehículos”, muestra lo siguiente: De esta gráfica podemos deducir que: - Blobs desligados, separación incorrecta de MBR’s, errores aleatorios, son falsos

positivos. - Vehículos con un mismo Blob, vehículo no detectado son falsos negativos

Figura 22. Errores de conteo trabajo “Conteo Automático de vehículos”

Por lo tanto tenemos que el 54 % de los errores detectados son errores debido a falsos positivos y 46 % son errores debido a falsos negativos, pero dado que estos resultados son un consolidado total de los errores en todos los videos no podemos sacar conclusiones relacionadas al desempeño de los 2 modelos.

Page 43: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

32

5.3.3. Limitaciones del algoritmo

El algoritmo se desarrolló buscando la optimización del tiempo de ejecución, por lo tanto se buscó la simplificación de los procesos con el fin de obtener los mejores tiempos de procesamiento.

El algoritmo procesa óptimamente los videos cuando el ángulo de la cámara es de 90º sobre la vía, para ángulos menores se presentan oclusiones que producirán falsos negativos en la ejecución por sobrelapamiento de objetos. Cuando un vehículo se detiene estando sobre una franja, el algoritmo detecta como positivo la porción del vehículo que pasó y lo vuelve a detectar, cuando el vehículo sale, generando un falso positivo. El parámetro del fondo puede actualizarse en función de la velocidad calculada por el algoritmo, con lo cual se obtiene una retro-alimentación directa de los datos obtenidos, y mediante el cual se mitiga el efecto del conteo doble, cuando un vehículo se estaciona sobre una franja de interés.

El modelo presenta inconvenientes con respecto a la distinción de las sombras de los objetos lo cual se ve reflejado en falsos negativos ya que puede generar que vehículos distintos se conecten entre sí. Es posible realizar un modelo que tenga en cuenta la información de color, obteniendo mayor información de los objetos mediante la cual se podría eliminar la fuente de error generada por las sombras mejorando así el proceso de detección de los objetos.

Page 44: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

33

6. CONCLUSIONES

La aparición de unidades de procesamiento más potentes y a precios más bajos permite que se

desarrollen algoritmos, autónomos y robustos, con tiempos de procesamiento considerablemente

menores. A medida que los recursos tanto tecnológicos como de conocimiento para desarrollar

aplicaciones de visión artificial se han vuelto asequibles, a la comunidad académica, se presenta una oportunidad de desarrollo y actualización en un ámbito de gran pujanza e innovación.

Abriéndose un panorama favorable para la implantación de nuevas tecnologías y la creación de nuevas industrias en el país.

Un gran número de empresas a nivel mundial se ha dedicado a proveer soluciones integrales a problemas de la industria utilizando como herramienta fundamental la visión artificial, ésto la

ha convertido en un área de gran desarrollo. Se han implementado ampliamente sistemas

enfocados al estudio y caracterización del tráfico.

El presente trabajo plantea un algoritmo que permite realizar conteo vehicular en tiempo real,

para su procesamiento se utiliza un computador con prestaciones comunes y se obtiene un alto

grado de desempeño. Se estableció que no era necesario realizar un procesamiento sobre toda la

imagen debido a la presencia de información redundante en ésta, el algoritmo obtiene la información procesando únicamente sobre franjas de interés del video

Los objetivos planteados se cumplieron a cabalidad. El desarrollo se realizó sobre la plataforma de software libre OpenCV, que provee una estructura para el manejo de imágenes y video, razón

por lo que la presente aplicación queda licenciada para su libre utilización y distribución.

De la plataforma de desarrollo de OpenCV, se utilizaron algunos de los algoritmos que están

implementados como el método de OTSU; sin embargo los requerimientos del sistema exigían el desarrollo de rutinas más específicas; razón por la cual se implementaron funciones que

cumplieran las expectativas del proyecto, como el detector de blobs que se desarrolló

integrando diferentes teorías consultadas. Por lo tanto se destaca la importancia de la

fundamentación matemática y el conocimiento en el área de programación.

Este desarrollo sirve como base a otros proyectos que quieran expandir su funcionalidad, por

ejemplo la implementación del algoritmo sobre intersecciones o glorietas. La extracción de

información acerca del tamaño y espaciamiento de vehículos.

Page 45: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

34

El tiempo de procesamiento se puede reducir aún más si se utilizan técnicas de programación

multi-hilo en donde se puede generar un hilo de procesamiento por cada región procesada y así

aprovechar al máximo las capacidades del procesador. El desarrollo requiere sincronizar las

diferentes variables utilizadas, para evitar problemas de concurrencia y paralelismo. No es un

problema simple debido a que C++ no provee un método de sincronización de variables de una manera natural como otros lenguajes, como Java.

Se exploraron técnicas de seguimiento de trayectoria, para calcular la velocidad media del flujo

vehicular, logrando simplificar los parámetros de entrada y de procesamiento teniendo siempre

como meta la optimización del tiempo de ejecución del algoritmo con el fin de procesar en

tiempo real.

Page 46: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

35

7. BIBLIOGRAFÍA

BRADSKY, Gary, KAEHLER, Adrián. Learning OpenCv.

CAL y MAYOR, Rafael, CÁRDENAS, Grisales James. Ingeniería de tránsito fundamentos y aplicaciones 7ª edición editorial Alfa omega.

GARBER, Nicholas J./HOEL, Lester A. Ingeniería de Tránsito y Carreteras 3ª.Ed. México, 2002 p.1999.

GONZÁLEZ, Juan Manuel et al. ¿Cómo mejorar el flujo vehicular por medio de la simulación?. Saltillo Coahuila, México Escuela Nacional de Optimización y Análisis Numérico, 2003. p 2.

GONZALEZ, Rafael C., WOODS, Richard E., EDDINS, Steven L. Digital Image Using Matlab Processing. Pearson. Prentice Hall. 2004.

INSTITUTO COLOMBIANO DE NORMAS TECNICAS Y CERTIFICACION ICONTEC: Bogotá. Referencias bibliográficas para normas 2ª. Ed. Bogotá 1996 (NTC 1307).

Referencias documentales para fuentes de información electrónicas Bogotá: ICONTEC (NTC 4490). 1998. 23p.

MERY, Domingo. Visión por Computador. Departamento de ciencia de la Computación Universidad Católica de Chile. Santiago de Chile, 2004.

CHAO, Lincoln L. Estadística para las Ciencias Administrativas. McGRAW-HILL 2ª. ed.1978 P.471

FUENTES ELECTRÓNICAS

GAVAB, grupo de Investigación - Capo, de la Universidad Rey Juan Carlos (URJC). Sistemas de visión artificial en tareas de video-vigilancia del tráfico consultado marzo de 20010 En http://www.madrimasd.org/informacionidi/noticias/ noticia.asp?id=42633.

MERY, Domingo, RUEDA, Luis. Advances in Image and Video Technology. Second Pacific Rim Symposium PSIVT, Procceding. 2007 [en línea](consultado en 2009) En. http://books.google.com.co/books?id=vkNfw8SsU3oC&pg=PA138&source=gbs_select ed_pages&cad=4#v=onepage&q&f=false

MOORE, David S. Estadística aplicada básica. En.: http://ecosdelaeconomia.wordpress.com/todas- as-asignaturas/matematicas/estadistica/resumen-libro-estadistica-aplicada-basica/

Page 47: ALGORITMO PARA CONTEO VEHICULAR EN TIEMPO REAL CON …

36

ZULOAGA, Izaguirre Aitzol. Visión Artificial Dinámica Determinación de Movimiento a Partir de Secuencias de Imágenes Doctorado en Tecnologías de la Información Bilbao, septiembre 98, consultado abril de 2010.En

. : http://reocities.com/capecanaveral/8482/docu003.pdf

http://iaci.unq.edu.ar/Materias/vision/archivos/apuntes/Segmentaci%C3%B3n%20por%20umbralizaci%C3%B3n%20-%20M%C3%A9todo%20de%20Otsu.pdf.