ebook img

Proyecto Fin de Carrera Reconocimiento de textos antiguos mediante técnicas de visión artificial PDF

109 Pages·2013·15.81 MB·Spanish
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Proyecto Fin de Carrera Reconocimiento de textos antiguos mediante técnicas de visión artificial

Departamento de Ingenier´ıa de Sistemas y Automa´tica Proyecto Fin de Carrera Reconocimiento de textos antiguos mediante t´ecnicas de visio´n artificial Autor: Mois´es Rodr´ıguez Vallejo Tutor: Jorge Garc´ıa Bueno Legan´es, junio de 2013 ´ Indice general 1. Introduccio´n y objetivos 8 1.1. Introduccio´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.1.1. Textos antiguos . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.1.2. Digitalizaci´on de libros . . . . . . . . . . . . . . . . . . . . . . . 13 1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.3. Medios empleados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 1.4. Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . 17 2. Estado del arte 19 2.1. Ima´genes digitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2. Visio´n artificial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.2.1. Introducci´on a la visio´n artificial . . . . . . . . . . . . . . . . . . 26 2.2.2. Preprocesamiento de ima´genes . . . . . . . . . . . . . . . . . . . 27 2.2.3. Extracci´on de caracter´ısticas . . . . . . . . . . . . . . . . . . . . 36 2.2.4. Transformaciones morfolo´gicas . . . . . . . . . . . . . . . . . . . 43 2.3. Redes neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.3.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 2.3.2. Primeros modelos computacionales . . . . . . . . . . . . . . . . 52 2.3.3. Perceptr´on multicapa . . . . . . . . . . . . . . . . . . . . . . . . 58 3. Implementaci´on 71 3.1. Fase 1: Segmentacio´n de caracteres . . . . . . . . . . . . . . . . . . . . 71 3.2. Fase 2: Red neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 4. Experimentacio´n y resultados 81 4.1. Red Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.1.1. Prueba 1: Modificaci´on nu´mero de salidas de la red neuronal . . 81 4.1.2. Prueba 2: Variaci´on del nu´mero de entradas de la red . . . . . . 84 4.1.3. Prueba 3: Modificaci´on de conjuntos de aprendizaje . . . . . . . 86 1 ´ ´ INDICE GENERAL INDICE GENERAL 4.1.4. Prueba 4: Modificaci´on tasa de aprendizaje y momento . . . . . 88 5. Conclusiones y trabajos futuros 92 A. Instalacio´n OpenCV 94 B. Funciones facetrain 96 C. Funciones c´odigo y OpenCV 103 2 ´ Indice de figuras 1.1. Ejemplo de texto antiguo 1 . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2. Ejemplo de texto antiguo 2 . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3. Ejemplo de texto antiguo 3 . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4. BFS-Auto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.5. Resultado de la transformacio´n de la imagen . . . . . . . . . . . . . . . 15 1.6. Sistema reCAPTCHA . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.1. Imagen ejemplo 300 dpi . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.2. Imagen ejemplo 72 dpi . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.3. Histogramas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.4. Espacio de color RGB . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5. Espacio de color HSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.6. Red multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.7. Esquema del aprendizaje supervisado . . . . . . . . . . . . . . . . . . . 51 2.8. Esquema del aprendizaje no supervisado . . . . . . . . . . . . . . . . . 51 2.9. Esquema general de una neurona de McCulloch-Pitts . . . . . . . . . . 52 2.10.Arquitectura de un perceptr´on simple con 2 entradas y una salida . . . 55 2.11.Arquitectura del perceptro´n multicapa . . . . . . . . . . . . . . . . . . 59 2.12.Funcio´n sigmoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 2.13.Funcio´n tangente hiperb´olica . . . . . . . . . . . . . . . . . . . . . . . . 62 3.1. Flujograma fase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 3.2. Imagen original . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.3. Imagen en niveles de gris . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.4. Imagen suavizada (filtro gaussiano) . . . . . . . . . . . . . . . . . . . . 74 3.5. Imagen binarizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.6. Resultado segmentacio´n caracteres . . . . . . . . . . . . . . . . . . . . 74 3.7. Flujograma fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 3.8. Imagen para aprendizaje: A17r.png . . . . . . . . . . . . . . . . . . . . 76 3 ´ ´ INDICE DE FIGURAS INDICE DE FIGURAS 3.9. Imagen para aprendizaje: A56r.png . . . . . . . . . . . . . . . . . . . . 77 3.10.Imagen para aprendizaje: texto6.png . . . . . . . . . . . . . . . . . . . 78 4.1. Errores para redes de 1 y 15 salidas . . . . . . . . . . . . . . . . . . . . 83 4.2. Fen´omeno de sobreentrenamiento . . . . . . . . . . . . . . . . . . . . . 84 4.3. Errores para red de 16 entradas . . . . . . . . . . . . . . . . . . . . . . 85 4.4. Errores para red de 25 entradas . . . . . . . . . . . . . . . . . . . . . . 86 4.5. Errores para red de 49 entradas . . . . . . . . . . . . . . . . . . . . . . 87 4.6. Errores para red de 100 entradas . . . . . . . . . . . . . . . . . . . . . 88 4.7. Error con distintos conjuntos de aprendizaje (i) . . . . . . . . . . . . . 89 4.8. Error con distintos conjuntos de aprendizaje (ii) . . . . . . . . . . . . . 89 4.9. Salida obtenida del algoritmo frente a nu´mero de entradas de la red . . 90 4.10.Variacio´n tasa de aprendizaje y momento . . . . . . . . . . . . . . . . . 91 4 ´ Indice de cuadros 4.1. Salidas obtenidas para las distintas redes y evaluaci´on de resultados . . 82 4.2. Distribucio´n de los conjuntos de aprendizaje . . . . . . . . . . . . . . . 86 5 Resumen El objetivo de este proyecto es reconocer caracteres de textos antiguos mediante t´ecnicas de visio´n artificial y redes neuronales. Distinguimos dos fases en el proceso: extraccio´n de los caracteres de las ima´genes de los textos antiguos; y el reconocimiento mediante redes neuronales. En la primera utilizaremos las librer´ıas de OpenCV para conseguir el objetivo, mientras que en la segunda fase partimos de un co´digo de una red neuronal de 3 capas de la Universidad Carnegie Mellon, modificado adecuadamente a nuestro propo´sito. Tambi´en estudiaremos la influencia en nuestros resultados de varios para´metros de la red neuronal. 6 Abstract The aim of this project is to recognize characters in antique books, using computer vision and neural networks techniques. This process has two phases: extracting charac- ters from images of antique books; and the recognition using neural networks. In the first phasewe will workwith OpenCV libraries to reach thegoal, while inthe secondwe start from a 3-layer neural network code from the Carnegie Mellon University, adapted to our purpose. We will also analyze the influence of several paramethers on our neural network results. 7 Cap´ıtulo 1 Introduccio´n y objetivos 1.1. Introduccio´n En esta introducci´on situaremos nuestro proyecto en su contexto. En primer lugar hablaremos de los textos antiguos con los que trabajamos, ya que una de las moti- vaciones de este proyecto es el uso de la ingenier´ıa en un ´ambito human´ıstico como son los textos g´oticos. Adema´s, hablaremos sobre la digitalizacio´n de libros, principal tema de este proyecto. Nombraremos tambi´en un par de t´ecnicas novedosas relaciona- das con nuestro trabajo: por un lado un sistema automatizado de escaneo de libros, y por otro reCAPTCHA, un sistema que, indirectamente, ayuda a resolver problemas relacionados con el reconocimiento de caracteres. 1.1.1. Textos antiguos En primer lugar introduciremos a los principales protagonistas de este proyecto: los textos antiguos. Hemos trabajado con textos g´oticos (siglos XII-XV d.C.), cuyas caracter´ısticas se describira´n a continuaci´on. Introduccio´n a la escritura escritura g´otica Durante los siglos XII y XIII se producen en la cultura cambios radicales que re- percuten sobre las caracter´ısticas de los manuscritos y sobre la forma de escritura. Hasta esa ´epoca, los estudios y los libros eran un privilegio casi exclusivo de la Iglesia y u´nicamente producidos en monasterios y escuelas catedralicias. A partir de la mitad del siglo XII la cultura se difunde fuera de los monasterios, divulg´andose en torno a las grandes universidades que van surgiendo en toda Europa y a las que acuden estu- diosos de toda condici´on: eclesia´sticos, religiosos y laicos. Por tanto surge la necesidad de proveer de libros a las universidades para poder desarrollar sus ensen˜anzas. Aparece 8 ´ 1.1. INTRODUCCION Introduccio´n y objetivos una gran demanda de textos que afecta al mercado, surgiendo un comercio en torno a los libros. Debido a estas nuevas necesidades, los manuscritos adoptan caracter´ısticas distintas,adapt´andosealaproduccio´nenserie.Tambi´ensebuscalaeconom´ıadepapel, es decir, que quepa la ma´xima cantidad de texto en el menor espacio posible, lo que implica contraer las letras, trazar ascendentes y descendentes cortos, as´ı como utilizar abundantes abreviaturas. Otro factor que influyo´ en el aspecto de la letra g´otica fue uno de tipo t´ecnico: la punta de la pluma se corto´ de forma oblicua a la izquierda, lo que da como resultado que los trazos horizontales y verticales fueran de trazo grueso y los oblicuos finos y tenues. Este detalle dificulta el algoritmo de segmentacio´n de caracteres utilizado en este proyecto, como veremos m´as adelante. Todas las formas de escritura que presentan las caracter´ısticas mencionadas anterior- mente son designadas con el nombre gen´erico de escritura g´otica. Esta denominaci´on procede de los humanistas italianos y es usada en oposicio´n a la escritura ”antigua” (antiqua) que indicaba la minu´scula carolina, de la que deriva. En su´epoca la escritura go´tica recib´ıa el nombre de ”moderna” (litterae modernae). Los primeros ejemplos de esta escritura (littera protogothica / littera praegothica) se encuentran en algunos manuscritos del siglo XII producidos en Francia, pero es en el siglo XIII cuando alcanza su perfeccio´n y se difunde ra´pidamente por toda Europa. La go´tica fue usada en todo el mundo latino hasta el siglo XV, si bien su uso sigui´o vigente en Alemania hasta el siglo XVI por razones religiosas, no desapareciendo de hecho en este pa´ıs en su variante ”fraktur” hasta el siglo XX en que fue prohibida su utilizaci´on por un decreto de Hitler promulgado en enero de 1941. Durantelaevolucio´ndelaescriturag´oticaaparecieronalgunoscambiosenelalfabe- to, tales como distintos trazos, distinciones entre letras que se confund´ıan habitualmen- te (origen del punto sobre la ”i”, diferencia entre ”u” y ”v”), distintas representaciones para una misma letra segu´n su posicio´n en la palabra, inclusio´n de letras anterior- mente extran˜as(”w”, ”y”, ”z”), etc. A finales del siglo XV influencias de la escritura human´ıstica provocaron nuevos cambios en las letras go´ticas. Finalmente debe tener- se en cuenta que en la ´epoca cla´sica no hab´ıa distincio´n en la escritura entre letras mayu´sculas y minu´sculas. Fue durante la ´epoca go´tica cuando se estableci´o un aut´enti- co alfabeto dual, es decir, entro´ en vigor el uso consistente de mayu´sculas y minu´sculas. Podemos hacer una primera clasificacio´n de tipos de escritura g´otica en tres: Formal (littera textualis / textura) 9

Description:
de caracteres (OCR en inglés), después de nuevos métodos para digitalizar libros y .. están desarrollando interfaces para Python, Ruby o Matlab.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.