sistema para el reconocimiento fuera de línea de caracteres...

15
Revista de Investigaciones No. 17 - Universidad del Quindío 189 Revista de Investigaciones No. 17 - Universidad del Quindío p p 189- 203 Armenia, Año 2007 ISSN 1794-631 X Sistema para el Reconocimiento Fuera de Línea de Caracteres Manuscritos 1 Ing. Muñoz Gutiérrez, Pablo Andrés2 M.Sc. [email protected] Ing. Ibargüen Ocampo, Francisco Javier3 M.Sc. Ing. Cardona Aristizabal, Jaiber Evelio4 M.Sc. Grupo GAMA5— [email protected] CEIFI, Universidad del Quindío, Agosto de 2.006 RESUMEN En este artículo se describe, a través de un diagrama de bloques, un sistema diseñado para el reconocimiento fuera de línea de caracteres manuscritos, con el cual se realizó una comparación entre la capacidad de generalización de las máquinas de vectores de soporte y el perceptrón multicapa. El sistema fue probado en el reconocimiento de dígitos manuscritos (0-9) y en el reconocimiento de 25 letras manuscritas del alfabeto Inglés (excepto la w), los cuales demostraron que las máquinas de vectores de soporte generalizan mejor que el perceptrón multicapa en esta aplicación en particular. El sistema implementado para el reconocimiento de caracteres manuscritos está en capacidad de reconocer los diez dígitos manuscritos (0-9) con un porcentaje de acierto del 97.03% con las máquinas de vectores de soporte y un porcentaje de acierto del 94.96% con el perceptrón multicapa, mientras que para el reconocimiento de veinticinco letras manuscritas presenta un porcentaje de acierto del 93.78% con las máquinas de vectores de soporte y un 89.32% de acierto con el perceptrón multicapa. Palabras clave: Máquinas de Vectores de Soporte, Redes Neuronales Artificiales, perceptrón multicapa, Reconocimiento de Caracteres Manuscritos, Generalización. ABSTRACT Within this paper we describe a system designed for the off-line handwriting character recognition through a block diagram, which was used to make a comparison between the capacity of generalization of the support vector machines, and that of the multilayer perceptron. The system was applied in the recognition of the ten handwriting digits (0-9), and in the recognition of twenty-five handwriting letters of the English alphabet (excluding the /w/). The results showed that the support vector machines have a better capacity of generalization that the multilayer perceptron in this particular application. Then, the implemented system for the handwriting character recognition has the capacity to recognize the ten different handwriting digits (0-9), with a asserting percentage of 97.03% with the support vector machines, and an asserting percentage of 94.96% with multilayer perceptron. On the other side, for the recognition of the twenty-five handwriting letters we obtained an asserting percentage of 93,78% wit a support vector machines, and 89.32% with the multilayer perceptron. Key Words: Support Vector Machines, Artificial Neural Networks, Handwriting Character Recognition, , Generalization. 1 Reconocimiento de Patrones Usando Máquinas de Vectores de Soporte. Proyecto de Investigación #240 2 Ingeniero Electrónico Universidad Nacional de Colombia y Magíster en Ingeniería Eléctrica UTP. Investigador Principal. 3 Ingeniero Electricista y Magíster en Automática Universidad del Valle. Coinvestigador . 4 Ingeniero Electrónico y Magíster en Automática Universidad del Valle. Asesor. 5 Grupo de Automatización y Máquinas de Aprendizaje (GAMA).

Upload: vanhanh

Post on 06-Sep-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

189

Revista de Investigaciones No. 17 - Universidad del Quindío p p 189- 203 Armenia, Año 2007 ISSN 1794-631 X

Sistema para el Reconocimiento

Fuera de Línea de

Caracteres Manuscritos1

Ing. Muñoz Gutiérrez, Pablo Andrés2 M.Sc. [email protected] Ing. Ibargüen Ocampo, Francisco Javier3 M.Sc.Ing. Cardona Aristizabal, Jaiber Evelio4 M.Sc.Grupo GAMA5— [email protected]

CEIFI, Universidad del Quindío, Agosto de 2.006

RESUMEN

En este artículo se describe, a través de un diagrama de bloques, un sistema diseñado para el reconocimiento fuera de línea de caracteres manuscritos, con el cual se realizó una comparación entre la capacidad de generalización de las máquinas de vectores de soporte y el perceptrón multicapa. El sistema fue probado en el reconocimiento de dígitos manuscritos (0-9) y en el reconocimiento de 25 letras manuscritas del alfabeto Inglés (excepto la w), los cuales demostraron que las máquinas de vectores de soporte generalizan mejor que el perceptrón multicapa en esta aplicación en particular. El sistema implementado para el reconocimiento de caracteres manuscritos está en capacidad de reconocer los diez dígitos manuscritos (0-9) con un porcentaje de acierto del 97.03% con las máquinas de vectores de soporte y un porcentaje de acierto del 94.96% con el perceptrón multicapa, mientras que para el reconocimiento de veinticinco letras manuscritas presenta un porcentaje de acierto del 93.78% con las máquinas de vectores de soporte y un 89.32% de acierto con el perceptrón multicapa.

