Vous êtes sur la page 1sur 57

Instituto Tecnolgico y de Estudios

Superiores de Monterrey

Campus Guadalajara

Escuela de Graduados en Ingeniera y


Arquitectura (EGIA)
Maestra en Ciencias de la Computacin

Anlisis Comparativo de Mtodos de


Reconocimiento de Seales de
Trnsito
AUTOR:
Adrin Garca Betancourt
ASESOR: Gildardo Snchez 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.

Agradecimientos
Deseo reconocer el apoyo y paciencia de mi asesor de tesis de maestra, el Dr. Gildardo
Snchez Ante. Sin su apoyo y dedicacin la realizacin de este trabajo no habra sido
posible. Son inumerables sus enseanzas y experiencias que me han enriquecido como
profesionista y como persona. Un agradecimiento especial al Maestro Kenneth William
Bauer por su apoyo en la conguracin y acceso al servidor remoto en el cual se realizan
los experimentos. Tambin agradezco al Dr. Luis Eduardo Falcn Morales por su apoyo
y orientacin durante los estudios de maestra. Tambin quisiera agradecer a los otros
miembros del comit supervisor de tesis por su tiempo y atencin.

ii

Resumen
El problema considerado en este trabajo consiste en la clasicacin automtica de imgenes de seales de trnsito con una precisin no menor al 80 %. Las seales varan conforme a cambios en la iluminacin, condiciones climticas y su condicin fsica. Deben ser
identicadas en tiempo real mediante procedimientos simples que requieran una mnima
implementacin de

hardware

. La metodologa consiste en cuatro pasos: obtener una canti-

dad sucientemente grande de imgenes de seales de trnsito para formar los conjuntos
de entrenamiento y pruebas; obtener al menos dos descriptores o vectores caractersticos
con diferente dimensionalidad; implementar los algoritmos anlisis de discriminante lineal,

k -vecinos ms cercanos, mquina de soporte vectorial, perceptrn multicapa y mquina de


aprendizaje extremo; y optimizar los algoritmos para su mxima precisin sobre el conjunto de pruebas; comparar y analizar los resultados. Los algoritmos explorados son buenas
opciones para el reconocimiento de seales de trnsito en tiempo real con una precisin
arriba del 80 %, con excepcin del

k -vecinos

ms cercanos. Para los sistemas de asistencia

al conductor en los que esta precisin sea suciente, cualquiera de estos mtodos toma un
tiempo en el orden de los milisegundos para clasicar una imagen de alguna seal de trnsito. El mayor tiempo registrado para clasicar una imagen es inferior a medio segundo.
Sin embargo, para implementaciones de sistemas que requieran una precisin superior, es
recomendable utilizar una o ms combinaciones de algoritmos y clasicadores, as como el
uso de hardware especializado para correr propuestas ms complejas con el n de resolver
este problema.

iii

Abstract
The problem considered in this work consists of the automatic classication of trac 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 identied in real
time by using simple procedures which require a minimal hardware implementation. The
methodology consists of four steps: to get a suciently high number of trac sign images
to create the training and testing sets; to get at least two sets of feature vectors with
dierent 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
trac 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 trac 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 classiers, as well as the use of specialized
hardware to run more complex systems with the objective of solving this problem.

iv

Contenido
i

Dedicatoria

ii

Agradecimientos

Resumen

iii

Abstract

iv

vii

Lista de Tablas

viii

Lista de Figuras

1. Introduccin

1.1.

Antecedentes

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2.

Denicin del Problema

1.3.

Objetivos

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.

Justicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5.

Hiptesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Trabajo Previo

3. Marco Terico

10

3.1.

Histogramas de Gradientes con Orientacin . . . . . . . . . . . . . . . . . .

10

3.2.

Anlisis de Componentes Principales

. . . . . . . . . . . . . . . . . . . . .

11

3.3.

k -Vecinos

. . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

3.4.

Anlisis de Discriminante Lineal . . . . . . . . . . . . . . . . . . . . . . . .

13

3.5.

Mquina de Soporte Vectorial

14

Ms Cercanos

. . . . . . . . . . . . . . . . . . . . . . . . .

CONTENIDO

vi

3.6.

Perceptrn Multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

3.7.

Mquina de Aprendizaje Extremo . . . . . . . . . . . . . . . . . . . . . . .

18

4. Metodologa

22

4.1.

Obtencin de Imgenes . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

4.2.

Obtencin de Vectores Caractersticos . . . . . . . . . . . . . . . . . . . . .

23

4.3.

Implementacin de Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . .

24

4.4.

Ejecucin y Comparacin 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

Bibliografa

42

A. Resultados de las Fases de Experimentacin

43

Vitae

48

Lista de Tablas
5.1.

Resultados ptimos utilizando descriptores HOG como entrada.

5.2.

Resultados ptimos utilizando descriptores HOG transformados mediante


PCA.

5.3.

. . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

28

29

Comparacin 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
ejecucin. MLP requiere ms de 100 veces el tiempo de entrenamiento, sin
embargo obtiene mejores resultados y un tiempo menor de ejecucin.

vii

. . .

35

Lista de Figuras
3.1.

Clasicacin de un punto utilizando

k=3

k = 5.

Imagen de Wikimedia

Commons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.

12

Separacin de dos clases ediante vectores de soporte. Imagen de Wikimedia


Commons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

3.3.

Ilustracin de un perceptrn multicapa. Imagen de Wikimedia Commons. .

18

4.1.

Ejemplo de seales de trnsito para ser clasicadas. Imgenes tomadas de


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

5.1.

Incremento del tiempo de entrenamiento contra el nmero de iteraciones


para el perceptrn multicapa.

5.2.

. . . . . . . . . . . . . . . . . . . . . . . . .

para la mquina de soporte vectorial. . . . . . . . . . . . . . . . .

. . . . . . . . .

32

Incremento en el tiempo de entrenamiento contra el nmero de neuronas


ocultas para el perceptrn multicapa usando entradas PCA-HOG. . . . . .

5.5.

31

Incremento en el tiempo de entrenamiento y pruebas contra el nmero de


neuronas ocultas para la mquina de aprendizaje extremo.

5.4.

30

Incremento en el tiempo de entrenamiento contra el parmetro de regularizacin

5.3.

23

33

Incremento en el tiempo de entrenamiento y pruebas contra el nmero de


neuronas ocultas para la mquina de aprendizaje extremo usando descriptores PCA-HOG.

5.6.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

Ejemplo del funcionamiento de la herramienta para el anlisis de resultados.


Precisin de los algoritmos con entradas PCA-HOG y matriz de confusin
para PCA-LDA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.7.

37

Matriz de confusin para los algoritmos MLP y PCA-MLP. La matriz de


PCA-MLP es similar al resto de los algoritmos mientras que MLP diere
en la naturaleza de los errores cometidos. . . . . . . . . . . . . . . . . . . .

viii

37

CAPTULO

Introduccin

1.1

Antecedentes

En las ltimas dcadas ha surgido gran inters en resolver problemas relacionados con
los sistemas de transporte. Ejemplos de las condiciones que se buscan mejorar son la
optimizacin de redes de transporte, condiciones de seguridad, consumo de energa y la
contaminacin producida por los vehculos. A partir de esto han surgido avances en la
investigacin sobre la conduccin automatizada de vehculos. El inters en las tecnologas
de transportacin inteligente oreci hace ms de tres dcadas. En Europa, el proyecto
PROMETHEUS

dented Safety)

