Reconocimiento de
Escritura Manuscrita.
~Caso Práctico: Un reconocedor de vocales~
Francisco Pazo Sánchez
Pablo Maldonado López
Manuel Argenis Rodríguez Gutiérrez
1.- Introducción



Vamos a ver como hacer un reconocedor de
escritura manuscrita, en concreto uno de vocales.
Veamos un par de conceptos, como la Visión
Artificial, clasificador de imágenes...
En todo reconocedor tenemos cuatro fases
generales:





Obtener el Original a tratar.
Preprocesarlo para simplificar su análisis.
Sacar sus características más importantes.
Procesar estas características para ver a que patrón se acerca
más a imagen original.
Estas cuatro fases se repetirán en cualquier
reconocedor que veamos, sea de lo que sea.
2.- Problemática





No sabemos como vemos, es el gran
problema de la IA, donde podemos englobar
el reconocimiento de escritura manuscrita.
¿cómo saber donde comienza una letra y
acaba la anterior?
Saber interpretar los espacios y la
inclinación de los renglones.
Diversidad de patrones de escritura
distintos para una misma letra.
Muchos otros problemas...

Pero el gran problema en esto, como
en casi todo es la falta de cooperación
entre los investigadores y la falta de
una línea de investigación única, con lo
que todo avanzaría a una mayor
velocidad
3.- Metodología General

Fases del proceso general para reconocer:

Adquisición

Pretratamiento

Segmentación

Reconocimiento – Clasificación

Post-tratamiento
Adquisición
Binarización de la escritura
 Dos tipos:


“en línea”
- PDA
- LCD
- Papel electrónico
“en diferido”
- Scáners
- Cámaras
- Imágenes
Pretratamiento
Sirve para reducir variables en el
problema.
 Métodos Generales

Filtrado y adelgazamiento
 Enderezar línea base de la escritura
 Enderezar pendiente en letras
 Normalizar caracteres (por ahora imágenes)

Pretratamiento

Métodos en la escritura “en diferido”

Estructuración de Manuscritos


Separación de líneas y párrafos
Esqueletización

Adelgazamiento del trazo completo
(erosionando).
Pretratamiento

Métodos en la escritura “en línea”




Eliminación de puntos aislados
Elevaciones de estilo y restablecer
uniones
Normalizar contornos
Normalizar puntos de acentuación
Segmentación

Consiste en dividir el documento en
diferentes entidades lógicas.


Entidades a nivel de palabras
Entidades a nivel de letras.


¡Ojo! No serán probablemente ni palabras ni letras
Dificultad: No suele haber relación
entre estas entidades lógicas y
físicas...
Segmentación
Misión: Localizar zonas de interés en
el texto y separar por ahí.
 Localizaciones:

Palabras
C.Conexas
Proyecciones

Letras
Explícitos
Implícitos
I. Exhaustivos
Reconocimiento



Métodos Globales y Métodos Analíticos
Reconocimiento de Caracteres Aislados
Reconocimiento de Palabras

Caracteres Aislados:

Globales: Poco adaptados no se usan excepto los
basados en programación dinámica.
Reconocimiento

Métodos Analíticos:







Geométricos y Estadísticos
Estructurales
Neuro-Miméticos
Markovianos
Basados en I.A.
De Zadeh
Mixtos
Reconocimiento

Reconocimiento de Palabras


Métodos Globales: Por cadenas de
símbolos, deterministas y probabilistas.
Métodos Analíticos:
Generalización de los usados en caracteres
aislados.
 Implícitos: Basados en predicciones y
derivados de los markovianos.

Post-tratamiento
Se trata de la parte menos metódica.
 Depende de la aplicación del
reconocimiento.
 Generalmente: Afinan el
reconocimiento, valiéndose de
conocimientos lingüísticos.

4.- Aplicaciones



Las aplicaciones de reconocimiento de escritura manuscrita
son cada vez más cercanas y útiles,un claro ejemplo lo
tenemos en las PDA´s y Pocket PC´s
La policía y los bancos lo usan para comprobar la autenticidad
de firmas y documentos.
Encontramos varias aplicaciones muy peregrinas, como:


El proyecto de una universidad de México para usar esta
técnica con antiguos documentos de su República y luego
colgarlo en una web para que todo el mundo tenga acceso a
ellos
También el proyecto de www.manolo.net, con el que
impedidos visuales podrán leer cualquier tipo de documento
manuscrito con ayuda de un ordenador y un escáner.
5.- Nuestro Método

Deberemos de tener en cuenta las cuatro fases de
todo reconocedor




Primero: Tomar una imagen .jpg, abrirla y guardarla en
una matriz cuadrada para su manipulación.
Segundo: Preprocesarlo. Es decir, binarizar la imagen y
adelgazar la imagen.
Tercero: Características. Conseguir el vector de
características. Usamos el código cadena de la imagen y
calculamos en número de “puntos finales”
Cuarto: Con estas características ver a cual de las cinco
vocales se parece más nuestra imagen.
5.1.- Imagen original
Creamos una imagen jpg en un editor
cualquiera, por ejemplo el paint.
 Volcamos su información en una
matriz cuadrada. De esta manera
trataremos de una manera mucho más
eficaz en nuestros algoritmos la
imagen
 Poco más en este apartado

5.2.- Preprocesado


Binarizamos la imagen, es decir, la convertimos en
una matriz de 0´s y 1´s. De esta manera
eliminamos considerablemente el tamaño de
información a tratar.
Adelgazamos la imagen. Para hacerlo usamos un
algoritmo que va eliminando píxeles no finales y que
al quitarlos no cambia la estructura de la imagen.
Lo hacemos con varias iteraciones, haciendo
recorridos desde el norte, este, sur y oeste, hasta
que la imagen ha quedado adelgazada.
5.3.- Vector de Características


Para calcular el vector de características hemos hecho uso
del Código Cadena en 8-adyacencia, ya conocido por todos.
También hemos ideado un método para obtener una
característica bastante útil para nuestro reconocimiento. Si
nos fijamos en la cantidad de puntos finales de las vocales,
podemos ver:
La 'A' tiene 2 píxeles terminales
La 'E' tiene 3 píxeles terminales
La 'I' tiene 4 píxeles terminales
La 'O' tiene 0 píxeles terminales
La 'U' tiene 2 píxeles terminales
5.4.- Comparación




Del código cadena obtenemos si la imagen original
tiene componentes cerradas.
Otra característica que obtenemos es si la imagen
tiene concavidades.
Esto junto a nuestro calculo de puntos finales nos
es suficiente para saber que letra es la de la
imagen original.
¿cómo?, vamos a verlo...
5.4. ¿Como?




Tenemos una array[5] donde vamos guardando la
posibilidad de que la imagen sea cada una de las
vocales
Le hemos dado un peso a cada una de las
características calculadas.
Cuando una letra cumple una característica, su
valor dentro del array se incrementa según el peso
que tenga dicha característica.
Al final, la que tenga un mayor valor será la que el
programa de por buena.
6.- Conclusiones




El reconocimiento de escritura manuscrita parece que poco a
poco va entrando en nuestra vida, con aplicaciones muy
cercanas, y claros ejemplos de tecnología casera, como las
Palms.
No hay que olvidar, no obstante, que es un campo en el que
queda aún mucho por estudiar y que mientras que las
distintas líneas de investigación sigan por caminos distintos,
no avanzará tanto como pudiera.
El futuro del reconocimiento de la escritura manuscrita,
parece que permitirá dotar de Visión Artificial a programas y
autómatas.
El campo de las aplicaciones de esta materia es muy amplio y
con gran futuro. Debemos intentar que las aplicaciones sean
lo más humana posible, y que de verdad llegue a quien la
pueda sacar un mayor partido en el sentido humano de la
palabra.
¡Fin!




Gracias a todos por su atención...
Esperemos que no haya sido muy pesado...
Suerte a todos en los exámenes...
Trabajo realizado por:
Francisco Pazo Sánchez
Pablo Maldonado López
Manuel Argenis Rodríguez Gutiérrez
Descargar

Reconocimiento de Escritura Manuscrita. ~Caso Práctico: Un