Вы находитесь на странице: 1из 14

Tabla de contenido

Abstract ....................................................................................................................................... 2
1. ESTADO DEL ARTE............................................................................................................. 2
1.1. RECONOCIMIENTO AUTOMTICO DE TEXTO BRAILLE ...................................... 2
1.2. RECONOCIMIENTO E INTERPRETACIN DEL ALFABETO BRAILLE
MEDIANTE REDES NEURONALES ........................................................................................ 3
1.3. BrailleSoft: Software traductor de lenguaje Braille a digital y viceversa ...... 3
2. MARCO TERICO ............................................................................................................... 3
2.1. Perceptrn multicapa ............................................................................................... 3
2.1.1. Arquitectura ....................................................................................................... 4
2.1.2. Limitaciones ....................................................................................................... 4
2.1.3. Aplicaciones ........................................................................................................ 5
2.1.4. Aprendizaje ........................................................................................................ 5
2.2. Algoritmos genticos ................................................................................................ 5
2.2.1. Funcionamiento ................................................................................................. 6
2.2.2. Cundo usar estos algoritmos ......................................................................... 7
2.3. Algoritmo gentico para el entrenamiento de redes neuronales .................... 7
2.3.1. Codificacin de parmetros ............................................................................ 7
2.3.2. Del genotipo al fenotipo ................................................................................... 8
2.3.3. Evaluacin y aptitud ......................................................................................... 8
2.4. Mdulo de reconocimiento de caracteres ............................................................ 8
3. Diseo del sistema ............................................................................................................ 8
3.1. Diagramas de Casos de Uso ..................................................................................... 9
3.2. Diagrama de Componentes: .................................................................................. 10
3.3. Diagrama de Clases: ................................................................................................ 11
4. Construccin del Cdigo ................................................................................................. 11
4.1. Entrenamiento de la imagen: ................................................................................ 12
4.2. Ingreso de la Imagen:.............................................................................................. 13
4.3. Reconocer: ................................................................................................................ 13
5. Pruebas y Resultados.................................................................................................. 14
6. Conclusiones ................................................................................................................. 14



2



RECONOCIMIENTO DE VOCALES BRAILLE MEDIANTE REDES NEURONALES
GENETICAS EN IMGENES DIGITALES

Abstract

Mediante el presente trabajo se pretende la elaboracin de un sistema que
se encargue de la traduccin del lenguaje Braille al lenguaje natural escrito llevado
a cabo mediante el reconocimiento en imgenes digitalizadas utilizando la
combinacin de 2 tcnicas de aprendizaje.
Como Hacerlo:
Para realizar esta propuesta se llevara a cabo la combinacin de 2 tcnicas de
aprendizaje las cuales conllevan 2 modelos esenciales el conexionista por parte de
las redes neuronales y el evolucionista por parte de los algoritmos genticos; la
interrelacin de estos 2 modelos se dar en la optimizacin de la fase de
entrenamiento de la red neuronal reemplazando el algoritmo de retro propagacin
por el algoritmo evolutivo mejorando la utilizacin de los parmetros, la
arquitectura de la red, etc. dentro de la red neuronal.
De esta manera se mejoraran los pesos al momento del entrenamiento de la red
con las diferentes imgenes del alfabeto braille, mejorando considerablemente las
estadsticas de reconocimiento para una mejor clasificacin al momento de correr
el sistema con imgenes nuevas.
1. ESTADO DEL ARTE
Siguiendo una lnea de toda la investigacin vertida en el tema del reconocimiento
de caracteres Braille hemos podido encontrar la siguiente referencia a lo largo de
los ltimos 10 aos.
1.1. RECONOCIMIENTO AUTOMTICO DE TEXTO BRAILLE
Facultad de Informtica - Universidad Nacional de La Plata - Argentina
IV Workshop de Computacin Grfica, Imgenes y Visualizacin
XII Congreso Argentino de Ciencias de la Computacin CACIC 2006
Presentado por Hctor Ferraro y Claudia Russo, este trabajo presenta el
desarrollo de mtodos ad-hoc para generar una herramienta que permita
reconocer los caracteres de un texto Braille y traducirlos a texto digital.
Desarrollando entre otros, un mtodo que segmenta la imagen escaneada a ser
tratada y otro para detectar la inclinacin de la hoja en el momento del
escaneo, pero principalmente se desarrollan tcnica de procesamiento de
imgenes para el reconocimiento de los caracteres braille adems de una malla
de 6 puntos para la deteccin de puntos activos e inactivos de cada carcter
3