(Program for a European Trac with Highest Eciency and Unprece-

comenz a explorar estas tecnologas desde el ao 1986. En los Estados

Unidos, las iniciativas de universidades y centros de investigacin dan origen a la NAHSC

(National Automated Highway System Consortium)

, establecida por el gobierno en el ao

1995 [1].
Los sistemas que operan vehculos inteligentes utilizan sensores y algoritmos de inteligencia articial para llegar a un entendimiento del entorno. Estos sistemas pueden asistir
al conductor o tomar el control del vehculo por completo. Dentro de las prximas dcadas ser comn ver vehculos que pueden moverse de forma autnoma y navegar entre
el trco. Las principales reas de inteligencia de vehculos son sistemas que: avisan o
previenen al conductor (prevencin de colisiones); controlan parcialmente el vehculo, co-

CAPTULO 1.

INTRODUCCIN

mo un asistente de manejo o una intervencin de emergencia; controlan completamente el


vehculo. Los sistemas de asistencia al conductor proveen un gran benecio disminuyendo
la gran cantidad de muertes y heridas por accidentes en carretera. Debido a la importancia de maximizar la conabilidad de estos sistemas y de minimizar las falsas alarmas, la
introduccin de los vehculos inteligentes avanza de forma lenta pero constante [2].
En la actualidad, los vehculos autnomos 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 autnomo. En el ao 2010 en la otilla de

Google Cars

ya

haban conducido un total de 1,000 millas sin intervencin humana y ms de 140,000


millas con control humano ocasional. La otilla ha sido probada inclusive en una de las
calles ms 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 ms rpido que los humanos, cuenta con
una percepcin de 360 grados por medio de sensores, y no puede ser distrado [3].
Para que los vehculos autnomos lleguen a ser una realidad en el futuro cercano y
poder aprovechar sus benecios, es necesario continuar con la investigacin y el desarrollo
en las reas relacionadas con la inteligencia de vehculos. El reconocimiento de seales de
trnsito es un tema que engloba gran parte de la funcionalidad de los vehculos autnomos 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 seales de trnsito. Desde asistir al conductor advirtiendo mediante una seal auditiva la presencia de un sealamiento, hasta tomar alguna accin en
respuesta a un sealamiento, como disminuir la velocidad, o tomar el control del vehculo.
A pesar de las oportunidades y los benecios que prometen los sistemas de asistencia
al conductor, tambin existen limitantes y mucho trabajo por hacer para alcanzar un
nivel de conabilidad aceptable para dichos sistemas. El problema que aqu se ataca es
conocer el comportamiento individual de los algoritmos ms comunmente utilizados para
reconocer seales de trnsito, y comparar su desempeo en trminos de su precisin y
tiempo de entrenamiento y pruebas. Mientras que existen numerosos trabajos en los que se
intenta llegar a la mxima precisin en el reconocimiento de seales de trnsito mediante la

CAPTULO 1.

INTRODUCCIN

combinacin o concatenacin de diferentes mtodos, nuevos algoritmos de reconocimiento


de patrones continan surgiendo y por lo tanto persiste la necesidad de probar su ecacia
para reconocer seales de trnsito.

1.2

Denicin del Problema

El problema considerado en este trabajo consiste en la clasicacin automtica de imgenes


de seales de trnsito con una precisin mayor o igual al 80 %. Las seales varan conforme
a cambios en la iluminacin, condiciones climticas y su condicin fsica. Son obtenidas
de la base de datos para la competencia

German Trac Sign Recognition Benchmark

de

la IJCNN 2011 [4]. Cada una muestra una seal de trnsito en el centro con un margen
al rededor para permitir la deteccin de bordes. La base de datos contiene ms de 50
mil imgenes de 43 seales de trnsito distintas. Deben ser identicadas en tiempo real
mediante procedimientos simples que requieran una mnima implementacin de

1.3

hardware

Objetivos

1. Implementar los siguientes algoritmos para la clasicacin de las seales de trnsito


con una precisin mayor o igual al 80 %: anlisis de discriminante lineal,

k -vecinos

ms cercanos, mquina de soporte vectorial, perceptrn multicapa y mquina de


aprendizaje extremo.

2. Obtener la precisin, tiempo de entrenamiento y de ejecucin para cada clasicador


con el n de comparar su desempeo al evaluar el conjunto de pruebas de la base de
datos.

1.4

Justicacin

El reconocimiento automtico de seales de trnsito no se encuentra implementado aun en


los vehculos de transporte actuales. Esto indica que aunque el problema ha sido resuelto
experimentalmente, aun existen retos por resolver para llevar las soluciones del laboratorio

CAPTULO 1.

INTRODUCCIN

a la industria y a la lnea de produccin. Por otro lado, en la actualidad son escasos los
trabajos que reportan resultados utilizando el algoritmo mquina de aprendizaje extremo
para el reconocimiento de seales de trnsito; aqu se presenta una comparacin directa
del desempeo de este mtodo contra los clasicadores utilizados comnmente para este
problema.

1.5

Hiptesis

1. Se busca saber si el algoritmo mquina de aprendizaje extremo es capaz de realizar


la clasicacin de imgenes de seales de trnsito con una precisin mayor o igual
al 80 %.

2. Se busca saber si la mquina de aprendizaje extremo es capaz de mostrar un mejor


desempeo en comparacin con los otros clasicadores implementados al resolver el
problema planteado.

En los captulos siguientes se hace un recorrido a travs de las principales aportaciones


relacionadas con este problema, se presenta una explicacin de los mtodos que sern
utilizados para lograr los objetivos, se ofrece ms detalle sobre la metodologa, y por
ltimo, se muestran los experimentos realizados, resultados y conclusiones.

CAPTULO

Trabajo Previo

Desde hace ms de una dcada ha surgido un inters de escala mundial en el reconocimiento de seales de trnsito. Las propuestas de vehculos inteligentes completamente
autnomos se han multiplicado en los ltimos aos. Las reas de aplicacin de estos sistemas se extiende ms all de los vehculos autnomos hacia la incorporacin de sistemas
inteligentes de apoyo al conductor. En la actualidad existen muchas propuestas de cmo
se debera implementar un sistema de reconocimiento de seales de trnsito, variando en
los algoritmos que utilizan, sus ventajas y desventajas, as como el tiempo que toman y la
precisin a la que llegan. En este captulo se exploran los avances logrados en torno a la
implementacin de tal sistema desde 15 aos atrs hasta la actualidad.
En el ao 2000, Miura et al. [5] proponen un sistema de reconocimiento de seales
de trnsito en tiempo real. Consiste en usar dos cmaras a bordo de un vehculo, las
cuales transmiten la informacin capturada a un ordenador. La primera cmara utiliza
lentes gran angular para capturar el panorama y all detectar objetos que posiblemente
sean seales de trnsito. La segunda cmara utiliza lentes teleobjetivo para realizar un
acercamiento a las seales candidatas y procesarlas en el ordenador. El procedimiento
consiste en: detectar posibles seales de trnsito mediante su color e intensidad; predecir
el movimiento de la imagen candidata y dirigir la cmara teleobjetivo; extraer caracteres,
smbolos e identicar la seal. El reconocimiento se realiza mediante la comparacin de
patrones utilizando el algoritmo de correlacin entre imgenes digitales. Para esto se tiene
una plantilla de imgenes con las seales que se desea reconocer.
En [6] se implementa un sistema de reconocimiento y anlisis de seales de trnsito, el

CAPTULO 2.

TRABAJO PREVIO

cual puede ser til en el contexto de los sistemas de asistencia al conductor o en vehculos
inteligentes autnomos. La deteccin de seales de trnsito en el camino es realizada
mediante un algoritmo gentico, lo cual agrega robustez frente a cambios en la posicin,
escala, rotacin, oclusin y condiciones climticas al procedimiento. Finalmente, una red
neuronal se encarga de clasicar las seales de trnsito. La red sigue el paradigma de
la teora 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 informacin acerca de la condicin en que se
encuentran las seales que son vistas en el camino, a parte de su reconocimiento.
En el ao 2007, en [7] el equipo de Maldonado-Bascn se concentra en identicar seales
de trnsito espaolas, mediante un sistema capaz de reconocer seales con forma circular,
rectangular, triangular y octagonal. El sistema propuesto se basa en las capacidades de
generalizacin de una mquina vector soporte (SVM por sus siglas en ingls). La entrada
a dicho sistema consiste en el color de cada pixel, para posteriormente llevar a cabo una
segmentacin de la imagen. Despus se utiliza el algoritmo SVM de base lineal para la
labor de detectar la ubicacin de la seal de trnsito as como su forma. El sistema arroja
como salida el reconocimiento del contenido de la seal utilizando el algoritmo SVM de

kernel

Gaussiano. En los resultados se reporta que todas las seales de trnsito de Espaa

pueden ser detectadas por el sistema con una alta precisin. Se concluye que los algoritmos
propuestos son invariantes a la traslacin, rotacin, escalamiento y oclusiones parciales.
Stallkamp et al. [4] comparan el rendimiento de diversos algoritmos de aprendizaje de
mquina para la clasicacin de seales de trnsito contra el rendimiento humano, en el
contexto de la

German Trac Sign Recognition Benchmark

(GTSRB). Para la realizacin

de la competencia de la IJCNN 2011, fue creada una extensa base de datos, integrada por
51,840 imgenes de seales de trnsito alemanas, donde se distribuyen 43 clases distintas
de smbolos. Participantes alrededor del mundo enviaron sus resultados y la descripcin
de su procedimiento a un sitio en Internet creado especcamente para este propsito.
Esta base de datos constituye una gran oportunidad para la exploracin de mtodos de
aprendizaje computacional. Es difcil comparar resultados sobre reconocimiento de seales
de trnsito cuando estn basados en diferentes conjuntos de datos. Mientras que en algunos

CAPTULO 2.

TRABAJO PREVIO

casos se considera el proceso de deteccin, clasicacin y rastreo de las seales, en otros


se enfoca la parte de clasicacin. 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
combinacin entre histogramas de gradientes con orientacin (HOG por sus siglas en ingls) y clasicadores de rbol

k -dimensionales.

Los descriptores HOG fueron propuestos

originalmente por Dalal y Triggs en [10], diseados para el reconocimiento de peatones,


aunque se ha vuelto un mtodo popular para el reconocimiento de muchos tipos de objetos. Los rboles

k -dimensionales

estn basados en el vecino ms cercano, aplicando una

variante en el algoritmo de bsqueda que permite acceder a espacios de mayor dimensionalidad. El equipo utiliza la base de datos de descriptores HOG que est disponible en el
sitio en Internet de la competencia, y obtuvo una precisin mxima del 97.2 % para las
imgenes de prueba.
En el caso de Sermanet y LeCun [11], se propone el uso de redes neuronales convolucionales, y se reportan los resultados para la GTSRB. Durante la fase de preprocesamiento,
las imgenes contenidas en la base de datos fueron transformadas a una resolucin de

32 32

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

de entrenamiento fue creado a partir de la modicacin de las imgenes originales, creando 5 versiones distintas por cada imagen donde aleatoriamente se realiza un escalamiento,
traslacin o rotacin. Con la expansin de los datos de entrenamiento se obtiene una disminucin en el error de validacin desde 1.31783 % a 1.08527 %. Durante la experimentacin
se encontr que el clasicador obtiene un mejor rendimiento al utilizar imgenes en escala
de grises. Se alcanz una precisin del 98.97 % durante la primer fase de la competencia,
obteniendo as el segundo lugar. Posteriormente, un clasicador 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 ingls) que se ejecutan en una gran variedad de GPUs debido a la
exibilidad de su diseo. Despus de transformar la resolucin de las imgenes a

48 48

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

CAPTULO 2.

