Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

57

description

Tesis de Maestría

Transcript of Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Page 1: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Instituto Tecnológico y de Estudios

Superiores de MonterreyCampus Guadalajara

Escuela de Graduados en Ingeniería yArquitectura (EGIA)

Maestría en Ciencias de la Computación

Análisis Comparativo de Métodos de

Reconocimiento de Señales de

Tránsito

AUTOR: Adrián García Betancourt

ASESOR: Gildardo Sánchez Ante

Guadalajara (Jal), 11 de Marzo de 2015

Page 2: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Dedicatoria

Para mis padres, quienes me han apoyado incondicionalmente a lo largo de mi vida; para

mi hermana, que ha estado presente a pesar de la distancia; y para ti, estimado lector,

que con tu tiempo honras mi trabajo.

i

Page 3: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Agradecimientos

Deseo reconocer el apoyo y paciencia de mi asesor de tesis de maestría, el Dr. Gildardo

Sánchez Ante. Sin su apoyo y dedicación la realización de este trabajo no habría sido

posible. Son inumerables sus enseñanzas y experiencias que me han enriquecido como

profesionista y como persona. Un agradecimiento especial al Maestro Kenneth William

Bauer por su apoyo en la con�guración y acceso al servidor remoto en el cual se realizan

los experimentos. También agradezco al Dr. Luis Eduardo Falcón Morales por su apoyo

y orientación durante los estudios de maestría. También quisiera agradecer a los otros

miembros del comité supervisor de tesis por su tiempo y atención.

ii

Page 4: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Resumen

El problema considerado en este trabajo consiste en la clasi�cación automática de imá-

genes de señales de tránsito con una precisión no menor al 80%. Las señales varían con-

forme a cambios en la iluminación, condiciones climáticas y su condición física. Deben ser

identi�cadas en tiempo real mediante procedimientos simples que requieran una mínima

implementación de hardware. La metodología consiste en cuatro pasos: obtener una canti-

dad su�cientemente grande de imágenes de señales de tránsito para formar los conjuntos

de entrenamiento y pruebas; obtener al menos dos descriptores o vectores característicos

con diferente dimensionalidad; implementar los algoritmos análisis de discriminante lineal,

k-vecinos más cercanos, máquina de soporte vectorial, perceptrón multicapa y máquina de

aprendizaje extremo; y optimizar los algoritmos para su máxima precisión sobre el conjun-

to de pruebas; comparar y analizar los resultados. Los algoritmos explorados son buenas

opciones para el reconocimiento de señales de tránsito en tiempo real con una precisión

arriba del 80%, con excepción del k-vecinos más cercanos. Para los sistemas de asistencia

al conductor en los que esta precisión sea su�ciente, cualquiera de estos métodos toma un

tiempo en el orden de los milisegundos para clasi�car una imagen de alguna señal de trán-

sito. El mayor tiempo registrado para clasi�car una imagen es inferior a medio segundo.

Sin embargo, para implementaciones de sistemas que requieran una precisión superior, es

recomendable utilizar una o más combinaciones de algoritmos y clasi�cadores, así como el

uso de hardware especializado para correr propuestas más complejas con el �n de resolver

este problema.

iii

Page 5: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Abstract

The problem considered in this work consists of the automatic classi�cation of tra�c sign

images with an accuracy not lower thant the 80%. The signs vary according to changes in

illumination, weather conditions and their physical state. They should be identi�ed in real

time by using simple procedures which require a minimal hardware implementation. The

methodology consists of four steps: to get a su�ciently high number of tra�c sign images

to create the training and testing sets; to get at least two sets of feature vectors with

di�erent dimensionality; implement the algorithms linear discriminant analysis, k-nearest

neighbors, support vector machine, multilayer perceptron and extreme learning machine;

to optimize the algorithms to get their maximum accuracy upon the testing set; and to

compare and to analyze the results. The explored algorithms are good options for real time

tra�c sign recognition with an accuracy greater than the 80%, with the exception of the

k-nearest neighbors. For the driver assistance systems in which this accuracy is enough,

any of these methods take time in the order of milliseconds to classify a tra�c sign image.

The greatest time registered to classify an image is lower than half a second. Nevertheless,

for implementations of systems that require a greater accuracy, it is recommended to use

one or more combinations of algorithms and classi�ers, as well as the use of specialized

hardware to run more complex systems with the objective of solving this problem.

iv

Page 6: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Contenido

Dedicatoria i

Agradecimientos ii

Resumen iii

Abstract iv

Lista de Tablas vii

Lista de Figuras viii

1. Introducción 1

1.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. De�nición del Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Justi�cación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.5. Hipótesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2. Trabajo Previo 5

3. Marco Teórico 10

3.1. Histogramas de Gradientes con Orientación . . . . . . . . . . . . . . . . . . 10

3.2. Análisis de Componentes Principales . . . . . . . . . . . . . . . . . . . . . 11

3.3. k-Vecinos Más Cercanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4. Análisis de Discriminante Lineal . . . . . . . . . . . . . . . . . . . . . . . . 13

3.5. Máquina de Soporte Vectorial . . . . . . . . . . . . . . . . . . . . . . . . . 14

v

Page 7: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CONTENIDO vi

3.6. Perceptrón Multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.7. Máquina de Aprendizaje Extremo . . . . . . . . . . . . . . . . . . . . . . . 18

4. Metodología 22

4.1. Obtención de Imágenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.2. Obtención de Vectores Característicos . . . . . . . . . . . . . . . . . . . . . 23

4.3. Implementación de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.4. Ejecución y Comparación de Resultados . . . . . . . . . . . . . . . . . . . 26

5. Experimentos y Resultados 28

5.1. Fase 1: Experimentos con Descriptores HOG . . . . . . . . . . . . . . . . . 28

5.2. Fase 2: Experimentos con Descriptores PCA-HOG . . . . . . . . . . . . . . 31

5.3. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6. Conclusiones y Trabajo Futuro 38

Bibliografía 42

A. Resultados de las Fases de Experimentación 43

Vitae 48

Page 8: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Lista de Tablas

5.1. Resultados óptimos utilizando descriptores HOG como entrada. . . . . . . 28

5.2. Resultados óptimos utilizando descriptores HOG transformados mediante

PCA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.3. Comparación del rendimiento y la cantidad de neuronas ocultas para MLP y

ELM al utilizar descriptores PCA-HOG. ELM requiere una mayor cantidad

de neuronas para obtener buenos resultados lo cual aumenta su tiempo de

ejecución. MLP requiere más de 100 veces el tiempo de entrenamiento, sin

embargo obtiene mejores resultados y un tiempo menor de ejecución. . . . 35

vii

Page 9: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Lista de Figuras

3.1. Clasi�cación de un punto utilizando k = 3 y k = 5. Imagen de Wikimedia

Commons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.2. Separación de dos clases ediante vectores de soporte. Imagen de Wikimedia

Commons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.3. Ilustración de un perceptrón multicapa. Imagen de Wikimedia Commons. . 18

4.1. Ejemplo de señales de tránsito para ser clasi�cadas. Imágenes tomadas de

la base de datos GTSRB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.1. Incremento del tiempo de entrenamiento contra el número de iteraciones

para el perceptrón multicapa. . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.2. Incremento en el tiempo de entrenamiento contra el parámetro de regulari-

zación C para la máquina de soporte vectorial. . . . . . . . . . . . . . . . . 31

5.3. Incremento en el tiempo de entrenamiento y pruebas contra el número de

neuronas ocultas para la máquina de aprendizaje extremo. . . . . . . . . . 32

5.4. Incremento en el tiempo de entrenamiento contra el número de neuronas

ocultas para el perceptrón multicapa usando entradas PCA-HOG. . . . . . 33

5.5. Incremento en el tiempo de entrenamiento y pruebas contra el número de

neuronas ocultas para la máquina de aprendizaje extremo usando descrip-

tores PCA-HOG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5.6. Ejemplo del funcionamiento de la herramienta para el análisis de resultados.

Precisión de los algoritmos con entradas PCA-HOG y matriz de confusión

para PCA-LDA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

5.7. Matriz de confusión para los algoritmos MLP y PCA-MLP. La matriz de

PCA-MLP es similar al resto de los algoritmos mientras que MLP di�ere

en la naturaleza de los errores cometidos. . . . . . . . . . . . . . . . . . . . 37

viii

Page 10: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 1

Introducción

1.1 Antecedentes

En las últimas décadas ha surgido gran interés en resolver problemas relacionados con

los sistemas de transporte. Ejemplos de las condiciones que se buscan mejorar son la

optimización de redes de transporte, condiciones de seguridad, consumo de energía y la

contaminación producida por los vehículos. A partir de esto han surgido avances en la

investigación sobre la conducción automatizada de vehículos. El interés en las tecnologías

de transportación inteligente �oreció hace más de tres décadas. En Europa, el proyecto

PROMETHEUS (Program for a European Tra�c with Highest E�ciency and Unprece-

dented Safety) comenzó a explorar estas tecnologías desde el año 1986. En los Estados

Unidos, las iniciativas de universidades y centros de investigación dan origen a la NAHSC

(National Automated Highway System Consortium), establecida por el gobierno en el año

1995 [1].

Los sistemas que operan vehículos inteligentes utilizan sensores y algoritmos de inteli-

gencia arti�cial para llegar a un entendimiento del entorno. Estos sistemas pueden asistir

al conductor o tomar el control del vehículo por completo. Dentro de las próximas dé-

cadas será común ver vehículos que pueden moverse de forma autónoma y navegar entre

el trá�co. Las principales áreas de inteligencia de vehículos son sistemas que: avisan o

previenen al conductor (prevención de colisiones); controlan parcialmente el vehículo, co-

1

Page 11: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 1. INTRODUCCIÓN 2

mo un asistente de manejo o una intervención de emergencia; controlan completamente el

vehículo. Los sistemas de asistencia al conductor proveen un gran bene�cio disminuyendo

la gran cantidad de muertes y heridas por accidentes en carretera. Debido a la importan-

cia de maximizar la con�abilidad de estos sistemas y de minimizar las falsas alarmas, la

introducción de los vehículos inteligentes avanza de forma lenta pero constante [2].

En la actualidad, los vehículos autónomos son una realidad, aunque solo de forma

experimental. Un ejemplo de esta realidad es el Google Car, la propuesta de Google para

un sistema de transporte autónomo. En el año 2010 en la �otilla de Google Cars ya

habían conducido un total de 1,000 millas sin intervención humana y más de 140,000

millas con control humano ocasional. La �otilla ha sido probada inclusive en una de las

calles más retadoras de la ciudad de San Francisco, en California. Hasta ahora no se han

reportado accidentes relacionados con los Google Car, en parte esto se debe a que un

sistema computacional es capaz de reaccionar más rápido que los humanos, cuenta con

una percepción de 360 grados por medio de sensores, y no puede ser distraído [3].

Para que los vehículos autónomos lleguen a ser una realidad en el futuro cercano y

poder aprovechar sus bene�cios, es necesario continuar con la investigación y el desarrollo

en las áreas relacionadas con la inteligencia de vehículos. El reconocimiento de señales de

