Vous êtes sur la page 1sur 5

1

Reconocimiento de patrones basado en


Maquinas de Vectores de Soporte (VSM)
Marcio Alexander Abreu Cano, Richar Orlando Contreras Caro

RESUMEN
Este proyecto, consiste en el desarrollo de un sistema inteligente
capaz de detectar y clasificar diferentes seales de trnsito en
tiempo real mediante el uso de una cmara. Se utilizar la tcnica
SVM (mquinas de vectores de soporte) para la clasificacin y
tcnicas de geometra computacional y procesamiento de
imgenes en la fase de deteccin. La implementacin se realizar
sobre el lenguaje Python, as como la plataforma de visin
computacional libre openCV para el control del hardware de
video y el tratamiento de imgenes.
Palabras ClaveSVM, visin computacional, reconocimiento
de patrones, clasificacin, aprendizaje de mquina.

I. INTRODUCCIN

l reconocimiento de patrones es una actividad propia de


los seres humanos y muchos animales, y se puede
interpretar como la capacidad de extraer informacin y luego
relacionarla para establecer as una forma de clasificacin de
la informacin. Pero este concepto ha sido objeto de
investigacin sobre las mquinas, contemplndolo de la
siguiente forma: El Reconocimiento de patrones es el estudio
de cmo las mquinas pueden observar el ambiente o entorno,
aprender a distinguir patrones de inters a partir de la
experiencia, y tomar decisiones razonables con respecto a las
categoras a las que pertenecen dichos patrones.
Teniendo en cuenta que mucha de la informacin que
manejamos diariamente en la vida real se presenta en forma de
patrones complejos ya sea sonidos, imgenes, texto, entre
otros para tratar problemas de reconocimiento de patrones
existen diversidad de tcnicas, las cuales no podemos decir
que haya una que sea la ms comnmente utilizada o
recomendada.
El rea de reconocimiento de patrones representa un desafo
en s misma dentro del campo de los sistemas inteligentes.
Marcio A. Abreu Cano: maabruec@unal.edu.co, estudiante de Pregrado en
Ingeniera Ingeniera de Sistemas y Computacin, Universidad Nacional de
Colombia.
Richar O. Contreras Caro: rocontrerasca@unal.edu.co, estudiante de Pregrado
en Ingeniera Ingeniera de Sistemas y Computacin, Universidad Nacional
de Colombia.

Ms all de esto, el inters por la misma se ha visto


incrementado sobre todo por la demanda de aplicaciones
computacionales relacionadas con diversas reas como
clasificacin de documentos, pronsticos financieros,
organizacin y recuperacin en bases de datos, Biometra,
herramientas para la toma de decisiones, por ejemplo, para
diagnsticos mdicos, entre muchas otras.
El reconocimiento de patrones puede considerarse; de algn
modo; como una disciplina de la Inteligencia artificial, donde
intervienen cuatro procesos fundamentales, tales como:

Adquisicin y representacin del conocimiento, que


consiste en la transferencia y transformacin de
conocimientos de una o ms fuentes a un sistema
informtico y representarlo de forma til para la mquina
con vista a un tratamiento posterior.
El Aprendizaje, que implica cambios en el sistema, el cual
se adapta para poder llevar a cabo la misma tarea a partir
de las mismas condiciones de un modo ms eficaz cada
vez.
Clasificacin, que consiste en proporcionar nuevos
prototipos al sistema, independientes de los utilizados en
el aprendizaje, para que ste los etiquete utilizando el
conjunto de clases disponibles.
Evaluacin, toda clasificacin acarrea una medida de
confiabilidad. Deben proporcionarse mecanismos para
evaluar esta confiabilidad de forma correcta y precisa.

Mediante la aplicacin de la tcnica de mquinas de vectores


de soporte, se implementar una relacin para el
reconocimiento de patrones en las cuales se puedan incluir los
cuatros procesos fundamentales anteriormente mencionados.

II. DEFINICIN DEL PROBLEMA


Con el avance que ha tenido a travs de los aos la tecnologa
en diferentes reas del conocimiento humano y el impacto que
ha generado en la sociedad en general y aun mas con los
prometedores enfoques a futuro, como por ejemplo en un
campo tan amplio y complejo como el transporte, donde se
conocen algunos trabajos relacionados con los sistemas
autnomos, los cuales estn compuestos de otros subsistemas,
hemos decidido enfocar este proyecto en una parte
fundamental como es la deteccin y clasificacin de las
seales de trnsito.

Este proyecto estar enfocado principalmente en el


reconocimiento de las seales, mas no en las acciones a
ejecutar de acuerdo a cada una de ellas, pero tendr una
conexin importante con el sistema encargado de este
procedimiento.