TRABAJO PREVIO

El tiempo de entrenamiento disminuy de meses a das gracias a la implementacin 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 experimentacin
se encontr que las estructuras de red con ms capas ocultas (de 4 a 7 capas) funcionan
mejor, y se form un comit de perceptrones multicapa (MLP por sus siglas en ingls)
y redes convolucionales. Se form un clasicador que promedia las salidas de cada una
de las redes. Con esta combinacin de MLPs y CNNs el equipo logr superar su marca
con una precisin del 99.15 %, la cual es incluso mejor que la precisin del hombre (mejor
individuo) del 99.22 % [4].
En [13], se propone un mtodo jerrquico de clasicacin que trabaja sobre el conjunto
de seales de trnsito de la

German Trac Sign Detection Benchmark

(GTSDB). En

las imgenes se aprecia el paisaje urbano alemn junto con seales de trnsito mezcladas
entre objetos variados. La base de datos fue creada para la competencia GTSDB realizada
durante el IJCNN 2013. El mtodo implementado consiste en un conjunto jerrquico de
mquinas de aprendizaje extremo (ELM por sus siglas en ingls) que llega a obtener un
98.60 % de precisin. El primer paso en la meotodologa es detectar en el las zonas de
inters de la imagen de entrada donde posiblemente existe una seal; despus se utilizan
descriptores HOG e histogramas de color para decidir si el recuadro corresponde a una
seal de trnsito; posteriormente se agrupan las seales candidatas correspondientes al
mismo smbolo para nalmente ingresarlo al algoritmo de reconocimiento. El objetivo del
mtodo planteado fue detectar las primeras 3 categoras de seales de trnsito.
El algoritmo ELM aunque es reciente, ha sido utilizado en una variedad de reas de
investigacin. En [14] Sun et al. utilizan una ELM para clasicar las seales de trnsito
presentes en la base de datos de la GTSRB. La metodologa consiste en obtener descriptores
HOG para cada imagen, y utilizar la razn de la varianza entre las categoras dividida por
la varianza dentro de cada categora como un criterio de seleccin que permita reducir el
vector de caractersticas. Posteriormente, las caractersticas seleccionadas son evaluadas
por la red neuronal entrenada mediante ELM. La resolucin de las imgenes es normalizada
a una dimensin de

40 40

pixeles. Los descriptores HOG se obtienen de acuerdo al

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

CAPTULO 2.

TRABAJO PREVIO

de los descriptores HOG que presenten la mayor varianza entre categoras, y a la vez
la menor varianza dentro de cada categora. Mediante este procedimiento se mejora la
precisin de la ELM durante la evaluacin, y se requiere menor poder de procesamiento.

CAPTULO

Marco Terico

En este captulo se presenta una breve introduccin a los algoritmos que se implementaron para realizar al anlisis comparativo planteado. Se pretende ofrecer al lector una
introduccin al origen, objetivo y funcionamiento de los mtodos. Los algoritmos descritos
a continuacin son: histogramas de gradientes con orientacin, anlisis de componentes
principales,

k -vecinos

ms cercanos, anlisis de discriminante lineal, mquina de soporte

vectorial, perceptrn multicapa y mquina de aprendizaje extremo.

3.1

Histogramas de Gradientes con Orientacin

El mtodo de histogramas de gradientes con orientacin (HOG) consiste en obtener la


representacin de una imagen o vector caracterstico a travs de calcular los histogramas
que la componen al dividirla en una densa cuadrcula. El algoritmo HOG es propuesto
por Dalal y Triggs y se explica a detalle en [10]. La idea detrs del algoritmo es que la
forma y apariencia de un objeto pueden ser representadas mediante la distribucin de
los gradientes de intensidad que lo componen o la direccin de sus bordes, incluso sin el
conocimiento preciso de la posicin de cada borde o gradiente.
El procedimiento para obtener el descriptor HOG de una imagen consiste en dividir la
imagen en pequeas regiones llamadas celdas, donde cada celda acumula un histograma
unidimensional de direcciones de gradientes u orinetaciones de bordes de los pixeles contenidos en la celda. La representacin consiste en la combinacin de estos histogramas. Para
una mejor invarianza a los cambios en iluminacin y sombras, se normaliza el contraste de

10

CAPTULO 3.

11

MARCO TERICO

la imagen a travs de regiones ms grandes llamadas bloques que consisten de un conjunto


de celdas.

3.2

Anlisis de Componentes Principales

La primera formulacin del mtodo de anlisis de componentes principales (PCA por


sus siglas en ingls) se encuentra en [15]. El mtodo PCA realiza un anlisis sobre un
conjunto de datos (vectores caractersticos) a partir del cual determina aquellos elementos
que son los ms signicativos para la diferenciacin de las muestras. A partir de este
anlisis es posible reducir la dimensionalidad de los vectores caractersticos para obtener
una reduccin en el tiempo de procesamiento de la informacin, con el costo de una prdida
en la precisin (en algunos casos).
Formalmente, el algoritmo PCA provee una aproximacin de la informacin, una matriz
de datos denominada

X,

en trminos del producto de dos pequeas matrices

donde se captura la informacin esencial de

X.

Las columnas de

dominantes en las muestras procesadas de

X,

mientras que las las de

contienen los patrones

contienen los

patrones complementarios [16].

3.3

k -Vecinos

Ms Cercanos

Entre los mtodos de aprendizaje supervisado, la clasicacin

k -vecinos

ms cercanos (k -

NN por sus siglas en ingls) est entre los ms simples y fundamentales. Es una buena
eleccin cuando existe poco o nulo conocimiento sobre la distribucin de los datos. En el
mtodo

k -NN

se supone que los elementos que se encuentran cerca de s corresponden a

una misma categora; as, dada una muestra desconocida


se evalan los

elementos con menor distancia a

x,

para obtener su clasicacin

x. El algoritmo en su forma ms sencilla

consiste en asignar la clasicacin del primer elemento encontrado cuya distancia respecto
a la muestra sea mnima. Un ejemplo grco del algoritmo se encuentra en la Figura 3.1.
En este ejemplo se desea clasicar el punto verde. Tomando una
corresponde a las guras encerradas por el crculo. Con una

k=5

k = 3

la clasicacin

la clase otorgada sera

CAPTULO 3.

12

MARCO TERICO

el cuadrado azul.
Una de las contribuciones al algoritmo

k -NN

ms antiguas es la propuesta de Fix y

Hodges [17], donde se explora la utilizacin del vecino ms cercano y sus propiedades
son analizadas a profundidad. El problema atacado en su contribuin es encontrar un
algoritmo que satisfaga la necesidad de procedimientos discriminatorios cuya validez no
dependa de alguna suposicin de forma paramtrica. El mtodo de Fix y Hodges consiste
en el

k -NN

que se explica a continuacin utilizando

Se tiene un conjunto de

k = 1.

n pares (x1 , 1 ), , (xn , n ) donde cada individuo xi representa

el conjunto de observaciones hechas para tal individuo (vector caracterstico) y cada


corresponde al ndice de la categora a la que el elemento
nuevo par

pertenece. Se desea evaluar un

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

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


clasicados. Se denomina a

{x1 , x2 , , xn }

xn

min d(xi , x) = d(xn , x) i = 1, 2, , n,


x

como perteneciente a la clase

donde

d()

el vecino ms cercano a

solo si

es la distancia. La regla es identicar a

del individuo ms prximo

xn .

Si

n 6=

entonces se

comete un error [18].

Figura 3.1:

Clasicacin 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:

v
u p
uX
d(xi , xj ) = t (xri xrj )2 .

(3.1)

r=1
En los casos donde la cantidad de muestras es lo sucientemente grande, es conveniente
utilizar el voto mayoritario de los

vecinos ms cercanos, en vez de un solo candidato.

CAPTULO 3.

13

MARCO TERICO

El entrenamiento para

k -NN

consiste en almacenar las observaciones de las muestras

(vectores caractersticos) y la categora de cada individuo. Adems del algoritmo del vecino
ms cercano, y del
el voto de los

k -vecinos

ms cercanos, existen variantes para este mtodo en las que

individuos seleccionados tiene un peso distinto en la clasicacin, segn

sea la distancia respecto al individuo que se evala; es decir, las muestras ms cercanas
reciben mayor ponderacin a la hora de evaluar.

3.4

Anlisis de Discriminante Lineal

El mtodo de anlisis de discriminante lineal (LDA por sus siglas en ingls) est estrechamente relacionado con el discriminante lineal de Fisher [19]; tiene el objetivo de encontrar
una combinacin lineal de observaciones que permitan separar los datos en dos o ms
categoras, con el propsito de clasicar o reducir la dimensionalidad de los vectores caractersticos. Es utilizado en reas como la estadstica, el reconocimiento de patrones y el
aprendizaje de mquina, en combinacin con otros mtodos relacionados, como el anlisis
de componentes principales y el anlisis de factores.
El algoritmo LDA busca direcciones en el conjunto de datos que apunten hacia la mayor varianza, y posteriormente proyecta la informacin en tales direcciones. As es como
se obtiene una representacin de los datos originales con menor nmero de dimensiones y
a la vez se elimina parte del ruido contenido en la informacin. Al reducir las dimensiones
en los vectores caractersticos se obtiene ventajas como una mayor velocidad en su procesamiento, a la vez que se conservan aquellos elementos que permiten hacer distincin
entre las diferentes clases.
El objetivo del LDA es encontrar la matriz de transformacin ptima que conserve la
mayor parte de la informacin que puede ser utilizada para distinguir entre categoras de
los datos. Sea
tersticos de