Palabras clave: Máquinas de Vectores de Soporte, Redes Neuronales Artificiales, perceptrón multicapa, Reconocimiento de Caracteres Manuscritos, Generalización.

ABSTRACT

Within this paper we describe a system designed for the off-line handwriting character recognition through a block diagram, which was used to make a comparison between the capacity of generalization of the support vector machines, and that of the multilayer perceptron. The system was applied in the recognition of the ten handwriting digits (0-9), and in the recognition of twenty-five handwriting letters of the English alphabet (excluding the /w/). The results showed that the support vector machines have a better capacity of generalization that the multilayer perceptron in this particular application. Then, the implemented system for the handwriting character recognition has the capacity to recognize the ten different handwriting digits (0-9), with a asserting percentage of 97.03% with the support vector machines, and an asserting percentage of 94.96% with multilayer perceptron. On the other side, for the recognition of the twenty-five handwriting letters we obtained an asserting percentage of 93,78% wit a support vector machines, and 89.32% with the multilayer perceptron.

Key Words: Support Vector Machines, Artificial Neural Networks, Handwriting Character Recognition, ,

Generalization.

1 Reconocimiento de Patrones Usando Máquinas de Vectores de Soporte. Proyecto de Investigación #2402 Ingeniero Electrónico Universidad Nacional de Colombia y Magíster en Ingeniería Eléctrica UTP. Investigador Principal.3 Ingeniero Electricista y Magíster en Automática Universidad del Valle. Coinvestigador .4 Ingeniero Electrónico y Magíster en Automática Universidad del Valle. Asesor.5 Grupo de Automatización y Máquinas de Aprendizaje (GAMA).

Page 2: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

190

SISTEMA IMPLEMENTADO

El sistema implementado está en capacidad de reconocer, fuera de línea, caracteres manuscritos (dígitos y letras por separado), para este fin se tuvo como base el sistema

general para el reconocimiento de patrones utilizado por Laaksonen en 1.995 (Laaksonen, 1995) y el descrito por Eikvil en 1.993 (Eikvil, 1993). En la figura 1 se puede observar el

diagrama de bloques general del sistema para el reconocimiento de caracteres manuscritos, este sistema fue utilizado tanto para la fase de entrenamiento y pruebas como para la fase de validación del sistema.

INTRODUCCIÓN

n problema estándar en el cual se han apoyado muchos autores con el fin de

probar el rendimiento de diferentes sistemas para el reconocimiento de

patrones utilizando máquinas de aprendizaje, ha sido el reconocimiento de caracteres manuscritos, dentro de las máquinas de aprendizaje frecuentemente utilizadas se pueden mencionar las redes neuronales artificiales (Le Cun et all,

1990; Choi, 1994; Alvarez et all, 1997; Seijas, 1998 ; Silva et all, 2002 ) y las máquinas de vectores de soporte (Boser et all, 1992; Cortes et all, 1995; Vapnik, 2000). Igualmente se han utilizado clasificadores estadísticos dentro del

sistema para el reconocimiento de caracteres manuscritos (Bunke et all, 1995; Bunke et all, 1997; Laaksonen, 1997), aunque algunos son para aplicaciones en el reconocimiento de letra cursiva, pero son alternativas que se encuentran en la literatura y que deben ser tenidas en cuenta a la hora de diseñar un sistema para reconocimiento de caracteres manuscritos.El sistema para reconocimiento de caracteres manuscritos implementado es el resultado final del trabajo de investigación alrededor

de las máquinas de vectores de soporte, las cuales son máquinas de aprendizaje basadas en el principio inductivo de minimización del riesgo estructural (Vapnik, 1998; Cortes et all, 1995; Vapnik, 2000; Kecman, 2004, Muñoz et all, 2006), principio el cual garantiza un control sobre la habilidad de la máquina de aprendizaje (generalmente la más alta) evitando el sobreentrenamiento de la red mientras se mantiene el mínimo error sobre el conjunto de entrenamiento; a diferencia de las redes neuronales artificiales, las cuales se han basado

en el principio inductivo de minimización del riesgo empírico (Vapnik, 1998; Vapnik, 2000, Muñoz et all, 2006) y el cual sufre frecuentemente de sobreajustes. Después de

Urealizar diferentes pruebas en el reconocimiento de dígitos manuscritos y caracteres manuscritos comparando el rendimiento de las máquinas de vectores de soporte y las redes neuronales artificiales (Muñoz et all, 2005), se seleccionaron

las máquinas que arrojaron los mejores resultados en estas pruebas para la implementación de este sistema.En la segunda parte de este artículo se presenta y describe, bloque por bloque, el sistema para el reconocimiento de caracteres manuscritos, en la tercera parte se describirán las características generales de las máquinas de aprendizaje utilizadas como clasificadores y se mostrarán los

resultados obtenidos después de su entrenamiento y prueba, tanto en el reconocimiento de dígitos manuscritos (números del 0-9) como para el reconocimiento de caracteres manuscritos (25 letras del alfabeto Inglés, excepto la w), en el cuarta parte se mostrará una herramienta básica desarrollada en Matlab del sistema para el reconocimiento de caracteres manuscritos y se mostrarán los resultados de validación obtenidos al clasificar patrones nuevos y poder observa la