tránsito es un tema que engloba gran parte de la funcionalidad de los vehículos autóno-

mos o los sistemas de asistencia al conductor, y es fundamental para su funcionamiento.

Existen grandes oportunidades y numerosas posibilidades para el aprovechamiento de los

algoritmos que reconocen señales de tránsito. Desde asistir al conductor advirtiendo me-

diante una señal auditiva la presencia de un señalamiento, hasta tomar alguna acción en

respuesta a un señalamiento, como disminuir la velocidad, o tomar el control del vehículo.

A pesar de las oportunidades y los bene�cios que prometen los sistemas de asistencia

al conductor, también existen limitantes y mucho trabajo por hacer para alcanzar un

nivel de con�abilidad aceptable para dichos sistemas. El problema que aquí se ataca es

conocer el comportamiento individual de los algoritmos más comunmente utilizados para

reconocer señales de tránsito, y comparar su desempeño en términos de su precisión y

tiempo de entrenamiento y pruebas. Mientras que existen numerosos trabajos en los que se

intenta llegar a la máxima precisión en el reconocimiento de señales de tránsito mediante la

Page 12: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 1. INTRODUCCIÓN 3

combinación o concatenación de diferentes métodos, nuevos algoritmos de reconocimiento

de patrones continúan surgiendo y por lo tanto persiste la necesidad de probar su e�cacia

para reconocer señales de tránsito.

1.2 De�nición del Problema

El problema considerado en este trabajo consiste en la clasi�cación automática de imágenes

de señales de tránsito con una precisión mayor o igual al 80%. Las señales varían conforme

a cambios en la iluminación, condiciones climáticas y su condición física. Son obtenidas

de la base de datos para la competencia German Tra�c Sign Recognition Benchmark de

la IJCNN 2011 [4]. Cada una muestra una señal de tránsito en el centro con un margen

al rededor para permitir la detección de bordes. La base de datos contiene más de 50

mil imágenes de 43 señales de tránsito distintas. Deben ser identi�cadas en tiempo real

mediante procedimientos simples que requieran una mínima implementación de hardware.

1.3 Objetivos

1. Implementar los siguientes algoritmos para la clasi�cación de las señales de tránsito

con una precisión mayor o igual al 80%: análisis de discriminante lineal, k-vecinos

más cercanos, máquina de soporte vectorial, perceptrón multicapa y máquina de

aprendizaje extremo.

2. Obtener la precisión, tiempo de entrenamiento y de ejecución para cada clasi�cador

con el �n de comparar su desempeño al evaluar el conjunto de pruebas de la base de

datos.

1.4 Justi�cación

El reconocimiento automático de señales de tránsito no se encuentra implementado aun en

los vehículos de transporte actuales. Esto indica que aunque el problema ha sido resuelto

experimentalmente, aun existen retos por resolver para llevar las soluciones del laboratorio

Page 13: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 1. INTRODUCCIÓN 4

a la industria y a la línea de producción. Por otro lado, en la actualidad son escasos los

trabajos que reportan resultados utilizando el algoritmo máquina de aprendizaje extremo

para el reconocimiento de señales de tránsito; aquí se presenta una comparación directa

del desempeño de este método contra los clasi�cadores utilizados comúnmente para este

problema.

1.5 Hipótesis

1. Se busca saber si el algoritmo máquina de aprendizaje extremo es capaz de realizar

la clasi�cación de imágenes de señales de tránsito con una precisión mayor o igual

al 80%.

2. Se busca saber si la máquina de aprendizaje extremo es capaz de mostrar un mejor

desempeño en comparación con los otros clasi�cadores implementados al resolver el

problema planteado.

En los capítulos siguientes se hace un recorrido a través de las principales aportaciones

relacionadas con este problema, se presenta una explicación de los métodos que serán

utilizados para lograr los objetivos, se ofrece más detalle sobre la metodología, y por

último, se muestran los experimentos realizados, resultados y conclusiones.

Page 14: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 2

Trabajo Previo

Desde hace más de una década ha surgido un interés de escala mundial en el recono-

cimiento de señales de tránsito. Las propuestas de vehículos inteligentes completamente

autónomos se han multiplicado en los últimos años. Las áreas de aplicación de estos sis-

temas se extiende más allá de los vehículos autónomos hacia la incorporación de sistemas

inteligentes de apoyo al conductor. En la actualidad existen muchas propuestas de cómo

se debería implementar un sistema de reconocimiento de señales de tránsito, variando en

los algoritmos que utilizan, sus ventajas y desventajas, así como el tiempo que toman y la

precisión a la que llegan. En este capítulo se exploran los avances logrados en torno a la

implementación de tal sistema desde 15 años atrás hasta la actualidad.

En el año 2000, Miura et al. [5] proponen un sistema de reconocimiento de señales

de tránsito en tiempo real. Consiste en usar dos cámaras a bordo de un vehículo, las

cuales transmiten la información capturada a un ordenador. La primera cámara utiliza

lentes gran angular para capturar el panorama y allí detectar objetos que posiblemente

sean señales de tránsito. La segunda cámara utiliza lentes teleobjetivo para realizar un

acercamiento a las señales candidatas y procesarlas en el ordenador. El procedimiento

consiste en: detectar posibles señales de tránsito mediante su color e intensidad; predecir

el movimiento de la imagen candidata y dirigir la cámara teleobjetivo; extraer caracteres,

símbolos e identi�car la señal. El reconocimiento se realiza mediante la comparación de

patrones utilizando el algoritmo de correlación entre imágenes digitales. Para esto se tiene

una plantilla de imágenes con las señales que se desea reconocer.

En [6] se implementa un sistema de reconocimiento y análisis de señales de tránsito, el

5

Page 15: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 2. TRABAJO PREVIO 6

cual puede ser útil en el contexto de los sistemas de asistencia al conductor o en vehículos

inteligentes autónomos. La detección de señales de tránsito en el camino es realizada

mediante un algoritmo genético, lo cual agrega robustez frente a cambios en la posición,

escala, rotación, oclusión y condiciones climáticas al procedimiento. Finalmente, una red

neuronal se encarga de clasi�car las señales de tránsito. La red sigue el paradigma de

la teoría de resonancia adaptiva para entradas binarias, y se compone de dos capas. La

capa de salida consiste en una red competitiva donde solamente la neurona con la mayor

entrada es activada. El sistema proporciona información acerca de la condición en que se

encuentran las señales que son vistas en el camino, a parte de su reconocimiento.

En el año 2007, en [7] el equipo de Maldonado-Bascón se concentra en identi�car señales

de tránsito españolas, mediante un sistema capaz de reconocer señales con forma circular,

rectangular, triangular y octagonal. El sistema propuesto se basa en las capacidades de

generalización de una máquina vector soporte (SVM por sus siglas en inglés). La entrada

a dicho sistema consiste en el color de cada pixel, para posteriormente llevar a cabo una

segmentación de la imagen. Después se utiliza el algoritmo SVM de base lineal para la

labor de detectar la ubicación de la señal de tránsito así como su forma. El sistema arroja

como salida el reconocimiento del contenido de la señal utilizando el algoritmo SVM de

kernel Gaussiano. En los resultados se reporta que todas las señales de tránsito de España

pueden ser detectadas por el sistema con una alta precisión. Se concluye que los algoritmos

propuestos son invariantes a la traslación, rotación, escalamiento y oclusiones parciales.

Stallkamp et al. [4] comparan el rendimiento de diversos algoritmos de aprendizaje de

máquina para la clasi�cación de señales de tránsito contra el rendimiento humano, en el

contexto de la German Tra�c Sign Recognition Benchmark (GTSRB). Para la realización

de la competencia de la IJCNN 2011, fue creada una extensa base de datos, integrada por

51,840 imágenes de señales de tránsito alemanas, donde se distribuyen 43 clases distintas

de símbolos. Participantes alrededor del mundo enviaron sus resultados y la descripción

de su procedimiento a un sitio en Internet creado especí�camente para este propósito.

Esta base de datos constituye una gran oportunidad para la exploración de métodos de

aprendizaje computacional. Es difícil comparar resultados sobre reconocimiento de señales

de tránsito cuando están basados en diferentes conjuntos de datos. Mientras que en algunos

Page 16: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 2. TRABAJO PREVIO 7

casos se considera el proceso de detección, clasi�cación y rastreo de las señales, en otros

se enfoca la parte de clasi�cación. Los detalles sobre la competencia se encuentran en [8].

En el contexto de la competencia GTSRB, Zaklouta et al. [9] exploran el uso de una

combinación entre histogramas de gradientes con orientación (HOG por sus siglas en in-

glés) y clasi�cadores de árbol k-dimensionales. Los descriptores HOG fueron propuestos

originalmente por Dalal y Triggs en [10], diseñados para el reconocimiento de peatones,

aunque se ha vuelto un método popular para el reconocimiento de muchos tipos de obje-

tos. Los árboles k-dimensionales están basados en el vecino más cercano, aplicando una

variante en el algoritmo de búsqueda que permite acceder a espacios de mayor dimensio-

nalidad. El equipo utiliza la base de datos de descriptores HOG que está disponible en el

sitio en Internet de la competencia, y obtuvo una precisión máxima del 97.2% para las

imágenes de prueba.

En el caso de Sermanet y LeCun [11], se propone el uso de redes neuronales convolucio-

nales, y se reportan los resultados para la GTSRB. Durante la fase de preprocesamiento,

las imágenes contenidas en la base de datos fueron transformadas a una resolución de

32× 32 pixeles, convertidas al espacio de color YUV y normalizadas. Un nuevo conjunto

de entrenamiento fue creado a partir de la modi�cación de las imágenes originales, crean-

do 5 versiones distintas por cada imagen donde aleatoriamente se realiza un escalamiento,

traslación o rotación. Con la expansión de los datos de entrenamiento se obtiene una dismi-

nución en el error de validación desde 1.31783% a 1.08527%. Durante la experimentación

se encontró que el clasi�cador obtiene un mejor rendimiento al utilizar imágenes en escala

de grises. Se alcanzó una precisión del 98.97% durante la primer fase de la competencia,

obteniendo así el segundo lugar. Posteriormente, un clasi�cador de mayor profundidad y

anchura, con 100 neuronas ocultas, logró sobrepasar esta marca llegando hasta un 99.17%

de exactitud.

El equipo de Ciresan et al. [12] logró el primer lugar de la competencia en la IJCNN

2011. Su estrategia fue implementar un comité de redes neuronales convolucionales (CNN

por sus siglas en inglés) que se ejecutan en una gran variedad de GPUs debido a la

�exibilidad de su diseño. Después de transformar la resolución de las imágenes a 48× 48

pixeles y normalizar, el equipo fue capaz de obtener una precisión mayor a la del hombre.

Page 17: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 2. TRABAJO PREVIO 8

El tiempo de entrenamiento disminuyó de meses a días gracias a la implementación que

corre en GPU, y se obtuvo un 98.98% de exactitud, mientras que el hombre (en promedio)

obtuvo 98.84% en la primera etapa de la competencia [4]. En la fase de experimentación

