0% encontró este documento útil (0 votos)
46 vistas4 páginas

Clasificación de Logotipos con Redes Neuronales

Este documento presenta la aplicación de redes neuronales para clasificar logotipos. Se implementó una red neuronal con dos capas para clasificar seis tipos de logotipos usando ocho características extraídas con PCA. La red neuronal tuvo un rendimiento de 86% en la clasificación, igual que el método de los k vecinos más cercanos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
46 vistas4 páginas

Clasificación de Logotipos con Redes Neuronales

Este documento presenta la aplicación de redes neuronales para clasificar logotipos. Se implementó una red neuronal con dos capas para clasificar seis tipos de logotipos usando ocho características extraídas con PCA. La red neuronal tuvo un rendimiento de 86% en la clasificación, igual que el método de los k vecinos más cercanos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

Talle 7 - Redes Neuronales


Diego Alexander Rodríguez Vargas, [email protected], codigo: 285607
Julián Alexander Vargas Jiménez, [email protected], codigo: 285615

Resumen—Este documento presenta la aplicación de redes Redondez


neuronales en el problema de clasificación de características Diámetro
específicamente en el reconocimiento de logotipos, que fue el Eje menor
problema planteado como proyecto de curso. Por medio de los
resultados obtenidos se calcula el rendimiento de este método y es Cuatro datos relacionados con la firma
comparado con otros clasificadores como por ejemplo el método Cuatro datos referidos al PGH
de los K vecinos más cercanos. Después de obtener el valor de cada una de las característi-
Palabras Claves—Características, Logotipos, OpenCv, Percep- cas, se realiza un análisis de componentes principales PCA y
trón, Redes neuronales. se extraen ocho, las cuales representan el 98 % de la dispersión
de los datos. Por último, al proyectar las características en el
I. I NTRODUCCIÓN nuevo espacio dado por los ocho vectores propios, se definen
las entradas de la red neuronal.
As redes neuronales es uno de los métodos más usados en
L inteligencia artificial, se emplea tanto en aprendizaje de
máquina como en sistemas clasificadores, que es el caso que se IV. I MPLEMENTACIÓN DE LA R ED N EURONAL
está estudiando. Para la aplicación de este método, se partirá Dentro de las propiedades principales de las redes neu-
de los resultados arrojados por el análisis de componentes ronales se encuentran: procesamiento de un gran conjunto
principales PCA, que fue analizado en talleres anteriores. Es de datos, baja densidad de información, robustez ante fallo
importante señalar que se definen inicialmente 21 caracterís- en la estructura, robustez ante inconsistencia en los datos
ticas y con el análisis de componentes principales se extraen de entrada, datos y reglas de procesamiento confundidos
8 teniendo una dispersión del 99 % de los datos originales. en las conexiones, procesamiento altamente paralelo, y gran
capacidad de auto organización [1].
II. P LANTEAMIENTO DEL EJERCICIO Generalmente, se emplean redes neuronales para resolver
Se propone para el proyecto de curso que se está desarrol- problemas de clasificación, para ello, típicamente se crean
lando el estudio, la evaluación y la discusión del desempeño dos capas. La primera, representa las características que se
de las Redes Neuronales Artificiales como clasificador, cuando utilizan para describir los objetos, en nuestro caso, se crean
son aplicadas a un conjunto de vectores de características. ocho neuronas en la primera capa, teniendo en cuenta que se
efectuó una reducción dimensional por medio del PCA. La
segunda capa representa la clases, y el número de neuronas
III. G ENERACIÓN DATOS DE ENTRADA
es igual al número de clases con que se trabaja, que es saber,
A continuación se explica de manera muy breve, debido a seis: Puma, Adidas Clásico, Adidas, Nike, Lotto y Kappa.
que fue explicado en informes anteriores, el preprocesamiento Por medio de la librería OpenCv se pueden generar redes
de las imágenes, la selección y extracción de características. neuronales, para ello, se debe crear un objeto de la clase
En primer lugar se realiza un redimensionamiento a 100 CvANN_MLP que definirá los parámetros básicos de la red,
pixeles de altura y su respectivo ancho a esa altura, de la seg- tales como: las capas, la función de activación, entre otros.
mentación del logo encontrado usando un filtro smooth para El parámetro referente a las capas tiene que ser una matriz
disminuir ruido y un filtro canny para encontrar contornos. Con que contiene el número de neuronas por capa. La declaración
este contorno se obtiene en primera instancia, una secuencia de las capas, así como de la red neuronal, se presentan en la
de puntos la cual contiene la forma exterior del logo generada figura 1
después de aplicar dilataciones cuatro veces consecutivas y
erosionando cuatro veces; esto se hace con el objetivo de
emplear funciones tales como el perímetro y el área de un
contorno único y no contornos por separado; y en segundo
lugar, una imagen con los contornos del logotipo, esta imagen
puede contener varios contornos exteriores.
El conjunto de características aplicada a cada una de las
Figura 1. Código fuente para declaración de la red neuronal
imágenes es:
Número de contornos Para la resolución de este problema se emplea la función
Seis posiciones de defectos de envolvente sigmoidea, la cual se utiliza en la resolución de problemas que
Siete momentos de Hu no son linealmente separables. La definición matemática de la
Perímetro función sigmoidea es de la forma:
2