efectividad del sistema, finalmente se concluirá

sobre las características generales del sistema implementado y sus futuras aplicaciones.

Page 3: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

191

Figura 1. Diagrama General del SRCM.

A continuación se describirá el funcionamiento de cada uno de los bloques que conforman al sistema implementado para el RCM.

Imágenes EscaneadasPor tratarse de un sistema “off-line” o fuera de línea, las imágenes deben ser escaneadas primero y almacenadas en formato digital con alguna extensión para imágenes. En una primera fase fueron tomadas a 337 personas diferentes, hombres y mujeres, tres ejemplos de las 25 letras en minúscula como de los diez dígitos, utilizando un formato especial que restringía el tamaño y la ubicación de los patrones; estos ejemplos fueron utilizados en la fase de entrenamiento y pruebas del sistema para el reconocimiento de caracteres manuscritos (Muñoz et all, 2005). En una segundo fase se tomaron muestras de 30 personas diferentes, cada uno de estos formatos contenía diferentes patrones como se muestra en la figura 2, por un lado llenaban información

numérica (recuadros de cédula) y por otro lado información que contenía sólo letras (recuadros de nombre). Todas las imágenes, para la fase uno y la fase dos, fueron escaneadas con una resolución de 300 ppp en una escala de grises y resolución de 8 bits.

Figura 2. Formatos para realizar pruebas para el RCM.

(Izq. Con números Der. Con letras)

Preprocesamiento y Segmentación.

Con esta etapa se busca eliminar el ruido adicionado a los formatos después de ser escaneados y eliminar los recuadros dentro de los cuales se ubicaron las diferentes letras y números manuscritos, lo cual más adelante facilitará la segmentación de los patrones. En cualquier tarea donde sea necesario el procesamiento de imágenes, será necesario tener una etapa de preprocesamiento, está etapa, como ya se mencionó con anterioridad, es básicamente un etapa de filtrado que se le

aplica a la imagen para lograr eliminar el ruido presente en el formato. En la figura 3 se observa

una imagen escaneada con la letra manuscrita de una persona, como se puede ver es necesario filtrar la imagen para eliminar el recuadro que

limita el tamaño de las letras.

Figura 3. Ejemplo de formato escaneado.

Un forma típica para separar el fondo de los objetos en un imagen es aplicar un umbral T que separe dichos modos, por lo tanto cualquier píxel para el cual su nivel de gris es mayor que T pertenece al objeto, de lo contrario pertenece al fondo de la imagen (González et all, 1.996). La umbralización global de una imagen consiste en aplicar una función T de la forma:

Page 4: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

192

(1)

De la ecuación 1 se tiene que f(x,y) es el nivel de gris del pixel, x y y representa las coordenadas donde está ubicado el pixel. La imagen umbralizada g(x,y) se obtiene de la siguiente manera:

(2)

Al aplicarle la anterior umbralización a cada formato, como el de la figura 3, con el parámetro

T=150 se logra eliminar parte del recuadro dentro del cual se ubican los caracteres manuscritos y además se obtiene una imagen binaria, es decir que el formato ya no presenta valores en niveles de gris, si no que se tiene dos únicos valores, 0 para el negro y 255 para el blanco, como se observa en la figura 4.

Figura 4. Resultado de la umbralización aplicada a la

imagen escaneada del formato con los patrones.

En la figura 4 se observa que los recuadros

dentro de los cuales se ubicó la letra manuscrita no desaparecieron completamente y aparecen como un ruido adicional a la imagen. Para la eliminación de esta información dentro del formato, fue necesario aplicar otro filtro

adicional, el cual esencialmente consistía en

contar la cantidad de píxeles negros alrededor de un píxel específico, sobre una máscara de

tamaño 5x5 pixeles.Para este caso se ubica la máscara sobre un píxel determinado y se cuenta la cantidad de píxeles negros alrededor de él, si el número de píxeles negros es superior o igual a 12, el píxel se considera que pertenece a uno de los caracteres manuscritos, de lo contrario significa que el píxel

pertenece a una región pequeña de los recuadros que no fue eliminada en la umbralización. Esta técnica se aplicó de forma heurística, por lo tanto no se referencia ningún tipo de aplicación similar en la literatura revisadas. Aplicando este filtro se obtiene entonces una figura con

el formato listo para aplicarle la segmentación y con las letras un poco más delgadas por la erosión causada por el filtro aplicado, esto se

observa en la figura 5.

Figura 5. Filtrado adicional

Con la segmentación se busca separar cada patrón de forma individual con el fin de poder

extraer las características de cada uno de ellos, esto es necesario para poder entregarle al clasificador la información necesaria para

que realice la identificación del patrón. Para

este caso específico se trabajan patrones o

letras manuscritas con restricciones de tamaño y ubicación, esto se logró con el recuadro dibujado dentro del cual la persona ubicaba la letra número deseado, ver figura 2.

