• No se han encontrado resultados

TRABAJO PRÁCTICO: Trabajo Final de Grado

N/A
N/A
Protected

Academic year: 2021

Share "TRABAJO PRÁCTICO: Trabajo Final de Grado"

Copied!
6
0
0

Texto completo

(1)

TRABAJO PRÁCTICO:

Trabajo Final de Grado

Apellido: Laudadío

Nombres: Alberto Esteban

Legajo: 5965

Teléfono: 15 4034 0056

e-mail: [email protected]

Carrera: Lic. Informática

Turno: Noche

Docente: PhD. María Daniela López de Luise

Fecha de entrega: 22/05/12

(2)

Abstract -- El presente trabajo forma parte del proyecto PROA, perteneciente al laboratorio AIGroup de la Universidad de Palermo. Tiene como objetivo desarrollar un Sistema Inteligente para Detección Precoz de Problemas de Aprendizaje destinado a niños de entre 3 y 6 años de edad. En este marco, se propone el empleo de Redes Neuronales Auto Organizadas para clasificación de imágenes. Estas forman parte de una serie de pruebas diseñadas para evaluar las producciones gráficas de los niños, en este caso, dibujo de círculos, cuadrados y triángulos. A las capturas se las procesa para conseguir vectores numéricos que servirán de entrada a una red neuronal del tipo Kohonen, diseñada para clasificar. Con esta red se busca determinar si un dibujo corresponde a la figura solicitada en las consignas. De esta forma se pretende automatizar la clasificación de los dibujos de los infantes, facilitando el proceso de evaluación.

I. INTRODUCCIÓN

El procesamiento digital de imágenes tiene como objetivo facilitar la búsqueda de información, a través de distintas herramientas. Una de estas es el Downsampling o Reducción de resolución controlada.

Entre las técnicas más usadas se pueden mencionar Reducción, Interpolación Bilineal, Filtros Binomiales y Wavelets Biortogonales.

La imagen digital es la representación bidimensional de una imagen y está formada por una matriz de bits que definen el color y la intensidad de cada uno de los píxeles que forman la imagen. Según la codificación del color será la cantidad de bits necesaria para guardar la información de cada píxel. En este trabajo se utilizarán imágenes en escala de grises, que requieren menor cantidad de información y con una profundidad de 8 bits.

Con la disminución de la resolución se logra reducir la cantidad de datos que se ingresarán a la red neuronal tratando de no alterar la información relevante. Para dicho procesamiento se utiliza una matriz constante de 10 x 10 elementos.

Para descartar los espacios en blanco y parte del ruido de las imágenes se propone una técnica de recorte de la figura. Esta técnica ayuda a minimizar la influencia de la posición de la figura en la imagen.

La red neuronal Kohonen, también conocida como mapas auto-organizados, en adelante SOM (por sus siglas en inglés Self-Organizing Maps) es uno de los tipos de redes neuronales más sencillos. Tiene sólo una capa de neuronas de entrada y una capa de salida. Se trata de una red neuronal no supervisada con entrenamiento competitivo. Se utiliza para detectar características, regularidades, patrones y categorías.

Tanto para el procesamiento digital de las imágenes como para el diseño, entrenamiento y prueba de la red neuronal se utilizará Matlab.

II. PROCESAMIENTO DE IMÁGENES.

La imagen digital está formada por puntos completamente cuadrados llamados píxel, que es una palabra que proviene de “PICTure ELement” (elemento de imagen). Están juntos entre si no dejando ningún tipo de hueco y están perfectamente alineados en columnas y filas. [1]

El tamaño de imagen se concreta con las dimensiones de ancho y alto en píxeles y es la medida básica más importante. No sólo eso, es además la única forma precisa de determinar exactamente las magnitudes de una imagen digital.[2]

Para el presente trabajo se utilizan imágenes de 255 x 392 píxeles. Esto da una matriz de 99,960 puntos por imagen. En la Tabla 1 se detallan las características de las imágenes utilizadas.

TABLA1

CARACTERÍSTICAS DE LAS IMÁGENES A CLASIFICAR

Archivos formato PNG

Color 256bits en escala de grises Dimensiones 255px x 392px

Profundidad 8bits

En esta primera parte se busca preparar las imágenes como información de entrada a la red de forma uniforme y resumida. Es por esto que el principal problema que se presenta es la resolución de las imágenes obtenidas digitalmente. Otro

Red Neuronal Kohonen aplicada a la

clasificación de figuras manuscritas.

Alumno: Alberto Esteban Laudadío

(3)

A. Recorte