X = {x1 , x2 , , xM }

el conjunto de muestras formado por vectores carac-

dimensiones. La matriz de dispersin entre clases y la matriz de dispersin

dentro de cada clase se denen como

B=

C
X
c=1

Mc (mc m)(mc m)T ,

(3.2)

CAPTULO 3.

14

MARCO TERICO

W =

C X
X

(xc mc )(x mc )T ,

(3.3)

c=1 xXcc
donde

mc

es el promedio de cada clase y

nmero de vectores en la clase

xc

m es el promedio global de todas las muestras. El

est dado por

Mc .

El objetivo del LDA es maximizar la

razn del determinante de la matriz de dispersin entre clases, entre el determinante de la


matriz de dispersin dentro de las clases. Como resultado se obtiene la matriz U denida
por

max U
donde solucin
W:

Bui = i W ui

3.5

|U T BU |
= [u1 , u2 , , uN ]
|U T W U |

{ui |i = 1, 2, 3, , N }

(3.4)

corresponde al conjunto de eigenvectores de B y

[20].

Mquina de Soporte Vectorial

La idea detrs de la mquina de soporte vectorial es encontrar un mapeo, desde los vectores
caractersticos que recibe como entrada, hacia un espacio

de alta dimensionalidad, en el

cual se garantiza una alta capacidad de generalizacin de las muestras. En el espacio

se

construye una supercie de decisin lineal a travs de algn mapeo no lineal seleccionado
previamente. El reto conceptual que presenta la mquina de soporte vectorial es cmo
encontrar un hiperplano que sea capaz de generalizar mediante la separacin de las clases.
Este reto ha sido resuelto por Vapnik mediante el mtodo de hiperplanos ptimos [21].
El mtodo de hiperplanos ptimos permite encontrar una separacin en los datos que
permita la generalizacin, para el caso de conjuntos de entrenamiento con cero error. La explicacin de este mtodo proviene de [22]. Un conjunto de muestras

(y1 , x1 ), , (yl , xl ), yi

{1, 1} es linealmente separable si existe un vector w

b tal que la desigualdad

y un escalar

yi (w xi +b) 1, i = 1, , l es vlida para todos los elementos del conjunto. El hiperplano


ptimo

w 0 x + b0 = 0

es aquel que separa las muestras de entrenamiento con el margen

mximo; su funcin es determinar la direccin en la cual la distancia entre las proyecciones


de vectores caractersticos para dos clases distintas es mxima, donde la distancia

(w, b)

CAPTULO 3.

15

MARCO TERICO

est dada por

(w, b) = min{x:y=1}
El hiperplano ptimo

(w0 , b0 )

xw
xw
max{x:y=1}
.
|w|
|w|

(3.5)

se forma de los argumentos que maximizan la distancia

en la ecuacin anterior. Los vectores

xi

para los cuales

yi (w xi + b) = 1

son denominados

vectores de soporte, y estn formados por los puntos ms cercanos al hiperplano ptimo.
Un hiperplano ptimo para un problema de clasicacin puede ser representado grcamente 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 grco del hiperplano ptimo se
encuentra en la Figura 3.2. El hiperplano 1 logra separar las clases con un pequeo margen
entre ellas, El hiperplano 3 no logra separar correctamente. Mientras que

H2

representa el

hiperplano ptimo con mximo margen de separacin.

Figura 3.2:

mons.

Separacin de dos clases ediante vectores de soporte. Imagen de Wikimedia Com-

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 separacin en el resto de
las muestras. El nmero de errores en un conjunto de muestras est dado por

() =

l
X

i ,

(3.6)

i=1
de esta forma, minimizando la ecuacin anterior sujeta a las restricciones

yi (w xi + b) 1 i , i = 1, , l,

(3.7)

CAPTULO 3.

16

MARCO TERICO

i 0, i = 1, , l,

(3.8)

se encuentra el subconjunto mnimo 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 posible aplicarlo en problemas multiclase mediante una reduccin del problema en mltiples
subproblemas de clasicacin binaria. Una forma de realizar esta reduccin es construir
clasicadores que distinguen entre una de las clases y el resto; otra alternativa es construir
tantos clasicadores como se requiera por cada par de clases.

3.6

Perceptrn Multicapa

Las redes nueronales articiales (ANN por sus siglas en ingls) son sistemas de cmputo
masivamente paralelos. Se componen de un gran nmero de procesadores simples con
muchas interconexiones. Los modelos que se han construido hasta ahora usan algunos de
los principios que estn presentes en las neuronas biolgicas. En [23], de donde proviene
la informacin en esta seccin, se expone el origen de las redes neuronales articiales,
una breve historia de su evolucin, 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 travs de circuitos elctricos, construido por McCulloch y
Pitts en el ao 1943 [24].
La neurona biolgica es una clula que procesa informacin: se compone de un cuerpo o
soma, y numerosas ramicaciones en forma de rbol llamadas axn o dendritas. La clula
recibe impulsos elctricos de las neuronas vecinas a travs de sus dendritas, y transmite
seales generadas por ella misma a travs de su axn.
Una sinapsis ocurre entre dos neuronas vecinas cuando ciertas sustancias qumicas,
llamadas neurotransmisores, son intercambiadas entre el axn de una y las dendritas de
otra. Los neurotransmisores tienen la capacidad de aumentar o inhibir la tendencia a emitir
seales en la clula receptora. La corteza cerebral en los humanos contiene aproximadamente

1011

neuronas masivamente conectadas, dando un total de aproximadamente

1015

CAPTULO 3.

17

MARCO TERICO

conexiones.
La neurona articial propuesta por McCulloch y Pitts consiste en un modelo computacional que calcula la suma ponderada de

seales de entrada,

xj , j = 1, 2, , n,

genera una salida binaria: 1 si la suma ponderada se encuentra sobre algn umbral

u,

y 0

de lo contrario. Su expresin matemtica es

y=

n
X

!
w j xj u ,

(3.9)

j=1

donde

()

es una funcin escaln, y

wj

es el peso sinptico asociado a la entrada

j.

Existen diversas arquitecturas de redes neuronales articiales basadas en la conectividad que exhiben, segn si el procesamiento es unidireccional o recurrente (presencia de
ciclos). El perceptrn puede ser visualizado como un grafo en el cual existen una capa de
entrada, la cual contiene

nmero de nodos o neuronas de entrada, y una capa de salida.

La capa de entrada tiene conexiones unidireccionales hacia la capa de salida. El perceptrn


es capaz de hacer predicciones acerca de los datos que recibe mediante una funcin lineal,
combinando un conjunto de ponderaciones con los elementos del vector caracterstico que
recibe como entrada. El aprendizaje del perceptrn se ilustra en el algoritmo 1.
Algoritmo 1 Aprendizaje del perceptrn [23]

1. Inicializar los pesos y el umbral en nmeros aleatorios positivos cercanos a cero.


2. Evaluar el resultado en las neuronas de salida al ingresar el vector caracterstico
(x1 , x2 , , xn )t .
3. Actualizar los pesos en las conexiones de acuerdo a

wj (t + 1) = wj (t) + (d y)xj ,
donde

es la salida esperada,

es el nmero de iteracin, y

(0,0 < < 1,0)

es la

ganancia.

Una de las limitaciones del perceptrn es que su campo de aplicacin se limita a


problemas linealmente separables. Una estructura ms compleja que resuelve problemas
ms sosticados es el perceptrn multicapa. El perceptrn multicapa es la red neuronal

CAPTULO 3.

18

MARCO TERICO

articial con conectividad unidireccional ms popular debido al xito en el desarrollo del


algoritmo de aprendizaje de propagacin inversa. Un perceptrn multicapa consiste en un
perceptrn 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 perceptrn 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:

Ilustracin de un perceptrn multicapa. Imagen de Wikimedia Commons.

El algoritmo ms popular de aprendizaje que se aplica a los perceptrones multicapa es el


llamado algoritmo de propagacin inversa. Consiste en un mtodo de gradiente descendente que intenta minimizar la funcin del error cuadrtico del MLP. El pseudocdigo para la
propagacin inversa se encuentra en el algoritmo 2. Sea
un conjunto de

p muestras de entrenamiento (pares de entrada y salida esperada), x(i) Rn

corresponde al vector de entrada en el espacio de


cubo de

(x(1) , d(1) ), (x(2) , d(2) ), , (x(p) , d(p) )

dimensiones, y

d(i) [0, 1]m

m dimensiones donde m corresponde al nmero de categoras. La funcin de error

cuadrtico se dene como

1X
E=
k y (i) d(i) k2 .
2 i=1

3.7

un hiper-

(3.10)

Mquina de Aprendizaje Extremo

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

neuronas ocultas, donde

< N,
N

el nmero de muestras para el entrenamiento. Existe

un algoritmo para el aprendizaje que resulta extremadamente rpido, el cual es llamado


mquina de aprendizaje extremo. La descripcin del algoritmo ELM es tomada de [25].

CAPTULO 3.

19

MARCO TERICO

Algoritmo 2 Propagacin inversa [23]

1. Inicializar los pesos en nmeros aleatorios positivos cercanos a cero.


2. Elegir aleatoriamente una muestra de entrada

x .

3. Propagar la seal a travs de la red.


4. Calcular

iL

en la capa de salida

(oi = yiL )
0

iL = g (hLi )[dui yiL ],


donde

hli

es el valor de entrada neto de la neurona

de la funcin de activacin

en la capa l , y

es la derivada

g.

5. Calcular las deltas para las capas precedentes mediante la propagacin inversa de
los errores;
0

il = g (hli )

l+1 l+1
wij
j ,