El sistema realiza la segmentación de los número o letras presentes en la imagen almacenada, al tener un único renglón, ya fuera con números o con letras, lo único que interesa es saber la

Page 5: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

193

cantidad de patrones que hay en la imagen y se inicia una búsqueda de objetos sobre la imagen, esta búsqueda se realiza trasladando una ventana y segmentando el patrón que quede dentro de ésta, el tamaño de la ventana es fijo e

igual al tamaño del recuadro dibujado para la ubicación de cada caracter manuscrito. En la figura 6 se tiene la ventana que se traslada por

todo el renglón en busca de las letras o número dentro de él.

Figura 6. Segmentación

La figura 7 muestra el resultado final de la

segmentación, allí se puede observar que a pesar de las restricciones de tamaño de los patrones, cada uno de ellos tiene un tamaño diferente, por lo cual se requerirá de una etapa de normalización de los patrones.

Figura 7. Resultado final de la segmentación de cada

caracter.

Con la normalización se busca inicialmente reducir la dimesionalidad del espacio de entrada,

para que el costo computacional del clasificador

no sea muy alto y por último se desea que todos los patrones tenga el mismo tamaño, ya que se pudo observar en la figura 7, cada patrón

después de la segmentación tiene un tamaño diferente. La normalización realizada para los patrones fue únicamente en tamaño o escala, no se introdujo normalización de posición ni de inclinación.

La normalización fue realizada mediante el escalado de la imagen de cada patrón, este método consiste en aumentar o disminuir el tamaño de ésta por un factor determinado. El método puede ser tan simple como doblar el tamaño de la imagen, donde finalmente lo que

se hace es ubicar, en un bloque de 2x2 pixeles, el valor de un sólo píxel de la imagen original, por lo cual este bloque lo que tendrá asignado es un nivel del píxel original, esto generalmente origina irregularidades en la apariencia de la imagen original, las cuales son eliminadas por algún filtro que suavice la imagen nueva.

El inconveniente se presenta si el factor de aumento o reducción es arbitrario, esto debido a que el píxel de la imagen fuente no es mapeado dentro de la imagen nueva en un número entero de pixeles. Un ejemplo es el problema de escalar, en este caso reducir de tamaño, una imagen de 256x256 a una de 100x100, lo que significa

que por cada 2.56 pixeles de la imagen original se tendrá un píxel en la imagen nueva. Por lo tanto le corresponde, a un píxel en la imagen nueva, un área de 6.5536 pixeles cuadrados de la imagen original. La figura 8(a) ilustra este

ejemplo, la figura original se presenta con una

rejilla de líneas sólidas y la imagen reescalada es dibujada como una rejilla de líneas a trozos, allí se observa que cada píxel debe ser reconstruido de la combinación de pixeles enteros y parte de pixeles de la imagen original.

Page 6: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

194

Figura 9. Escalando una imagen en niveles de gris.

Partiendo de los nombres presentado en la figura 8(b), el valor del píxel en la posición (0,0), de la

imagen nueva se obtiene por: (3)

De (3) se tiene que las letras A, B, C y las demás, corresponden a los niveles de gris de la imagen original etiquetados con esta letra. En vista que las letras A, B, D y E representan pixeles enteros de la imagen original, los pesos (wA, wB, wD, wE) correspondientes a cada una de estas letras son iguales a 1.0/6.5536. Para las letras C, F, G y H se tiene que les corresponde un área de 1 pixel de alto o ancho por 0.56 pixeles de ancho o alto de la imagen original, por lo cual los pesos correspondientes (w

C, w

F,

wG, w

H) a ellos son iguales a 0.56/6.5536. Por

último, la región I de la imagen original, la cual tiene 0.56x0.56 pixeles, tiene un peso (w

I) de

0.3136/6.5539. Todo lo anterior se realiza para obtener un píxel nuevo, para el siguiente píxel comienza en la posición (2.56,0) de la imagen original, pero a este píxel ya no le corresponden 3 pixeles horizontales como en el caso anterior sino 4, teniendo como pesos 0.44, 1.0, 1.0 y

0.12 (Parker, 2.000).

Para lograr la normalización deseada en este trabajo con el método descrito anteriormente, fue necesario aumentar el número de pixeles de la imagen segmentada a un número que fuera divisible por 16, con el fin de tener una división

exacta y evitar los decimales de los pixeles de la imagen nueva. Cada patrón, después de ser segmentado, se almacena en una ventana cuyo tamaño cambia dependiendo del patrón mismo y del tamaño del caracter que la persona escribió. La normalización en tamaño se aplicó para tener los patrones en una ventana estándar de 16x16 pixeles como lo mencionan en diferentes artículos (Alvarez et all, 1.997; Boser et all, 1992; Cortes et all, 1.995; Le Cun et all, 1.990; Seijas, 1.998;Silva 2.002; Vapnik, 2.000), la figura 9 muestra los caracteres de la figura 6

Page 7: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

195

normalizados a 16x16 pixeles. Figura 9. Caracteres normalizados a 16x16 pixeles.

Extracción de características.En esta fase se espera tener información más precisa sobre cada patrón, con el fin de poder

diferenciar con mayor eficiencia los patrones.