El primer paso es recortar la imagen. Una vez leída la imagen, se invoca a la función de Matlab ‘regionprops’ [3] para obtener las propiedades de una región de la misma.

Se aplica la función Matlab 'BoundingBox' (Fig. 1), para obtener un cuadro alrededor de la figura. Mediante programación Matlab, se calcula el lado mayor y en caso de ser necesario se extiende el cuadro hasta formar un cuadrado. Esto es de suma importancia para no deformar la figura al momento de realizar la disminución. Una vez ajustado el cuadro, se procede a recortar la imagen con la función ‘imcrop’ (Fig. 3). En la Fig. 2, se observa el proceso de recortar una imagen original a) para obtener la imagen a procesar b).

Fig. 1 Código Matlab para obtener propiedades de la figura

Este recorte permite eliminar los espacios en blanco alrededor de la imagen que no son relevantes. De ahora en adelante la posición de la figura dentro de la imagen es constante, ya que el procesamiento se centra sólo en dicha figura.

Fig. 2 a) Imagen Original b) Recorte de Figura

Fig. 3 Código Matlab para recortar imagen.

B. Disminución de resolución

Como se mencionó anteriormente las imágenes son de 255 x 392 píxeles. Luego del recorte se reduce considerablemente la cantidad de puntos, pero aun así son demasiados para poder ser procesados por la red, por lo que se realiza una disminución de resolución.

Este proceso consiste en asociar cada imagen con una matriz de 10 x 10 elementos. Usando un factor de escala adecuado entre ambas se reduce la cantidad necesaria de neuronas de entrada a la red. También se resuelve el problema acerca de que tan grande o pequeña pueda ser una figura. Esto se debe a que todas las imágenes recortadas (Fig. 4 a) serán escaladas a una grilla constante de 10 x 10 (Fig. 4 b), neutralizando el tamaño original de las mismas. Como se observa en la Fig. 5 se utilizan las funciones ‘imdilate’ e ‘imresize’ para aplicar la transformación a las imágenes.

Fig. 4 a) Imagen recortada b) Imagen Reducida

Fig. 5 Código Matlab para disminuir resolución

III. REDES NEURONALES

Las Redes Neuronales Auto Organizadas están compuestas por 2 capas, una de entrada y una de salida. El tamaño de la capa de entrada es determinado por la cantidad de elementos de cada fila del archivo de datos de entrada. La capa de salida está compuesta por neuronas que compiten entre ellas, en entrenamiento no supervisado[4]. La red SOM no utiliza ningún tipo de función de activación. Sólo una de las neuronas de salida es seleccionada como “ganadora” terminando con una salida de 1[5]. El resto de las neuronas, finalizan en 0.

(4)

Distintos patrones de entrada, terminan disparando distintas neuronas ganadoras. Patrones idénticos o similares clasifican a la misma neurona ganadora [6]. Las entradas son provistas a cada neurona de la capa de salida, desde la capa de entrada. Cada neurona determina su propia salida, según los pesos calculados en la etapa de entrenamiento. Los pesos de las neuronas y los datos de entrada deben ser normalizados al rango -1 y 1 para no afectar la performance de la red.

Para el aprendizaje hay varios pasos involucrados. Por lo general el proceso de entrenamiento de una red SOM implica pasar a través de varios ciclos hasta que el error de la red alcanza un nivel aceptable. Se utiliza el tipo de entrenamiento competitivo. Por cada set de datos de entrada solo una neurona se activará. Esta neurona ganadora tendrá el peso actualizado para reaccionar aún más firmemente a la entrada de datos la próxima vez. Como diferentes neuronas se activarán para diferentes patrones, la habilidad para reconocer un determinado patrón se verá incrementada. [6]

La tasa de aprendizaje (learning rate) es una constante usada por el algoritmo de aprendizaje. Debe ser un número positivo menor que 1. Generalmente el learning rate utilizado es de 0,4 ó 0,5. Este parámetro es solo una variable usada como parte del algoritmo utilizado para ajustar el peso de las neuronas.

IV. IMPLEMENTACIÓN

A continuación se detallarán los métodos y herramientas utilizados para la clasificación de las imágenes.

Luego del procesamiento de las imágenes se obtiene el archivo de datos con un vector por imagen. Cada vector tiene 289 elementos, correspondientes a cada uno de los píxeles de la imagen.

Las imágenes quedan representadas por los píxeles binarios, 1 para los píxeles negros y 0 para los píxeles blancos. Las neuronas necesitan como tipo de dato, en la entrada, punto flotante y la red SOM requiere que los datos estén normalizados. Por esto se le resta 0,5 a los píxeles de la imagen obteniendo -0,5 para los píxeles blancos y 0,5 para los píxeles negros (Fig. 6).