j
para

l = (L 1), , 1.

6. Actualizar los pesos mediante

l
wji
= il yjl1
7. Ir al paso 2 y repetir el proceso para la siguiente muestra hasta que el error en la
capa de salida est por debajo del umbral especicado, o hasta alcanzar el mximo
de iteraciones.

CAPTULO 3.

20

MARCO TERICO

A grandes rasgos, el algoritmo ELM consiste en inicializar de manera aleatoria los pesos
de entrada de la red neuronal y calcular mediante una regresin lineal los pesos de salida,
aplicando la inversa de Moore-Penrose.
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

Sea

el nmero de muestras

neurona oculta

i con las neuronas de entrada, i = [i1 , i2 , , im ]T

que conecta la neurona oculta


oculta nmero

(xi , ti ),

i.

i con las neuronas de salida y i

es el vector de pesos

es el umbral de la neurona

Dado que un perceptrn multicapa de una capa oculta con

ocultas y funcin de activacin


entonces existe una

i , wi ,

bi

g(x) puede aproximar las N

neuronas

muestras con un error de cero,

tal que

H = T,

(3.11)

donde

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

g(w1 x1 + b1 )
.
.
.

g(w1 xN + b1 )

T
1
..
.
T
N

T =

tT1
.
.
.

tTM

g(wN x1 + bN )

g(wN xN + bN )
.
.
.

N N
(3.12)

(3.13)

(3.14)

m
N

N m

En comparacin con los algoritmos tradicionales para el entrenamiento de perceptrones


multicapa, el algoritmo ELM tiene grandes ventajas. Es muy comn que el entrenamiento
de redes neuronales tome grandes cantidades de tiempo, inclusive para problemas simples,
mientras que la velocidad de ELM es extremadamente rpida; la mquina de aprendizaje
extremo tiene una mejor capacidad de generalizar para las redes neuronales, mientras que

CAPTULO 3.

21

MARCO TERICO

los mtodos tradicionales de gradiente descendente intentan alcanzar el mnimo error de


entrenamiento sin tomar en cuenta la magnitud de los pesos en las conexiones.
Los mtodos tradicionales de entrenamiento para redes neuronales funcionan nicamente para funciones de activacin diferenciales, y se enfrentan a problemas tales como
mnimos locales, tasas de aprendizaje inapropiadas y memorizacin de las muestras de entrenamiento. La mquina de aprendizaje extremo puede ser utilizada para entrenar redes
neuronales con funciones de activacin no diferenciables, y es por mucho ms simple que
la mayora de los algoritmos de aprendizaje para MLPs. El procedimiento de la ELM se
muestra en el algoritmo 3.
Algoritmo 3 Mquina de aprendizaje extremo [25]

1. Dado un conjunto de entrenamiento


cin de activacin

g(x)

2. Asignar pesos aleatorios


3. Calcular la matriz

wi

= (xi , ti )|xi Rn , ti Rm , i = 1, , N ,

nmero de neuronas ocultas.


y un sesgo

.
bi , i = 1, , N

de salidas de la capa oculta.

4. Calcular el peso de salida

:
= H T

fun-

CAPTULO

Metodologa

A continuacin, se explica el procedimiento realizado para la ejecucin de los experimentos y la obtencin de resultados. La metodologa consiste en cuatro pasos: obtencin
de imgenes de seales de trnsito, obtencin de descriptores o vectores caractersticos,
implementacin de algoritmos, ejecucin y comparacin de resultados. En las siguientes
secciones se presentan los detalles de estos pasos.

4.1

Obtencin de Imgenes

Las seales de trnsito utilizadas para la evaluacin de los mtodos fueron obtenidas de
la base de datos de la GTSRB, proveniente de 10 horas de video mientras se conduca
por las calles de una ciudad alemana en el da. Despus de aplicar criterios de seleccin
a las imgenes, el conjunto resultante contiene 51,840 imgenes de 43 seales de trnsito
distintas, a una resolucin que vara entre los

15 15

222 193

pixeles [4]. Ejemplos de

estas imgenes se encuentran en la Figura 4.1. Las imgenes de la base de datos presentan
grandes variaciones debido a los cambios en las condiciones de iluminacin, estado del
clima, cantidad de muestras por clase y velocidad que tena el vehculo desde donde se
obtuvieron. Estas variaciones junto al tamao de la base de datos la vuelven ideal para la
comparacin de algoritmos de aprendizaje.

22

CAPTULO 4.

23

METODOLOGA

Ejemplo de seales de trnsito para ser clasicadas. Imgenes tomadas de la base


de datos GTSRB.
Figura 4.1:

4.2

Obtencin de Vectores Caractersticos

Dado que manejar el conjunto total de pixeles es complejo, una tarea comn involucrada
en el reconocimiento de imgenes es la generacin de un conjunto de valores que represente
la misma informacin, pero usando menos datos. Esos valores son llamados vectores caractersticos. En este caso, se presentarn dos etapas. Una en la que se utilizan los vectores
calculados mediante el mtodo de histogramas de gradientes con orientacin, y otra en la
que se har una reduccin posterior de los mismos, empleando el anlisis de componentes
principales.
Se utiliza el

INRIA Object Detection and Localization Toolkit

creado por Navneet Dalal

para la extraccin de descriptores HOG [10] de cada imagen. A cada imagen se le aplica
un escalamiento mediante interpolacin bilineal, dando como resultado

40 40

pixeles.

Los parmetros utilizados para la extraccin de descriptores HOG son: tamao de celda de

5 5 pixeles; tamao de bloque de 2 2 celdas; semicrculo; y 8 canales de orientacin. 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 imgenes.
Durante la segunda etapa de la experimentacin, se comparan los resultados de usar
una versin reducida de estos vectores. Mediante la implementacin de un PCA con la

Shark Machine Learning Library

se realiza un anlisis sobre los descriptores HOG del

conjunto de entrenamiento. A partir del anlisis realizado, los descriptores HOG de los
conjuntos de entrenamiento y pruebas son reducidos a una cuarta parte de su tamao
original. Como resultado se tienen vectores caractersticos de 392 elementos. Ms adelante
se compara el rendimiento de utilizar los vectores de alta dimensionalidad y los vectores
reducidos.

CAPTULO 4.

4.3

24

METODOLOGA

Implementacin de Algoritmos

Los algoritmos que participan en la comparacin fueron implementados mediante la librera de cdigo libre

Shark

Shark Machine Learning Library

, en su versin 3.0 beta [26]. La librera

provee mtodos de optimizacin, aprendizaje, redes neuronales y otras tcnicas de

aprendizaje de mquina, y puede ser obtenida libremente en Internet. Es una poderosa herramienta para aplicaciones de investigacin y de la industria. En las subsecciones
siguientes se ofrece ms detalle sobre la implementacin de cada mtodo.
El objetivo de incluir un PCA en los experimentos es mostrar los cambios en precisin
y tiempo de ejecucin que se generan al reducir la dimensionalidad de los vectores caractersticos. El PCA permite hacer una comparacin no solo entre los algoritmos planteados,
sino tambin entre los resultados obtenidos al utilizar descriptores de diferentes tamaos.
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 informacin contenida originalmente, y toman valores positivos y negativos. El
anlisis PCA se realiza sobre el conjunto de entrenamiento, y la reduccin de dimensiones
es aplicada a partir de este anlisis en los conjuntos de entrenamiento y de pruebas.
El algoritmo LDA es el ms simple de implementar y probar ya que su ejecucin no
depende de alguna variable, por lo que no recibe parmetros. Tambin es un mtodo que
no utiliza datos aleatorios, de manera que su resultado siempre es el mismo para un mismo
conjunto de datos. Es un mtodo de clasicacin bsico y se utiliza aqu como una lnea
base para la comparacin. El LDA permite vericar que la distribucin y la representacin
de los vectores caractersticos es lo sucientemente buena para realizar el reconocimiento
de seales de trnsito. A pesar de su simplicidad el LDA obtiene excelentes resultados.

k -NN
conocido

x.

explora el conjunto de datos de entrenamiento para asignar a un patrn des-

la categora que sea ms comn entre las

muestras con menor distancia a

El mtodo 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

representa el nmero de muestras ms cercanas

(vecinos ms cercanos) respecto a un patrn desconocido

x,

que se desean comparar para

CAPTULO 4.

25

METODOLOGA

obtener la clasicacin de

x.

Para reducir el tiempo de ejecucin de

k -NN

es muy importante utilizar un algoritmo

eciente para la bsqueda de muestras en el conjunto de entrenamiento. La bsqueda


de rbol es un ejemplo de una manera eciente de implementar un

k -NN,

pero funciona

ms bien para espacios de pocas dimensiones. Para vectores de alta dimensionalidad se


recomienda realizar la bsqueda comparando cada par de muestras, es decir por fuerza
bruta. Este es el algoritmo de bsqueda que se implementa en

k -NN.

kernel

lineal mediante un conjunto de datos para cla-

sicacin y una constante de regularizacin

c. Entre mayor sea la magnitud de la constante

Es posible entrenar una SVM de

la SVM elegir un hiperplano con menor margen entre las categoras siempre y cuando

as tenga un mejor desempeo al clasicar las muestras. Con valores ms pequeos para

c,

la SVM es capaz de encontrar un hiperplano de separacin con mayor margen entre

clases, a pesar de que un mayor nmero de muestras reciban una clasicacin incorrecta.
Se comparan distintos valores para la variable

c.

Aunque la SVM ha sido extensamente utilizada a travs de los aos y ha tenido gran
xito, fue originalmente diseada para la clasicacin binaria. Para poder extender el algoritmo SVM a problemas de clasicacin mltiple, la manera convencional es descomponer
el problema de

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

