Análisis Comparativo de Métodos de Reconocimiento de Señales de Tránsito
-
Upload
adrian-garcia-betancourt -
Category
Documents
-
view
13 -
download
0
description
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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.
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
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.
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
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
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.
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)
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)
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)
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
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
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].
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.
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
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
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
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.
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
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
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
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.
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
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:
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
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
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
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.
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-
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
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
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.
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
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.
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
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.
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.
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
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
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
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
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
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