reconocimiento automático de palabras en documentos ... · • desarrollo de una interfaz gráfica...

28
R econocimiento automático de palabras en documentos históricos usando redes neuronales convolucionales Dra. Ma. de Guadalupe García Hernández Departamento de Ingeniería Electrónica

Upload: others

Post on 28-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Reconocimiento automático de palabras en documentos históricos usando redes

neuronales convolucionales

Dra. Ma. de Guadalupe García HernándezDepartamento de Ingeniería Electrónica

Page 2: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Objetivo general

Aplicar redes neuronales convolucionales, modelosdel proceso de lectura humana y programacióndinámica en el reconocimiento de escritura impresacontenida en documentos históricos.

Page 3: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Objetivos específicos

• Desarrollo de una interfaz gráfica de usuario en MatLab paraetiquetaje de palabras contenidas en un documento histórico.

• Desarrollo de una interfaz gráfica de usuario en MatLab parasegmentado de palabras etiquetadas, para obtener una base deimágenes de letras.

• Entrenamiento de una red neuronal convolucional para ladetección de letras contenidas en imágenes de palabras etiquetadas.

• Análisis de resultados del entrenamiento.

Page 4: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Redes neuronales

• Redes neuronales biológicas.• Redes neuronales artificiales.

Page 5: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Neurona biológica

Célula del sistemanervioso, descubierta porel Dr. Santiago Ramón yCajal en 1904 (España).

Page 6: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Primera red neuronal artificial

Modelo de McCulloch y Pitts(1943), llamado Perceptron.La neurona es una unidad decálculo binaria con variasentradas.Calcula la suma ponderada desus entradas (pesos sinápticos)seguida de una operación nolineal.

Page 7: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Otra red neuronal artificial

Red Adaline (ADAptive Linear Neuron Element), desarrollada por Widrow y Hoff en 1960.

Operación lineal, se adapta a la entrada, aprende en tiempo real.Aplicaciones:Cancelación de ruido, filtros adaptivos, cancelación de eco en telefonía.

Page 8: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Estructura de una red neuronal multicapa

Neuronas o unidades (neurons, units)

Conexiones (links)

Capas (layers)

Page 9: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Perceptron multicapa

Redes de propagación haciaadelante.En aprendizaje retropropagael error para disminuirloobteniendo los parámetrosde la red.Una red de cuatro capastiene dos capas ocultas.

Capa de entradaCapas ocultas Capa de salida

Page 10: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Estructura de una red neuronal artificial

Neuronas o unidades (neurons, units)Conexiones de entrada.Función de activación o de transferencia.

Conexiones (links)Propagan activación de una neurona a otra.Tiene un valor llamado peso sináptico.

Capas (layers)de entrada (input): sólo nodos de entrada.oculta (hidden): salida no visible.de salida (output): salida visible.

Page 11: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Arquitecturas de redes neuronales

Feed-forward (propagación hacia adelante o estática)La propagación de la información (activación) siempre es desde la entrada hacia la salida.

RecurrenteParte de la salida se retroalimenta a la entrada.Es una red neuronal dinámica.

Page 12: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Algunas aplicaciones

Reconocimiento de patrones (voz, imágenes, texto). Procesamiento de señales. Predicción de estado atmosférico. Predicción de mercado financiero. Clasificación de proteínas. Control de robots. Identificación de bancos de radares. Detección de explosivos.

Page 13: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Problemas de las redes neuronales artificiales

1. La dimensión del espacio de entrada no debeser grande, pues no habría suficientes datos paraestimar sus parámetros.

2. Requieren de una considerable cantidad deejemplos para aprender a generalizar, pues la reddebe ser capaz de reconocer bien ejemplos quenunca ha visto.

Page 14: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Redes neuronales convolucionales

• Tratan de imitar al sistema visual humano(dinámico).

• Usan campos receptivos (región de la imagen de laque recibe información cada neurona).

• No requieren extracción de características (comoson bidimensionales entonces pueden recibirdirectamente la imagen como entrada).

Page 15: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Redes neuronales convolucionales

• Toleran traslaciones moderadas (que puedenreconocer el contenido de la imagen aunque ésta semueva un poco o cambie de tamaño).

• Necesitan menos parámetros que otras redesneuronales, porque las neuronas comparten pesos oparámetros, por lo que requieren de menosejemplos para aprender.

• Funcionan bien para el reconocimiento deimágenes.

Page 16: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Redes neuronales convolucionales

Page 17: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Etapas del reconocimiento de palabras

Imagen de

entrada

Preprocesado Segmentado Reconocimiento

Algoritmobasado en unared neuronal convolucional

Segmentación de lineas de palabras y de palabras en letras

Detección de regiones de texto y su orientación,eliminación de ruido, detección de bordes y mejora de contraste

Clasede

palabra

Page 18: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Documento histórico

Índice General de la Recopilación de Leyes de las Indias, año 1681.

Page 19: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Retos de los documentos históricos

• Si el texto se encuentra impreso en pergamino, la textura ymanchas de éste puede originar confusión durante elreconocimiento (fondo degradado).

• Si el texto se encuentra impreso en papel, éste puede haberacumulado manchas de grasa, tinta, humedad y hongos a lolargo del tiempo.

• La tinta de algunas letras se ha desgastado por el uso normaldel documento.

Page 20: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Mediante Matlab se implementó la interfaz gráfica de usuario para el etiquetaje de palabras

Page 21: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Base de datos de imágenes de palabras etiquetadas

Page 22: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Mediante Matlab se implementó la interfaz gráfica de usuario para la segmentación de palabras en letras

Page 23: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Se usaron algoritmos para incrementar la resolución de las imágenes de palabras

Page 24: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Base de datos de letras etiquetadas generada

Page 25: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Reconocimiento de letras

Page 26: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Ejemplo de letras reconocidas y no reconocidas

Page 27: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Resultados

• Se conformó una base de datos de imágenes de palabrasetiquetadas, provenientes del documento histórico citado.

• Se conformó una base de datos de imágenes de letras etiquetadas.• Se entrenó a la red neuronal convolucional con la base de imágenes

de letras.• Se analizó el desempeño de varias redes neuronales convolucionales

y se seleccionó a la que tuvo mejor desempeño.• Se analizaron los resultados del reconocimiento de letras para

posteriormente optimizar el proceso.

Page 28: Reconocimiento automático de palabras en documentos ... · • Desarrollo de una interfaz gráfica de usuario en MatLab para segmentado de palabras etiquetadas, para obtener una

Estado actual del proyecto

• Se están analizando los resultados que va arrojando elentrenamiento de la red neuronal convolucional para elaprendizaje de letras.

• Se está implementando un algoritmo de programacióndinámica que encuentre la ruta más corta entre dos puntos,para encadenar letras y formar palabras de forma automática.