Lo que implica un gran trabajo en el proceso de recoleccin y


preparacin de las imgenes a usar.
En este proyecto, evaluaremos la clasificacin y deteccin de
seales de trnsito de tipo reglamentarias. La eleccin de este
conjunto particular para la clasificacin se debe a la mayor
disponibilidad de bancos de imgenes, libres para su uso en el
mbito acadmico.

III. ENFOQUE PROPUESTO


Para el desarrollo del sistema se contemplan 4 fases
principales:
1.
2.
3.
4.

Diseo del sistema y planteamiento terico de la solucin.


Desarrollo de los sistemas de deteccin y clasificacin
sobre la plataforma openCV python
Entrenamiento del sistema SVM, pruebas de deteccin y
clasificacin, realimentacin y optimizacin del sistema
Recoleccin de resultados y anlisis.

En este caso, se eligi el banco de imgenes de intitut fr


neuroinformatik, organizador de la competicin German
Traffic Sign Recognition Benchmark (GTSRB). Que facilita
para fines acadmicos su base de datos de aproximadamente
50.000 imgenes debidamente clasificadas y preparadas.

Las seales seleccionadas para detectar y clasificar en tiempo


real son:
Seales Reglamentarias:
Lmite de velocidad de 20
Lmite de velocidad de 50
Lmite de velocidad de 60
Lmite de velocidad de 70
Lmite de velocidad de 80
Lmite de velocidad de 100
Lmite de velocidad de 120
Seal de PARE
Ceda el paso
Seales informativas:
Hospital
Aeropuerto
Estacin de servicio
Restaurante
Seales preventivas:
Peatones en la va
Zona escolar
Glorieta
Vehculos en la va

Figura 1. Ejemplos de imgenes de entrenamiento


V. EXPERIMENTACIN DE DETECCIN
La implementacin del detector se realiz en 3 fases:

Sin embargo, cabe resaltar que el sistema es escalable y puede


ser capaz de detectar otras seales, siempre que puedan ser
detectadas dentro de los grupos mencionados y exista el
conjunto de datos apropiado para el entrenamiento del SVM.
IV. DATOS
Para el funcionamiento apropiado del sistema es necesario
contar con datos abundantes, y lo ms homogneos posible.
Esto es:
Gran cantidad de imgenes, correctamente clasificadas.
Tamao similar
Buena calidad de la imagen
Seales sin alterar (Deformacin, vandalismo)

Figura 2. Diagrama del proceso de deteccin


La experimentacin con el detector consisti en establecer las
relaciones geomtricas ptimas para cada tipo de seal, as
como establecer un rango de tamao de objeto que nos

3
permitiera eliminar falsos positivos. De igual manera se
experiment variando las cotas de cada color, a fin de que
estos respondieran de la mejor manera en diferentes
condiciones de luz o calidad de imagen.

el entrenamiento del SVM y que no se cuenta con los equipos


necesarios para realizar dicho proceso en un tiempo aceptable.
En su lugar se opt por asumir que la respuesta de cada
variable es independiente, es decir, que el valor ptimo de C,
no depende del valor actual de gamma, y viceversa.

VI. EXPERIMENTACIN DE CLASIFICACIN


Para la implementacin de la mquina de vector de soportes,
se experiment con el conjunto de datos, usando diferentes
tipos de formulacin de mquinas de vectores junto con
diferentes tipos de kernel tales como: lineal, polinomial,
funcin de base radial y sigmoide.
Experimentalmente el kernel en funcin de base radial arrojo
un mejor desempeo en cuanto a clasificacin y tiempo de
respuesta que los dems tipos de kernel.

VII. RESULTADOS Y ANLISIS

Se determin el comportamiento general del desempeo del


sistema en funcin de los parmetros C y gamma, Este
comportamiento est descrito por las siguientes funciones:

El kernel funcion base radial, se puede representarse


bsicamente como lo observamos en la figura 1.

Figura 4. Comportamiento del parmetro gamma

Figura3. Representacin kernel funcin base radial


Con este tipo de kernel, el hiperplano que separa 2 datos
particulares est dado por:

Por lo cual fue necesario encontrar experimentalmente el


parmetro gamma, As como el valor C del SVM, el cual nos
da un valor de penalizacin para los datos que no se
encuentren 100% acotados por un conjunto.
No existe en la literatura un modelo analtico que permita
encontrar estos valores ptimos analticamente para algn
problema particular, pues es an un tema de investigacin
activo.
Para encontrar dichos parmetros se dise una prueba
automatizada que nos permitiera cuantificar el desempeo. Sin
embargo no fue posible realizar la optimizacin de estos
parmetros como un problema de maximizacin en 2
variables, debido a la gran demanda de cmputo que implica