mediante una malla utilizando la ventaja de la distancia que hay entre los
puntos de los caracteres Braille, para su posterior traduccin a texto digital.

1.2. RECONOCIMIENTO E INTERPRETACIN DEL ALFABETO BRAILLE
MEDIANTE REDES NEURONALES
UNIVERSIDAD TECNOLGICA EQUINOCCIAL - FACULTAD DE CIENCIAS DE LA
INGENIERA - Ecuador
Presentado por DIEGO LENIN PARDO JARAMILLO en 2009, Braille Premier es
un prototipo de software del tipo didctico diseado para permitir al usuario
final entender (decodificar) el cdigo braille por medio de la traduccin de
ste al alfabeto latino. El texto en cdigo braille que se utilizar para ser
analizado por el prototipo se basar en el utilizado en el libro MDULO DE
LECTO ESCRITURA BRAILLE AO 2008 Para la decodificacin se hace uso de
la red neuronal Kohonen que es una parte de la Inteligencia artificial la cual se
usa en el reconocimiento de los caracteres Braille adems de algunas tcnicas
de procesamiento de imagen para la limpieza y eliminacin de ruido de estas.
1.3. BrailleSoft: Software traductor de lenguaje Braille a digital y viceversa
Ingeniera de Sistemas de la sede de Bogot de la Universidad Abierta,
Distancia y Virtual (UADV) de la Fundacin Universitaria San Martn (FUSM)
Presentado por Edith Johana Espitia Riao y Gonzalo Gutirrez Lpez,
BrailleSoft es un prototipo de software libre y cdigo abierto, que tomando
documentos impresos en Braille Simple (una sola cara previamente
escaneado) y por medio de un algoritmo matemtico, interpreta las imgenes
generadas traducindolas a texto digital en lenguaje espaol, con un margen
de error del 5%, este texto digital, puede ser exportado a un archivo de texto.
Por otra parte, la herramienta cuenta con la funcin de pasar el texto que ha
sido traducido a formato de voz, para que el usuario pueda escuchar la
traduccin; utilizando para el reconocimiento de los caracteres Braille una red
Perceptron multicapas la cual evaluara las imgenes guardadas a nivel de
pixeles, mostrando esta alternativa ms rpida y eficiente a los mtodos
tradicionales.

2. MARCO TERICO

2.1. Perceptrn multicapa

Es una red neuronal artificial (RNA) formada por mltiples capas, esto le
permite resolver problemas que no son linealmente separables, lo cual es la
principal limitacin del perceptrn (tambin llamado perceptrn simple). El
perceptrn multicapa puede ser totalmente o localmente conectado. En el
primer caso cada salida de una neurona de la capa "i" es entrada de todas las
neuronas de la capa "i+1", mientras que en el segundo cada neurona de la capa
"i" es entrada de una serie de neuronas (regin) de la capa "i+1".

4





2.1.1. Arquitectura

Las capas pueden clasificarse en tres tipos:
Capa de entrada: Constituida por aquellas neuronas que introducen los patrones de
entrada en la red. En estas neuronas no se produce procesamiento.
Capas ocultas: Formada por aquellas neuronas cuyas entradas provienen de capas
anteriores y cuyas salidas pasan a neuronas de capas posteriores.
Capa de salida: Neuronas cuyos valores de salida se corresponden con las salidas de
toda la red.
La propagacin hacia atrs (tambin conocido como retro propagacin del
error o regla delta generalizada), es un algoritmo utilizado en el
entrenamiento de estas redes, por ello, el perceptrn multicapa tambin es
conocido como red de retro propagacin (no confundir con la red de contra
propagacin).