Para el sistema desarrollado se utilizó por un lado la información global de cada caracter normalizado a 16x16 pixeles, por lo cual se crea un vector columna con 256 filas, en cada fila

se almacena el valor particular de cada píxel ya sea negro(0) o blanco(255). Por otro lado se construyó un vector columna con 96 filas, este

vector fue el resultado de utilizar dos métodos para extracción de características, inicialmente se utilizó un método llamado proyecciones poligonales, el cual consiste en obtener vectores de características compuestos por los valores de distancia calculados a partir de un polígono de referencia en el contorno de la imagen. Este polígono de referencia se ubica alrededor de la imagen y puede tener la cantidad de lados que se desee, este polígono debe ser regular. La figura 10 muestra la forma de extracción de

estos vectores, utilizando un cuadrado como polígono de referencia (Silva et all, 2.002) (Koerich, 2.002):

Figura 10. Extracción de características por proyecciones

poligonales

Con este método y utilizando como polígono de referencia un cuadrado, se obtuvieron los 64 primeros elementos del vector de características, estos 64 elementos corresponden al conteo del número de pixeles entre las fronteras de una caja (cuadrado) y los bordes del caracter en la imagen. Estos perfiles son tomados desde cuatro

posiciones, arriba, abajo, izquierda y derecha. Para complementar y poder dar mayor precisión a la hora de clasificar los diferentes patrones, se

utilizó el método denominado histogramas de proyección, el cual consiste en contar los pixeles negros en cada fila y columna del caracter de

la imagen (Koerich, 2.002). En la figura 11 se

observan la proyección de histograma para la letra a:

Figura 11. Extracción de características por proyección

de histogramas.

Con el conteo del número de pixeles negros en cada fila y columna se obtuvieron los

32 elementos restantes para el vector de características, de esta manera se completan entonces las 96 filas del vector columna con

las características particulares de un patrón específico.

Clasificación y Postprocesamiento

Para la clasificación se entrenaron y probaron

dos máquinas de aprendizaje diferentes, por un lado el Perceptrón Multicapa que es una

Page 8: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

196

máquina de aprendizaje muy utilizada y que ha dado muy buenos resultados en diversas tareas y por otro lado una máquina de vectores de soporte, la cual es una máquinas de aprendizaje novedosa por sus características de aprendizaje y por su alta habilidad de generalización. En la siguiente parte de este artículo se describirán las características generales de las MA entrenadas y evaluadas para el sistema de reconocimiento.La etapa de postprocesamiento se observa en la herramienta desarrollada en Matlab©, donde el usuario puede observar el resultado final del

reconocimiento mostrando la letra o número identificado por el sistema.

CARACTERÍSTICAS DE LOS CLASIFICADORES

Entre las diferentes arquitecturas de las redes neuronales artificiales, la de mayor divulgación

y de gran aplicación en muchas tareas y con muy buenos resultados en clasificación, ha

sido el perceptrón multicapa; por tal razón fue seleccionado para este proyecto con el fin de

comparar sus capacidades de generalización, ampliamente conocidas, con las capacidades de generalización de las máquinas de vectores de soporte, las cuales resultan ser novedosas y muy interesantes como alternativa para el desarrollo de sistemas de clasificación.

Como se mencionó la red neuronal artificial

utilizada fue un perceptrón multicapa con una y dos capas ocultas, para cada uno de estos casos se utilizaron diferente número de neuronas ocultas, obteniendo los mejores resultados para una capa oculta con 50 y 100 neuronas y para dos capas ocultas cada una de ellas con 50 y 100 neuronas. Para el entrenamiento se mantuvo el parámetro de la rata de aprendizaje, las funciones transferencia y el error mínimo global, en valores constantes y se variaron el número de

capas y de neuronas, entrenando siempre con el algoritmo del gradiente conjugado escalado.Para la máquina de vectores de soporte se probaron polinomios de orden 1 al orden 7 y para la función kernel de base radial se probaron diferentes valores para el ancho de la función Gausiana (σ), todas estas pruebas siempre

se hicieron con una cota de aprendizaje fija y

utilizando como método de optimización el SMO (sequential minimization optimization).Las dos máquinas de aprendizaje se entrenaron y probaron con una base de datos obtenida de 337 personas diferentes escaneadas y procesadas con el mismo sistema descrito anteriormente. Para el caso del reconocimiento de dígitos manuscritos (0-9) se utilizaron 6000 patrones para el entrenamiento y 4110 patrones para las pruebas, es decir que se tenía 600 ejemplos por patrón para el entrenamiento y 410 ejemplos por patrón para las pruebas. La tabla 1 muestra los porcentajes de acierto, sobre el conjunto de prueba, obtenidos para cada una de las diferentes máquinas de aprendizaje entrenadas:

Tabla 1. Porcentaje de acierto sobre el conjunto de

prueba para el reconocimiento de dígitos manuscritos

Dimensión entrada

RNA MVS

Arquitectura red

% Reconoci.

OrdenPolinomio

% Reconoci.

σ % Reconoci.

256 [100 – 10] 89.82 2 97.34 100 96.66