Fig. 6 Ejemplo de archivo de datos de entrada normalizado

La cantidad de elementos del vector del archivo de datos, define la cantidad de neuronas para la capa de entrada[5]. En este caso: 10 x 10 = 100 neuronas de entrada.

Para la cantidad de neuronas de salida se propone una capa bidimensional de 5 x 5 neuronas con la topología hexagonal por ser la más utilizada[5]. En la Fig. 6 se puede observar la topología configurada. Esto permite al modelo propuesto, detectar un amplio espectro de patrones similares.

Fig. 6 Topología de la red SOM

V. ENTRENAMIENTO

Con los parámetros antes ya definidos se entreno una red SOM (Fig. 7), utilizando un set de 112 imágenes. Para medir el rendimiento del entrenamiento, se dividió el conjunto de imágenes en sets de datos. Para cada uno se eligió azarosamente 60% de las imágenes (67) para entrenar y 30% (37 imágenes) para validar, descartando en cada grupo un 10% de imágenes (11).

(5)

observar en la Fig. 8, la interfase de entrenamiento de la red.

Fig. 8 Interfase gráfica herramienta de entrenamiento Matlab Al finalizar el entrenamiento estamos en condiciones de validar la red obtenida.

VI. RESULTADOS

Como resultado del entrenamiento en la Fig. 9 se puede apreciar la cantidad de veces que cada neurona se activó para el set de datos provisto.

A priori, al tratarse de entrenamiento no supervisado no podemos asegurar la relación entre las neuronas ganadoras y sus respectivos patrones de entrada. Para esto se procedió a identificar los vectores de entrada según la figura que representa. Al cruzar los vectores etiquetados con la salida de la simulación, se obtiene la Tabla 2, que nos sirve para rotular cada neurona en el gráfico de topología, con los patrones que las activan (Fig. 10).

Una forma de validar el proceso de etiquetado es comparando el número de activaciones por neurona de la Fig. 9, con el total de patrones que activaron cada neurona en la Tabla 2.

Fig. 9 Activaciones por Neurona

TABLA2

(6)

Fig. 10 Neuronas etiquetadas según los patrones que las activan

VII. CONCLUSIONES

Por los resultados obtenidos se deduce que si bien el clasificador propuesto, logra identificar los patrones ingresados, se requiere incorporar alguna técnica de procesamiento que permita resolver la confusión que inducen la rotación de ciertos figuras respecto de la base de la imagen. A futuro se propone incorporar técnicas de aproximación lineal y detección de vértices para lograr un modelo clasificador más efectivo. La optimización de los parámetros de la red neuronal también queda por realizar.

VIII. BIBLIOGRAFÍA /REFERENCIAS

[1] Rodriguez H, "Imagen digital, Conceptos Básicos". Marcombo. 2005 [2] John C. Russ, "The Image Processing Handbook" Third Edition, CRC [3] MathWorks. 2012. R2012a Documentation. Obtenido de

http://www.mathworks.es/help/toolbox/images/ref/regionprops.html [4] Teuvo Kohonen, “Self-Organizing Maps”. Springer, 2001 [5] Jeff Heaton, "Introduction to Neural Networks for Java".

[6] Vuokko Vuori, E.O. 2000. "Analysis of Different Writting Styles with the Self- Organizing Map"

IX. BIOGRAFÍA

Laudadío Alberto, nacido en ciudad de Mendoza el 18 de noviembre de 1979, es estudiante de Licenciatura en Informatica en la Universidad de Palermo. Analista de base de Datos. Desarrollador Java. Líder de Nuevos Proyectos. Actualmente trabaja en Frávega SACIEF como analista en base de datos. Miembro activo del AIGroup, que desarrolla actividades en el marco del ITLab de la Universidad de Palermo, participando en el proyecto: PROA. Desde Marzo 2008. Reside en la Capital Federal de Buenos Aires, Argentina.

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

If certification of devices under the MDR has not been finalised before expiry of the Directive’s certificate, and where the device does not present an unacceptable risk to health

In addition to the requirements set out in Chapter VII MDR, also other MDR requirements should apply to ‘legacy devices’, provided that those requirements

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

Y tendiendo ellos la vista vieron cuanto en el mundo había y dieron las gracias al Criador diciendo: Repetidas gracias os damos porque nos habéis criado hombres, nos

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que

Las manifestaciones musicales y su organización institucional a lo largo de los siglos XVI al XVIII son aspectos poco conocidos de la cultura alicantina. Analizar el alcance y