se encontró que las estructuras de red con más capas ocultas (de 4 a 7 capas) funcionan

mejor, y se formó un comité de perceptrones multicapa (MLP por sus siglas en inglés)

y redes convolucionales. Se formó un clasi�cador que promedia las salidas de cada una

de las redes. Con esta combinación de MLPs y CNNs el equipo logró superar su marca

con una precisión del 99.15%, la cual es incluso mejor que la precisión del hombre (mejor

individuo) del 99.22% [4].

En [13], se propone un método jerárquico de clasi�cación que trabaja sobre el conjunto

de señales de tránsito de la German Tra�c Sign Detection Benchmark (GTSDB). En

las imágenes se aprecia el paisaje urbano alemán junto con señales de tránsito mezcladas

entre objetos variados. La base de datos fue creada para la competencia GTSDB realizada

durante el IJCNN 2013. El método implementado consiste en un conjunto jerárquico de

máquinas de aprendizaje extremo (ELM por sus siglas en inglés) que llega a obtener un

98.60% de precisión. El primer paso en la meotodología es detectar en el las zonas de

interés de la imagen de entrada donde posiblemente existe una señal; después se utilizan

descriptores HOG e histogramas de color para decidir si el recuadro corresponde a una

señal de tránsito; posteriormente se agrupan las señales candidatas correspondientes al

mismo símbolo para �nalmente ingresarlo al algoritmo de reconocimiento. El objetivo del

método planteado fue detectar las primeras 3 categorías de señales de tránsito.

El algoritmo ELM aunque es reciente, ha sido utilizado en una variedad de áreas de

investigación. En [14] Sun et al. utilizan una ELM para clasi�car las señales de tránsito

presentes en la base de datos de la GTSRB. La metodología consiste en obtener descriptores

HOG para cada imagen, y utilizar la razón de la varianza entre las categorías dividida por

la varianza dentro de cada categoría como un criterio de selección que permita reducir el

vector de características. Posteriormente, las características seleccionadas son evaluadas

por la red neuronal entrenada mediante ELM. La resolución de las imágenes es normalizada

a una dimensión de 40 × 40 pixeles. Los descriptores HOG se obtienen de acuerdo al

algoritmo propuesto por [10]. La estrategia BW consiste en seleccionar aquellos elementos

Page 18: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 2. TRABAJO PREVIO 9

de los descriptores HOG que presenten la mayor varianza entre categorías, y a la vez

la menor varianza dentro de cada categoría. Mediante este procedimiento se mejora la

precisión de la ELM durante la evaluación, y se requiere menor poder de procesamiento.

Page 19: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3

Marco Teórico

En este capítulo se presenta una breve introducción a los algoritmos que se implemen-

taron para realizar al análisis comparativo planteado. Se pretende ofrecer al lector una

introducción al origen, objetivo y funcionamiento de los métodos. Los algoritmos descritos

a continuación son: histogramas de gradientes con orientación, análisis de componentes

principales, k-vecinos más cercanos, análisis de discriminante lineal, máquina de soporte

vectorial, perceptrón multicapa y máquina de aprendizaje extremo.

3.1 Histogramas de Gradientes con Orientación

El método de histogramas de gradientes con orientación (HOG) consiste en obtener la

representación de una imagen o vector característico a través de calcular los histogramas

que la componen al dividirla en una densa cuadrícula. El algoritmo HOG es propuesto

por Dalal y Triggs y se explica a detalle en [10]. La idea detrás del algoritmo es que la

forma y apariencia de un objeto pueden ser representadas mediante la distribución de

los gradientes de intensidad que lo componen o la dirección de sus bordes, incluso sin el

conocimiento preciso de la posición de cada borde o gradiente.

El procedimiento para obtener el descriptor HOG de una imagen consiste en dividir la

imagen en pequeñas regiones llamadas celdas, donde cada celda acumula un histograma

unidimensional de direcciones de gradientes u orinetaciones de bordes de los pixeles conte-

nidos en la celda. La representación consiste en la combinación de estos histogramas. Para

una mejor invarianza a los cambios en iluminación y sombras, se normaliza el contraste de

10

Page 20: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 11

la imagen a través de regiones más grandes llamadas bloques que consisten de un conjunto

de celdas.

3.2 Análisis de Componentes Principales

La primera formulación del método de análisis de componentes principales (PCA por

sus siglas en inglés) se encuentra en [15]. El método PCA realiza un análisis sobre un

conjunto de datos (vectores característicos) a partir del cual determina aquellos elementos

que son los más signi�cativos para la diferenciación de las muestras. A partir de este

análisis es posible reducir la dimensionalidad de los vectores característicos para obtener

una reducción en el tiempo de procesamiento de la información, con el costo de una pérdida

en la precisión (en algunos casos).

Formalmente, el algoritmo PCA provee una aproximación de la información, una matriz

de datos denominada X, en términos del producto de dos pequeñas matrices T y P′,

donde se captura la información esencial de X. Las columnas de T contienen los patrones

dominantes en las muestras procesadas de X, mientras que las �las de P′contienen los

patrones complementarios [16].

3.3 k-Vecinos Más Cercanos

Entre los métodos de aprendizaje supervisado, la clasi�cación k-vecinos más cercanos (k-

NN por sus siglas en inglés) está entre los más simples y fundamentales. Es una buena

elección cuando existe poco o nulo conocimiento sobre la distribución de los datos. En el

método k-NN se supone que los elementos que se encuentran cerca de sí corresponden a

una misma categoría; así, dada una muestra desconocida x, para obtener su clasi�cación

se evalúan los k elementos con menor distancia a x. El algoritmo en su forma más sencilla

consiste en asignar la clasi�cación del primer elemento encontrado cuya distancia respecto

a la muestra sea mínima. Un ejemplo grá�co del algoritmo se encuentra en la Figura 3.1.

En este ejemplo se desea clasi�car el punto verde. Tomando una k = 3 la clasi�cación

corresponde a las �guras encerradas por el círculo. Con una k = 5 la clase otorgada sería

Page 21: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 12

el cuadrado azul.

Una de las contribuciones al algoritmo k-NN más antiguas es la propuesta de Fix y

Hodges [17], donde se explora la utilización del vecino más cercano y sus propiedades

son analizadas a profundidad. El problema atacado en su contribuión es encontrar un

algoritmo que satisfaga la necesidad de procedimientos discriminatorios cuya validez no

dependa de alguna suposición de forma paramétrica. El método de Fix y Hodges consiste

en el k-NN que se explica a continuación utilizando k = 1.

Se tiene un conjunto de n pares (x1, θ1), · · · , (xn, θn) donde cada individuo xi representa

el conjunto de observaciones hechas para tal individuo (vector característico) y cada θi

corresponde al índice de la categoría a la que el elemento i pertenece. Se desea evaluar un

nuevo par (x, θ) del cual se conocen sus observaciones pero no su clase. Es posible estimar

su categoría a partir de los datos contenidos en el conjunto de elementos correctamente

clasi�cados. Se denomina a x′n ∈ {x1, x2, · · · , xn} el vecino más cercano a x solo si

min d(xi, x) = d(x′n, x) i = 1, 2, · · · , n, donde d() es la distancia. La regla es identi�car a

x como perteneciente a la clase θ′n del individuo más próximo x

′n. Si θ

′n 6= θ entonces se

comete un error [18].

Figura 3.1: Clasi�cación de un punto utilizando k = 3 y k = 5. Imagen de Wikimedia Commons.

Para calcular la distancia entre dos individuos generalmente se utiliza la distancia

euclidiana:

d(xi, xj) =

√√√√ p∑r=1

(xri − xrj)2. (3.1)

En los casos donde la cantidad de muestras es lo su�cientemente grande, es conveniente

utilizar el voto mayoritario de los k vecinos más cercanos, en vez de un solo candidato.

Page 22: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 13

El entrenamiento para k-NN consiste en almacenar las observaciones de las muestras

(vectores característicos) y la categoría de cada individuo. Además del algoritmo del vecino

más cercano, y del k-vecinos más cercanos, existen variantes para este método en las que

el voto de los k individuos seleccionados tiene un peso distinto en la clasi�cación, según

sea la distancia respecto al individuo que se evalúa; es decir, las muestras más cercanas

reciben mayor ponderación a la hora de evaluar.

3.4 Análisis de Discriminante Lineal

El método de análisis de discriminante lineal (LDA por sus siglas en inglés) está estrecha-

mente relacionado con el discriminante lineal de Fisher [19]; tiene el objetivo de encontrar

una combinación lineal de observaciones que permitan separar los datos en dos o más

categorías, con el propósito de clasi�car o reducir la dimensionalidad de los vectores ca-

racterísticos. Es utilizado en áreas como la estadística, el reconocimiento de patrones y el

aprendizaje de máquina, en combinación con otros métodos relacionados, como el análisis

de componentes principales y el análisis de factores.

El algoritmo LDA busca direcciones en el conjunto de datos que apunten hacia la ma-

yor varianza, y posteriormente proyecta la información en tales direcciones. Así es como

se obtiene una representación de los datos originales con menor número de dimensiones y

a la vez se elimina parte del ruido contenido en la información. Al reducir las dimensiones

en los vectores característicos se obtiene ventajas como una mayor velocidad en su pro-

cesamiento, a la vez que se conservan aquellos elementos que permiten hacer distinción

entre las diferentes clases.

El objetivo del LDA es encontrar la matriz de transformación óptima que conserve la

mayor parte de la información que puede ser utilizada para distinguir entre categorías de

los datos. Sea X = {x1, x2, · · · , xM} el conjunto de muestras formado por vectores carac-

terísticos de n dimensiones. La matriz de dispersión entre clases y la matriz de dispersión

dentro de cada clase se de�nen como

B =C∑c=1

Mc(mc −m)(mc −m)T , (3.2)

Page 23: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 14

W =C∑c=1

∑x∈Xcc

(xc −mc)(x−mc)T , (3.3)

donde mc es el promedio de cada clase y m es el promedio global de todas las muestras. El

número de vectores en la clase xc está dado por Mc. El objetivo del LDA es maximizar la

razón del determinante de la matriz de dispersión entre clases, entre el determinante de la

matriz de dispersión dentro de las clases. Como resultado se obtiene la matriz U de�nida

por

max U|UTBU ||UTWU |

= [u1, u2, · · · , uN ] (3.4)

donde solución {ui|i = 1, 2, 3, · · · , N} corresponde al conjunto de eigenvectores de B y

W: Bui = λiWui [20].

3.5 Máquina de Soporte Vectorial

La idea detrás de la máquina de soporte vectorial es encontrar un mapeo, desde los vectores

característicos que recibe como entrada, hacia un espacio Z de alta dimensionalidad, en el

cual se garantiza una alta capacidad de generalización de las muestras. En el espacio Z se

construye una super�cie de decisión lineal a través de algún mapeo no lineal seleccionado

previamente. El reto conceptual que presenta la máquina de soporte vectorial es cómo

encontrar un hiperplano que sea capaz de generalizar mediante la separación de las clases.

Este reto ha sido resuelto por Vapnik mediante el método de hiperplanos óptimos [21].