256 [50-50– 10] 90.6 3 97.49 67 95.49

256 [100-100– 10] 91.72 4 97.03 40 86.49

96 [100 – 10] 93.77 2 96.54 40 96.93

96 [50-50– 10] 94.84 3 96.54 29 97.03

96 [100-100– 10] 94.96 4 96.52 100 96.61

Para el caso del reconocimiento de caracteres manuscritos se utilizaron 15000 patrones para el entrenamiento y 10250 patrones para las pruebas, los resultados obtenidos sobre el conjunto de prueba se muestran en la tabla 2:

Page 9: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

197

Tabla 2. Porcentaje de acierto sobre el conjunto de prueba

para el reconocimiento de caracteres manuscritos

Dimensión entrada

RNA MVS

Arquitectura red

% Reconoci.

OrdenPolinomio

% Reconoci.

σ % Reconoci.

256 [100 – 25] 78.54 2 93.41 105 93.19

256 [50-50– 25] 80.75 3 93.78 100 93.17

256 [100-100– 25] 84.28 4 93.57 400 92.46

96 [100 – 25] 86.98 2 93.26 22 93.77

96 [50– 25] 85.45 3 93.27 20 93.56

96 [100-100– 25] 89.32 4 93.04 13 93.49

En ambas tablas se resaltan los porcentajes de acierto más altos para cada máquina de aprendizaje,donde se puede observar que el porcentaje de acierto obtenido con las máquinas de vectores de soporte fue superior que los obtenidos para el perceptrón multicapa, con una marcada diferencia en el reconocimiento de caracteres manuscritos, para este caso la diferencia entre el mejor clasificador del

perceptrón multicapa y el mejor clasificador

con la máquina de vectores de soporte fue del 4.42%, mientras que para el reconocimiento de los diez dígitos manuscritos la diferencia fue sólo del 2.53%. Lo anterior indica que la capacidad de generalización de las máquinas de vectores de soporte es mayor que la capacidad de generalización del perceptrón multicapa en esa aplicación específica, aunque no se debe

desconocer que la generalización del perceptrón multicapa puede ser mejorada utilizando técnicas de validación cruzada o utilizando un método de extracción de características, el cual contenga información más precisa sobre cada patrón y permita discriminar mejor entre las diferentes clases; no se debe descartar que se puede mejorar la capacidad de generalización de las máquinas de vectores de soporte utilizando técnicas que permitan determinar de forma óptima los parámetros de estas máquinas de aprendizaje.

Herramienta para el Reconocimiento de Caracteres Manuscritos

Después de la fase de entrenamiento y prueba de las máquinas de aprendizaje se seleccionaron los mejores clasificadores para implementar la

herramienta para el reconocimiento de caracteres manuscritos. Esta herramienta implementada en Matlab 7.0, se basa en el sistema mostrado en la figura 1 y fue probado con números y

letras obtenidas de 30 personas diferentes, aplicando el formato de la figura 2. La interfaz

gráfica del sistema se puede ver en la figura

12. La herramienta consta de tres botones y de tres cajas de diálogo sobre las cuales se puede escribir algunos números o seleccionar alguna opción.

Figura 12. Herramienta para el reconocimiento de

caracteres manuscritos

El primer botón que se debe presionar para poder realizar la identificación de número o letras es

el de cargar imagen, al presionar este botón la herramienta abrirá un ventana direccionada a una carpeta donde se tendrán dos carpetas más, una con formatos donde se tienen sólo número o una con formatos donde sólo se tiene letras. Se selecciona y carga una imagen, con extensión

Page 10: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

198

bmp, que contiene números o letras sin procesar, enseguida la herramienta colocará una imagen con los números o letras como se puede ver en la figura 13:

Figura 13. Imágenes para validación sin procesar.

El siguiente paso consiste en determinar la cantidad de letras o números que hay en la imagen, este número debe ser ingresado a través del teclado en la caja de diálogo la cual tiene en la parte de arriba el siguiente mensaje: “Ingrese el número de caracteres a reconocer”. Después de esto se oprime el botón de procesamiento y se obtendrá la imagen procesada como se observa en la siguiente figura:

Figura 14. Imágenes procesadas

Durante este proceso la herramienta adicionalmente segmenta y normaliza cada uno de los caracteres, y a su vez realiza la extracción de características de cada uno de ellos y crea dos vectores columna de cada caracter, en uno de ellos almacena las características globales, es decir crea un vector columna con 256 filas, en

otro almacena las características particulares, es decir que crea un vector columna con 96 filas;

este proceso se realiza con el fin de ingresar a la

MA la información necesaria y adecuada para la identificación de cada caracter.

Se debe recordar que las máquinas de aprendizaje fueron entrenadas y probadas tanto

Page 11: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

199

con características globales como particulares y que para cada caso se eligieron los mejores clasificadores, es decir algunos identifican los

caracteres con características globales y otros con las particulares.Después de realizar el procesamiento la herramienta muestra un mensaje sobre la caja de diálogo para que se seleccione la dimensión del vector de entrada, es decir que se selecciona

si se desea identificar las letras o números con