2.1.2. Limitaciones

El Perceptrn Multicapa no extrapola bien, es decir, si la red se entrena
mal o de manera insuficiente, las salidas pueden ser imprecisas.
La existencia de mnimos locales en la funcin de error dificulta
considerablemente el entrenamiento, pues una vez alcanzado un mnimo
el entrenamiento se detiene aunque no se haya alcanzado la tasa de
convergencia fijada.
Cuando caemos en un mnimo local sin satisfacer el porcentaje de error
permitido se puede considerar: cambiar la topologa de la red (nmero de
capas y nmero de neuronas), comenzar el entrenamiento con unos pesos
5

iniciales diferentes, modificar los parmetros de aprendizaje, modificar el
conjunto de entrenamiento o presentar los patrones en otro orden.
2.1.3. Aplicaciones

El perceptrn multicapa (de aqu en adelante MLP, MultiLayer Perceptron) se
utiliza para resolver problemas de asociacin de patrones, segmentacin de
imgenes, compresin de datos, etc.

2.1.4. Aprendizaje

Podemos distinguir claramente dos fases o modos de operacin: la fase de aprendizaje o
entrenamiento, y la fase de operacin o ejecucin.
Durante la primera fase, la fase de aprendizaje, la red es entrenada para realizar un
determinado tipo de procesamiento. Una vez alcanzado un nivel de entrenamiento
adecuado, se pasa a la fase de operacin, donde la red es utilizada para llevar a cabo la
tarea para la cual fue entrenada.
2.1.4.1. Fase de entrenamiento
Partiendo de un conjunto de pesos sinpticos aleatorio, el proceso de aprendizaje
busca un conjunto de pesos que permitan a la red desarrollar correctamente una
determinada tarea. Durante el proceso de aprendizaje se va refinando iterativamente
la solucin hasta alcanzar un nivel de operacin suficientemente bueno.
2.1.4.2. Fase de operacin
Una vez finalizada la fase de aprendizaje, la red puede ser utilizada para realizar la tarea
para la que fue entrenada. Una de las principales ventajas que posee este modelo es
que la red aprende la relacin existente entre los datos, adquiriendo la capacidad de
generalizar conceptos. De esta manera, una red neuronal puede tratar con informacin
que no le fue presentada durante de la fase de entrenamiento.

2.2. Algoritmos genticos

Son llamados as porque se inspiran en la evolucin biolgica y su base
gentico-molecular. Estos algoritmos hacen evolucionar una poblacin de
individuos sometindola a acciones aleatorias semejantes a las que actan en
la evolucin biolgica (mutaciones y recombinaciones genticas), as como
tambin a una Seleccin de acuerdo con algn criterio, en funcin del cual se
decide cules son los individuos ms adaptados, que sobreviven, y cules los
menos aptos, que son descartados. Es incluido dentro de los algoritmos
evolutivos, que incluyen tambin las estrategias evolutivas, la programacin
evolutiva y la programacin gentica. Dentro de esta ltima se han logrado
avances curiosos:
Un algoritmo gentico es un mtodo de bsqueda dirigida basada
en probabilidad. Bajo una condicin muy dbil (que el algoritmo mantenga
elitismo, es decir, guarde siempre al mejor elemento de la poblacin sin
6

hacerle ningn cambio) se puede demostrar que el algoritmo converge en
probabilidad al ptimo. En otras palabras, al aumentar el nmero de
iteraciones, la probabilidad de tener el ptimo en la poblacin tiende a 1 (uno).
2.2.1. Funcionamiento