sicadores binarios. La SVM que aqu se implementa utiliza el mtodo uno contra todos,
donde se construyen

clasicadores SVM: el clasicador con subndice

separa la clase

del resto de las categoras. Con este mtodo el clasicador binario que genera el mayor

valor es quien decide la categora que se asigna a la muestra

[27].

La implementacin del MLP y la ELM son equivalentes y dierenen nicamente en el


algoritmo de aprendizaje. La capa de entrada recibe los descriptores HOG correspondientes
a las seales de trnsito, por lo que se tienen tantas neuronas de entrada como elementos
en los vectores HOG. La capa intermedia tiene un nmero de neuronas ocultas que vara
conforme la variable

n,

con la cual se prueban diferentes conguraciones (n neuronas

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


seales de trnsito que se reconocen: le neurona con subndice

i y mayor valor de activacin

indica que la muestra recibida pertence a la clase i. La activacin de las neuronas de salida

CAPTULO 4.

26

METODOLOGA

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

i.

Para el entrenamiento del perceptrn multicapa se utiliza el algoritmo mejorado de


propagacin inversa propuesto por Riedmiller y Braun.

Shark

provee una implementacin

de este algoritmo, en [28] se evala su desempeo. El algoritmo es probado con diferentes


valores para

m iteraciones del entrenamiento. Aunque

Shark

no provee una implementacin

del algoritmo ELM, es posible realizarlo mediante un modelo lineal y una regresin 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 evaluacin sirve como
entrada al procedimiento de regresin lineal, y el resultado de la regresin es almacenado
en el modelo lineal. Finalmente se reemplaza la capa intermedia de la red por la matriz
del modelo lineal.

4.4

Ejecucin y Comparacin de Resultados

Para realizar una comparacin justa de la precisin y tiempo de ejecucin de los mtodos,
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 parmetro de

regularizacin, hasta encontrar el valor con el cual se obtiene la mejor precisin para este
mtodo. La compracin se realiza sobre el resultado con mayor precisin para cada algoritmo. La bsqueda por los valores ptimos se realiza dos veces: utilizando descriptores HOG
de 1,568 dimensiones, y utilizando la versin reducida mediante PCA de 392 dimensiones.
La implementacin de cada algoritmo incluye cdigo que reporta el tiempo transcurrido durante el entrenamiento (donde aplique) y el tiempo de ejecucin de las pruebas.
La unidad de tiempo utilizada son los milisegundos. Los programas arrojan la precisin
obtenida durante las pruebas indicando el nmero de muestras que fueron clasicadas
correctamente del conjunto de imgenes de prueba. El conjunto de imgenes de prueba
consiste de 12,630 seales de trnsito.
Durante la etapa de pruebas, se escribe en un archivo de texto la clasicacin asignada
a cada muestra en un formato compatible con la aplicacin de anlisis de resultados que se
encuentra disponible en el sitio en Internet de la GTSRB. La aplicacin permite comparar

CAPTULO 4.

METODOLOGA

27

diferentes mtodos de clasicacin que trabajan sobre el conjunto de imgenes de prueba,


muestra grcamente matrices de confusin y la cantidad de imgenes clasicadas correctamente agrupadas por clase. La aplicacin de anlisis de resultados es una herramienta
til para analizar el desempeo de cada algoritmo de clasicacin y llegar a concluir sobre
su comportamiento.

CAPTULO

Experimentos y Resultados

En esta seccin se reportan y analizan los resultados obtenidos durante las fases de experimentacin. La mejor clasicacin utilizando los descriptores HOG fue obtenida por la
SVM seguida del LDA, con una precisin del 94.41 % y 93.15 % respectivamente. Al usar
los descriptores transformados mediante PCA, el primer lugar lo obtiene el MLP con una
precisin del 92.76 %, seguido del LDA con 91.72 %. Para ambos casos, la ELM queda en
tercer lugar con una precisin del 93.04 % y 89.50 % al utilizar HOGs y PCA-HOGs respectivamente. Esta informacin 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 clasicacin de las imgenes, obteniendo el segundo lugar en precisin de los algoritmos. LDA

Algoritmo

Aciertos

Precisin

Entrenamiento (ms)

Pruebas (ms)

LDA

11,766

0.931591449

144,929

9,062

KNN

9,607

0.760649248

3,032,044

SVM

11,925

0.944180523

1,146,062

7,524

MLP

9,522

0.753919240

965,909,322

564,682

ELM

11,751

0.930403800

5,074,902

5,125,355

Tabla 5.1:

Resultados ptimos utilizando descriptores HOG como entrada.

28

CAPTULO 5.

29

EXPERIMENTOS Y RESULTADOS

Algoritmo

Aciertos

Precisin

Entrenamiento (ms)

Pruebas (ms)

PCA-LDA

11,585

0.917260491

6,638

1,846

PCA-KNN

9,697

0.767775139

764,783

PCA-SVM

10,498

0.831195566

1,680,175

1,880

PCA-MLP

11,716

0.927632621

49,276,844

132,964

PCA-ELM

11,305

0.895091053

473,216

415,534

Tabla 5.2:

Resultados ptimos utilizando descriptores HOG transformados mediante PCA.

clasic correctamente 11,766 imgenes del conjunto de pruebas con un total de 12,630
imgenes al utilizar como entrada los descriptores HOG de 1568 dimensiones. El entrenamiento se realiza sobre el conjunto dado para este n, el cual consiste de 39,209 imgenes,
y toma 2.4 minutos. Las pruebas toman 9 segundos solamente. Considerando una precisin del 93.15 % y un tiempo de clasicacin de 0.71 milisegundos por cada imagen, el
algoritmo LDA es una excelente opcin para el reconocimiento de seales de trnsito en
tiempo real.
Los algoritmos
respectivamente.

k -NN

k -NN

y MLP obtienen la precisin ms baja con un 76.06 % y 75.39 %

es probado utilizando valores para los

90, en intervalos de 10. El valor ptimo para

vecinos desde 10 hasta

en esta secuencia es de 40, logrando una

clasicacin correcta de 9,607 imgenes en 50.53 minutos o 240.06 milisegundos por cada
imagen.

k -NN

no requiere de entrenamiento y el tiempo que tarda en clasicar imgenes

es constante e independiente del valor de

k . Para el perceptrn multicapa los experimentos

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

100, 200, , 500 iteraciones del algoritmo de propagacin inversa. Mientras

que es probable obtener mejores resultados aumentando el nmero 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 propagacin inversa se clasican correctamente 9,522 imgenes. El entrenamiento toma
una gran cantidad de tiempo, 11.17 das. En la Figura 5.1 se aprecia el incremento en
el tiempo de entrenamiento conforme incrementa el nmero de iteraciones del algoritmo:

CAPTULO 5.

30

EXPERIMENTOS Y RESULTADOS

el incremento en el tiempo es casi lineal respecto al aumento en las iteraciones. El procedimiento de clasicar imgenes mediante el MLP requiere de 44.70 milisegundos por
cada imagen, y esta cantidad es constante independientemente del nmero de iteraciones
utilizadas en el entrenamiento.

MLP
Entrenamiento

12

TIEMPO (DAS)

10
8
6
4
2
0
100

200

300

400

500

ITERACIONES

Incremento del tiempo de entrenamiento contra el nmero de iteraciones para el


perceptrn multicapa.

Figura 5.1:

Finalmente los algoritmos SVM y ELM obtienen el primer y tercer lugar en precisin,
con un 94.41 % y 93.04 % respectivamente. Para la SVM se prueban diferentes valores
para el parmetro de regularizacin
se obtiene con un valor para

de

c, desde 25 , 23 , 21 , 21 , , 215 . El resultado ptimo

21 ,

acertando en 11,925 imgenes. El tiempo de en-

trenamiento para esta conguracin es de 19.10 minutos, y el tiempo de pruebas de 0.59


milisegundos por cada imagen. El tiempo que toma la clasicacin 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 precisin de la ELM incrementa junto con el nmero de neuronas ocultas. El mejor
valor registrado es de 11,751 imgenes clasicadas correctamente utilizando 9,000 neuronas
ocultas. La estructura de la red neuronal entrenada mediante ELM es similar a la del
perceptrn multicapa: 1568 neuronas de entrada,

neuronas ocultas y 43 neuronas de

CAPTULO 5.

31

EXPERIMENTOS Y RESULTADOS

SVM
Entrenamiento
60

TIEMPO (MINUTOS)

50
40
30

20
10
0
2^-5

2^-3

2^-1

2^1

2^3

2^5

2^7

2^9

2^11

2^13

2^15

REGULARIZACIN (C)

Figura 5.2:

Incremento en el tiempo de entrenamiento contra el parmetro de regularizacin

C para la mquina 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 nmero de neuronas ocultas,
lo cual puede observarse en la Figura 5.3. La conguracin 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 entrenamiento a travs de la capa de entrada con pesos aleatorios, para utilizar el resultado como
entrada en el proceso de regresin lineal.

5.2

Fase 2: Experimentos con Descriptores PCAHOG

Mediante un anlisis de componentes principales, los descriptores HOG son transformados


a un nuevo conjunto de vectores caractersticos que representan la misma informacin pero

CAPTULO 5.

32

EXPERIMENTOS Y RESULTADOS

ELM

TIEMPO (MINUTOS)

Entrenamiento

Pruebas

90
80
70
60
50
40
30
20
10
0
1000

2000

3000

4000

5000

6000

7000

8000

9000

NEURONAS OCULTAS

Incremento en el tiempo de entrenamiento y pruebas contra el nmero de neuronas


ocultas para la mquina de aprendizaje extremo.
Figura 5.3:

con menor dimensionalidad. El resultado es un intercambio entre la precisin obtenida


y los tiempos de entrenamiento y ejecucin de cada algoritmo. Los nuevos descriptores
PCA-HOG contienen 392 elementos cada uno, es decir la cuarta parte del tamao del
vector original. Para el algoritmo LDA, la prdida en la precisin corresponde solamente
al 1.43 %, bajando del 93.15 % al 91.72 %. LDA ocupa nuevamente el segundo lugar en
precisin acertando en 11,585 imgenes. 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 ms rpido en su entrenamiento y
pruebas respectivamente.
El desempeo ms bajo en este caso lo obtienen los algoritmos
una precisin del 76.77 % y 83.11 % respectivamente.

k -NN

k -NN

y SVM, con

es probado con 10 hasta 40

vecinos, en intervalos de 10. El desempeo ptimo se encuentra con un valor de 30 para

k,

llegando a clasicar correctamente hasta 9,697 imgenes. Existe una ganancia del 0.71 %
en la precisin, y es 3.96 veces ms rpido que al utilizar descriptores HOG, reduciendo el
tiempo de ejecucin a 60.55 milisegundos por cada imagen, el cual se mantiene constante
independientemente del valor de

k.

Para la SVM, se utilizan valores de

25

23

para el

CAPTULO 5.

33

EXPERIMENTOS Y RESULTADOS

parmetro de regularizacin

c.

Con

c = 23

se clasican correctamente 10,498 imgenes

con un tiempo de entrenamiento de 28 minutos y 0.14 milisegundos para clasicar cada


imagen. Esto es 0.68 y 4 veces ms rpido 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 parmetro

de

25

23 .

Finalmente el primer y tercer lugar en precisin es para MLP y ELM, con una precisin
del 92.76 % y 89.50 % respectivamente. La conguracin 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 nmero de iteraciones
para el algoritmo de entrenamiento es de 100. Con 900 neuronas ocultas se clasican
correctamente 11,716 imgenes, con un entrenamiento de 13.68 horas y 10.52 milisegundos
para clasicar cada imagen. Esto corresponde a una ganancia en la precisin 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 nmero de neuronas ocultas. Esto
puede observarse en la Figura 5.4.

MLP
Entrenamiento

TIEMPO (HORAS)

20

15
10
5

0
300

600

900

1200

NEURONAS OCULTAS

Incremento en el tiempo de entrenamiento contra el nmero de neuronas ocultas


para el perceptrn multicapa usando entradas PCA-HOG.

Figura 5.4:

CAPTULO 5.

34

EXPERIMENTOS Y RESULTADOS

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 imgenes
clasicadas correctamente. Con esta conguracin la ELM tarda 7.88 minutos en ser entrenada, y 32.90 milisegundos en la clasicacin de cada imagen. Esto corresponde a una
prdida del 3.53 % de la precisin, con la ventaja de un entrenamiento 10.72 veces ms
rpido y un tiempo de ejecucin 12.33 veces ms rpido. Ambos tiempos aumentan proporcionalmente conforme el aumento en el nmero de neuronas ocultas, como puede verse
en la Figura 5.5.

ELM

TIEMPO (MINUTOS)

Entrenamiento

Pruebas

9
8
7
6
5
4
3
2
1
0
300

600

900

1200

1500

1800

2100

2400

2700

NEURONAS OCULTAS

Incremento en el tiempo de entrenamiento y pruebas contra el nmero de neuronas


ocultas para la mquina de aprendizaje extremo usando descriptores PCA-HOG.
Figura 5.5:

5.3

Resultados

Los algoritmos tienen un buen desempeo para la clasicacin de seales de trnsito. El


rendimiento ms bajo se obtiene con el mtodo ms simple,
xima del 76.06 % utilizando

k = 40

k -NN,

con una precisin m-

y descriptores HOG. Con el perceptrn multicapa

se obtiene una precisin del 92.76 % mientras que la ELM obtiene el 89.50 % utilizando
descriptores PCA-HOG. El MLP requiere grandes cantidades de tiempo de entrenamien-

CAPTULO 5.

35

EXPERIMENTOS Y RESULTADOS

Algoritmo

Neuronas Oc.

Precisin

Entrenamiento (ms)

Pruebas (ms)

PCA-MLP

300

0.927157561

16,927,146

46,888

PCA-MLP

600

0.925811560

33,353,856

93,296

PCA-MLP

900

0.927632621

49,276,844

132,964

PCA-MLP

1,200

0.925732383

65,383,957

176,984

PCA-ELM

1,800

0.886302454

235,801

302,425

PCA-ELM

2,100

0.892715756

322,782

341,671

PCA-ELM

2,400

0.893032462

397,844

383,206

PCA-ELM

2,700

0.895091053

473,216

415,534

Tabla 5.3: Comparacin 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 ejecucin. MLP requiere ms de 100 veces
el tiempo de entrenamiento, sin embargo obtiene mejores resultados y un tiempo menor de
ejecucin.

to, pero generalmente requiere de menor cantidad de neuronas ocultas para obtener una
precisin lo sucientemente alta. En cambio, la ELM requiere una cantidad mucho mayor
de neuronas ocultas lo cual aumenta su tiempo de ejecucin, pero el entrenamiento es por
mucho ms rpido en comparacin con el MLP. Esta informacin se resume en la Tabla
5.3.
De acuerdo con los resultados anteriores, la mquina de aprendizaje extremo es signicativamente ms rpida de entrenar que un perceptrn multicapa con el algoritmo
tradicional de propagacin inversa o sus variantes. En este caso, el algoritmo MLP requiere para su resultado ptimo (tercer la en la Tabla 5.3), hasta 104.13 veces ms tiempo
para el entrenamiento, en comparacin con el resultado ptimo de la ELM (ltima la en
la Tabla 5.3). Ambos algoritmos contaron con una conguracin similar de 392 neuronas
de entrada, un nmero variable de neuronas ocultas, y 43 neuronas de salida. Tambin 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 comparacin con MLP, un 93.04 % contra un 75.39 % respectivamente. Sin embargo hay
que aclarar que la implementacin de MLP que utiliza descriptores HOG como entrada
no fue congurada adecuadamente para su ptimo desempeo debido a limitaciones de
tiempo. Utilizando un mayor nmero de neuronas ocultas y mayor nmero de iteraciones

CAPTULO 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 tomara tiempo en la escala de meses. Considerando
esto y la precisin 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 mtodos, o ligeramente superior para un perceptrn
multicapa tradicional.
Finalmente es posible decir que la mquina de aprendizaje extremo es mucho ms
simple de utilizar que los algoritmos relacionados con la propagacin inversa para redes
neuronales. Esto es debido a que con la ELM solo es necesario modicar el nmero de
neuronas en la capa oculta, mientras que en un MLP aparte de modicar las neuronas
ocultas tambin se ajusta el nmero de iteraciones para el entrenamiento. Es ms simple
trabajar con una variable que con dos. Adems, 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 ejecucin no es de
un orden de magnitud signicativo. En la Tabla 5.3 PCA-MLP requiere 10.52 milisegundos
en su precisin ptima para clasicar cada imagen, mientras que PCA-ELM requiere 32.90
milisegundos por cada imagen.
Mediante la herramienta de anlisis de resultados es posible obtener la precisin de cada
algoritmo al evaluar el conjunto de pruebas. Tambin es posible cuanticar la cantidad de
errores que se cometieron por cada categora y generar la matriz de confusin. La mayora
de los algoritmos, con excepcin del MLP con entradas HOG, confunden las seales de
trnsito correpondientes a formas geomtricas similares: imgenes de seales redondas
son confundidas entre s, as como las seales triangulares. En la Figura 5.6 se muestra
la precisin de los algoritmos con entradas PCA-HOG, y la matriz de confusin para el
algoritmo PCA-LDA. La matriz de confusin del MLP con entradas HOG diere en gran
medida del resto de los algoritmos. Estas diferencias se ilustran en la Figura 5.7 donde se
muestra la matriz de confusin para MLP y PCA-MLP.
La diferencia en la matriz de confusin de MLP con respecto al resto de los algoritmos
radica en que la gran mayora de los errores cometidos son imgenes confundidas con
la categora nmero 40. En cambio, el resto de los algoritmos distribuyen sus errores

CAPTULO 5.

EXPERIMENTOS Y RESULTADOS

37

Ejemplo del funcionamiento de la herramienta para el anlisis de resultados. Precisin de los algoritmos con entradas PCA-HOG y matriz de confusin para PCA-LDA.

Figura 5.6:

Matriz de confusin para los algoritmos MLP y PCA-MLP. La matriz de PCAMLP es similar al resto de los algoritmos mientras que MLP diere en la naturaleza de los errores
cometidos.
Figura 5.7:

de manera uniforme entre categoras con formas geomtricas similares. Esta diferencia
podra ser atribuida a la falta de neuronas ocultas o de mayor nmero de iteraciones
del algoritmo de entrenamiento para el MLP. Con esta informacin se concluye que para
entrenar un perceptrn multicapa que obtenga resultados arriba del 90 % en precisin
en este contexto, se necesitan de meses enteros para su entrenamiento. En contraste la
mquina de aprendizaje extremo obtiene un 93.04 % de precisin con solamente 1.40 horas
de entrenamiento.

CAPTULO

Conclusiones y Trabajo Futuro

Para concluir, se destacan las siguientes observaciones relacionadas con la hiptesis planteada:

Los algoritmos implementados, con excepcin del

k -NN, son capaces de clasicar las

seales de trnsito cun una precisin mayor o igual al 80 %, en un tiempo menor a


medio segundo.

El algoritmo ELM es capaz de resolver el problema de clasicar seales de trnsito. Aqu se reportan resultados del 93.04 % y 89.50 % de precisin 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 algoritmo SVM con una precisin del 94.41 % al evaluar el conjunto de entrenamiento. Al
utilizar descriptores PCA-HOG el algoritmo MLP obtiene un 92.76 % de precisin.

El algoritmo ELM obtiene un excelente desempeo en comparacin con los otros


mtodos, siendo el segundo mtodo con mayor precisin 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 mtodos implementados el tiempo de ejecucin para evaluar una
seal de trnsito es del orden de los milisegundos y en ningn caso alcanza el medio
segundo.

38

CAPTULO 6.

CONCLUSIONES Y TRABAJO FUTURO

39

En cuanto al entrenamiento y desempeo de la ELM en comparacin con un MLP


entrenado mediante propagacin inversa, se tienen las siguientes observaciones:

La mquina de aprendizaje extremo es signicativamente ms rpida de entrenar


que un perceptrn multicapa con el algoritmo de propagacin 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 comparacin con MLP.

La mquina de aprendizaje extremo es mucho ms simple de utilizar que el algoritmo


de propagacin inversa para redes neuronales. Esto es debido a que con la ELM solo
es necesario modicar el nmero de neuronas en la capa oculta.

Como trabajo futuro, podran realizarse las siguientes aportaciones:

Extender la experimentacin para aplicar diversas transformaciones a los vectores


caractersticos HOG y comparar los cambios en la precisin y tiempos ms all de
un PCA.

Probar distintos mtodos de extraccin de caractersticas directamente sobre el conjunto de imgenes.

Encontrar una combinacin de mtodos que lleguen a una precisin superior al 95 %


y su ejecucin pueda darse en tiempo real con hardware comn.

Conectar los mtodos explorados con un sistema de deteccin de seales de trnsito


y de esta forma, probar el sistema completo en tiempo real a bordo de un vehculo.

Bibliografa
[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. 116,

2000.

[2] R. Bishop, Intelligent vehicle applications worldwide,

Applications, IEEE

, vol. 15, no. 1, pp. 7881, 2000.

[3] J. Marko, Google cars drive themselves, in trac,

[4] J.

Stallkamp,

puter:

M.

Schlipsing,

Benchmarking

cognition,

Intelligent Systems and their

machine

Neural Networks

J.

Salmen,

learning
no.

0,

and

New York Times

, vol. 9, 2010.

C.

algorithms
pp.,

2012.

Igel,

Man

for

trac

[Online].

vs.
sign

comre-

Available:

http://www.sciencedirect.com/science/article/pii/S0893608012000457

[5] J. Miura, T. Kanda, and Y. Shirai, An active vision system for real-time trac sign
recognition, in

Intelligent Transportation Systems, 2000. Proceedings. 2000 IEEE

IEEE, 2000, pp. 5257.

[6] A. De la Escalera, J. M. Armingol, and M. Mata, Trac sign recognition and analysis
for intelligent vehicles,

Image and vision computing

, vol. 21, no. 3, pp. 247258, 2003.

[7] S. Maldonado-Bascn, S. Lafuente-Arroyo, P. Gil-Jimenez, H. Gmez-Moreno, and


F. Lpez-Ferreras, Road-sign detection and recognition based on support vector machines,

IEEE Transactions on Intelligent Transportation Systems

264278, 2007.

40

, vol. 8, no. 2, pp.

41

BIBLIOGRAFA

[8] J. Stallkamp, M. Schlipsing, J. Salmen, and C. Igel, The german trac sign recognition benchmark: a multi-class classication competition, in

Joint Conference on Neural Networks (IJCNN)

The 2011 International

IEEE, 2011, pp. 14531460.

[9] F. Zaklouta, B. Stanciulescu, and O. Hamdoun, Trac sign classication using kd


trees and random forests, in

Networks (IJCNN)

The 2011 International Joint Conference on Neural

IEEE, 2011, pp. 21512155.

[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. 886893.

[11] P. Sermanet and Y. LeCun, Trac sign recognition with multi-scale convolutional
networks, in

The 2011 International Joint Conference on Neural Networks (IJCNN)

IEEE, 2011, pp. 28092813.

[12] D. Ciresan, U. Meier, J. Masci, and J. Schmidhuber, A committee of neural networks


for trac sign classication, in

Networks (IJCNN)

The 2011 International Joint Conference on Neural

IEEE, 2011, pp. 19181921.

[13] Z. Huang, Y. Yu, S. Ye, and H. Liu, Extreme learning machine based trac sign

2014 International Conference on Multisensor Fusion and Information


Integration for Intelligent Systems (MFI)
detection, in

IEEE, 2014, pp. 16.

[14] Z.-L. Sun, H. Wang, W.-S. Lau, G. Seet, and D. Wang, Application of BW-ELM
model on trac sign recognition,

Neurocomputing

, vol. 128, pp. 153159, 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. 559572, 1901.

[16] S. Wold, K. Esbensen, and P. Geladi, Principal component analysis,

and intelligent laboratory systems

Chemometrics

, vol. 2, no. 1, pp. 3752, 1987.

[17] E. Fix and J. L. Hodges Jr, Discriminatory analysis-nonparametric discrimination:


consistency properties, DTIC Document, Tech. Rep., 1951.

42

BIBLIOGRAFA

[18] T. Cover and P. Hart, Nearest neighbor pattern classication,

on Information Theory

IEEE Transactions

, vol. 13, no. 1, pp. 2127, 1967.

[19] R. A. Fisher, The use of multiple measurements in taxonomic problems,

eugenics

Annals of

, vol. 7, no. 2, pp. 179188, 1936.

[20] S. Singh and S. Silakari, Generalized discriminant analysis algorithm for feature
reduction in cyber attack detection system,

[21] V. N. Vapnik and S. Kotz,

arXiv preprint arXiv:0911.0787

, 2009.

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. 273297, 1995.

[23] A. K. Jain, J. Mao, and K. Mohiuddin, Articial neural networks: A tutorial,

puter

Com-

, vol. 29, no. 3, pp. 3144, 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. 115133, 1943.

[25] G.-B. Huang, Q.-Y. Zhu, and C.-K. Siew, Extreme learning machine: a new learning
scheme of feedforward neural networks, in

Joint Conference on Neural Networks

, vol. 2.

Proceedings. 2004 IEEE International


IEEE, 2004, pp. 985990.

[26] C. Igel, V. Heidrich-Meisner, and T. Glasmachers, Shark,

ning Research

Journal of Machine Lear-

, vol. 9, pp. 993996, 2008.

[27] Y. Liu and Y. F. Zheng, One-against-all multi-class svm classication using reliability

IJCNN'05. Proceedings. 2005 IEEE International Joint Conference on


Neural Networks, 2005
measures, in

, vol. 2.

IEEE, 2005, pp. 849854.

[28] C. Igel and M. Hsken, Empirical evaluation of the improved rprop learning algorithms,

Neurocomputing

, vol. 50, pp. 105123, 2003.

APNDICE A
Resultados de las Fases de Experimentacin

LDA
Aciertos

Precisin

Entrenamiento (ms)

Pruebas (ms)

11,766

0.931591449

144,929

9,062

PCA-LDA
Aciertos

Precisin

Entrenamiento (ms)

Pruebas (ms)

11,585

0.917260491

6,638

1,846

43

APNDICE A.

RESULTADOS DE LAS FASES DE EXPERIMENTACIN

k -NN
k

(vecinos)

Aciertos

Precisin

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

Aciertos

Precisin

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

PCA-k -NN

(vecinos)

44

APNDICE A.

45

RESULTADOS DE LAS FASES DE EXPERIMENTACIN

SVM

(reg.)

Aciertos

Precisin

Entrenamiento (ms)

Pruebas (ms)

25

11,911

0.943072051

533,314

7,520

23

11,924

0.944101346

804,595

7,505

21

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

(reg.)

Aciertos

Precisin

Entrenamiento (ms)

Pruebas (ms)

25

10,400

0.823436263

442,918

1,885

23

10,498

0.831195566

1,680,175

1,880

MLP

(neuronas)

(iter.)

Aciertos

Precisin

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

APNDICE A.

46

RESULTADOS DE LAS FASES DE EXPERIMENTACIN

PCA-MLP

(neuronas)

(iter.)

Aciertos

Precisin

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

(neuronas)

Aciertos

Precisin

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

APNDICE A.

47

RESULTADOS DE LAS FASES DE EXPERIMENTACIN

PCA-ELM

(neuronas)

Aciertos

Precisin

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
Adrin Garca Betancourt naci en Monterrey, Nuevo Len el da 20 de septiembre del
ao 1990. Realiz sus estudios profesionales en el Tecnolgico de Monterrey, Campus
Monterrey, donde obtuvo el ttulo de Ingeniero en Tecnologas Computacionales en el ao
2013. Obtuvo un Testimonio de Desempeo Sobresaliente en el Examen General para
el Egreso de la Licenciatura en Ingeniera de Software, por parte del Centro Nacional de
Evaluacin para la Educacin Superior, A. C. Gracias a su buen desempeo acadmico, fue
otorgado una beca para la realizacin de sus estudios de maestra por parte del Tecnolgico
de Monterrey, Campus Guadalajara, donde actualmente cursa la Maestra en Ciencias de
la Computacin.

48

Vous aimerez peut-être aussi