101000 es una falsa detección. El código utilizado para la


visualización se presenta en la figura 6
Figura 2. Función Sigmoidea

Figura 3. Función sigmoidea

Que corresponde con la siguiente función:


Una vez declarados los parámetros de la red neuronal, se
puede iniciar el proceso de entrenamiento. En código se utiliza Figura 6. Código fuente para visualización de la clasificación
el método train de la clase CvANN_MLP dando como entradas
un vector conteniendo la información de las características, V. RESULTADOS
un vector asociado a la representación de las combinaciones Con el objetivo de evaluar el rendimiento de la red neuronal
de cada neurona, por ejemplo, el vector v = [1, 0, 0, 0, 0, 0] y obtener datos que sean comparables con los resultados
indica que el objeto pertenece a la clase 1, mientras que el obtenidos utilizando otros métodos, se decide emplear las
vector v = 0, 1, 0, 0, 0, 0 indica que el objeto pertenece a la mismas imágenes que se emplearon para el entrenamiento y
clase 2. Además, se debe parametrizar la manera los criterios para las predicciones, las cuales se presentan en la figura 9.
de parada de la red. La figura 4 muestra el código utilizado Los resultados obtenidos se presentan en la figura 7
para el entrenamiento de la red neuronal.

Figura 4. Entrenamiento de la red neuronal

En este caso, existen dos criterios de parada, el primero


corresponde a un limite en las iteraciones igual a 600 y el
segundo, cuando epsilon es igual a 0.00001. Para clasificar,
se debe usar la función predict, la cual recibe la muestra o
elemento y devuelve una matriz con el valor final en cada
una de las neuronas en sus última iteración, es importante
aclarar que valores cercanos a 1 como por ejemplo 0.90 se
pueden considerar unitarios con el fin de establecer la clase
perteneciente. La sintaxis de la función predict se presenta en
la figura 5

Figura 5. Código fuente para clasificación de la red neuronal


Figura 7. Resultados clasificación
Por último, se desarrolla un código para la visualización de
la información de la salida de la red neuronal. Se debe tener De acuerdo a la figura 7, se presentaron 4 falsas detecciones,
en cuenta que debido a que se utilizaron potencias de dos en la una en la clase 1, dos en la clase 3 y uno en la clase 4. De este
asignación de las clases a cada objeto, sólo debe aparecer un 1 modo, se podría afirmar que la red neuronal tuvo un rendimien-
por vector de salida por objeto, en caso contrario, se reconoce to de 86 %. Ahora bien, si se comparan estos resultados con
una falsa detección. Así por ejemplo, si el vector de salida los obtenidos con los métodos implementados anteriorermente:
es 100000, la prueba pertenece a la clase 1; con el vector de Bayesiano, K-medias, K vecinos más cercanos y distancias
salida 001000 la prueba es de la clase 3; y la combinación encadenadas, se nota que los resultadso fueron idénticos a los
3

obtenidos con el método de los K vecinos más cercanos, que


fue le método que tenía un mejor desempeño.
Las observaciones anteriores llevaron a reflexiones acerca
de la causa de estas malas detecciones. Al observar las
imágenes problemáticas, se llegó a la conclusión que estos
inconvenientes se deben a la excesiva presencia de ruido en las
imágenes de prueba. Las imágenes que no fueron clasificadas
satisfactoriamente se muestran en la figura 8.

Figura 8. Imágenes no clasificadas

En el caso de la imagen 5, el logo está en presencia de


una sombra o un contorno adicional alrededor de él, lo cual
lleva a una falsa detección del contorno de mayor área que
es utilizado para la extracción de características. La imagen
18 por su parte, contiene dos grandes franjas rojas en dos
de sus esquinas lo cual conlleva nuevamente a una érronea
clasificación. Por otro lado, en la imagen 20, se presenta ruido
en forma de nube de puntos, sin embargo, ese ruido es el
que define el contorno, por lo cual no puede ser suprimido.
Finalmente, en la imagen 22 se aprecia una línea horizontal
con un fuerte cambio de intensidad en el color lo que produce
un contorno externo atípico.

VI. C ONCLUSIÓN
Las redes neuronales como método de clasificación son
de gran utilidad en la resolución de problemas no lineales
favoreciendo los recursos y tiempo computacional por su
alto paralelismo. El desempeño de la red neuronal en el
problema de reconocimiento de logotipos es alto, pues, se
obtienen resultados muy confiables y un alto rendimiento, los
mismos que se obtuvieron con el mejor método entre los ya
mencionados, que es a saber, el método de los K vecinos más
cercanos. Los datos que no fueron clasificados por medio de
la red neuronal, son realmente casos muy específicos y esto
se debió a ruidos en cada una de estas imágenes.

R EFERENCIAS
[1] Jose Manuel Quero. Redes neuronales. Universidad de Sevilla, November
2012.
4

Figura 9. Imágenes utilizadas en la red neuronal

También podría gustarte