características globales (dim. 256) o particulares (dim. 96), para luego seleccionar la máquina de aprendizaje deseada para la identificación

de los caracteres, ya sea con un perceptrón multicapa (MLP – multilayer perceptron) o con una máquina de vectores de soporte (SVM – support vector machine). La figura 15 ilustra

este proceso:

Figura 15. Selección de la dimensión de entrada y de la máquina de aprendizaje

En el momento que se selecciona la máquina de aprendizaje según el tipo y con la dimensión del vector de entrada deseada, la interfaz despliega

debajo de la imagen con los caracteres procesados los caracteres reconocidos por el sistema, esto se observa de la siguiente manera:

Figura 16. Resultado del reconocimiento de caracteres.

Page 12: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

200

La figura 16 muestra los resultados de la

identificación de los caracteres manuscritos,

en esta figura se observa que no hubo errores

en el proceso de reconocimiento tanto de los números como de las letras. Este procedimiento se aplicó a los formatos llenados por las distintas personas, obteniendo los siguientes resultados:

Tabla 3. Porcentaje de acierto en la validación

Dimen.entrada

% errorReconoc. Dígitos

% errorReconoc.

Letras

SVM 256 96.04 86.35

MLP 256 91.67 75.27%

SVM 96 98.02 85.86

MLP 96 93.66 79.5

De la tabla 3 se puede observar que nuevamente las máquinas de vectores de soporte presentan un mayor porcentaje de acierto en el reconocimiento de los caracteres manuscritos que el perceptrón multicapa. En el reconocimiento de dígitos manuscritos las máquinas de vectores de soporte superan en más del 4% de acierto al perceptrón

multicapa, tanto con características globales (Dim 256) como con características particulares (Dim. 96). Para el caso del reconocimiento de letras manuscritas se puede observar que las MVS superan en más de un 6% al porcentaje de acierto del perceptrón multicapa en ambos casos.Para el reconocimiento de los dígitos manuscritos se tiene que los porcentajes obtenidos son similares a los mostrados en la tabal 1, mientras que los obtenidos para el reconocimiento de las letras manuscritas fueron inferiores a los mostrados en la tabla 2, esto se debe a algunos problemas en los caracteres escritos por algunas personas; en algunos casos colocaron la letras en mayúscula y en otros casos se presentaron verdaderas confusiones en el reconocimiento del caracter. En las siguientes figuras se puede

observar que los formatos fueron llenados con letras mayúsculas, lo cual generó un alto error en el reconocimiento de las letras manuscritas debido a que las máquinas de aprendizaje fueron entrenadas con letras minúsculas.

Figura 17. Errores presentados por letras mayúsculas.

Page 13: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

201

Figura 18. Errores presentados por letras mayúsculas.

CONCLUSIONES

Se implementó un sistema para el reconocimiento

fuera de línea (off-line) de caracteres

manuscritos, restringidos en tamaño, con la

capacidad de reconocer dígitos manuscritos

con un porcentaje de acierto del 97.49% y letras

manuscritas con un porcentaje de acierto del

93.78%. Estos resultados fueron obtenidos en

para una máquina de vectores de soporte con

una función núcleo (kernel) de tipo polinomial

de orden tres y utilizando 96 características

obtenidas de cada patrón. Las tablas 1 y 2

muestran otros resultados obtenidos para el

reconocimiento de caracteres manuscritos

utilizando otros clasificadores como el

perceptrón multicapa y como una máquina de

vectores de soporte con una función de base

radial como función núcleo (kernel).

Los resultados obtenidos en la fase de pruebas

de las máquinas de aprendizaje y los cuales se

muestran en las tablas 1 y 2, permiten concluir

sobre la alta habilidad de generalización

que presentan las máquinas de vectores de

soporte comparadas con la capacidad de

generalización mostrada por el perceptrón

multicapa. El porcentaje de acierto obtenido con

el perceptrón multicapa fue superado, por las

máquinas de vectores de soporte, en un 2.53%

en el reconocimiento de dígitos manuscritos

y en un 4.42% en el reconocimiento de letras

manuscritas, estos resultados fueron reafirmados

en el proceso de validación, donde nuevamente

las máquinas de vectores de soporte superan

en los porcentajes de acierto al perceptrón

multicapa. Lo anterior permite recomendar a

las máquinas de vectores de soporte como una

buena alternativa para la implementación de

sistemas de clasificación.

Analizando con detenimiento las tablas 1 y 2

se deben destacar algunas cosas en ambas

máquinas de aprendizaje. Primero que todo,

el porcentaje de acierto de ambas máquinas

de aprendizaje pueden ser mejorado, para el

perceptrón multicapa se pueden implementar

técnicas de validación cruzada o técnicas e

optimización en la fase den entrenamiento y

para las máquinas de vectores de soporte se

pueden implementar técnica que permitan

elegir sus parámetros de manera óptima. Por

otro lado el se debe resaltar la sensibilidad del

perceptrón multicapa al tipo de características

utilizadas para representar los patrones, como

se observa en ambas tablas, el rendimiento del

Page 14: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

202

perceptrón multicapa mejora bastante cuando

se le presentan los patrones que características