El método de hiperplanos óptimos permite encontrar una separación en los datos que

permita la generalización, para el caso de conjuntos de entrenamiento con cero error. La ex-

plicación de este método proviene de [22]. Un conjunto de muestras (y1, x1), · · · , (yl, xl), yi ∈

{−1, 1} es linealmente separable si existe un vector w y un escalar b tal que la desigualdad

yi(w ·xi+b) ≥ 1, i = 1, · · · , l es válida para todos los elementos del conjunto. El hiperplano

óptimo w0 · x + b0 = 0 es aquel que separa las muestras de entrenamiento con el margen

máximo; su función es determinar la dirección en la cual la distancia entre las proyecciones

de vectores característicos para dos clases distintas es máxima, donde la distancia ρ(w, b)

Page 24: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 15

está dada por

ρ(w, b) = min{x:y=1}x · w|w|−max{x:y=−1}

x · w|w|

. (3.5)

El hiperplano óptimo (w0, b0) se forma de los argumentos que maximizan la distancia

en la ecuación anterior. Los vectores xi para los cuales yi(w · xi + b) = 1 son denominados

vectores de soporte, y están formados por los puntos más cercanos al hiperplano óptimo.

Un hiperplano óptimo para un problema de clasi�cación puede ser representado grá�ca-

mente como aquel que maximiza la distancia entre los vectores de soporte. Es importante

notar que el algoritmo descrito hasta ahora aplica para problemas en los que los datos de

entrenamiento pueden ser separados sin error. Un ejemplo grá�co del hiperplano óptimo se

encuentra en la Figura 3.2. El hiperplano 1 logra separar las clases con un pequeño margen

entre ellas, El hiperplano 3 no logra separar correctamente. Mientras que H2 representa el

hiperplano óptimo con máximo margen de separación.

Figura 3.2: Separación de dos clases ediante vectores de soporte. Imagen de Wikimedia Com-

mons.

En el caso donde los datos no pueden ser separados sin error, se procede a excluir el

subconjunto que contiene las muestras con error, y se realiza la separación en el resto de

las muestras. El número de errores en un conjunto de muestras está dado por

Φ(ξ) =l∑

i=1

ξσi , (3.6)

de esta forma, minimizando la ecuación anterior sujeta a las restricciones

yi(w · xi + b) ≥ 1− ξi, i = 1, · · · , l, (3.7)

Page 25: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 16

ξi ≥ 0, i = 1, · · · , l, (3.8)

se encuentra el subconjunto mínimo de errores de entrenamiento. Si este subconjunto

es excluido es posible separar las muestras restantes sin error, mediante un hiperplano

óptimo.

Aunque el algoritmo SVM funciona para distinguir entre dos clases de datos, es posi-

ble aplicarlo en problemas multiclase mediante una reducción del problema en múltiples

subproblemas de clasi�cación binaria. Una forma de realizar esta reducción es construir

clasi�cadores que distinguen entre una de las clases y el resto; otra alternativa es construir

tantos clasi�cadores como se requiera por cada par de clases.

3.6 Perceptrón Multicapa

Las redes nueronales arti�ciales (ANN por sus siglas en inglés) son sistemas de cómputo

masivamente paralelos. Se componen de un gran número de procesadores simples con

muchas interconexiones. Los modelos que se han construido hasta ahora usan algunos de

los principios que están presentes en las neuronas biológicas. En [23], de donde proviene

la información en esta sección, se expone el origen de las redes neuronales arti�ciales,

una breve historia de su evolución, así como las arquitecturas, variantes, y algoritmos de

aprendizaje que han sido utilizados. El primer aporte en esta área corresponde a un modelo

simple de una red neuronal a través de circuitos eléctricos, construido por McCulloch y

Pitts en el año 1943 [24].

La neurona biológica es una célula que procesa información: se compone de un cuerpo o

soma, y numerosas rami�caciones en forma de árbol llamadas axón o dendritas. La célula

recibe impulsos eléctricos de las neuronas vecinas a través de sus dendritas, y transmite

señales generadas por ella misma a través de su axón.

Una sinapsis ocurre entre dos neuronas vecinas cuando ciertas sustancias químicas,

llamadas neurotransmisores, son intercambiadas entre el axón de una y las dendritas de

otra. Los neurotransmisores tienen la capacidad de aumentar o inhibir la tendencia a emitir

señales en la célula receptora. La corteza cerebral en los humanos contiene aproximada-

mente 1011 neuronas masivamente conectadas, dando un total de aproximadamente 1015

Page 26: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 17

conexiones.

La neurona arti�cial propuesta por McCulloch y Pitts consiste en un modelo compu-

tacional que calcula la suma ponderada de n señales de entrada, xj, j = 1, 2, · · · , n, y

genera una salida binaria: 1 si la suma ponderada se encuentra sobre algún umbral u, y 0

de lo contrario. Su expresión matemática es

y = θ

(n∑j=1

wjxj − u

), (3.9)

donde θ(·) es una función escalón, y wj es el peso sináptico asociado a la entrada j.

Existen diversas arquitecturas de redes neuronales arti�ciales basadas en la conectivi-

dad que exhiben, según si el procesamiento es unidireccional o recurrente (presencia de

ciclos). El perceptrón puede ser visualizado como un grafo en el cual existen una capa de

entrada, la cual contiene n número de nodos o neuronas de entrada, y una capa de salida.

La capa de entrada tiene conexiones unidireccionales hacia la capa de salida. El perceptrón

es capaz de hacer predicciones acerca de los datos que recibe mediante una función lineal,

combinando un conjunto de ponderaciones con los elementos del vector característico que

recibe como entrada. El aprendizaje del perceptrón se ilustra en el algoritmo 1.

Algoritmo 1 Aprendizaje del perceptrón [23]

1. Inicializar los pesos y el umbral en números aleatorios positivos cercanos a cero.

2. Evaluar el resultado en las neuronas de salida al ingresar el vector característico(x1, x2, · · · , xn)t.

3. Actualizar los pesos en las conexiones de acuerdo a

wj(t+ 1) = wj(t) + η(d− y)xj,

donde d es la salida esperada, t es el número de iteración, y η (0,0 < η < 1,0) es laganancia.

Una de las limitaciones del perceptrón es que su campo de aplicación se limita a

problemas linealmente separables. Una estructura más compleja que resuelve problemas

más so�sticados es el perceptrón multicapa. El perceptrón multicapa es la red neuronal

Page 27: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 18

arti�cial con conectividad unidireccional más popular debido al éxito en el desarrollo del

algoritmo de aprendizaje de propagación inversa. Un perceptrón multicapa consiste en un

perceptrón con capas intermedias de neuronas; la conectividad del MLP va desde la capa

de neuronas de entrada, pasando por cada una de las capas intermedias, hasta la capa de

salida, de manera unidireccional. En la Figura 3.3 se ilustra un perceptrón multicapa. En

este ejemplo se tienen 2 neuronas en la capa de entrada, 5 neuronas en la capa oculta y

una neurona como salida.

Figura 3.3: Ilustración de un perceptrón multicapa. Imagen de Wikimedia Commons.

El algoritmo más popular de aprendizaje que se aplica a los perceptrones multicapa es el

llamado algoritmo de propagación inversa. Consiste en un método de gradiente descenden-

te que intenta minimizar la función del error cuadrático del MLP. El pseudocódigo para la

propagación inversa se encuentra en el algoritmo 2. Sea (x(1), d(1)), (x(2), d(2)), · · · , (x(p), d(p))

un conjunto de pmuestras de entrenamiento (pares de entrada y salida esperada), x(i) ∈ Rn

corresponde al vector de entrada en el espacio de n dimensiones, y d(i) ∈ [0, 1]m un hiper-

cubo de m dimensiones donde m corresponde al número de categorías. La función de error

cuadrático se de�ne como

E =1

2

p∑i=1

‖ y(i) − d(i) ‖2 . (3.10)

3.7 Máquina de Aprendizaje Extremo

Para los perceptrones multicapa con solamente una capa oculta (capa intermedia), con

N neuronas ocultas, donde N < N , el número de muestras para el entrenamiento. Existe

un algoritmo para el aprendizaje que resulta extremadamente rápido, el cual es llamado

máquina de aprendizaje extremo. La descripción del algoritmo ELM es tomada de [25].

Page 28: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 19

Algoritmo 2 Propagación inversa [23]

1. Inicializar los pesos en números aleatorios positivos cercanos a cero.

2. Elegir aleatoriamente una muestra de entrada xη.

3. Propagar la señal a través de la red.

4. Calcular δLi en la capa de salida (oi = yLi )

δLi = g′(hLi )[dui − yLi ],

donde hli es el valor de entrada neto de la neurona i en la capa l, y g′es la derivada

de la función de activación g.

5. Calcular las deltas para las capas precedentes mediante la propagación inversa delos errores;

δli = g′(hli)

∑j

wl+1ij δl+1

j ,

para l = (L− 1), · · · , 1.

6. Actualizar los pesos mediante∆wlji = ηδliy

l−1j

7. Ir al paso 2 y repetir el proceso para la siguiente muestra hasta que el error en lacapa de salida esté por debajo del umbral especi�cado, o hasta alcanzar el máximode iteraciones.

Page 29: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 20

A grandes rasgos, el algoritmo ELM consiste en inicializar de manera aleatoria los pesos

de entrada de la red neuronal y calcular mediante una regresión lineal los pesos de salida,

aplicando la inversa de Moore-Penrose.

Sea N el número de muestras (xi, ti), donde xi = [xi1, xi2, · · · , xin]T ∈ Rn, ti =

[ti1, ti2, · · · , tim]T ∈ Rm, wi = [wi1, wi2, · · · , win]T es el vector de pesos que conecta la

neurona oculta i con las neuronas de entrada, βi = [βi1, βi2, · · · , βim]T es el vector de pesos

que conecta la neurona oculta i con las neuronas de salida y βi es el umbral de la neurona

oculta número i. Dado que un perceptrón multicapa de una capa oculta con N neuronas

ocultas y función de activación g(x) puede aproximar las N muestras con un error de cero,

entonces existe una βi, wi, y bi tal que

Hβ = T, (3.11)

donde

H(w1, · · · , wN , b1, · · · , bN , x1, · · · , xN) =

g(w1 · x1 + b1) · · · g(wN · x1 + bN)

... · · · ...

g(w1 · xN + b1) · · · g(wN · xN + bN)

N×N

,

(3.12)

β =

βT1...

βTN

N×m

, (3.13)

T =

tT1...

tTM

N×m

. (3.14)

En comparación con los algoritmos tradicionales para el entrenamiento de perceptrones

multicapa, el algoritmo ELM tiene grandes ventajas. Es muy común que el entrenamiento

de redes neuronales tome grandes cantidades de tiempo, inclusive para problemas simples,

mientras que la velocidad de ELM es extremadamente rápida; la máquina de aprendizaje

extremo tiene una mejor capacidad de generalizar para las redes neuronales, mientras que

Page 30: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 3. MARCO TEÓRICO 21

los métodos tradicionales de gradiente descendente intentan alcanzar el mínimo error de