Figura 5. Comportamiento del parmetro C


El parmetro C tiende a estabilizarse, sin embargo, alcanza su
mximo en C = 8.010

4
El parmetro gamma tiende a decrecer despus de alcanzar su
mximo, una prueba similar en el intervalo (0, 0.5) arroj el
mximo de la funcin en gamma = 0.110
Con la implementacin realizada, se pueden obtener seales
detectadas y clasificadas correctamente en cada una de las
siguientes clases:
Lmite de velocidad
Lmite de velocidad
Lmite de velocidad
Lmite de velocidad
Lmite de velocidad
Lmite de velocidad
Lmite de velocidad
Seal de PARE

de 20
de 50
de 60
de 70
de 80
de 100
de 120

Mientras que las seales de tipo informativo y preventivo solo


son detectadas. La prueba diseada para cuantificar el
desempeo del sistema arroja una eficiencia de 93.4645 %. A
continuacin se muestra un ejemplo del sistema en ejecucin:

ngulo de la seal, distancia, condiciones de luz,


clima, deterioro de la seal, entre otros inconvenientes
propios del entorno.
El uso de SVM, demuestra ser un mtodo robusto, que
nos proporciona un cmputo lo suficientemente rpido
y constante, as como una buena respuesta ante la
mayora de condiciones mencionadas. Sin embargo, es
de resaltar la gran importancia que tiene la correcta
definicin de lo parmetros, as como la extraccin de
las caractersticas mediante algoritmos eficientes que
permitan una rpida y correcta clasificacin.
IX. RECOMENDACIONES PARA MEJORAR ESTA SOLUCIN
Uno de los inconvenientes presentados fue el problema de la
capacidad de cmputo, pues si bien una computadora
promedio es suficiente para ejecutar el detector y el
clasificador, stas no resultan viables para los procesos de
optimizacin de parmetros, donde es necesario ejecutar el
algoritmo de entrenamiento muchas veces. Por ello, un trabajo
importante por hacer es el proceso de optimizacin manejando
ms variables que las aqu contempladas, es decir: Cantidad de
celdas, tamao de re-escalado de la imagen, nmero de
tamao del vector de caractersticas, c y gamma, as como una
mayor exploracin de las alternativas que nos brindan los
filtros para la extraccin de caractersticas y las transformadas
geomtricas para el proceso de deteccin.
De igual manera, es importante para el mejoramiento de esta
solucin la generacin de una base de datos ms grande, que
incluya particularmente las seales de trnsito colombianas,
ampliando as la capacidad de clasificacin del sistema a los
tipos de seales restantes , es decir, preventivas e informativas.
Tambin es necesario para la implementacin del sistema un
proceso de prueba en condiciones reales, que nos permita
establecer el comportamiento real del sistema, as como
identificar y corregir nuevos problemas.

REFERENCIAS
Figura 6. Ejemplo de la ejecucin del sistema

VIII. CONCLUSIN

[1]

[2]
[3]
[4]

En este proyecto se realiza una primera aproximacin


al problema del reconocimiento de seales de trnsito,
considerando los retos particulares de la aplicacin
prctica de estos sistemas, estos son:

[5]
[6]
[7]

OpenCV. python-opencv machine learning, understanding SVM.


Disponible en
http://docs.opencv.org/trunk/doc/py_tutorials/py_ml/py_svm/py_svm_
index.html#svm
N. Cristianini y J. Shawe-Taylor. (2000). An Introduction to Support
Vector Machines.
Berwick. R. An Idiots guide to Support vector machines (SVMs).
Devijer P, Kittler, J. Pattern Recognition: theory and applications.
Springer, (1986).
Markus Mathias, Radu Timofte, Rodrigo Benenson, and Luc Van
Gool. Traffic Sign Recognition How far are we from the solution?
Zoran Kalafati and Sinia egvi. Traffic sign detection and
recognition
J. Stallkamp, M. Schlipsing, J. Salmen, C. Igel, Man vs. computer:
Benchmarking machine learning algorithms for traffic sign

[8]

[9]

recognition, Neural Networks, Available online 20 February 2012,


ISSN
0893-6080,
10.1016/j.neunet.2012.02.016.
(http://www.sciencedirect.com/science/article/pii/S089360801200045
7) Keywords: Traffic sign recognition; Machine learning;
Convolutional neural networks; Benchmarking.
C.-C. Chang and C.-J. Lin, LIBSVM: a library for support vector
machines,
2001,
software
available
at
<http://www.csie.ntu.edu.tw/~cjlin/libsvm.>>
S. Maji, A. C. Berg, and J. Malik, Classification using intersection
kernel support vector machines is efficient, in CVPR, 2008.

Vous aimerez peut-être aussi