muy particulares de los mismos, lo cual indica

que su rendimiento podría ser mejorado

añadiendo más características al vector de

entrada o utilizando otros métodos para la

extracción de características; la sensibilidad a

las características utilizadas para representar

a los patrones, afecta a las máquina de vectores

de soporte según el tipo de función núcleo

utilizada, por ejemplo, las funciones base radial

presentan un porcentaje de acierto mayor ante

característica particulares, mientras que las

funciones de tipo polinomial respondía con un

mayor acierto ante las características globales

de los patrones, fenómeno que puede ser de

gran utilidad a la hora elegir la función núcleo

adecuada para la máquina de vectores de

soporte.

REFERENCIAS

ÁLVAREZ, D. C., RODRÍGUEZ, F. M. Reconocimiento de Dígitos Manuscritos Mediante 1. una Red Neuronal Multicapa. Departamento de Tecnologías de las Comunicaciones. E.T.S.I.T. Universidad de Vigo. 1.997

BOSER, B. E., GUYON, I., and VAPNIK, V. N.: A training algorithm for optimal Margin 2. classifiers. In Proceedings of the Fifyh Annual Workshop of Computacional Learning Theory,

volume, 5, pages 144-152, Pittsburg, 1992, ACM.

BUNKE H., ROTH M., SCHKAT-TALAMAZZINI E. G. Off-Line Cursive Handwriting 3. Recognition using Hidden Markov Models.1.995

BUNKE H., HA T. Off-Line Handwriting Numeral String Recognition. University of Berne. 4. November, 1.997.

CHOI, Y. Recognition of Unconstrained Handwritten Numerls Based on Dual Cooperative 5. Neural Network. Degree of Doctor of Philosophy(Computer Engineering). University of Southern California. 1.994

CORTES, C., VAPNIK, V. Support Vector Networks. Machines Learning, 20:273-297, 1.995. 6.

EIKVIL, L. OCR- Optical Character Recognition. 1.993 7.

GONZÁLES, R., WOODS, R. “Tratamiento Digital de Imágenes”. Addison-Wesley 8. Iberoamericana S.A. Wilmington, Delaware, E.U.A. 1.996

HAYKIN S. (1.999). Neural Network: A Comprehensive Fundation. Prentice Hall, Upper 9. Saddle River, New Jersey.

LAAKSONEN, J. Subspaces classifiers in Recognition of Handwritting Digits. Thesis for the 10. Degree of Doctor of Technology. Helsinky University of Technology. 1.997.

Page 15: Sistema para el Reconocimiento Fuera de Línea de Caracteres …blade1.uniquindio.edu.co/uniquindio/revistainvestigaciones/... · Palabras clave: Máquinas de Vectores de Soporte,

Revista de Investigaciones No. 17 - Universidad del Quindío

203

LE CUN Y, BOSER B, DENKER, J S, HEMDERSON D, HOWARD R E, HUBBARD W 11. and JACKEL L D: Handwritten Digit Recognition With a Back-Propagation Network. In Touretzky, D., editor, Advances in Neural Information Processing Systems 2 (NIPS*89), Denver, CO. Morgan Kaufmann, (1990).

KECMAN V. Support Vector Machines Basics. Report 616. School of Engineering. University 12. of Auckland. (2004):1-58

MUÑOZ P, IBARGÜEN F, CARDONA J: Máquinas de Vectores de Soporte: Un Enfoque 13. Teórico. Revista de Investigaciones de la Universidad del Quindío. (Artículo en revisión).

MUÑOZ P, IBARGÜEN F, LÓPEZ J: Reconocimiento de Caracteres Manuscritos Usando 14. Máquinas de Vectores de Soporte. X Simposio de Tratamiento de Señales, Imágenes y Visión Artificial. Universidad del Valle, Santiago de Calí 16 de Septiembre de 2.005.

OSUNA, E., FREUD, R., and GIROSI, F.: Support Vector Machines: Training and Applications. 15. MIT A.I. Lab. Technical Report AIM-1602. (1997).

PARKER, J. R. Practical Computer Vision Using C. New York : John Wiley. 2.00016.

SEIJAS, L. M. Reconocimiento de Dígitos Manuscritos Mediante Redes Neuronales: Una 17. Técnica Híbrida. Departamento de Computación, Facultad de Ciencias exactas y Naturales. Universidad de Buenos Aires. Buenos Aires, (1.998)

SILVA, E., THOMÉ, A. C. Reconhecimento de Caracteres Manuscritos Utilizando Time Redes 18. Neurais. Instituto de Matemática (IM), Núcleo de Computação Eletrônica(NCE) Universidade Federal do Rio de Janeiro(UFRJ), Rio de Janeiro, (2002).

TRIER, Ø. D., JAIN, A. K., TAXT, T. Feature Extraction Methods for Character Recognition 19. –A Survey. Pattern Recognition, 29(4), 641-662. July, 1.995.

VAPNIK V. (2000). The Nature of Statisctical Learning Theory. Springer Verlag, New York , 20. NY. 2a edición.

VAPNIK V. (1998). Statistical Learning Theory. J. Wiley & Sons. New York NY21.