Los algoritmos genticos funcionan entre el conjunto de soluciones de un
problema llamado fenotipo, y el conjunto de individuos de una poblacin
natural, codificando la informacin de cada solucin en una cadena,
generalmente binaria, llamada cromosoma. Los smbolos que forman la cadena
son llamados los genes. Cuando la representacin de los cromosomas se hace
con cadenas de dgitos binarios se le conoce como genotipo. Los cromosomas
evolucionan a travs de iteraciones, llamadas generaciones. En cada
generacin, los cromosomas son evaluados usando alguna medida de aptitud.
Las siguientes generaciones (nuevos cromosomas), son generadas aplicando
los operadores genticos repetidamente, siendo estos los operadores
de seleccin, cruzamiento, mutacin y reemplazo.
Un algoritmo gentico puede presentar diversas variaciones, dependiendo de
cmo se aplican los operadores genticos (cruzamiento, mutacin), de cmo se
realiza la seleccin y de cmo se decide el reemplazo de los individuos para
formar la nueva poblacin. En general, el pseudocdigo consiste de los
siguientes pasos:
Inicializacin: Se genera aleatoriamente la poblacin inicial, que est
constituida por un conjunto de cromosomas los cuales representan las
posibles soluciones del problema. En caso de no hacerlo aleatoriamente, es
importante garantizar que dentro de la poblacin inicial, se tenga la
diversidad estructural de estas soluciones para tener una representacin
de la mayor parte de la poblacin posible o al menos evitar
la convergencia prematura.
Evaluacin: A cada uno de los cromosomas de esta poblacin se aplicar la
funcin de aptitud para saber cmo de "buena" es la solucin que se est
codificando.
Condicin de trmino El AG se deber detener cuando se alcance la
solucin ptima, pero sta generalmente se desconoce, por lo que se
deben utilizar otros criterios de detencin. Normalmente se usan dos
criterios: correr el AG un nmero mximo de iteraciones (generaciones) o
detenerlo cuando no haya cambios en la poblacin. Mientras no se cumpla
la condicin de trmino se hace lo siguiente:
Seleccin Despus de saber la aptitud de cada cromosoma se
procede a elegir los cromosomas que sern cruzados en la siguiente
7

generacin. Los cromosomas con mejor aptitud tienen mayor
probabilidad de ser seleccionados.
Recombinacin o Cruzamiento La recombinacin es el principal
operador gentico, representa la reproduccin sexual, opera sobre
dos cromosomas a la vez para generar dos descendientes donde se
combinan las caractersticas de ambos cromosomas padres.
Mutacin modifica al azar parte del cromosoma de los individuos, y
permite alcanzar zonas del espacio de bsqueda que no estaban
cubiertas por los individuos de la poblacin actual.
Reemplazo una vez aplicados los operadores genticos,
se seleccionan los mejores individuos para conformar la poblacin
de la generacin siguiente

2.2.2. Cundo usar estos algoritmos

Los algoritmos genticos son de probada eficacia en caso de querer calcular
funciones no derivables (o de derivacin muy compleja) aunque su uso es
posible con cualquier funcin.
Deben tenerse en cuenta tambin las siguientes consideraciones:
Si la funcin a optimizar tiene muchos mximos/mnimos locales se
requerirn ms iteraciones del algoritmo para "asegurar" el
mximo/mnimo global.
Si la funcin a optimizar contiene varios puntos muy cercanos en valor al
ptimo, solamente podemos "asegurar" que encontraremos uno de ellos
(no necesariamente el ptimo).

2.3. Algoritmo gentico para el entrenamiento de redes neuronales

Se estudiara la manera de adaptar distintas variantes de los operadores clsicos para
poder utilizar a los algoritmos genticos como mtodo de entrenamiento de redes
neuronales.
2.3.1. Codificacin de parmetros

Cada individuo (cromosoma) de la poblacin se definir como una cadena binaria. La
longitud de dicha cadena depender de la topologa de la red. Dentro del cromosoma
cada peso de la red neuronal estar representado por 32 bits consecutivos. As, la
cantidad de genes dentro del cromosoma ser proporcional a la cantidad de pesos (y
umbrales) que tenga la red.

8



2.3.2. Del genotipo al fenotipo

La transformacin del genotipo al fenotipo ser directa. Los pesos sinpticos que
parten desde una misma neurona sern representados por genes contiguos en el
genotipo.

2.3.3. Evaluacin y aptitud

La funcin de evaluacin que se utilizar en este mtodo ser la dada por la ecuacin:

Donde

es el valor de evaluacin del individuo i, y

es el error cuadrtico medio de la


red neuronal que representa el individuo i. Esta funcin de evaluacin aumenta cuando
el error cuadrtico medio disminuye. As, se busca favorecer en mayor medida a los
individuos que tienen menor error cuadrtico medio sobre el set de entrenamiento.

2.4. Mdulo de reconocimiento de caracteres
El mdulo de reconocimiento de caracteres se reduce a solamente reconocer vocales
como:
A,e,i,o,u.
El mdulo de reconocimiento de caracteres opera de la siguiente manera: primero se
obtiene el carcter de una imagen escaneada. Posteriormente se utilizan tcnicas de
procesamiento de imgenes para eliminar ruidos, girar o rotar la imagen para tenerla lo
ms vertical posible. Una vez hecho esto se procede al reconocimiento de los mismos
por medio de una red neuronal previamente entrenada.

3. Diseo del sistema
Para realizar a cabo el modelado de nuestro proyecto se us los estndares
proporcionados segn UML 2.0 en el cual los principales diagramas efectuados
para la mejor representacin del sistema fueron:
Diagrama de Casos de Uso
Diagramas de Componentes
Diagramas de Clases

9




3.1. Diagramas de Casos de Uso

En este diagrama se representara claramente las acciones que ejecutara el usuario visto desde
el punto de vista del usuario propiamente dicho; este tipo de diagramas se toma en cuenta y
es de mucha ayuda debido a que nos da un mayor porcentaje de aciertos a la hora de tomar
requerimientos.

En este diagrama podemos ver las 3 principales acciones que realizara el usuario; que entre
ellas tenemos:
Ingresar Datos: en esta accin el usuario ingresa la imagen a la cual desea reconocer.
Procesar Imagen: el usuario toma determinadas caractersticas de la imagen para que
con ella pueda reconocer patrones y de acuerdo a estos reconocer el
valor de la imagen ingresada.
Visualizar Resultado: El usuario visualiza el resultado en trminos de un dominio de 5
vocales entre las cuales esta nuestro resultado.



10




3.2. Diagrama de Componentes:

Nuestro siguiente diagrame s el Diagrama de Componentes; en el cual est ms orientado al
desarrollo de software, pero es un diagrama que nos permite ver cmo es que est compuesto
el sistema, los principales componentes.

Aqu claramente se puede ver que precisamos de 2 componentes principales, uno que es el
componente de Pre- procesamiento y otro que es el Modelo Hibrido.
Pre-Procesamiento: en este componente estn todas las clases y dems que nos permiten el
procesamiento de la imagen la obtencin de las caractersticas para su
posterior anlisis de patrones, etc.
Modelo Hibrido: En este componente por otra parte podemos ver que tiene las clases que
componen el ncleo de nuestro sistema la combinacin de los algoritmos
que nos permitirn el reconocimiento de los patrones en las imgenes ya
procesadas anteriormente; las cuales son diferentes al conjunto de
imgenes que subieron para el entrenamiento de nuestro algoritmo.
Adems de una interface de usuario que nos permite interactuar con cada uno de nuestros
componentes y as dar una presentacin, e interaccin con nuestro usuario.






11




3.3. Diagrama de Clases:

En este diagrama podremos diferenciar las cosas a travs de categoras en este caso nuestras
variables, la cuales son diferentes y se encuentran por todos nuestros componentes, adems
que con este diagrama podremos diferenciar atributos, y funciones de cada uno de los
componentes de nuestras clases, ayudndonos a entender de manera simple como es que
nuestro sistema funciona.


Aqu como se ve tenemos nuestras clases las cuales se vincularan de tal manera que toda la
informacin que pueda tomarse al inicio de la ejecucin pueda ser utilizada en diferentes
tiempos y por diferentes clases para el correcto funcionamiento del sistema y as poder llegar a
nuestro objetivo que es el reconocimiento de las imgenes ingresadas.

4. Construccin del Cdigo