entrenamiento sin tomar en cuenta la magnitud de los pesos en las conexiones.

Los métodos tradicionales de entrenamiento para redes neuronales funcionan única-

mente para funciones de activación diferenciales, y se enfrentan a problemas tales como

mínimos locales, tasas de aprendizaje inapropiadas y memorización de las muestras de en-

trenamiento. La máquina de aprendizaje extremo puede ser utilizada para entrenar redes

neuronales con funciones de activación no diferenciables, y es por mucho más simple que

la mayoría de los algoritmos de aprendizaje para MLPs. El procedimiento de la ELM se

muestra en el algoritmo 3.

Algoritmo 3 Máquina de aprendizaje extremo [25]

1. Dado un conjunto de entrenamiento ℵ = (xi, ti)|xi ∈ Rn, ti ∈ Rm, i = 1, · · · , N , fun-ción de activación g(x) y N número de neuronas ocultas.

2. Asignar pesos aleatorios wi y un sesgo bi, i = 1, · · · , N .

3. Calcular la matriz H de salidas de la capa oculta.

4. Calcular el peso de salida β:β = H†T

Page 31: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 4

Metodología

A continuación, se explica el procedimiento realizado para la ejecución de los experi-

mentos y la obtención de resultados. La metodología consiste en cuatro pasos: obtención

de imágenes de señales de tránsito, obtención de descriptores o vectores característicos,

implementación de algoritmos, ejecución y comparación de resultados. En las siguientes

secciones se presentan los detalles de estos pasos.

4.1 Obtención de Imágenes

Las señales de tránsito utilizadas para la evaluación de los métodos fueron obtenidas de

la base de datos de la GTSRB, proveniente de 10 horas de video mientras se conducía

por las calles de una ciudad alemana en el día. Después de aplicar criterios de selección

a las imágenes, el conjunto resultante contiene 51,840 imágenes de 43 señales de tránsito

distintas, a una resolución que varía entre los 15× 15 y 222× 193 pixeles [4]. Ejemplos de

estas imágenes se encuentran en la Figura 4.1. Las imágenes de la base de datos presentan

grandes variaciones debido a los cambios en las condiciones de iluminación, estado del

clima, cantidad de muestras por clase y velocidad que tenía el vehículo desde donde se

obtuvieron. Estas variaciones junto al tamaño de la base de datos la vuelven ideal para la

comparación de algoritmos de aprendizaje.

22

Page 32: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 4. METODOLOGÍA 23

Figura 4.1: Ejemplo de señales de tránsito para ser clasi�cadas. Imágenes tomadas de la base

de datos GTSRB.

4.2 Obtención de Vectores Característicos

Dado que manejar el conjunto total de pixeles es complejo, una tarea común involucrada

en el reconocimiento de imágenes es la generación de un conjunto de valores que represente

la misma información, pero usando menos datos. Esos valores son llamados vectores carac-

terísticos. En este caso, se presentarán dos etapas. Una en la que se utilizan los vectores

calculados mediante el método de histogramas de gradientes con orientación, y otra en la

que se hará una reducción posterior de los mismos, empleando el análisis de componentes

principales.

Se utiliza el INRIA Object Detection and Localization Toolkit creado por Navneet Dalal

para la extracción de descriptores HOG [10] de cada imagen. A cada imagen se le aplica

un escalamiento mediante interpolación bilineal, dando como resultado 40 × 40 pixeles.

Los parámetros utilizados para la extracción de descriptores HOG son: tamaño de celda de

5×5 pixeles; tamaño de bloque de 2×2 celdas; semicírculo; y 8 canales de orientación. Los

vectores resultantes son de 1568 elementos y pueden ser obtenidos en el sitio en Internet

de la GTSRB, junto con otros conjuntos de descriptores para las imágenes.

Durante la segunda etapa de la experimentación, se comparan los resultados de usar

una versión reducida de estos vectores. Mediante la implementación de un PCA con la

Shark Machine Learning Library se realiza un análisis sobre los descriptores HOG del

conjunto de entrenamiento. A partir del análisis realizado, los descriptores HOG de los

conjuntos de entrenamiento y pruebas son reducidos a una cuarta parte de su tamaño

original. Como resultado se tienen vectores característicos de 392 elementos. Más adelante

se compara el rendimiento de utilizar los vectores de alta dimensionalidad y los vectores

reducidos.

Page 33: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 4. METODOLOGÍA 24

4.3 Implementación de Algoritmos

Los algoritmos que participan en la comparación fueron implementados mediante la libre-

ría de código libre Shark Machine Learning Library, en su versión 3.0 beta [26]. La librería

Shark provee métodos de optimización, aprendizaje, redes neuronales y otras técnicas de

aprendizaje de máquina, y puede ser obtenida libremente en Internet. Es una podero-

sa herramienta para aplicaciones de investigación y de la industria. En las subsecciones

siguientes se ofrece más detalle sobre la implementación de cada método.

El objetivo de incluir un PCA en los experimentos es mostrar los cambios en precisión

y tiempo de ejecución que se generan al reducir la dimensionalidad de los vectores caracte-

rísticos. El PCA permite hacer una comparación no solo entre los algoritmos planteados,

sino también entre los resultados obtenidos al utilizar descriptores de diferentes tamaños.

Los descriptores HOG utilizados consisten de 1568 elementos con valores entre [0, 1). Los

descriptores HOG reducidos mediante PCA contienen 392 elementos, es decir la cuarta

parte de la información contenida originalmente, y toman valores positivos y negativos. El

análisis PCA se realiza sobre el conjunto de entrenamiento, y la reducción de dimensiones

es aplicada a partir de este análisis en los conjuntos de entrenamiento y de pruebas.

El algoritmo LDA es el más simple de implementar y probar ya que su ejecución no

depende de alguna variable, por lo que no recibe parámetros. También es un método que

no utiliza datos aleatorios, de manera que su resultado siempre es el mismo para un mismo

conjunto de datos. Es un método de clasi�cación básico y se utiliza aquí como una línea

base para la comparación. El LDA permite veri�car que la distribución y la representación

de los vectores característicos es lo su�cientemente buena para realizar el reconocimiento

de señales de tránsito. A pesar de su simplicidad el LDA obtiene excelentes resultados.

k-NN explora el conjunto de datos de entrenamiento para asignar a un patrón des-

conocido x la categoría que sea más común entre las k muestras con menor distancia a

x. El método no requiere de una etapa de entrenamiento, en vez de esto almacena las

muestras del conjunto de entrenamiento y es allí donde compara las distancias respecto a

las muestras desconocidas. La variable k representa el número de muestras más cercanas

(vecinos más cercanos) respecto a un patrón desconocido x, que se desean comparar para

Page 34: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 4. METODOLOGÍA 25

obtener la clasi�cación de x.

Para reducir el tiempo de ejecución de k-NN es muy importante utilizar un algoritmo

e�ciente para la búsqueda de muestras en el conjunto de entrenamiento. La búsqueda

de árbol es un ejemplo de una manera e�ciente de implementar un k-NN, pero funciona

más bien para espacios de pocas dimensiones. Para vectores de alta dimensionalidad se

recomienda realizar la búsqueda comparando cada par de muestras, es decir por fuerza

bruta. Este es el algoritmo de búsqueda que se implementa en k-NN.

Es posible entrenar una SVM de kernel lineal mediante un conjunto de datos para cla-

si�cación y una constante de regularización c. Entre mayor sea la magnitud de la constante

c la SVM elegirá un hiperplano con menor margen entre las categorías siempre y cuando

así tenga un mejor desempeño al clasi�car las muestras. Con valores más pequeños para

c, la SVM es capaz de encontrar un hiperplano de separación con mayor margen entre

clases, a pesar de que un mayor número de muestras reciban una clasi�cación incorrecta.

Se comparan distintos valores para la variable c.

Aunque la SVM ha sido extensamente utilizada a través de los años y ha tenido gran

éxito, fue originalmente diseñada para la clasi�cación binaria. Para poder extender el algo-

ritmo SVM a problemas de clasi�cación múltiple, la manera convencional es descomponer

el problema de M clases en una serie de problemas binarios y construir un grupo de cla-

si�cadores binarios. La SVM que aquí se implementa utiliza el método uno contra todos,

donde se construyen M clasi�cadores SVM: el clasi�cador con subíndice i separa la clase

i del resto de las categorías. Con este método el clasi�cador binario que genera el mayor

valor es quien decide la categoría que se asigna a la muestra x [27].

La implementación del MLP y la ELM son equivalentes y di�erenen únicamente en el

algoritmo de aprendizaje. La capa de entrada recibe los descriptores HOG correspondientes

a las señales de tránsito, por lo que se tienen tantas neuronas de entrada como elementos

en los vectores HOG. La capa intermedia tiene un número de neuronas ocultas que varía

conforme la variable n, con la cual se prueban diferentes con�guraciones (n neuronas

ocultas). La salida de la red neuronal es de 43 neuronas, correspondientes a las 43 clases de

señales de tránsito que se reconocen: le neurona con subíndice i y mayor valor de activación

indica que la muestra recibida pertence a la clase i. La activación de las neuronas de salida

Page 35: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 4. METODOLOGÍA 26

indica la probabilidad de que la muestra recibida corresponde a la clase i.

Para el entrenamiento del perceptrón multicapa se utiliza el algoritmo mejorado de

propagación inversa propuesto por Riedmiller y Braun. Shark provee una implementación

de este algoritmo, en [28] se evalúa su desempeño. El algoritmo es probado con diferentes

valores param iteraciones del entrenamiento. Aunque Shark no provee una implementación

del algoritmo ELM, es posible realizarlo mediante un modelo lineal y una regresión lineal.

El procedimiento consiste en evaluar el conjunto de entrenamiento en la capa de entrada de

la red neuronal, inicializada con pesos aleatorios. El resultado de la evaluación sirve como

entrada al procedimiento de regresión lineal, y el resultado de la regresión es almacenado

en el modelo lineal. Finalmente se reemplaza la capa intermedia de la red por la matriz

del modelo lineal.

4.4 Ejecución y Comparación de Resultados

Para realizar una comparación justa de la precisión y tiempo de ejecución de los métodos,

primero se buscan aquellos valores para las variables de cada algoritmo que optimicen su

resultado. Por ejemplo, para la SVM se exploran diferentes valores de c, el parámetro de

regularización, hasta encontrar el valor con el cual se obtiene la mejor precisión para este

método. La compración se realiza sobre el resultado con mayor precisión para cada algorit-

mo. La búsqueda por los valores óptimos se realiza dos veces: utilizando descriptores HOG

de 1,568 dimensiones, y utilizando la versión reducida mediante PCA de 392 dimensiones.

La implementación de cada algoritmo incluye código que reporta el tiempo transcu-

rrido durante el entrenamiento (donde aplique) y el tiempo de ejecución de las pruebas.

La unidad de tiempo utilizada son los milisegundos. Los programas arrojan la precisión

obtenida durante las pruebas indicando el número de muestras que fueron clasi�cadas

correctamente del conjunto de imágenes de prueba. El conjunto de imágenes de prueba

consiste de 12,630 señales de tránsito.

Durante la etapa de pruebas, se escribe en un archivo de texto la clasi�cación asignada

a cada muestra en un formato compatible con la aplicación de análisis de resultados que se

encuentra disponible en el sitio en Internet de la GTSRB. La aplicación permite comparar

Page 36: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 4. METODOLOGÍA 27

diferentes métodos de clasi�cación que trabajan sobre el conjunto de imágenes de prueba,

muestra grá�camente matrices de confusión y la cantidad de imágenes clasi�cadas correc-

tamente agrupadas por clase. La aplicación de análisis de resultados es una herramienta

útil para analizar el desempeño de cada algoritmo de clasi�cación y llegar a concluir sobre

su comportamiento.

Page 37: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5

Experimentos y Resultados

En esta sección se reportan y analizan los resultados obtenidos durante las fases de ex-

perimentación. La mejor clasi�cación utilizando los descriptores HOG fue obtenida por la

SVM seguida del LDA, con una precisión del 94.41% y 93.15% respectivamente. Al usar

los descriptores transformados mediante PCA, el primer lugar lo obtiene el MLP con una

precisión del 92.76%, seguido del LDA con 91.72%. Para ambos casos, la ELM queda en

tercer lugar con una precisión del 93.04% y 89.50% al utilizar HOGs y PCA-HOGs respec-

tivamente. Esta información se resume en la Tabla 5.1 y Tabla 5.2. Todos los experimentos

fueron realizados en un servidor Linux con procesadores Intel(R) Xeon(R) E5-2650 de 2.0

GHz.

5.1 Fase 1: Experimentos con Descriptores HOG

A pesar de su simplicidad, el algoritmo LDA obtiene excelentes resultados para la clasi�-

cación de las imágenes, obteniendo el segundo lugar en precisión de los algoritmos. LDA

Algoritmo Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

LDA 11,766 0.931591449 144,929 9,062KNN 9,607 0.760649248 0 3,032,044SVM 11,925 0.944180523 1,146,062 7,524MLP 9,522 0.753919240 965,909,322 564,682ELM 11,751 0.930403800 5,074,902 5,125,355

Tabla 5.1: Resultados óptimos utilizando descriptores HOG como entrada.

28

Page 38: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 29

Algoritmo Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

PCA-LDA 11,585 0.917260491 6,638 1,846PCA-KNN 9,697 0.767775139 0 764,783PCA-SVM 10,498 0.831195566 1,680,175 1,880PCA-MLP 11,716 0.927632621 49,276,844 132,964PCA-ELM 11,305 0.895091053 473,216 415,534

Tabla 5.2: Resultados óptimos utilizando descriptores HOG transformados mediante PCA.

clasi�có correctamente 11,766 imágenes del conjunto de pruebas con un total de 12,630

imágenes al utilizar como entrada los descriptores HOG de 1568 dimensiones. El entrena-

miento se realiza sobre el conjunto dado para este �n, el cual consiste de 39,209 imágenes,

y toma 2.4 minutos. Las pruebas toman 9 segundos solamente. Considerando una preci-

sión del 93.15% y un tiempo de clasi�cación de 0.71 milisegundos por cada imagen, el

algoritmo LDA es una excelente opción para el reconocimiento de señales de tránsito en

tiempo real.

Los algoritmos k-NN y MLP obtienen la precisión más baja con un 76.06% y 75.39%

respectivamente. k-NN es probado utilizando valores para los k vecinos desde 10 hasta

90, en intervalos de 10. El valor óptimo para k en esta secuencia es de 40, logrando una

clasi�cación correcta de 9,607 imágenes en 50.53 minutos o 240.06 milisegundos por cada

imagen. k-NN no requiere de entrenamiento y el tiempo que tarda en clasi�car imágenes

es constante e independiente del valor de k. Para el perceptrón multicapa los experimentos

fueron limitados a utilizar 1,000 neuronas en la capa oculta, mientras se comparan los re-

sultados para 100, 200, · · · , 500 iteraciones del algoritmo de propagación inversa. Mientras

que es probable obtener mejores resultados aumentando el número de neuronas ocultas

y de iteraciones, las pruebas realizadas dan una idea de la cantidad de tiempo que lleva

entrenar una red neuronal de tales dimensiones.

La estructura del MLP consiste de 1,568 neuronas de entrada, 1,000 neuronas en la

capa oculta y 43 neuronas de salida. Con esta estructura y 500 iteraciones del algoritmo

de propagación inversa se clasi�can correctamente 9,522 imágenes. El entrenamiento toma

una gran cantidad de tiempo, 11.17 días. En la Figura 5.1 se aprecia el incremento en

el tiempo de entrenamiento conforme incrementa el número de iteraciones del algoritmo:

Page 39: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 30

el incremento en el tiempo es casi lineal respecto al aumento en las iteraciones. El pro-

cedimiento de clasi�car imágenes mediante el MLP requiere de 44.70 milisegundos por

cada imagen, y esta cantidad es constante independientemente del número de iteraciones

utilizadas en el entrenamiento.

0

2

4

6

8

10

12

1 0 0 2 0 0 3 0 0 4 0 0 5 0 0

TIEM

PO

(D

ÍAS)

ITERACIONES

MLP

Entrenamiento

Figura 5.1: Incremento del tiempo de entrenamiento contra el número de iteraciones para el

perceptrón multicapa.

Finalmente los algoritmos SVM y ELM obtienen el primer y tercer lugar en precisión,

con un 94.41% y 93.04% respectivamente. Para la SVM se prueban diferentes valores

para el parámetro de regularización c, desde 2−5, 2−3, 2−1, 21, · · · , 215. El resultado óptimo

se obtiene con un valor para c de 2−1, acertando en 11,925 imágenes. El tiempo de en-

trenamiento para esta con�guración es de 19.10 minutos, y el tiempo de pruebas de 0.59

milisegundos por cada imagen. El tiempo que toma la clasi�cación es constante para los

diferentes valores de c, mientras que el incremento en el tiempo de entrenamiento puede

observarse en la Figura 5.2.

La precisión de la ELM incrementa junto con el número de neuronas ocultas. El mejor

valor registrado es de 11,751 imágenes clasi�cadas correctamente utilizando 9,000 neuronas

ocultas. La estructura de la red neuronal entrenada mediante ELM es similar a la del

perceptrón multicapa: 1568 neuronas de entrada, n neuronas ocultas y 43 neuronas de

Page 40: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 31

0

10

20

30

40

50

60

2 ^ - 5 2 ^ - 3 2 ^ - 1 2 ^ 1 2 ^ 3 2 ^ 5 2 ^ 7 2 ^ 9 2 ^ 1 1 2 ^ 1 3 2 ^ 1 5

TIEM

PO

(M

INU

TOS)

REGULARIZACIÓN (C)

SVM

Entrenamiento

Figura 5.2: Incremento en el tiempo de entrenamiento contra el parámetro de regularización

C para la máquina de soporte vectorial.

salida. Se comparan los resultados de utilizar desde 1,000 hasta 9,000 neuronas en la capa

oculta, en intervalos de 1,000. En el caso de la ELM el tiempo de entrenamiento y el

tiempo de pruebas aumentan proporcionalmente respecto al número de neuronas ocultas,

lo cual puede observarse en la Figura 5.3. La con�guración óptima tarda 84.58 minutos en

su entrenamiento, y 85.42 minutos al realizar las pruebas, o 405.80 milisegundos por cada

imagen.

Los tiempos de entrenamiento y pruebas en ELM son parecidos. Esto es debido a que

durante el entrenamiento es necesario evaluar los descriptores del conjunto de entrena-

miento a través de la capa de entrada con pesos aleatorios, para utilizar el resultado como

entrada en el proceso de regresión lineal.

5.2 Fase 2: Experimentos con Descriptores PCA-

HOG

Mediante un análisis de componentes principales, los descriptores HOG son transformados

a un nuevo conjunto de vectores característicos que representan la misma información pero

Page 41: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 32

0

10

20

30

40

50

60

70

80

90

1 0 0 0 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 6 0 0 0 7 0 0 0 8 0 0 0 9 0 0 0

TIEM

PO

(M

INU

TOS)

NEURONAS OCULTAS

ELM

Entrenamiento Pruebas

Figura 5.3: Incremento en el tiempo de entrenamiento y pruebas contra el número de neuronas

ocultas para la máquina de aprendizaje extremo.

con menor dimensionalidad. El resultado es un intercambio entre la precisión obtenida

y los tiempos de entrenamiento y ejecución de cada algoritmo. Los nuevos descriptores

PCA-HOG contienen 392 elementos cada uno, es decir la cuarta parte del tamaño del

vector original. Para el algoritmo LDA, la pérdida en la precisión corresponde solamente

al 1.43%, bajando del 93.15% al 91.72%. LDA ocupa nuevamente el segundo lugar en

precisión acertando en 11,585 imágenes. Se obtiene un tiempo de entrenamiento de 6.63

segundos y 1.84 segundos para pruebas, es decir 0.14 milisegundos por cada imagen. Al

utilizar vectores PCA-HOG, LDA es 21.83 y 4.90 veces más rápido en su entrenamiento y

pruebas respectivamente.

El desempeño más bajo en este caso lo obtienen los algoritmos k-NN y SVM, con

una precisión del 76.77% y 83.11% respectivamente. k-NN es probado con 10 hasta 40

vecinos, en intervalos de 10. El desempeño óptimo se encuentra con un valor de 30 para k,

llegando a clasi�car correctamente hasta 9,697 imágenes. Existe una ganancia del 0.71%

en la precisión, y es 3.96 veces más rápido que al utilizar descriptores HOG, reduciendo el

tiempo de ejecución a 60.55 milisegundos por cada imagen, el cual se mantiene constante

independientemente del valor de k. Para la SVM, se utilizan valores de 2−5 y 2−3 para el

Page 42: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 33

parámetro de regularización c. Con c = 2−3 se clasi�can correctamente 10,498 imágenes

con un tiempo de entrenamiento de 28 minutos y 0.14 milisegundos para clasi�car cada

imagen. Esto es 0.68 y 4 veces más rápido que al utilizar descriptores HOG. Mientras que

el tiempo de pruebas es constante, el tiempo de entrenamiento aumenta hasta 3.79 veces

al cambiar el valor del parámetro c de 2−5 a 2−3.

Finalmente el primer y tercer lugar en precisión es para MLP y ELM, con una precisión

del 92.76% y 89.50% respectivamente. La con�guración de las redes neuronales es similar:

392 neuronas de entrada, n neuronas en la capa intermedia, y 43 neuronas de salida. Para

MLP se prueban 300, 600, 900 y 1,200 neuronas en la capa oculta. El número de iteraciones

para el algoritmo de entrenamiento es de 100. Con 900 neuronas ocultas se clasi�can

correctamente 11,716 imágenes, con un entrenamiento de 13.68 horas y 10.52 milisegundos

para clasi�car cada imagen. Esto corresponde a una ganancia en la precisión del 17.37%

con un tiempo de entrenamiento 19.60 veces menor y tiempo de pruebas 4.24 veces menor

que el MLP óptimo utilizando descriptores HOG. Los tiempos de entrenamiento y pruebas