Una vez que nuestro sistema ya ha sido diseado pasamos a la parte de la construccin de
cada mdulo, en el cual podemos codificar de acuerdo a los componentes y las clases dentro
de ellos logrando as paso a paso el objetivo.
El sistema sigue as una secuencia para su correcto funcionamiento de la manera como se
presenta a continuacin.


12




4.1. Entrenamiento de la imagen:

Para llevar a cabo un correcto entrenamiento necesitamos de un conjunto de imgenes el
cual tiene los diferentes tipos y modelos de vocales escritos en el sistema braille.

Como se ve en cada carpeta hay un determinado nmero de imgenes por cada vocal, pro
para que nuestra red Neuronal se ejecute correctamente tenemos de un nmero
adecuado de ejemplos de cada vocal para u la red se entrene mejor.

Aqu tenemos las imgenes de una vocal; cada una de estas vocales ya estn reducidas a
un tamao considerable para su reconocimiento tomando como estndar una reduccin
de estas a un tamao de 50 x 50 pixeles.
Una vez que se tiene la imagen se procesa esta para hallar las caractersticas y luego con
esta, entrara a la red neuronal y se evaluara para que la red entrene con cada una de
estas imgenes.
Procesamiento: para poder obtener las caractersticas de esta imagen primero se procede
a una suavizacin de la imagen en la cual se deja solo los pixeles de color negro y todos los
dems pixeles diferentes se dejan en 0 con esto ya tenemos 2500 datos que conformaran
el vector caracterstico de la imagen.
Se podra bajar con el nimo de disminuir las iteraciones para una ejecucin mas rpida.
Esto se logr usando el mtodo de tomar distancias de cada lado de la imagen y como
estas imgenes son de 50 x 50 entonces nuestro vector quedara con 200 datos a
comparacin de nuestro primer vector que contaba con 2500 datos esto mejorara
sustancialmente nuestro programa.

13




4.2. Ingreso de la Imagen:
Una vez que nuestra red y fue entrenada con las imgenes cargadas anteriormente se
procede a la eleccin manual de una imagen por parte del usuario, imagen que el usuario
desea reconocer con ayuda del sistema.

4.3. Reconocer:
Una vez cargada la imagen se procede a que el sistema reconozca la salida de las
caractersticas extradas de la imagen a consultar, evalundola de acuerdo a los datos
recopilados del entrenamiento anteriormente hecho.

14




5. Pruebas y Resultados
En el presente trabajo se realiz el hibrido de los algoritmos genticos y una red neuronal
multicapa, la cual fue elaborada con 2 capas ocultas, a manera de que con estas se pueda
mejorar el error de reconocimiento.
Se tuvo una capa de entrada de 200 entradas, una primera capa oculta de 50 neuronas, luego
a una segunda capa oculta de 10 para pasar a una capa de salida de 3 neuronas la cual ya nos
dara el resultado del reconocimiento.
Durante la fase de entrenamiento se vio que el error generado por los diferentes imgenes en
promedio era de 0.34 el cual no es muy malo pero tampoco es un error aceptable debido a
que hay tcnicas que generan un error ms bajo y optimo que descartaran nuestra opcin, as
que de las pruebas realizadas se vio que se puede mejorar la seleccin de los cromosomas
ptimos mejorando o aumentando una funcin ms en la seleccin no solo utilizando la ruleta
o seleccin aleatoria, sino utilizando una seleccin por la calidad de cada cromosoma.

6. Conclusiones
Para el reconocimiento de patrones en este caso imgenes braille se pueden utilizar
diferentes tcnicas sean de inteligencia artificial, de procesamiento de imgenes
netamente hablando, entre otras.
El escoger una red neuronal para el reconocimiento de imgenes se debe tener en
cuenta un nmero de capas ocultas a usar que nos ayude a no perder datos en el
entrenamiento, saber cuntas neuronas se utilizaran en cada uno de estas capas
ocultas.
El algoritmo gentico usado para el entrenamiento, asegura el encontrar un ptimo
debido a la diversidad de poblacin que presenta, teniendo en cuenta la funcin para
seleccionar a los individuos.

Вам также может понравиться