aumentan proporcionalmente conforme se incrementa el número de neuronas ocultas. Esto

puede observarse en la Figura 5.4.

0

5

10

15

20

3 0 0 6 0 0 9 0 0 1 2 0 0

TIEM

PO

(H

OR

AS)

NEURONAS OCULTAS

MLP

Entrenamiento

Figura 5.4: Incremento en el tiempo de entrenamiento contra el número de neuronas ocultas

para el perceptrón multicapa usando entradas PCA-HOG.

Page 43: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 34

Para la ELM se utilizan desde 300 hasta 2,700 neuronas ocultas, en intervalos de 300.

El resultado óptimo se obtiene con 2,700 neuronas ocultas, llegando a 11,305 imágenes

clasi�cadas correctamente. Con esta con�guración la ELM tarda 7.88 minutos en ser en-

trenada, y 32.90 milisegundos en la clasi�cación de cada imagen. Esto corresponde a una

pérdida del 3.53% de la precisión, con la ventaja de un entrenamiento 10.72 veces más

rápido y un tiempo de ejecución 12.33 veces más rápido. Ambos tiempos aumentan pro-

porcionalmente conforme el aumento en el número de neuronas ocultas, como puede verse

en la Figura 5.5.

0

1

2

3

4

5

6

7

8

9

3 0 0 6 0 0 9 0 0 1 2 0 0 1 5 0 0 1 8 0 0 2 1 0 0 2 4 0 0 2 7 0 0

TIEM

PO

(M

INU

TOS)

NEURONAS OCULTAS

ELM

Entrenamiento Pruebas

Figura 5.5: Incremento en el tiempo de entrenamiento y pruebas contra el número de neuronas

ocultas para la máquina de aprendizaje extremo usando descriptores PCA-HOG.

5.3 Resultados

Los algoritmos tienen un buen desempeño para la clasi�cación de señales de tránsito. El

rendimiento más bajo se obtiene con el método más simple, k-NN, con una precisión má-

xima del 76.06% utilizando k = 40 y descriptores HOG. Con el perceptrón multicapa

se obtiene una precisión del 92.76% mientras que la ELM obtiene el 89.50% utilizando

descriptores PCA-HOG. El MLP requiere grandes cantidades de tiempo de entrenamien-

Page 44: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 35

Algoritmo Neuronas Oc. Precisión Entrenamiento (ms) Pruebas (ms)

PCA-MLP 300 0.927157561 16,927,146 46,888PCA-MLP 600 0.925811560 33,353,856 93,296PCA-MLP 900 0.927632621 49,276,844 132,964PCA-MLP 1,200 0.925732383 65,383,957 176,984PCA-ELM 1,800 0.886302454 235,801 302,425PCA-ELM 2,100 0.892715756 322,782 341,671PCA-ELM 2,400 0.893032462 397,844 383,206PCA-ELM 2,700 0.895091053 473,216 415,534

Tabla 5.3: Comparación del rendimiento y la cantidad de neuronas ocultas para MLP y ELM

al utilizar descriptores PCA-HOG. ELM requiere una mayor cantidad de neuronas para obtener

buenos resultados lo cual aumenta su tiempo de ejecución. MLP requiere más de 100 veces

el tiempo de entrenamiento, sin embargo obtiene mejores resultados y un tiempo menor de

ejecución.

to, pero generalmente requiere de menor cantidad de neuronas ocultas para obtener una

precisión lo su�cientemente alta. En cambio, la ELM requiere una cantidad mucho mayor

de neuronas ocultas lo cual aumenta su tiempo de ejecución, pero el entrenamiento es por

mucho más rápido en comparación con el MLP. Esta información se resume en la Tabla

5.3.

De acuerdo con los resultados anteriores, la máquina de aprendizaje extremo es sig-

ni�cativamente más rápida de entrenar que un perceptrón multicapa con el algoritmo

tradicional de propagación inversa o sus variantes. En este caso, el algoritmo MLP requie-

re para su resultado óptimo (tercer �la en la Tabla 5.3), hasta 104.13 veces más tiempo

para el entrenamiento, en comparación con el resultado óptimo de la ELM (última �la en

la Tabla 5.3). Ambos algoritmos contaron con una con�guración similar de 392 neuronas

de entrada, un número variable de neuronas ocultas, y 43 neuronas de salida. También se

recibieron como entrada los mismos vectores PCA-HOG en ambos casos.

En cuanto a la capacidad de generalizar las muestras del conjunto de entrenamiento,

en este trabajo se han obtenido mejores resultados al utilizar ELM con descriptores HOG

en comparación con MLP, un 93.04% contra un 75.39% respectivamente. Sin embargo hay

que aclarar que la implementación de MLP que utiliza descriptores HOG como entrada

no fue con�gurada adecuadamente para su óptimo desempeño debido a limitaciones de

tiempo. Utilizando un mayor número de neuronas ocultas y mayor número de iteraciones

Page 45: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 36

de entrenamiento es muy probable que se obtuvieren excelentes resultados, tal vez incluso

mejores que con la ELM, pero esto tomaría tiempo en la escala de meses. Considerando

esto y la precisión superior del MLP respecto a la ELM al utilizar vectores PCA-HOG,

con un 92.76% contra un 89.50%, se puede concluir que la capacidad de generalizar

las muestras es similar en ambos métodos, o ligeramente superior para un perceptrón

multicapa tradicional.

Finalmente es posible decir que la máquina de aprendizaje extremo es mucho más

simple de utilizar que los algoritmos relacionados con la propagación inversa para redes

neuronales. Esto es debido a que con la ELM solo es necesario modi�car el número de

neuronas en la capa oculta, mientras que en un MLP aparte de modi�car las neuronas

ocultas también se ajusta el número de iteraciones para el entrenamiento. Es más simple

trabajar con una variable que con dos. Además, el tiempo que requiere el algoritmo ELM

contra un MLP para su entrenamiento es menos de 1/100. Aunque la MLP generalmente

requiere menor cantidad de neuronas ocultas, la diferencia en tiempos de ejecución no es de

un orden de magnitud signi�cativo. En la Tabla 5.3 PCA-MLP requiere 10.52 milisegundos

en su precisión óptima para clasi�car cada imagen, mientras que PCA-ELM requiere 32.90

milisegundos por cada imagen.

Mediante la herramienta de análisis de resultados es posible obtener la precisión de cada

algoritmo al evaluar el conjunto de pruebas. También es posible cuanti�car la cantidad de

errores que se cometieron por cada categoría y generar la matriz de confusión. La mayoría

de los algoritmos, con excepción del MLP con entradas HOG, confunden las señales de

tránsito correpondientes a formas geométricas similares: imágenes de señales redondas

son confundidas entre sí, así como las señales triangulares. En la Figura 5.6 se muestra

la precisión de los algoritmos con entradas PCA-HOG, y la matriz de confusión para el

algoritmo PCA-LDA. La matriz de confusión del MLP con entradas HOG di�ere en gran

medida del resto de los algoritmos. Estas diferencias se ilustran en la Figura 5.7 donde se

muestra la matriz de confusión para MLP y PCA-MLP.

La diferencia en la matriz de confusión de MLP con respecto al resto de los algoritmos

radica en que la gran mayoría de los errores cometidos son imágenes confundidas con

la categoría número 40. En cambio, el resto de los algoritmos distribuyen sus errores

Page 46: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 5. EXPERIMENTOS Y RESULTADOS 37

Figura 5.6: Ejemplo del funcionamiento de la herramienta para el análisis de resultados. Pre-

cisión de los algoritmos con entradas PCA-HOG y matriz de confusión para PCA-LDA.

Figura 5.7: Matriz de confusión para los algoritmos MLP y PCA-MLP. La matriz de PCA-

MLP es similar al resto de los algoritmos mientras que MLP di�ere en la naturaleza de los errores

cometidos.

de manera uniforme entre categorías con formas geométricas similares. Esta diferencia

podría ser atribuida a la falta de neuronas ocultas o de mayor número de iteraciones

del algoritmo de entrenamiento para el MLP. Con esta información se concluye que para

entrenar un perceptrón multicapa que obtenga resultados arriba del 90% en precisión

en este contexto, se necesitan de meses enteros para su entrenamiento. En contraste la

máquina de aprendizaje extremo obtiene un 93.04% de precisión con solamente 1.40 horas

de entrenamiento.

Page 47: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 6

Conclusiones y Trabajo Futuro

Para concluir, se destacan las siguientes observaciones relacionadas con la hipótesis plan-

teada:

Los algoritmos implementados, con excepción del k-NN, son capaces de clasi�car las

señales de tránsito cun una precisión mayor o igual al 80%, en un tiempo menor a

medio segundo.

El algoritmo ELM es capaz de resolver el problema de clasi�car señales de trán-

sito. Aquí se reportan resultados del 93.04% y 89.50% de precisión al evaluar el

conjunto de pruebas de la base de datos utilizando descriptores HOG y PCA-HOG

respectivamente.

Los mejores resultaros al utilizar descriptores HOG se obtuvieron mediante el algo-

ritmo SVM con una precisión del 94.41% al evaluar el conjunto de entrenamiento. Al

utilizar descriptores PCA-HOG el algoritmo MLP obtiene un 92.76% de precisión.

El algoritmo ELM obtiene un excelente desempeño en comparación con los otros

métodos, siendo el segundo método con mayor precisión al utilizar descriptores HOG

y PCA-HOG. La diferencia entre la SVM y la ELM con descriptores HOG es apenas

mayor al 1%.

Para todos los métodos implementados el tiempo de ejecución para evaluar una

señal de tránsito es del orden de los milisegundos y en ningún caso alcanza el medio

segundo.

38

Page 48: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

CAPÍTULO 6. CONCLUSIONES Y TRABAJO FUTURO 39

En cuanto al entrenamiento y desempeño de la ELM en comparación con un MLP

entrenado mediante propagación inversa, se tienen las siguientes observaciones:

La máquina de aprendizaje extremo es signi�cativamente más rápida de entrenar

que un perceptrón multicapa con el algoritmo de propagación inversa.

En cuanto a la capacidad de generalizar las muestras del conjunto de entrenamiento,

en este trabajo se han obtenido mejores resultados al utilizar ELM con descriptores

HOG en comparación con MLP.

La máquina de aprendizaje extremo es mucho más simple de utilizar que el algoritmo

de propagación inversa para redes neuronales. Esto es debido a que con la ELM solo

es necesario modi�car el número de neuronas en la capa oculta.

Como trabajo futuro, podrían realizarse las siguientes aportaciones:

Extender la experimentación para aplicar diversas transformaciones a los vectores

característicos HOG y comparar los cambios en la precisión y tiempos más allá de

un PCA.

Probar distintos métodos de extracción de características directamente sobre el con-

junto de imágenes.

Encontrar una combinación de métodos que lleguen a una precisión superior al 95%

y su ejecución pueda darse en tiempo real con hardware común.

Conectar los métodos explorados con un sistema de detección de señales de tránsito

y de esta forma, probar el sistema completo en tiempo real a bordo de un vehículo.

Page 49: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Bibliografía

[1] M. Bertozzi, A. Broggi, and A. Fascioli, �Vision-based intelligent vehicles: State of

the art and perspectives,� Robotics and Autonomous systems, vol. 32, no. 1, pp. 1�16,

2000.

[2] R. Bishop, �Intelligent vehicle applications worldwide,� Intelligent Systems and their

Applications, IEEE, vol. 15, no. 1, pp. 78�81, 2000.

[3] J. Marko�, �Google cars drive themselves, in tra�c,� New York Times, vol. 9, 2010.

[4] J. Stallkamp, M. Schlipsing, J. Salmen, and C. Igel, �Man vs. com-

puter: Benchmarking machine learning algorithms for tra�c sign re-

cognition,� Neural Networks, no. 0, pp.�, 2012. [Online]. Available:

http://www.sciencedirect.com/science/article/pii/S0893608012000457

[5] J. Miura, T. Kanda, and Y. Shirai, �An active vision system for real-time tra�c sign

recognition,� in Intelligent Transportation Systems, 2000. Proceedings. 2000 IEEE.

IEEE, 2000, pp. 52�57.

[6] A. De la Escalera, J. M. Armingol, and M. Mata, �Tra�c sign recognition and analysis

for intelligent vehicles,� Image and vision computing, vol. 21, no. 3, pp. 247�258, 2003.

[7] S. Maldonado-Bascón, S. Lafuente-Arroyo, P. Gil-Jimenez, H. Gómez-Moreno, and

F. López-Ferreras, �Road-sign detection and recognition based on support vector ma-

chines,� IEEE Transactions on Intelligent Transportation Systems, vol. 8, no. 2, pp.

264�278, 2007.

40

Page 50: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

BIBLIOGRAFÍA 41

[8] J. Stallkamp, M. Schlipsing, J. Salmen, and C. Igel, �The german tra�c sign recogni-

tion benchmark: a multi-class classi�cation competition,� in The 2011 International

Joint Conference on Neural Networks (IJCNN). IEEE, 2011, pp. 1453�1460.

[9] F. Zaklouta, B. Stanciulescu, and O. Hamdoun, �Tra�c sign classi�cation using kd

trees and random forests,� in The 2011 International Joint Conference on Neural

Networks (IJCNN). IEEE, 2011, pp. 2151�2155.

[10] N. Dalal and B. Triggs, �Histograms of oriented gradients for human detection,� in

CVPR 2005. IEEE Computer Society Conference on Computer Vision and Pattern

Recognition, vol. 1. IEEE, 2005, pp. 886�893.

[11] P. Sermanet and Y. LeCun, �Tra�c sign recognition with multi-scale convolutional

networks,� in The 2011 International Joint Conference on Neural Networks (IJCNN).

IEEE, 2011, pp. 2809�2813.

[12] D. Ciresan, U. Meier, J. Masci, and J. Schmidhuber, �A committee of neural networks

for tra�c sign classi�cation,� in The 2011 International Joint Conference on Neural

Networks (IJCNN). IEEE, 2011, pp. 1918�1921.

[13] Z. Huang, Y. Yu, S. Ye, and H. Liu, �Extreme learning machine based tra�c sign

detection,� in 2014 International Conference on Multisensor Fusion and Information

Integration for Intelligent Systems (MFI). IEEE, 2014, pp. 1�6.

[14] Z.-L. Sun, H. Wang, W.-S. Lau, G. Seet, and D. Wang, �Application of BW-ELM

model on tra�c sign recognition,� Neurocomputing, vol. 128, pp. 153�159, 2014.

[15] K. Pearson, �Liii. on lines and planes of closest �t to systems of points in space,�

The London, Edinburgh, and Dublin Philosophical Magazine and Journal of Science,

vol. 2, no. 11, pp. 559�572, 1901.

[16] S. Wold, K. Esbensen, and P. Geladi, �Principal component analysis,� Chemometrics

and intelligent laboratory systems, vol. 2, no. 1, pp. 37�52, 1987.

[17] E. Fix and J. L. Hodges Jr, �Discriminatory analysis-nonparametric discrimination:

consistency properties,� DTIC Document, Tech. Rep., 1951.

Page 51: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

BIBLIOGRAFÍA 42

[18] T. Cover and P. Hart, �Nearest neighbor pattern classi�cation,� IEEE Transactions

on Information Theory, vol. 13, no. 1, pp. 21�27, 1967.

[19] R. A. Fisher, �The use of multiple measurements in taxonomic problems,� Annals of

eugenics, vol. 7, no. 2, pp. 179�188, 1936.

[20] S. Singh and S. Silakari, �Generalized discriminant analysis algorithm for feature

reduction in cyber attack detection system,� arXiv preprint arXiv:0911.0787, 2009.

[21] V. N. Vapnik and S. Kotz, Estimation of dependences based on empirical data.

Springer-Verlag New York, 1982, vol. 40.

[22] C. Cortes and V. Vapnik, �Support-vector networks,� Machine learning, vol. 20, no. 3,

pp. 273�297, 1995.

[23] A. K. Jain, J. Mao, and K. Mohiuddin, �Arti�cial neural networks: A tutorial,� Com-

puter, vol. 29, no. 3, pp. 31�44, 1996.

[24] W. S. McCulloch and W. Pitts, �A logical calculus of the ideas immanent in nervous

activity,� The bulletin of mathematical biophysics, vol. 5, no. 4, pp. 115�133, 1943.

[25] G.-B. Huang, Q.-Y. Zhu, and C.-K. Siew, �Extreme learning machine: a new learning

scheme of feedforward neural networks,� in Proceedings. 2004 IEEE International

Joint Conference on Neural Networks, vol. 2. IEEE, 2004, pp. 985�990.

[26] C. Igel, V. Heidrich-Meisner, and T. Glasmachers, �Shark,� Journal of Machine Lear-

ning Research, vol. 9, pp. 993�996, 2008.

[27] Y. Liu and Y. F. Zheng, �One-against-all multi-class svm classi�cation using reliability

measures,� in IJCNN'05. Proceedings. 2005 IEEE International Joint Conference on

Neural Networks, 2005, vol. 2. IEEE, 2005, pp. 849�854.

[28] C. Igel and M. Hüsken, �Empirical evaluation of the improved rprop learning algo-

rithms,� Neurocomputing, vol. 50, pp. 105�123, 2003.

Page 52: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

APÉNDICE A

Resultados de las Fases de Experi-

mentación

LDA

Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

11,766 0.931591449 144,929 9,062

PCA-LDA

Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

11,585 0.917260491 6,638 1,846

43

Page 53: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

APÉNDICE A. RESULTADOS DE LAS FASES DE EXPERIMENTACIÓN 44

k-NN

k (vecinos) Aciertos Precisión Pruebas (ms)

10 9,567 0.757482185 3,010,902

20 9,584 0.758828187 3,016,994

30 9,592 0.759461599 3,026,012

40 9,607 0.760649248 3,032,044

50 9,591 0.759382423 3,039,696

60 9,581 0.758590657 3,034,839

70 9,536 0.755027712 3,033,719

80 9,535 0.754948535 3,035,767

90 9,501 0.752256532 2,992,591

PCA-k-NN

k (vecinos) Aciertos Precisión Pruebas (ms)

10 9,616 0.761361837 762,822

20 9,657 0.764608076 765,916

30 9,697 0.767775139 764,783

40 9,695 0.767616785 769,268

Page 54: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

APÉNDICE A. RESULTADOS DE LAS FASES DE EXPERIMENTACIÓN 45

SVM

c (reg.) Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

2−5 11,911 0.943072051 533,314 7,520

2−3 11,924 0.944101346 804,595 7,505

2−1 11,925 0.944180523 1,146,062 7,524

21 11,849 0.938163104 1,771,465 7,533

23 11,774 0.932224861 2,351,991 7,506

25 11,743 0.929770388 2,946,999 7,502

27 11,737 0.929295329 3,093,122 7,310

29 11,737 0.929295329 3,074,404 7,506

211 11,737 0.929295329 3,078,827 7,503

213 11,737 0.929295329 3,081,567 7,527

215 11,737 0.929295329 3,084,316 7,531

PCA-SVM

c (reg.) Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

2−5 10,400 0.823436263 442,918 1,885

2−3 10,498 0.831195566 1,680,175 1,880

MLP

n (neuronas) m (iter.) Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

1,000 100 4,568 0.361678543 198,110,032 589,621

1,000 200 7,501 0.593903405 394,927,886 589,156

1,000 300 8,507 0.673555028 587,738,496 572,083

1,000 400 9,058 0.717181314 774,113,240 547,308

1,000 500 9,522 0.753919240 965,909,322 564,682

Page 55: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

APÉNDICE A. RESULTADOS DE LAS FASES DE EXPERIMENTACIÓN 46

PCA-MLP

n (neuronas) m (iter.) Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

300 100 11,710 0.927157561 16,927,146 46,888

600 100 11,693 0.92581156 33,353,856 93,296

900 100 11,716 0.927632621 49,276,844 132,964

1,200 100 11,692 0.925732383 65,383,957 176,984

ELM

n (neuronas) Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

1,000 10,875 0.861045131 47,449 608,156

2,000 11,314 0.895803642 232,426 1,228,137

3,000 11,482 0.909105305 540,364 1,842,806

4,000 11,603 0.918685669 958,462 2,435,764

5,000 11,680 0.924782264 1,527,997 3,035,878

6,000 11,691 0.925653207 2,285,577 3,610,583

7,000 11,718 0.927790974 3,249,181 4,108,163

8,000 11,728 0.928582740 4,185,653 4,552,341

9,000 11,751 0.930403800 5,074,902 5,125,355

Page 56: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

APÉNDICE A. RESULTADOS DE LAS FASES DE EXPERIMENTACIÓN 47

PCA-ELM

n (neuronas) Aciertos Precisión Entrenamiento (ms) Pruebas (ms)

300 9,963 0.788836105 4,380 47,318

600 10,598 0.839113222 16,769 93,805

900 10,909 0.863737134 35,777 139,127

1,200 11,042 0.874267617 62,414 182,311

1,500 11,152 0.882977039 141,339 253,265

1,800 11,194 0.886302454 235,801 302,425

2,100 11,275 0.892715756 322,782 341,671

2,400 11,279 0.893032462 397,844 383,206

2,700 11,305 0.895091053 473,216 415,534

Page 57: Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito

Vitae

Adrián García Betancourt nació en Monterrey, Nuevo León el día 20 de septiembre del

año 1990. Realizó sus estudios profesionales en el Tecnológico de Monterrey, Campus

Monterrey, donde obtuvo el título de Ingeniero en Tecnologías Computacionales en el año

2013. Obtuvo un Testimonio de Desempeño Sobresaliente en el Examen General para

el Egreso de la Licenciatura en Ingeniería de Software, por parte del Centro Nacional de

Evaluación para la Educación Superior, A. C. Gracias a su buen desempeño académico, fue

otorgado una beca para la realización de sus estudios de maestría por parte del Tecnológico

de Monterrey, Campus Guadalajara, donde actualmente cursa la Maestría en Ciencias de

la Computación.

48