View
2
Download
0
Category
Preview:
Citation preview
APLICACIÓN MÓVIL PARA TRANSCRIBIR LENGUAJE BRAILLE LITERARIO
A TEXTO EN ESPAÑOL
LINA MARCELA NOGUERA ROJAS
20151373015
JULIO ENRIQUE RODRIGUEZ PRIETO
20151373031
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
INGENIERÍA EN TELECOMUNICACIONES
BOGOTÁ D.C., 2018
2
APLICACIÓN MÓVIL PARA TRANSCRIBIR LENGUAJE BRAILLE LITERARIO
A TEXTO EN ESPAÑOL
LINA MARCELA NOGUERA ROJAS
JULIO ENRIQUE RODRIGUEZ PRIETO
MONOGRAFÍA PRESENTADA PARA OPTAR POR EL TÍTULO DE INGENIERO
EN TELECOMUNICACIONES
Director:
ING. MSC. EDWAR JACINTO GOMEZ
UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS
FACULTAD TECNOLÓGICA
INGENIERÍA EN TELECOMUNICACIONES
BOGOTÁ D.C., 2018
3
TABLA DE CONTENIDO
1 RESUMEN........................................................................................................................ 6
2 ABSTRACT ....................................................................................................................... 6
3 INTRODUCCIÓN .............................................................................................................. 7
4 CONTEXTO ...................................................................................................................... 8
4.1 PLANTEAMIENTO DEL PROBLEMA ........................................................................................ 8
4.2 JUSTIFICACIÓN ............................................................................................................... 10
4.3 IMPACTO ESPERADO ....................................................................................................... 10
4.3.1 Impacto Social................................................................................................... 10
4.3.2 Impacto Tecnológico ......................................................................................... 11
5 OBJETIVOS .................................................................................................................... 11
5.1 GENERAL ...................................................................................................................... 11
5.2 ESPECÍFICOS .................................................................................................................. 11
6 ESTADO DEL ARTE ........................................................................................................ 12
6.1 MÉTODOS AUDITIVOS Y TÁCTILES: ..................................................................................... 13
6.2 TRADUCTORES BRAILLE ................................................................................................... 16
6.3 PROCESAMIENTO DIGITAL DE IMÁGENES Y APLICACIONES MÓVILES: .......................................... 16
7 MARCO TEÓRICO.......................................................................................................... 19
7.1 SISTEMA BRAILLE ........................................................................................................... 19
7.1.1 Escritura del braille con pizarra y punzón ......................................................... 21
7.2 INTRODUCCIÓN A ANDROID.............................................................................................. 22
7.3 ESTRUCTURA ANDROID ................................................................................................... 23
7.4 APLICACIONES OPENCV .................................................................................................. 24
7.4.1 Muestras OpenCV4Android .............................................................................. 25
7.5 TECNOLOGÍA GPRS........................................................................................................ 26
7.5.1 Arquitectura GPRS ............................................................................................ 27
4
7.6 TRANSFORMACIÓN DE PERSPECTIVA .................................................................................. 29
7.7 TRANSFORMADA HOUGH ................................................................................................ 30
7.7.1 Concepto ........................................................................................................... 30
7.7.2 Detección de líneas rectas ................................................................................ 30
7.7.3 Curvas paramétricas ......................................................................................... 32
8 METODOLOGÍA............................................................................................................. 33
8.1 DIAGRAMAS UML ......................................................................................................... 33
8.1.1 Diagrama de clases ........................................................................................... 33
8.1.2 Diagrama de casos de uso ................................................................................ 34
8.1.3 Diagrama de flujo ............................................................................................. 35
8.2 ADQUISICIÓN DE IMAGEN ................................................................................................ 35
8.3 PROCESO DE ADQUISICIÓ N DE LA IMAGEN ........................................................................... 37
8.3.1 Bitmap............................................................................................................... 37
8.4 TRANSFORMACIÓN DE PERSPECTIVA .................................................................................. 39
8.4.1 Resultado .......................................................................................................... 39
8.5 UMBRALIZACIÓN DE LA IMAGEN ........................................................................................ 40
8.5.1 Concepto ........................................................................................................... 40
8.5.2 Resultado .......................................................................................................... 41
8.6 TRANSFORMADA HOUGH ................................................................................................ 41
8.6.1 Resultado .......................................................................................................... 41
8.7 IDENTIFICACIÓN ÁREA DE TRABAJO ..................................................................................... 42
8.8 ANÁLISIS DE CONTORNOS................................................................................................. 44
8.9 PUBLICACIÓN DE LOS RESULTADOS ..................................................................................... 46
9 RESULTADOS ................................................................................................................ 49
9.1 CAPTURA Y PROCESAMIENTO ............................................................................................ 49
9.2 MEDICIÓN DE RENDIMIENTO ............................................................................................ 49
9.3 DETECCIÓN DE CARACTERES Y TRANSCRIPCIÓN ..................................................................... 52
9.4 ENVÍO DE TEXTO ............................................................................................................ 56
5
9.5 MEMORIA DE ALMACENAMI ENTO ...................................................................................... 56
10 CONCLUSIONES ............................................................................................................ 57
11 REFERENCIAS BIBLIOGRÁFICAS.................................................................................... 59
6
1 RESUMEN
Las personas con discapacidad visual tienen la necesidad de generar nuevas
formas para aprender y poder estar en mejor contacto con el mundo usando
herramientas tecnológicas, se propone una aplicación móvil ―Premier‖ que permite
interactuar con sus docentes o personas sin discapacidad visual, al transcribir un
texto escrito en Braille a texto en español; Premier es una aplicación de Android
en un teléfono inteligente que permite que la persona sin discapacidad visual
pueda por medio de una fotografía al texto escrito en sistema Braille [1] obtener un
texto transcrito en español, utilizando técnicas OBR (Optical Braille Recognition)
[2] para identificar cada una de las celdas y puntos que conforman un símbolo o
letra en Braille. Al obtener la imagen se realiza un procesamiento para recortar los
bordes de la hoja y así obtener el menor ruido posible en la imagen, se realiza una
transformación de perspectiva [3] y posteriormente se hace la detección de los
puntos con la transformada HOUGH [4], se divide en celdas correspondientes a 6
secciones que representan un símbolo Braille; finalmente se comparan estos
símbolos encontrados con una base de datos de las letras del alfabeto en
español y se obtiene el texto transcrito, para ser enviado a través de una red
GPRS [5].
Palabras Clave: Braille, procesamiento de imágenes, Android, OpenCV.
2 ABSTRACT
People with visual disability have the need to develop new ways of learning and to
be able to connect better with the world using technological tools. A mobile
application “Premier” is proposed that allows them to interact with their teachers or
another people without any visual disability, for example, transcribing a written text
in Braille to a text in Spanish. Premier is an Android application in a smartphone
allows the person without visual disability can convert a photography with a written
text in Braille system to obtain a text in Spanish, using techniques such as OBR
7
(Optical Braille Recognition) to identify each set of cells and points with form of a
Braille symbol or letter.
When the image is obtained, make a processing to cut the edges of the sheet to
obtain the minimum noise possible in the image, apply the Perspective Transform
and then make the detection of the points with the Hough Transform, split in cells
according to six sections that represent a Braille symbol and finally, those symbols
are compared with letters of the Spanish alphabet data base and obtain the
transcribed text to send through a GPRS (General Packet Radio Service) network.
Key Words: Braille, image processing, Android, OpenCV.
3 INTRODUCCIÓN
En Colombia, casi el 58% de los niños con discapacidad visual de entre 3 y 6 años
no asisten a la escuela, y la tasa de alfabetización del mundo para esta población
es inferior al 3% [6]; la alfabetización en Braille a menudo es la clave para la
independencia tanto personal como financiera [7]. La ausencia de maestros
preparados para atender a esta población, sumado a la falta de recursos
económicos en las escuelas públicas colombianas, limita el acceso de las
personas con discapacidad visual a la educación; en este contexto con el
desarrollo de la aplicación móvil PREMIER se pretende acercar a los maestros y
personas sin discapacidad visual al lenguaje Braille y por supuesto a las personas
invidentes; esta aplicación permite por medio de una fotografía a un texto escrito
en Braille transcribir a Español, usando técnicas de procesamiento de imagen
OBR (Optical Braille Recognition) que permiten reconocer cada uno de los puntos
que conforman un símbolo Braille [8].
La adquisición de la imagen se hace por medio de una fotografía cargada en el
Smartphone o tomada por el mismo, de un texto escrito en sistema Braille para
posteriormente hacer el análisis de los bordes de la hoja [9], para así tener el área
de trabajo que se somete a una transformación de perspectiva para realizar el
8
análisis desde un perfil más adecuado de la hoja, posteriormente se realiza el
reconocimiento de los puntos utilizando la transformada Hough y a su vez limita el
área que corresponde a la regleta utilizada para escribir el texto y que delimitara la
cantidad de letras o símbolos que hay escritos en la hoja, en este caso se utilizó
una regleta de 4 x 28 (filas y columnas) [10], obteniendo el número de celdas por
renglón, se divide cada una de las áreas en 6 partes y así se tiene el espacio de
cada punto en el texto. Finalmente, al tener detectados los símbolos se comparan
con una tabla de bytes que representa binariamente cada uno de estos y así
obtener las letras del alfabeto en español y el texto transcrito.
Una aplicación que convierta imágenes de Braille a texto influirá positivamente en
la calidad de vida de personas con discapacidad visual, sirviendo como facilitadora
de la comunicación con otras personas, a través, del desarrollo de textos. La
aplicación servirá a los familiares de la persona invidente quienes tendrán la
oportunidad de retroalimentar su avance en la escritura de textos, asimismo, los
beneficios para los educadores voluntarios que brinda esta herramienta hacen que
sean más eficientes en el tiempo de lectura de trabajos en Braille y puedan
potencializar más fácilmente las habilidades de escritura de sus alumnos
invidentes. Las aplicaciones móviles [11] [12], en la actualidad, se presentan como
una herramienta que hace más sencilla la vida de las personas simplificando
acciones cotidianas. Algunas de estas herramientas, han sido orientadas a
mejorar la comunicación con personas que presentan algún tipo de discapacidad
audiovisual, como lo hace Premier.
4 CONTEXTO
4.1 Planteamiento del Problema
Según la OMS, 26 millones de personas de la región de las Américas sufren de
algún impedimento visual, de ellas 3 millones son ciegas y la mayoría tiene más
de 50 años [13]. El 90% de las personas con discapacidad visual viven en países
en vía de desarrollo, entre ellos Colombia el cual presenta un número mayor a
102.564 casos de niños que padecen de discapacidad visual siendo en su mayoría
9
niños que no cuentan con recursos económicos para acceder a alguna
herramienta tecnológica que sea de ayuda para el aprendizaje del sistema Braille
[14]. Adicionalmente, según un estudio por parte de la fundación ONCE en 2017
se detectaron 641 entradas en internet relacionadas con información disponible
gratuitamente en internet sobre investigaciones y desarrollo de productos y
servicios basados en las TIC accesibles. El 30% trata sobre investigaciones,
proyectos, productos y servicios específicos para la discapacidad del cual,
concretamente, el 18% hace referencia a la discapacidad visual [15]. Este
panorama evidencia una falta de enfoque de parte de investigaciones tecnológicas
hacia problemas relacionados con discapacidad en general y en especial a los
relacionados con limitaciones visuales.
Las aplicaciones móviles, en la actualidad, se presentan como una herramienta
que hace más sencilla la vida de las personas simplificando acciones cotidianas.
Algunas de estas herramientas, han sido orientadas a mejorar la comunicación
con personas que presentan algún tipo de discapacidad audiovisual. La
interacción con personas en condición de invidencia se dificulta cuando se hace
de manera escrita dado que todas las personas no conocen el lenguaje Braille.
Este desconocimiento puede generar situaciones de discriminación.
La comunicación escrita se ve afectada y presenta mayor huella en familias de
bajos recursos donde alguno de sus miembros presenta condición de invidencia y
sus familiares no tienen el conocimiento o habilidad de interpretar el lenguaje
Braille impidiéndoles así prestar el apoyo y retroalimentación académica a la
persona invidente [16].De la misma manera se ha observado que los docentes y
voluntarios que enseñan a niños o personas con alguna discapacidad visual tienen
la necesidad de evaluar sus trabajos, lo que incluye hacer una transcripción a
texto en español. Esta labor es extensa y requiere tiempo adicional por parte de
los educadores ya que deben entender el Braille e interpretar lo que su alumno
quiere expresar en sus trabajos escritos.
10
En pro de mejorar esta condición y proporcionar un método más efectivo para las
personas videntes que desean interactuar con el lenguaje Braille y para la misma
comunicación de las personas invidentes, se propone el presente proyecto, en el
que se plantea tomar una imagen de un texto en Braille y por medio de un
procesamiento, lograr su transcripción a texto en español.
4.2 Justificación
Una aplicación que convierta imágenes de Braille a texto influirá positivamente en
la calidad de vida de personas con invidencia, sirviendo como facilitadora de la
comunicación con otras personas a través del desarrollo de textos. La aplicación
servirá a los familiares de la persona invidente quienes tendrán la oportunidad de
retroalimentar su avance en la escritura de textos, asimismo, los beneficios para
los docentes o voluntarios educadores que brinda esta herramienta hacen que
sean más eficientes en el tiempo de lectura de trabajos en Braille y puedan
potencializar más fácilmente las habilidades de escritura de sus alumnos
invidentes.
Igualmente, con este proyecto se beneficiará cualquier persona que desee
interactuar con este lenguaje, promoviendo la inclusión social de las personas con
habilidades diferentes las cuales representan el 2,6% de la población en
Colombia, según el registro de localización y caracterización de personas con
discapacidad, en relación a la alteración que más le afecta, el 13,11% refirieron los
ojos como la causa principal de su discapacidad. [17]
4.3 Impacto Esperado
4.3.1 Impacto Social
Este trabajo busca disminuir la fragmentación social y desigualdad hacia personas
con capacidades diferentes; en este caso no solamente incluye invidentes sino
cualquier persona con la que ésta tenga contacto. Se desarrollará una herramienta
que permita traducir el lenguaje Braille literario a español para fortalecer la
11
comunicación como interacción y socialización con personas invidentes a través
de la tecnología.
Se beneficiarán directamente los docentes que trabajan con población invidente e
indirectamente, padres o familiares y otras personas que tengan interés por la
escritura en Braille facilitando mayor inclusión social hacia estas minorías, al
simplificar la interacción y desenvolvimiento en la comprensión del Braille en las
personas videntes.
4.3.2 Impacto Tecnológico
Esta aplicación se presenta como respuesta al proyecto de grado
―TRANSCRIPTOR DE LENGUAJE BRAILLE LITERARIO A TEXTO EN
ESPAÑOL‖ realizado por Miguel Ángel Barrera Pérez y Eddy Mauricio Suárez
Molina de la Universidad Distrital Francisco José de Caldas [18], ya que se busca
llevar este algoritmo implementado sobre un computador personal a una
aplicación móvil, la cual podría ser fácilmente instalada en un Smartphone y del
que se aprovecharían sus características como los periféricos de captura y la
accesibilidad del mismo.
5 OBJETIVOS
5.1 General
Desarrollar una aplicación móvil que permita transcribir lenguaje Braille
literario a texto en español usando software libre.
5.2 Específicos
Capturar y procesar la imagen que contiene texto Braille literario mediante
las funciones disponibles bajo la librería OpenCV para Android.
Transcribir el texto Braille literario encontrado en la imagen, identificando
los caracteres formados por cada conjunto de puntos, para entregar al
usuario un texto en español.
12
Medir porcentualmente los caracteres identificados para calificar la
efectividad de la aplicación móvil como traductora de texto Braille literario.
Enviar el texto transcrito mediante una red GPRS para integrar la aplicación
con otras tecnologías.
6 ESTADO DEL ARTE
En la actualidad la tecnología permite que las aplicaciones se desarrollen de
manera eficiente y sean utilizadas en dispositivos móviles, permitiendo que se
implementen más proyectos de aplicación e integración para personas con
limitaciones físicas. Para el caso de la discapacidad visual existe un conjunto de
diferentes interfaces de interacción para que el usuario de forma táctil o auditiva
pueda incluirse en los procesos educativos de manera que su desarrollo en la
sociedad sea más equitativo y de calidad.
Cabe resaltar que se han realizado aplicaciones y se han tenido avances de
investigación en los procesos de aprendizaje e inclusión para las personas
invidentes .Hoy en día muchas personas con discapacidad visual usan las
herramientas tecnológicas para realizar actividades de su vida cotidiana; estas
tecnologías consisten en dispositivos electrónicos, plataformas auditivas o con
herramientas táctiles que le dan al usuario la posibilidad de interactuar con el
mundo usando sus otros sentidos.
El uso de dispositivos móviles propone una solución para acercar a las personas
invidentes a la tecnología y a todos estos desarrollos que les ofrecen la
oportunidad de enfrentar diferentes desafíos en su día a día. La ―tecnología de
asistencia‖ se usa para identificar todos los aspectos relacionados con la
asistencia que requiere una persona y los diferentes términos de su alcance y
objetivos, teniendo en cuenta que la seguridad de la persona siempre es un tema
13
importante. De allí que no solo sea importante que la persona use las
herramientas para comunicación y aprendizaje, si no también requiera un
ambiente seguro y de bienestar para sus actividades. [19]
El objetivo de esta investigación es proporcionar una visión general de las
soluciones teóricas y prácticas que se han propuesto para reducir la brecha de las
personas invidentes con la tecnología y el mundo cotidiano, donde se destacan los
desarrollos en tecnologías móviles.
6.1 Métodos auditivos y táctiles:
Las implementaciones en este campo se realizan a través de los sentidos táctiles
y auditivos para permitirles a las personas ciegas aprender y comunicarse de
manera más eficiente. Los iconos auditivos se definieron en el contexto de la
escucha cotidiana como "caricaturas de los sonidos cotidianos" [20] [21] [22].
Esta fue la primera generalización del concepto de icono visual original de David
Canfield-Smith [23] a otras modalidades además de la visión, a través de una
teoría que separa la "escucha cotidiana" de la "escucha musical". En pocas
palabras, la teoría de Gaver separa los casos en que los sonidos se interpretan
con respecto a sus cualidades perceptivo-musicales, en oposición a los casos en
que se interpretan con respecto a un contexto físico en el que generalmente se
encuentra el mismo sonido. Como ejemplo del último caso, el sonido de una
puerta que se abre y se cierra podría, por ejemplo, usarse como un icono para
alguien que entra o sale de un entorno virtual.
Sistemas de Acceso: Interfaces adaptativas que permiten a las personas con
discapacidad física o sensorial utilizar una computadora. Algunas consisten en
elementos microelectrónicos o telemáticos o ayudas técnicas no avanzadas pero
necesarias que ayudan a compensar una deficiencia o discapacidad sustituyendo
una función o potenciando los restos de la misma.
14
- Telelupas: son sistemas de magnificación de imágenes basados en
circuitos cerrados de TV que posibilitan la lectura a personas con
disminución visual. Aunque en general los teclados comunes no suelen
plantear dificultades para las personas con discapacidad visual, se han
logrado algunos avances.
- Sintetizador Braille: es un pequeño computador personal con sintetizador
de voz ó voz digitalizada que le permite a una persona invidente escribir
información simulando a una máquina Perkins y verificar luego la misma.
Una impresora también en Braille permite transcribir esta información y
realizar dibujos en relieve, o utilizar una línea Braille.
- Sistema de Reconocimiento óptico de caracteres: este dispositivo permite a
una persona con discapacidad visual reproducir la información desde una
computadora utilizando un scanner que lee cualquier texto mediante un
programa OCR y los retransmite por medio de un sintetizador de voz o una
línea Braille. Una de estas nuevas aplicaciones es la lectura en alta voz de
textos escritos (periódicos, libros, fax, correo electrónico). [24]
A continuación, se relacionan algunos proyectos en donde la persona invidente
usa su tacto o audición para aprender Braille, otros para traducir los símbolos en
Braille y permitirles a personas con visión normal entender lo escrito por la
persona ciega.
- Proyecto: Herramienta educativa para el aprendizaje del sistema braille
alfabético orientado a niños con discapacidad visual, construido en lego e
implementado sobre una plataforma PSOC.
Se pretende con este proyecto que el niño con discapacidad visual por
medio de unos pulsadores construya el símbolo que corresponde a una
letra del alfabeto en Braille y así mismo el dispositivo le devuelva el sonido
de dicha letra, para que aprenda el alfabeto en el sistema Braille.
15
Autor: Paola Muñoz Pereira Estudiante de tecnología en Electrónica,
Universidad Distrital Francisco José De Caldas Facultad Tecnológica,
Bogotá D.C., Colombia [14]
- Proyecto: Transcriptor de lenguaje Braille literario a texto en español.
El transcriptor toma una imagen de Braille literario y por medio de
procesamiento de dicha imagen, se obtiene un texto en español.
Autores: Miguel Ángel Barrera Pérez, Eddy Mauricio Suárez Molina,
Universidad Distrital Francisco José de Caldas, Bogotá, Colombia, abril de
2016. [18]
- Proyecto: Diseño de intérprete Braille-Español / Español-Braille utilizando la
Bam Alfa-Beta.
Implementación de un traductor de documentos en Braille al español y
viceversa, implementando memorias asociativas bidireccionales Alfa-Beta y
análisis de imágenes.
Autores: Jessica Flores Hernández, Uziel Gallegos Espinosa, Instituto
Politécnico Nacional, México, D.F., Diciembre de 2013. [25]
- Proyecto: Ferrotouch.
Consiste en un aparato de mediano tamaño cuya superficie presenta un
ferro fluido (metal líquido) bajo el cual se coloca una matriz de
electroimanes, recubierto todo el artilugio por una superficie flexible y apta
al tacto. Los imanes, a través de una programación informática previa,
interactúan con el fluido, permitiendo la confección no sólo de caracteres de
escritura en braille a tiempo real, sino de cualquier tipo de figura que
aparece en el ordenador al que se encuentra conectado el aparato.
Autores: Desarrollado por Katie Cagen, estudiante de ingeniería de la
Universidad de Harvard. [26] [27]
16
6.2 Traductores Braille
En la actualidad, hay traductores disponibles en internet para realizar la
conversión de Braille a español como los siguientes:
- Alfabeto Braille en línea: Es una aplicación desarrollada usando tecnología
JAVA que permite a los usuarios escribir el texto deseado y convertir a
Braille, se basa en hacer comparaciones.
- Software traductor a Braille Duxbury: Sistemas de Duxbury es líder mundial
en software para Braille. El Duxbury Braille translator (DBT) y MegaDots,
son utilizados por prácticamente todos los principales editores del mundo
en Braille. Existe una versión del programa para windows, de documentos
hechos en Word o Código ASCII a código Braille sin la intervención del
usuario automáticamente agrega todos los caracteres de control
necesarios, así como las convenciones utilizadas en el Braille.
- Braille Translator: Es una aplicación que permite a los usuarios escribir el
texto deseado y convertirlo a Braille directamente o bien cargar un texto
contenido en un archivo en formato PDF, DOC, DOCX, TXT, RTF o HTML.
[25]
6.3 Procesamiento digital de imágenes y aplicaciones móviles:
Los desarrollos tecnológicos se han venido implementando en plataformas móviles
por su comodidad y uso constante de estos dispositivos, de allí que se tengan en
cuenta al momento de hacer aplicaciones para fomentar el uso de estas
herramientas y con el objetivo de enfrentar los desafíos de la inclusión social para
las personas con discapacidad visual. Partiendo de este punto han venido
surgiendo proyectos que permiten realizar procesamiento de imágenes usando
dispositivos móviles teniendo en cuenta que solucionan temas de asistencia a
usuarios discapacitados entre otras aplicaciones. Tanto Android como iOS
ofrecen aplicaciones que ayudan a las personas con discapacidades visuales a
17
realizar tareas cotidianas. Muchas de las aplicaciones también pueden ser
usadas por personas videntes.
La evidencia del uso de estas aplicaciones se puede ver en listas de correo
electrónico específicas para usuarios ciegos y deficientes visuales [28] [29],
exposiciones de tecnología asistencial y publicaciones especializadas [30]. Otro
síntoma del crecimiento en el uso de teléfonos móviles y tabletas por parte de
esta población es el hecho de que el Real Instituto Nacional de Ciegos en el
Reino Unido lleva a cabo un evento mensual de "Vigilancia Telefónica" en su
sede en Londres.
- Aplicaciones para Android
Texto, discurso:
Android incluye una serie de instalaciones para la interacción basada en texto a
voz como parte de su servicio de accesibilidad. En particular, TalkBack, KickBack
y SoundBack son aplicaciones diseñadas para ayudar a los usuarios ciegos y con
discapacidad visual al permitirles escuchar y / o sentir sus selecciones en la GUI.
[31] Estas aplicaciones también son capaces de leer texto en voz alta. La calidad
de sonido de TalkBack es relativamente buena en comparación con otros lectores
de pantalla para PC, sin embargo, las versiones de SVOX en el idioma apropiado
deben instalarse para obtener la calidad requerida, y algunas de ellas no son
gratuitas. Por otro lado, la retroalimentación de vibración operativa no se puede
desconectar y, a veces, el sistema lee información superflua en la pantalla. Los
usuarios informaron que, durante los mensajes de texto, pueden producirse
errores si el contacto aún no se encuentra en la libreta de direcciones. El software
solo se actualiza para las últimas versiones de Android. Aunque todos ellos están
preinstalados en la mayoría de las configuraciones, la aplicación accesible IDEAL
disponible gratuitamente se puede utilizar para incorporar mejoras adicionales en
su funcionalidad.
18
Classic Text to Speech Engine incluye una combinación de más de 40 voces
masculinas y femeninas, y permite a los usuarios escuchar representaciones
habladas de, por ejemplo, archivos de texto, libros electrónicos y textos traducidos.
[32] La aplicación también cuenta con soporte de voz en áreas clave como la
navegación. A diferencia de SVOX, esta aplicación es gratuita, pero con un
soporte de idioma limitado tanto para la lectura como para la interfaz de usuario
del dispositivo humano.
BrailleBack funciona junto con la aplicación TalkBack para proporcionar una
experiencia combinada de Braille y voz. [33] Esto permite a los usuarios conectar
una serie de pantallas Braille actualizables al dispositivo a través de Bluetooth. El
contenido de la pantalla se presenta en la pantalla de Braille y el usuario puede
navegar e interactuar con el dispositivo usando las teclas de la pantalla.
- Proyecto: Introducción al procesamiento digital de imágenes. Un enfoque
teórico - práctico utilizando OpenCv.
Aplicación de Android capaz de detectar billetes de Pesos Argentinos
utilizando OpenCV y los algoritmos de detección de Features (SURF, SIFT,
ORB).
Autores: José Obdulio Vera, Argentina, 2013. [34]
- Proyecto: Desarrollo de una aplicación Android para la detección de
señales de tráfico.
Detección de señales de tráfico mediante el uso de la cámara de los
teléfonos inteligentes de la plataforma Android. Haciendo uso de los
algoritmos implementados por las librerías OpenCV.
Autores: Álvaro Carbajo Benito, Universidad Carlos III de Madrid, Junio,
2015. [35]
- Proyecto: Algoritmo de navegación a bordo en ambientes controlados a
partir de procesamiento de imágenes.
19
Implementación de un algoritmo para realizar la labor de navegación con
cámara a bordo, implementado en un sistema digital móvil usando
procesamiento digital de imágenes en un ambiente controlado.
Autores: Andrés Felipe Barrero Arce, Mario Fernando Robayo Restrepo,
Universidad Distrital Francisco José de Caldas, Facultad Tecnológica,
Bogotá D.C., Colombia 2015. [36]
7 MARCO TEÓRICO
7.1 Sistema Braille
El Braille es un sistema de lectura y escritura táctil pensado para personas ciegas.
Con el Braille pueden representarse las letras, los signos de puntuación, los
números, la grafía científica, los símbolos matemáticos, la música, etc. El Braille
suele consistir en celdas de seis puntos en relieve, organizados como una matriz
de tres filas por dos columnas, que convencionalmente se numeran de arriba a
abajo y de izquierda a derecha. Fue ideado por el francés Louis Braille en 1825. El
sistema Braille no es un idioma, sino un alfabeto.
El sistema Braille se expresa mediante la utilización de puntos en relieve
dispuestos ordenadamente en grupos de dos columnas con tres filas cada una, a
los cuales se les llama celda. Para facilitar la descripción de cada uno de los
signos dispuestos en la celda, se han enumerado los puntos convencionalmente
de la siguiente manera: los de la columna izquierda se numeran 1-2-3, de arriba
abajo, y los puntos 4-5-6 corresponden a los de la derecha como se muestra en la
figura 1, La letra ―A‖ se representa con el punto 1, ―B‖ es la agrupación de los
puntos 1-2, ―C‖ los puntos 1-4 y así sucesivamente. Las diez primeras letras están
formadas por los cuatro puntos de arriba, las diez siguientes comprenden las diez
primeras repetidas agregando el punto 3, hasta llegar a formar los diferentes
grupos de signos.
20
El signo que se forma al marcar todos los puntos se conoce con el nombre de
signo generador, pues, de éste se originan todas las posibles combinaciones de
puntos, que en total, incluyendo el espacio en blanco son 64 combinaciones.
Figura 1. Configuración de una celda Braille (Signo Generador).
En el Braille latino, el alfabeto abarca veintiséis de los signos, diez de los cuales
sirven como signos de puntuación, mientras veintisiete restantes se usan
diversamente, para satisfacer las necesidades especiales de cada lengua
determinada, o para las abreviaturas. Los números se encuentran representados
por las diez primeras letras precedidas de un signo numeral. [37]
El Braille, como sistema de comunicación, requiere de exactitud en la utilización
de sus códigos, tanto para ser escrito como para ser leído. Esta particularidad le
impone a la persona que lo está aprendiendo, el desarrollo de ciertas habilidades
o repertorios para el uso correcto de los elementos de escritura y la comprensión
del concepto de reversibilidad, que hace referencia a la característica del Sistema
Braille de escribirse de derecha a izquierda y leerse de izquierda a derecha; en la
figura 2 se muestra el alfabeto español tanto para la forma en que se lee como
para la forma en que se escribe.
21
Figura 2. Lectura y escritura del sistema Braille.
7.1.1 Escritura del braille con pizarra y punzón
Para llevar a cabo el proceso de escritura del Braille con pizarra y punzón, se
requiere contar con 3 elementos fundamentales: una pizarra o regleta, un punzón
y una hoja de papel con un grosor suficiente para que los puntos marcados
resistan el roce de los dedos y no se borren fácilmente.
Pizarra o Regleta: La pizarra o regleta está conformada por dos planchas, unidas
en uno de sus extremos por una bisagra. La plancha de arriba posee unas
celdillas por las cuales penetra el punzón; la plancha de abajo contiene los signos
genera-dores para marcar las letras que sean necesarias. Las dos planchas están
perfectamente sincronizadas, de tal manera que cada celdilla de la plancha de
arriba se comunica con un signo generador de la plancha de abajo. Tanto las
celdillas como los generadores están agrupadas por renglones; las pizarras más
comunes constan de cuatro renglones, cada uno de 27 o 28 casillas, lo que
permite que se puedan escribir ese mismo número de caracteres. Cabe anotar
que en cada casilla se puede marcar cualquier letra o signo que se requiera, pues
cada una dispone de un signo generador. Las pizarras poseen en cada esquina un
pin que sirve para fijar el papel, de modo que al escribir, éste no se corre; así se
evita el problema de sobre-escribir puntos, lo cual impediría realizar una lectura
normal.
22
El punzón: Es un instrumento sencillo que tiene una mina metálica en la punta de
aproximadamente 2cm para poder marcar los puntos en la regleta.
Papel para escribir Braille: El papel que se utiliza para la escritura del braille no
debe ser tan delgado como una hoja de cuaderno, ni tan grueso como una hoja de
cartulina. El calibre ideal está comprendido entre los 90 y los 120 de gramaje, que
corresponde aproximadamente al grosor de una hoja de papel bond base 28. [38]
7.2 Introducción a Android
Android es un sistema operativo basado en el kernel de Linux diseñado
principalmente para dispositivos móviles con pantalla táctil como Smartphones o
Tablets. Inicialmente fue desarrollado por Android Inc. y posteriormente adquirido
por Google en 2005. El primer móvil con el sistema operativo Android fue el HTC
Dream y se vendió en octubre de 2008. La versión beta de Android fue lanzada el
5 de noviembre de 2007 y el SDK el 12 de noviembre de 2007. La primera versión
comercial del software (Android 1.0) fue lanzada el 23 de septiembre de 2008. La
última versión existente es la 4.4.3. Android hace uso de una máquina virtual para
ejecutar sus aplicaciones, Dalvik. La máquina virtual Dalvik (DVM) [4] permite
ejecutar aplicaciones programadas en Java (a partir de Java 5). DVM sacrifica la
portabilidad que caracteriza a Java, que puede ser ejecutado en cualquier sistema
operativo, para poder crear aplicaciones sobre Android con un mejor rendimiento y
un menor consumo de energía, características extremadamente importantes en
dispositivos móviles, debido a la limitada capacidad de las baterías. DVM está
optimizada para requerir poca memoria y está diseñada para permitir ejecutar
varias instancias de la máquina virtual simultáneamente, delegando en el sistema
operativo subyacente el soporte de aislamiento de procesos, gestión de memoria e
hilos. [39]
23
7.3 Estructura Android
Figura 3. Estructura Android
Para hacerse una mejor idea de qué es Android y cómo funciona, es necesario
analizar brevemente su estructura y los diferentes niveles en los que se divide
mostrados en la figura 3. Empezando en el primer nivel se encuentra el núcleo de
Linux. Android utiliza Linux para administrar controladores, memoria, procesos y
redes. Sin embargo, las aplicaciones para Android no se programan directamente
sobre este nivel.
A continuación se encuentran las librerías (bibliotecas) nativas de Android. Están
escritas en C/C++ y se accede a ellas mediante el uso de las Interfaces Nativas de
Java (JNI). En el siguiente nivel, conocido como entorno de ejecución, es en el
que se encuentra la máquina virtual Dalvik – DVM, optimizada para reducir la
memoria utilizada por las aplicaciones, y diseñada para poder ejecutar varias
24
instancias de la máquina virtual simultáneamente, delegando al sistema operativo
subyacente la gestión de memoria, los hilos y el SandBoxing (aislamiento de
procesos). En la última versión del sistema operativo Android (Lollipop), Dalvik ha
sido sustituida por ART (Android Runtime).
Android pone al servicio de los desarrolladores una gran variedad de librerías que
también se encuentran en este nivel, y que están escritas en Java. Entre estas
librerías se encuentran: las bibliotecas 3D, las bibliotecas de medios gráficos,
bibliotecas de entradas y salidas.
En el siguiente nivel se encuentra el marco de la aplicación. En este marco de la
aplicación se alojan las herramientas necesarias para administrar el ciclo de vida
de la aplicación, los recursos, paquetes, sensores y otros complementos
necesarios para el funcionamiento de las aplicaciones.
Finalmente, en el último nivel es donde se desarrolla gran parte del código de las
aplicaciones creadas por los desarrolladores y las aplicaciones de serie del
teléfono como el marcador, contactos, navegador. [40]
7.4 Aplicaciones OpenCV
OpenCV es una librería libre de Visión por Ordenador originalmente desarrollada
por Intel. Desde que apareció su primera versión alfa, en el mes de enero de 1999,
se ha utilizado en infinidad de aplicaciones, desde sistemas de seguridad con
detección de movimiento, hasta aplicativos de control de procesos donde se
requiere reconocimiento de objetos. Esto se debe a que su publicación se
proporciona bajo licencia BSD, que permite que sea usada libremente para
propósitos comerciales y de investigación con las condiciones en ella expresadas.
[39]
25
Su principal objetivo es crear una infraestructura común para las aplicaciones de
visión por computador y acelerar el uso de los sistemas de percepción por
computador en sistemas comerciales.
La librería cuenta con más de 2500 algoritmos optimizados para numerosas
aplicaciones, que pueden ser utilizados para la detección y reconocimiento caras,
identificación de objetos, detección de movimiento, seguimiento de objetos,
clasificación de acciones humanas, extracción de modelos 3D, reconocimiento de
escenarios y superposición con realidad aumentada, comparación de imágenes y
un largo etcétera que sigue creciendo con el avance de la tecnología, las cámaras
y las tarjetas de procesamiento.
Además, son unas librerías multiplataforma, disponibles por tanto para Linux,
Windows, Mac OS, Android y pueden ser implementadas desde varios lenguajes
también, como C, C++, Python, Java y MATLAB. [39] [41]
7.4.1 Muestras OpenCV4Android
OpenCV proporciona un conjunto de muestras para desarrolladores de Android.
Estos ejemplos muestran cómo se puede usar OpenCV tanto desde Java como
desde el nivel nativo de Android. Hay 2 grupos de muestras: muestras para API
OpenCV de Java y C ++, y un grupo de aplicaciones de muestra.
Aplicaciones de muestra
También hay varias aplicaciones de muestra escritas principalmente en Java.
Obtienen un marco de la cámara, hacen algo de procesamiento con OpenCV y
visualizan el marco en la pantalla de un dispositivo.
- Ejemplo: manipulación de imágenes: este ejemplo demuestra cómo
OpenCV se puede utilizar como biblioteca de procesamiento y manipulación
de imágenes. Admite varios filtros, muestra conversiones de espacios de
color y trabaja con histogramas. No tiene relación especial con la visión por
ordenador, pero OpenCV tiene gran alcance core y imgproc módulos, que
26
puede ser útil en una amplia gama de aplicaciones, especialmente en el
campo de la fotografía computacional.
- Sample - 15-puzzle - muestra cómo se puede implementar un juego simple
con solo unas pocas llamadas a OpenCV. Está disponible en Google Play.
- Sample - face-detection - es la implementación más simple de la
funcionalidad de detección de rostros en Android. Admite 2 modos de
ejecución: disponible por envoltorio Java predeterminado para el
clasificador en cascada, y llamada JNI creada manualmente a una clase
nativa que admite el seguimiento. Incluso la versión de Java puede
mostrarse cerca del rendimiento en tiempo real en un dispositivo Google
Nexus One.
- Muestra - detección de blobs de color -esta muestra una implementación
trivial del seguidor blob de color. El usuario apunta a alguna región, y los
algoritmos intentan seleccionar la mancha entera de un color similar. Se
demuestra el trabajo con la interfaz táctil y los contornos. [42]
7.5 Tecnología GPRS
En la década de los noventa las redes de telefonía móvil se encontraban en su
segunda generación. Ésta se caracterizaba por usar sistemas digitales, frente a
los analógicos que se venían usando hasta ese momento. Se conseguía de esta
forma mejor calidad de la señal de voz y dar la posibilidad de transmitir paquetes
de datos. El estándar que se impuso en Europa fue GSM (Global System for
Mobile communications).GPRS (General Packet Radio Service) es una tecnología
que subsana las deficiencias de GSM en cuanto a la transmisión de datos,
introduciendo una red de conmutación de paquetes que funciona de forma
paralela a la de conmutación de circuitos de GSM. [43]
Las características más relevantes de GPRS son:
27
• La asignación de calidad del servicio (QoS, Quality of Service) diferenciadas a
los distintos usuarios móviles mediante la prioridad en función del caudal medio o
pico del enlace, de retardos o de fiabilidad del enlace.
• La conmutación de paquetes y el uso de multislots (diversas ranuras temporales)
con nuevas codificaciones de canal que permiten un mayor caudal, o sea, varios
usuarios de GPRS pueden compartir un mismo canal y separar las asignaciones
recursos entre enlace ascendente y descendente (up/down link)
• Es una arquitectura abierta, o sea, permite la integración de la infraestructura y
servicios de telefonía móvil, y la infraestructura y servicios de Internet.
Figura 4. Arquitectura GPRS.
7.5.1 Arquitectura GPRS
Para dar soporte a GPRS, se deben agregar nuevos elementos a una red GSM
existente, como se muestra en la figura 4. Las conexiones por circuito se realizan
por medio del MSC, mientras que por paquetes se realizan vía:
a. Serving GPRS Support Node (SGSN): se encarga de toda la gestión de
movilidad y de mantenimiento del enlace lógico entre el móvil y la red, es decir,
hace las veces del MSC para la red de datos
Funciones:
28
- Enrutamiento y transferencia de paquetes de datos
- Salida de datos de tarifación
- Entidad responsable de la comunicación entre la red GPRS y los usuarios
GPRS de su área de servicio.
- Seguridad en el acceso radio: cifrado y autenticación
-
b. Gateway GPRS Support Node (GGSN): es el dispositivo que proporciona el
acceso a las redes de datos y en particular Internet.
Funciones:
- Gateway hacia redes externas, ej. IP, X.25.
- Traducir los paquetes que recibe desde el SGSN al formato de la red
externa.
- Puede traducir las direcciones IP en la dirección del móvil destino. [44]
Figura 5. Evolución de las tecnologías móviles.
GPRS es una tecnología basada en paquetes, lo que significa que los datos están
divididos en paquetes que se transmiten en breves ráfagas sobre una red IP,
figura 5. Este diseño es mucho más eficiente que las redes conmutadas por
circuitos, dando lugar a una reducción de los costos operativos de la red. El diseño
de paquetes beneficia a los usuarios en dos formas primordiales. Primero, GPRS
provee una conexión "siempre activa" ("always-on") que no exige que el usuario
deba conectarse cada vez que desea obtener acceso a datos. En segundo lugar,
los usuarios sólo pagan por los datos en sí, en lugar de pagar por el tiempo
de aire empleado en establecer una conexión y descargar los datos. [45]
29
7.6 Transformación de Perspectiva
La transformación de perspectiva es la proyección perspectiva de un plano,
colocado en un espacio 3D.
( ) ( ) ( ) ( ) ( )
Cada par de puntos produce dos ecuaciones:
Esta matriz de transformación homogénea ejecuta la transferencia de la imagen
de entrada en ángulo y posición, entre la matriz de entrada (inclinada) y la matriz
de salida (alineada) [46].
Figura 6. Proyección perspectiva de un plano.
( ) ( )
Transformación de Perspectiva: dado un plano (la imagen de entrada) colocarlo en
una posición cualquiera del espacio 3D y después proyectarlo sobre el plano de
imagen Z=, como se muestra en la figura 6. [47]
30
7.7 Transformada Hough
La transformada de Hough fue propuesta y patentada en 1962 por Paul Hough
[3.1]. Inicialmente esta técnica solo se aplicaba a la detección de rectas en una
imagen, posteriormente se extendió para identificar cualquier figura que se pudiera
describir con un conjunto de parámetros; más comúnmente circunferencias y
elipses. La transformada de Hough, como se usa actualmente, fue propuesta por
Richard Duda y Peter Hart en 1972, quienes la denominaron "Transformada de
Hough Generalizada". Dana H. Ballard popularizó este método en la comunidad de
Visión por Ordenador en un artículo publicado en 1981, llamado Generalizando la
transformada de Hough para detectar figuras arbitrarias. [39]
7.7.1 Concepto
La Transformada de Hough es un algoritmo para la detección de figuras en
imágenes digitales. Este algoritmo se utiliza principalmente en el contexto de la
Visión por Ordenador. Con la transformada de Hough es posible encontrar, en una
imagen, figuras que puedan ser expresadas matemáticamente, tales como rectas,
circunferencias o elipses. Actualmente es muy usada para reconocimiento de
objetos en vídeos de vigilancia, rayos x, detección de cara fatigada durante la
conducción, etc. [48]
7.7.2 Detección de líneas rectas
El caso más simple para la transformada de Hough es la transformación lineal. En
el espacio de la imagen, la recta se puede representar con la ecuación:
Donde m es la pendiente de la recta y n es el punto donde se intercepta la recta
con el eje Y. Se puede representar gráficamente para cada par ( ) de la
imagen. En la transformada de Hough, la idea principal es considerar las
características de una recta en término de sus parámetros , y no como
puntos de la imagen ,…, ( ). Basándose en lo anterior, la recta
se puede representar como un punto en el espacio de
parámetros. Sin embargo, cuando se tienen rectas verticales, los parámetros de la
recta quedan sin definir. Por esta razón es mejor usar los parámetros que
describen una recta en coordenadas polares, figura 7 denotadas . El
31
parámetro ρ representa la distancia entre el origen de coordenadas y el
punto , mientras que θ es el ángulo del vector director de la recta
perpendicular a la recta original y que pasa por el origen de coordenadas.
Figura 7. Representación de la recta en los puntos x, y.
Usando esta parametrización, la ecuación de una recta se puede escribir de la
siguiente forma:
( ) ( )
Que se puede reescribir como:
Entonces, es posible asociar a cada recta un par (ρ, θ), que es único si y
[ ] . El espacio (ρ, θ) se denomina espacio de Hough
para el conjunto de rectas en dos dimensiones.
Para un punto arbitrario en la imagen con coordenadas ( ), las rectas que
pasan por ese punto son los pares con donde ρ (la
distancia entre la línea y el origen) está determinada por θ. Esto corresponde a
una curva sinusoidal en el espacio , que es única para ese punto. Si las
curvas correspondientes a dos puntos se intersectan, el punto de intersección en
el espacio de Hough corresponde a una línea en el espacio de la imagen que pasa
por estos dos puntos. Generalizando, un conjunto de puntos que forman una recta,
producirán sinusoides que se intersectan en los parámetros de esa línea. Por
tanto, el problema de detectar puntos que pertenezcan a la misma línea se puede
convertir en un problema de buscar curvas que confluyen en un mismo punto.
32
7.7.3 Curvas paramétricas
La Transformada de Hough no se restringe solamente a la detección de rectas, a
pesar de que se usa comúnmente con este propósito. Otras figuras geométricas
que se puedan describir con varios parámetros se pueden detectar también con
esta técnica. Por ejemplo, si se quieren detectar circunferencias se necesitan tres
parámetros:
( )
Dónde: ( ) define la posición central (punto gree) y es el radio, que
nos permite definir completamente un círculo.
La expresión matemática que define una circunferencia es:
r: es el radio de la circunferencia
Cx: coordenada en eje X del centro de la circunferencia.
CY: coordenada en eje Y del centro de la circunferencia.
Valores diferentes de ( , ) proporcionan distintas circunferencias; para cada
píxel de contorno que aparece en la posición (x0, y0) existe una familia de
circunferencias que pasan por este punto dadas por:
; (9)
Para encontrar circunferencias usando la transformada de Hough, se necesita un
acumulador con tres dimensiones ( , ). Después cada punto en la imagen
vota por las circunferencias en los que pudiera estar. Una vez terminado este
procedimiento se buscan los picos en el acumulador y con esto se obtienen el
radio y el centro de la circunferencia. Si se conociera el radio de antemano, solo
se necesitaría un acumulador de dos dimensiones. [49]
33
8 METODOLOGÍA
8.1 Diagramas UML
Para la representación del modelado de la aplicación se exponen dos diagramas
UML: un diagrama de clases y uno de casos de uso.
8.1.1 Diagrama de clases
Figura 8. Diagrama de Clases.
34
Como se puede observar en la figura 8, se implementó un método para la
detección de los puntos como círculos y una serie de métodos que conforman el
algoritmo de identificación del área de trabajo y la transcripción del texto Braille
identificado. La clase QuadrilateralSelectionImageView permite sobreponer sobre
la imagen en pantalla la ubicación de los puntos encontrados para las esquinas de
la hoja y para las esquinas del área de trabajo de la regleta.
8.1.2 Diagrama de casos de uso
Figura 9. Diagrama de Casos de uso.
35
8.1.3 Diagrama de flujo
Para el desarrollo de la aplicación se utilizaron una serie de pasos que se
describen a continuación y que pueden visualizarse en la figura 10.
Figura 10. Diagrama de flujo
8.2 Adquisición de imagen
Para el proceso de adquisición de la imagen y para el éxito de todo el proceso
realizado por la aplicación se tuvieron en cuenta una serie de condiciones que se
describen a continuación:
La captura de la imagen se realiza por medio de la cámara del móvil o se puede
adquirir por medio de una imagen previamente almacenada a la que se pueda
acceder desde la galería. El texto Braille a traducir capturado en la imagen debe
estar escrito en una hoja bond, completamente blanca de gramaje entre 90g y
120g [38], tamaño carta, que no deberá tener ningún contenido adicional, esto
36
implica que la hoja no tenga tinta, ni manchas, ni arrugas, ya que esto puede
generar ruido que la aplicación no podrá depurar.
El ambiente en el que se debe tomar la foto deberá ser bastante iluminado y la
superficie sobre la se encuentra la hoja deberá ser de color que genere contraste
con la hoja blanca, esto con el fin de que la aplicación detecte las esquinas de la
hoja automáticamente.
La mínima versión de Android con la que funcionará la aplicación será la 6.0
(Android Marshmallow), ya que se utilizó como mínima versión del SDK el API 23.
La aplicación podrá funcionar sobre teléfonos o tabletas que dispongan de esta
versión de Android o de una superior.
Además, para que la aplicación funcione, el dispositivo deberá tener instalado
OpenCV Manager, APK distribuida por la tienda de Android o disponible para
descarga gratuita desde la página oficial de OpenCV. Lo anterior permitirá a
Premier invocar correctamente la librearía OpenCV4Android.
Es importante clarificar que las características de la regleta para escribir Braille
manual que se utilizó para este trabajo fue una regleta de 4 x 28 que es una de las
más utilizadas en Colombia, en la figura 11 se muestra la utilizada para este
proyecto.
Figura 11. Regleta 4 x 28 (filas / columnas) y punzón para escribir Braille.
37
8.3 Proceso de adquisición de la imagen
El usuario en la aplicación Premier tendrá la opción de cargar la imagen desde la
galería multimedia de su dispositivo, figura 12. Al realizar este proceso la imagen
será cargada en una variable de tipo Bitmap.
Figura 12. Adquisición de la imagen (toma o carga de la fotografía).
8.3.1 Bitmap
Bitmap o mapa de bits es una matriz conformada por un número de bits que
representa o especifica el color de cada píxel de una matriz de píxeles, el número
de bits asignado a un píxel individual determina el número de colores que se
pueden asignar a dicho píxel [50].
Debido a que el formato puede admitir una amplia gama de colores y representar
tonos graduados sutiles, es adecuado para mostrar imágenes de tonos continuos,
como fotografías o dibujos sombreados, junto con otras imágenes detalladas [51].
Siguiendo el proceso, la variable Bitmap debe convertirse a un objeto de tipo Mat.
Mat es una clase fundamental de la biblioteca OpenCV4Android, esta clase
permite almacenar y manipular los pixeles de una imagen, las funciones incluidas
38
en la librería por lo general requieren un objeto Mat de entrada, el mismo es
procesado y se genera otro objeto Mat de salida.
Los primeros pasos para iniciar el procesamiento de la imagen se hacen con
ayuda de las funciones de la librería OpenCV4Android: Imgproc.cvtColor y
Imgproc.Canny, la primera para convertir la imagen a escala de grises y la
segunda para detectar bordes, figura 13. Esta última imagen que representa la
detección de los bordes será empleada para realizar un análisis que permite saber
en qué puntos se encuentran las esquinas de la hoja.
Figura 13. Imagen original, escala a grises, detección bordes (izquierda a derecha
respectivamente).
Este análisis utiliza una técnica de detección de geometrías en la que se ubican
cuatro puntos que corresponden a las esquinas de la hoja, como se muestra en la
figura 14, estos puntos se representan en la pantalla junto con la imagen
redimensionada, el usuario observará que los puntos corresponden a las esquinas
de la hoja y tendrá la posibilidad de ubicar estos puntos de manera manual. Puede
ocurrir que la aplicación no identifique estos puntos automáticamente debido a que
la superficie sobre la cual reposa la hoja sea de un color que la ayude a mimetizar
y no se reconozcan los bordes.
39
Para el proceso de detección de la hoja se utilizó un filtro gausiano con el fin de
opacar contornos no predominantes, esta acción junto con la técnica de
umbralización y un filtrado de contornos menores permiten asegurar la
identificación de la hoja al tomar una imagen que sobrepase los límites de la
misma mientras se encuentre ubicada en una superficie oscura.
Figura 14. Identificación esquinas de la hoja.
8.4 Transformación de Perspectiva
Seguido a lo anterior, la aplicación Premier realiza una transformación de
perspectiva utilizando la función: Imgproc.warpPerspective.
8.4.1 Resultado
El resultado de esta transformación de perspectiva se puede apreciar a
continuación en la figura 15.
40
Figura 15. Imagen escala grises, imagen umbralizada (izquierda a derecha respectivamente).
8.5 Umbralización de la imagen
8.5.1 Concepto
La umbralización es una técnica de segmentación simple y eficiente que permite
separar los pixeles de una imagen en escala de grises en dos categorías a partir
de un valor umbral de intensidad.
• Umbral global.
El umbral fijo o global, T, es aquel que es único sobre toda la imagen
( ) {( )( )
}
Donde es la intensidad y y son los dos posibles niveles de gris del pixel
umbralizado. Cuando el valor y el valor se dice que la imagen se ha
binarizado. Esta estrategia puede resultar muy útil cuando se tiene una iluminación
homogénea sobre toda la imagen y un histograma bimodal [52].
41
8.5.2 Resultado
Luego de aplicar la transformada de perspectiva, a la imagen se le aplica una
umbralización que consiste una segmentación que permite obtener una imagen
binaria, mediante la función Imgproc.adaptiveThreshold. Con el objetivo de retirar
el ruido de la hoja, a la nueva imagen ajustada se le realiza un proceso de corte
por los bordes para disminuir ruidos generados por la luz a la hora de tomar la
fotografía.
8.6 Transformada Hough
Seguido a esto Premier encuentra los puntos de la imagen mediante la función
Imgproc.HoughCircles
8.6.1 Resultado
Estos círculos se redibujan sobre la imagen representados en la pantalla para que
el usuario verifique que no se detectaron círculos generados por el ruido, como se
muestra en la figura 16.
Figura 16. Reconocimiento de puntos con Hough.
En Android no es posible cargar en memoria física dos variables bitmap a la vez,
por lo que en la construcción de la aplicación se siguieron las recomendaciones de
Google y se guarda la imagen anterior sin los círculos redibujados en la memoria
42
interna del dispositivo, ya que estos círculos no van a ser utilizados más adelante;
solo se utilizan para la identificación de las esquinas del área de trabajo del texto
en Braille.
8.7 Identificación área de trabajo
El siguiente paso identifica los límites del espacio o el área sobre la que existe
texto Braille en la imagen identificando cuatro puntos que corresponden a las
guías generadas por la regleta y que no hacen parte del texto como tal; estos
puntos son los que trae la regleta para guiar espacialmente a la persona que
escribe el texto en Braille. Una vez identificados los cuatro puntos de la guía,
figura 17, estos son representados en la pantalla, para que el usuario pueda
observar que el área utilizada por la regleta se identificó correctamente.
Figura 17. Área de trabajo.
El obtener la hoja correctamente orientada no siempre garantiza que la escritura
en Braille esté alineada con respecto al margen superior de la hoja, para esto se
realiza otra transformación de perspectiva basado en estos cuatro puntos guía.
43
Figura 18. Imagen obtenida con los 4 puntos de guía.
Con esta nueva imagen que se observa en la figura 18, Premier procede a
identificar cuantas veces se utilizó el área de la regleta analizando el ancho y alto
para así identificar el número total de renglones de escritura. Teniendo en cuenta
las dimensiones de la regleta (40mm de alto x 187,5mm de ancho) se obtiene una
proporción de 4,6875.
Con respecto al cálculo e identificación de cuantas posibles áreas de regleta se
utilizaron en la escritura, Premier calcula el área total de escritura identificada en la
imagen y realiza la división del ancho en la altura; con base en este dato, calcula
el número de veces que se utilizó la regleta para identificar el número de
renglones escritos como se observa en la tabla 1.
Proporción cercana a Número de veces que uso la regleta
4.6875 1 vez equivalente a 4 renglones
2.3437 2 veces equivalente a 8 renglones
1.5625 3 veces equivalente a 12 renglones
1.1719 4 veces equivalente a 16 renglones
0.9375 5 veces equivalente a 20 renglones
0.7812 6 veces equivalente a 24 renglones
Tabla 1. Proporciones de área de trabajo.
El máximo de renglones escritos con ayuda de la regleta en una hoja tamaño carta
es de 24 renglones.
44
La división a lo ancho de la hoja queda por defecto en 28 caracteres; teniendo
estos parámetros, Premier inicia el análisis de cada una de las celdas (espacio o
área correspondiente a cada símbolo o carácter Braille), este proceso permite
identificar cada una de las celdas para seguido a esto analizarlas una a una. En la
figura 19 se puede observar la división del área de trabajo en cada uno de las
celdas.
Figura 19. Identificación de cada una de las celdas.
8.8 Análisis de contornos
Para lograr la correcta identificación de las letras en Braille, el programa divide la
celda en seis secciones iguales, figura 20, al inicio del alfabeto Braille los símbolos
son más simples y a medida en que se avanza las letras son más complejas,
entendiendo como complejidad un contenido mayor de puntos. Esta situación
arrojó un error al momento de identificar letras a partir de la m hasta la z.
Figura 20. Imagen ―a‖, imagen ―b‖ (izquierda a derecha respectivamente).
Para solucionar este error se realizó un análisis de contornos con la ayuda de la
función Imgproc.findContours la cual genera una nueva imagen a partir del área
45
utilizada por cada uno de los puntos que representa cada letra, se observó que las
letras que generaron error referidas anteriormente presentaban un área mayor al
35%, entonces se realizó una comparación para que las imágenes con un área
menor a 35% utilizaran la celda original y de las de un área mayor a 35% la
imagen producto del análisis de contornos.
Letra Imagen “a” Imagen “b” Porcentaje Decisión
a
3% Imagen ―a‖
c
10% Imagen ―a‖
k
17% Imagen ―a‖
46
m
38% Imagen ―b‖
Tabla 2. Análisis de contornos.
Para hacer la identificación de la letra, cada celda se divide en 6 secciones
iguales, se hace un análisis de pixeles contando el número de pixeles negros
existentes por sección y la sección con más de 40 pixeles negros se le asigna un
valor binario de 1 y cuando sea menor, un valor de 0. Este valor se incluirá en una
trama de bits almacenados en una variable byte.
Figura 21. Trama de bits.
Posteriormente esta variable byte se compara con una tabla que relaciona cada
uno de los posibles bytes a un carácter, ese carácter que entrega la tabla se va
acumulando en una variable de tipo String que contendrá al final del proceso el
texto literario en español.
8.9 Publicación de los resultados
Por último la cadena de caracteres se dibuja sobre la imagen para que el usuario
pueda asociar cada símbolo a cada letra; adicionalmente el texto plano alojado en
47
esa cadena de caracteres se deja como opción para que el usuario pueda enviarlo
por medio de correo electrónico u otra red de preferencia.
Figura 22. Alfabeto Braille español.
Ya que el sistema Braille no es universal y teniendo en cuenta el alfabeto Braille
para español corresponde al mostrado en la figura 22, Premier entrega como
resultado una imagen relacionando cada símbolo Braille a su carácter
correspondiente, como se ve en la figura 23.
Figura 23. Texto transcrito a español sobre imagen de símbolos Braille.
De igual manera si el usuario presiona en la opción enviar, podrá elegir un medio
por el cual compartir el texto obtenido. En la figura 24 se observa el envío del texto
vía correo electrónico.
48
Figura 24. Envío de texto transcrito.
49
9 RESULTADOS
9.1 Captura y procesamiento
El tiempo de captura de la imagen de la Aplicación Premier está condicionado al
modelo del dispositivo móvil, de igual manera está relacionado con el tipo y
versión de software por la cual es controlada la cámara. Esto debido a que dentro
del desarrollo se hace un llamado a una rutina que permite utilizar la misma
aplicación de cámara que el dispositivo tiene por defecto, de tal manera que se
puedan utilizar características que el fabricante consideró eran las adecuadas
permitiendo sacar así el mejor provecho al periférico de captura del dispositivo
móvil.
Para monitorear el proceso de ejecución de la aplicación, es decir, medir la carga
de la CPU y la Memoria RAM (Pruebas de rendimiento), se utilizó Android
Profiler herramienta incluida en el IDE (Entorno de desarrollo integrado) de
Android Studio, el mismo sobre el cuál se desarrolló la aplicación Premier. Estas
mediciones se realizaron en dos dispositivos de diferentes gamas con el fin de
observar el comportamiento asociado al hardware.
MODELO Sony Xperia XZ (F8331) Huawei Y5 (MYA-L23) PROCESADOR Snapdragon 820 2.15GHz MediaTek MT6737T 1.4GHz RAM 3GB 2GB PANTALLA 5.2", 1080 x 1920 píxeles 5", 720 x 1280 píxeles CÁMARA TRASERA 23MP 8MP OS Android 7.1.1 Android 6.0
Tabla 3. Características de los dos modelos utilizados en las pruebas de rendimiento
9.2 Medición de Rendimiento
La medición de rendimiento de Android Profiler consiste en una línea de tiempo
compartida, en la que se incluye una línea de tiempo con gráficos en tiempo real
relacionada con el uso de la CPU y la Memoria (RAM). Se estableció hacer dos
mediciones para los 2 dispositivos: la primera para la etapa de captura y
representación de la imagen en pantalla y la segunda para la etapa de
50
identificación de puntos y de transcripción del texto. Se iniciaron las mediciones
con el dispositivo que presentaba mejores características, el Sony Xperia XZ
(F8331) y posteriormente con el dispositivo gama media, Huawei Y5 (MYA-L23).
En las siguientes dos gráficas se observa que el modelo de Sony inicia corriendo
la aplicación con 64MB de memoria y una carga de CPU cercana al 40%
(0.56GHz) mientras que el modelo de Huawei lo hace con un poco por encima de
16MB y 60% en RAM y CPU, respectivamente. Sin embargo hay que aclarar que
el consumo de CPU consumido por Premier está resaltado en color verde, por lo
que las cargas 40 y 60% hacen parte de la carga total del dispositivo y es
producida por otras aplicaciones.
El primer bajón de memoria ocurre cuando Premier queda en segundo plano y da
lugar a la aplicación de la cámara, en contraprestación, los dispositivos elevan la
carga de la CPU producto de la aplicación stock para captura de fotografías.
Luego de que el usuario confirma la imagen, Premier vuelve a primer plano e inicia
el procesamiento para cargar la imagen en pantalla e identificar las esquinas de la
hoja. En este punto, la carga de la CPU causada sólo por Premier, alcanza el 40%
para el F8331 y el 25% para el MYA-L23, además la RAM consumida es de
128MB para el primero y 90MB para el segundo.
51
Figura 25. Medición de CPU y memoria en la etapa de captura y representación de la imagen en
pantalla para el modelo Sony F8331
Figura 26. Medición de CPU y memoria en la etapa de captura y representación de la imagen en
pantalla para el modelo Huawei MYA-L23.
52
9.3 Detección de caracteres y transcripción
Para evaluar la efectividad de la aplicación se realizaron mediciones del
porcentaje de caracteres identificados. Esta medición se realizó sobre 20 textos en
Braille representados en una sola hoja teniendo en cuenta el total posible de
identificación y el total encontrado.
No Texto No de Caracteres sin espacio Errores % de efectividad
1 Ave María 325 4 98,77
2 Ayer 663 9 98,64
3 Contabilidad 236 5 97,88
4 Gabo 332 28 91,57
5 Historia Braille 672 7 98,96
6 Padre nuestro 335 4 98,81
7 Refranes 112 9 91,96
8 Refranes 2 112 1 99,11
9 Resurrecciones 666 10 98,5
10 Rinrin renacuajo 376 33 91,22
11 Salve 543 8 98,53
12 Un día maravilloso 223 5 97,76
13 Un elefante 448 11 97,54
14 Vallejo 650 24 96,31
15 Credo 672 34 94,94
16 Himno 662 41 93,81
17 Noticia 670 35 94,78
18 Plana 560 17 96,96
19 Poema 5 442 16 96,38
20 Receta 656 14 97,87
Promedio 96,515
Tabla 4. Medición porcentual de efectividad de la aplicación basada en 20 textos diferentes .
Se observó que los textos capturados en imágenes bajo condiciones favorables de
iluminación y enfoque logran alcanzar una efectividad por encima del 92%. Sin
embargo si se repite la fotografía se puede alcanzar un mejor porcentaje de
efectividad. Como se observa en la figura 27 la efectividad puede llegar hasta un
99%.
53
Figura 27. Porcentaje de efectividad.
Adicionalmente, en esta etapa, se realizaron nuevas mediciones de rendimiento
sobre la aplicación utilizando los dos modelos de smarthphone anteriormente
descritos con la herramienta Android Profiler. En las siguientes dos imágenes se
puede observar 2 momentos durante los cuales Premier realiza mayor
procesamiento. Estos momentos corresponden a la identificación de puntos y la
transcripción del texto que se consigue por medio de la identificación de área
negra sobre las secciones existentes en cada celda. El modelo de gama alta
aprovecha las capacidades para elevar el consumo de CPU y RAM para entregar
un resultado más rápido con respecto al otro modelo. Sin embargo, se puede
apreciar que la diferencia de tiempo de procesamiento del modelo de gama media
es casi el doble del tiempo invertido por el modelo de gama alta. Lo que quiere
decir que en el peor de los casos el mayor tiempo de procesamiento en cualquiera
de las etapas no supera los 4 segundos por parte del modelo de Huawei.
86889092949698
100
Ave
Mar
ía
Aye
r
Co
nta
bili
da
d
Ga
bo
His
tori
a B
rail
le
Pad
re n
ues
tro
Re
fra
ne
s
Re
fran
es
2
Re
surr
ecc
ion
es
Rin
rin
ren
acu
ajo
Salv
e
Un
día
mar
avill
oso
Un
ele
fan
te
Val
lejo
Cre
do
Him
no
No
tici
a
Pla
na
Po
em
a 5
Re
ceta
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
% de efectividad
% de efectividad
54
Figura 28. Medición de CPU y memoria en la etapa de identificación de puntos y transcripción de
texto para el modelo Sony F8331.
Figura 29. Medición de CPU y memoria en la etapa de identificación de puntos y transcripción de
texto para el modelo Huawei MYA-L23.
55
Sobre la etapa de identificación de puntos y transcripción de texto se extendió el
análisis de rendimiento para medir tiempos de respuesta en los anteriores modelos junto con otros dos dispositivos de gama baja. La medición consistió en
observar cuanto se demoraba cada uno de los dispositivos identificando: los puntos; cada carácter; un renglón y todo el texto. Todos actuando sobre una misma imagen que contenía un texto braille.
TIEMPOS DE RESPUESTA POR UNIDAD DE PROCESAMIENTO
DISPOSITIVO MODELO PROCESADOR RAM OS
1 SONY F8331 Snapdragon 820, Quad-core 2.2 GHz, 64-bi t 3GB Android 7.1.1
2 HUAWEI Y5 (MYA-L23) MediaTek MT6737T, Quad-core 1.4GHz, ARM-A53 64-bi t 2GB Android 6.0
3 LG G3 BEAT D722P Snapdragon 400, Quad-core 1.2 GHz, 32-bi t 1GB Android 5.1
4 HUAWEI Y360-U03 MediaTek MT6582, Quad-core 1.2 GHz, Cortex-A7 32-bi t 500MB Android 4.3.1
DISPOSITIVO 2896
PUNTOS
1
CARÁCTER
1
RENGLON
662
CARACTERES
1 170ms 1,922ms 61,792ms 1487ms
2 410ms 2,285ms 73,264ms 1752ms
3 650ms 2,481ms 79,392ms 1902ms
4 720ms 2,644ms 84,292ms 2026ms
Tabla 5. Tiempos de respuesta por unidad de procesamiento sobre una misma imagen.
En general se observó que al sumar los tiempos generales de las acciones de identificación de puntos y transcripción de texto, la respuesta oscila entre los 1.5 y
3 Segundos, como se observa en la figura 30.
Figura 30. Tiempo total de procesamiento por unidad de procesamiento sobre una misma imagen..
0
500
1000
1500
2000
2500
3000
SONY F8331 HUAWEI Y5
(MYA-L23)
LG G3 BEAT
D722P
HUAWEI Y360-
U03
TIEMPO TOTAL PROCESAMIENTO (ms)
TIEM PO TOTAL
PROCESAM IENTO (ms)
56
9.4 Envío de texto
Luego de obtener el texto en español, la aplicación Premier ofrece al usuario la
posibilidad de transmitirlo por una red de preferencia. En este punto se realizó una
medición sobre el número máximo de información a transmitir. Teniendo en cuenta
que sobre una hoja tamaño carta el máximo número de áreas de regleta a
encontrar es de 6 y que en cada área de regleta pueden existir 4 renglones y que
además por renglón encontramos 28 caracteres entonces se tiene:
Sí dentro de los 672 caracteres encontrados no existe ningún espacio, la
aplicación es capaz de transmitir 672 Bytes de información como texto plano.
Estos 672 Bytes de información Premier los entrega a la aplicación encargada de
transmitir el texto elegida por el usuario, por tal razón, la aplicación no realiza
ningún consumo de red y no presenta registro alguno que pueda ser medible
sobre la herramienta Android Profiler.
Siendo GPRS una red activa actualmente, es suficiente para el envío del texto
transcrito, ya que no se requiere mucha capacidad ni velocidad de transmisión por
tratarse de un texto pequeño que no tiene un gran consumo de datos y da la
oportunidad al usuario de contar con esta red en casi cualquier parte del país.
9.5 Memoria de almacenamiento
La aplicación Premier no ocupa en memoria más de 2,4MB. Realizando las
pruebas sobre los 2 diferentes dispositivos se ve una variación del espacio
ocupado sin embargo esta variación no es significativa como se observa en la
figura 29.
57
Figura 31. Información de la aplicación: A la izquierda sobre el modelo Sony F8331 y la derecha
sobre el modelo Huawei MYA-L23.
10 CONCLUSIONES
- El máximo consumo de memoria RAM de Premier depende de las
capacidades del dispositivo en cual se ejecute. Se observó que el máximo
consumo de RAM en el modelo de mayor capacidad fue cercano a los
300MB mientras que en modelo de menores capacidades el consumo
máximo fue de 190MB. Además la carga de la CPU fue mayor en el modelo
gama alta que en el de menor gama, esto indica que a mayor disponibilidad
de carga de procesamiento más rápida será la respuesta. Aunque el
modelo gama media se demora más que su competidor para este caso, la
demora no es tan grande (Menos de 5 segundos para la transcripción del
texto), si se tienen en cuenta los procesos y llamadas a funciones que
exigen un alto procesamiento.
58
- En principio se esperaba que fuera suficiente la transformada de Hough
incluida como función en la librería OpenCV4Android para el
reconocimiento de los puntos como círculos que conforman el texto en
Braille. Sin embargo se evidenció que al aplicar la función modificando los
parámetros como por ejemplo el radio mínimo y máximo, no fue suficiente
para que se detectaran todos los puntos en la hoja. Por lo que se debió
aplicar una técnica que requería más procesamiento y consistió en el
análisis de área negra por sección en cada una de las celdas, es decir, un
conteo de pixeles negros en cada sección para confirmar la existencia de
los puntos. Lo anterior respaldó el previo análisis de la función
Imgproc.HoughCircles.
- El porcentaje de efectividad sobre la transcripción de caracteres fue del
96% de efectividad basado en 20 pruebas de textos diferentes pero
depende de las circunstancias de cómo se toma la captura de la imagen. Al
momento de realizar una captura fotográfica el usuario deberá cerciorarse
del correcto enfoque y la iluminación adecuada, de lo contrario la
efectividad disminuirá significativamente, es decir que la aplicación no
podrá interpretar ningún texto. Las mediciones de efectividad se realizaron
sobre capturas de imágenes aceptables en cuanto enfoque e iluminación.
- En el proceso de desarrollo se creó una tabla a modo base de datos que
permitió la comparación de los caracteres Braille del abecedario, incluyendo
caracteres especiales y números, teniendo en cuenta que para la
representación en Braille de un número y una letra mayúscula se utiliza dos
símbolos Braille.
- La información máxima que la aplicación puede encontrar en el escaneo de
una hoja es de 672 Bytes sobre una imagen que puede llegar a pesar
2.5MB. La imagen podrá ser de mínimo 8 Megapixeles y en una cámara de
menor cubrimiento podría no funcionar ya que la identificación de los puntos
59
no se podría interpretar como círculos y por lo tanto no se identificaría
ningún carácter.
11 REFERENCIAS BIBLIOGRÁFICAS
[1] Kevser Onur, ―Braille-2 automatic interpretation system‖. [En Línea] (2015).
[Consultado el 11 de septiembre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/7130146 >
[2] Samer Isayed, Radwan Tahboub, ―A review of optical Braille recognition‖. [En
Línea] (2015). [Consultado el 11 de septiembre de 2018]. Disponible en:
<https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/7210343>
[3] Youfu Wu ; Zusheng Chen, ―A detection method of road traffic sign based on inverse perspective transform‖ [En Línea] (2016). [Consultado el 11 de
septiembre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/7563100>
[4] Jie Ni ; Maneesh K. Singh ; Claus Bahlmann, ―Fast radial symmetry detection under affine transformations‖ [En Línea] (2012). [Consultado el 11 de
septiembre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/7563100>
[5] Yingjie Liu ; Yugang Fan, ―Research on mineral yield in remote monitoring system based on GPRS‖ [En Línea] (2015). [Consultado el 11 de septiembre
de 2018]. Disponible en: < https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/7161828>
[6] Melissa Ramĺrez ; Miguel Sotaquirá ; Alberto De La Cruz ; Esther Maria ;Gustavo Avellaneda; Ana Ochoa, ―An automatic speech recognition
system for helping visually impaired children to learn Braille‖. [En Línea] (2016). [Consultado el 11 de septiembre de 2018]. Disponible en: < https://ieeexplore-ieeeorg.bdigital.udistrital.edu.co/document/7743335>
[7] N. Kalra ; T. Lauwers ; D. Dewey ; T. Stepleton ; M. B. Dias, ―Iterative design of
a Braille writing tutor to combat illiteracy‖ [En Línea] (2009). [Consultado el 11 de septiembre de 2018]. Disponible en: https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/4937386>
[8] M Hanumanthappa ; Vishwanath Venkatesh Murthy, ―Optical Braille recognition and its correspondence in the conversion of Braille script to text — A literature review‖. [En Línea] (2016). [Consultado el 23 de septiembre de 2018].
60
Disponible en: <https://ieeexplore-ieee-
org.bdigital.udistrital.edu.co/document/7779374>
[9] E. Punarselvam ; P. Suresh, ―Edge Detection of CT scan Spine disc image using Canny Edge Detection Algorithm based on Magnitude and Edge Length‖
[En Línea] (2012). [Consultado el 23 de septiembre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/6169100>
[10] Instituto Nacional para Ciegos INCI, Orientaciones Generales para la Enseñanza del Sistema de Lectoescritura Braille‖. Mayo de 2017.
[11] Nikhil Siva Subash ; Siddhartha Nambiar ; Vishesh Kumar, ―BrailleKey: An
alternative Braille text input system: Comparative study of an innovative simplified text input system for the visually impaired‖. [En Línea] (2012).
[Consultado el 23 de septiembre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/6481790>
[12] H. P. Savindu ; K. A. Iroshan ; C. D. Panangala ; W. L. D. W. P. Perera ; A. C. De Silva, ―BrailleBand: Blind support haptic wearable band for
communication using braille language‖. [En Línea] (2012). [Consultado el 23 de septiembre de 2018]. Disponible en: <https://ieeexplore-ieee-
org.bdigital.udistrital.edu.co/document/8122806>
[13] Organización Mundial de la Salud (OMS), 66.a sesión del comité regional de la OMS para las américas, ―Plan de acción para la prevención de la ceguera y de las deficiencias visuales‖. julio de 2014.
[14] Paola Muñoz Pereira, ―Herramienta educativa para el aprendizaje del
sistema braille alfabético orientado a niños con discapacidad visual, construido en lego e implementado sobre una plataforma PSOC‖. [En Línea] (2016).
[Consultado el 23 de septiembre de 2018]. Disponible en: http://repository.udistrital. edu.co/bitstream/11349/7563/1/Mu%C3%B1ozPereiraPaola2018.pdf
[15] Fundación ONCE, ―Plan de vigilancia de tecnología para todos. Entregable
6‖. Año 2017.
[16] Sally Hartley, Venus Llagan, ―Informe mundial sobre la discapacidad 2011‖, Organización mundial de salud 2011.
61
[17] Ministerio de salud y protección social, oficina de Promoción Social, ―Sala
situacional de las personas con discapacidad (PCD), noviembre de 2017‖. [En Línea] (2017). [Consultado el 28 de abril de 2018]. Disponible en:
<https://www.minsalud.gov.co/Paginas/default.aspx>
[18] Miguel Ángel Barrera Pérez, Eddy Mauricio Suárez Molina,
―TRANSCRIPTOR DE LENGUAJE BRAILLE LITERARIO A TEXTO EN
ESPAÑOL‖. [En Línea] (2016). [Consultado el 3 de abril de 2018]. Disponible en:
<http://repository.udistrital.edu.co/bitstream/11349/4251/1/SuarezMolinaEddyMauricio2016.pdf>
[19] György Wersényi, Hunor Nagy, Tony Stockman, ―A survey of assistive technologies and applications for blind users on mobile platforms: a review and
foundation for research‖ [En Línea] (2015). [Consultado el 3 de mayo de 2018]. Disponible en: <https://link.springer.com/article/10.1007/s12193-015-0182-7>
[20] William Gaver, ―Auditory Icons: Using Sound in Computer Interfaces‖. [En Línea] (2009). [Consultado el 3 de mayo de 2018]. Disponible en:
<https://www.tandfonline.com/doi/abs/10.1207/s15327051hci0202_3>
[21] William Gaver, ―Everyday Listening and Auditory Icons. A dissertation submitted in partial satisfaction of the requirements for the degree Doctor of
Philosophy in Cognitive Science and Psychology‖. [En Línea] (2009). [Consultado el 3 de mayo de 2018]. Disponible en: <https://s3.amazonaws.com/academia.edu.documents/5252007/gaver-
dissertation.pdf?AWSAccessKeyId=AKIAIWOWYYGZ2Y53UL3A &Expires=1525790958&Signature=6xv%2FxQOB2DBpfyvcX3k16y%2Fvvlk%3
D&response-content-disposition=inline%3B%20filename%3DEveryday_listening_and_auditory_icons.pdf>
[22] William Gaver, ―The SonicFinder: An Interface That Uses Auditory Icons‖.
[En Línea] (2009). [Consultado el 3 de mayo de 2018]. Disponible en: <https://www.tandfonline.com/doi/abs/10.1207/s15327051hci0401_3>.
[23] STANFORD UNIV CA DEPT OF COMPUTER SCIENCE. Smith, David
Canfield, ―A computer program to model and stimulate creative thought‖. [En Línea] (2009). [Consultado el 3 de mayo de 2018]. Disponible en: <http://www.dtic.mil/dtic/tr/fulltext/u2/a016811.pdf>
[24] Lic. Ricardo A. Koon, Lic. María Eugenia de la Vega, ―EL IMPACTO
TECNOLÓGICO EN LAS PERSONAS CON DISCAPACIDAD‖. [En Línea]
62
(2000). [Consultado el 4 de mayo de 2018]. Disponible en:
<http://www.repositoriocdpd.net:8080/bitstream/handle/123456789/363 /Pon_KoonRA_ImpactoTecnologicoPersonas_2000.pdf? sequence=1>
[25] Jessica Flores Hernández, Uziel Gallegos Espinosa, ―Diseño de intérprete
Braille-Español / Español-Braille utilizando la Bam Alfa-Beta.‖ [En Línea] (2013). [Consultado el 3 de abril de 2018]. Disponible en: <http://tesis.ipn.mx/bitstream/handle/123456789/13900/TESIS%20FINAL_7.pdf
?sequence=1>
[26] Open Mind, Javier Barbuzano, ―5 ejemplos de tecnología para personas ciegas: más allá del Braille‖. [En Línea] (2015). [Consultado el 4 de mayo de
2018]. Disponible en: <http://tesis.ipn.mx/bitstream/handle/123456789/13900/TESIS%20FINAL_7.pdf?sequence=1>
[27] Sandra Gomez Aguila, ―ARTE AL ALCANCE DE TODOS. Una propuesta
para personas con discapacidad visual‖. [En Línea] (2017). [Consultado el 4 de mayo de 2018]. Disponible en: <www.culturacandente.org/arte-cultura-
personas-ciegas-discapacidad-visual-sociedad-siglo-xxi-arte-pintura-arte-frases-tipos-de-arte-arte-significado-tecnicas-artisticas-en-arte-el-arte-arte-define/>
[28] "Screen Reader. Accessibility Posts‖ Android. [En Línea] (2000).
[Consultado el 4 de mayo de 2018]. Disponible en: <http://apps4android.org/knowledgebase/screen_reader.htm>
[29] AppleVis, Nathan Stocking, ―Braille Display recommendations‖. [En Línea]
(2015). [Consultado el 4 de mayo de 2018]. Disponible en: <https://www.applevis.com/forum/braille-ios-and-mac-os-x/braille-display-recommendations>
[30] RNIB (Supporting people with sight loss), Access IT magazine published
monthly by the Royal National Institute of the Blind UK. [En Línea] (2015). [Consultado el 4 de mayo de 2018]. Disponible en: <http://www.rnib.org.uk/>
[31] AndroidLib, applications. ―Kickback‖. [En Línea] (2012). [Consultado el 4 de
mayo de 2018]. Disponible en: <http://www.androlib.com/android.application.com-google-android-marvin-kickback-FExn.aspx >
[32] Paul Nuñal, ―Best Android apps for the blind and visually impaired‖. [En
Línea] (2012). [Consultado el 5 de mayo de 2018]. Disponible en:
63
<https://www.androidauthority.com/best-android-apps-visually-impaired-blind-
97471>
[33] Michael Mcloughlin, ―Google adapta Android para los invidentes con Brailleback‖. [En Línea] (2016). [Consultado el 5 de mayo de 2018]. Disponible
en: <https://elandroidelibre.elespanol.com/2016/01/brailleback-google.html>
[34] José Obdulio Vera, ―Detección de billetes con OpenCV en Android‖. [En Línea] (2013). [Consultado el 3 de abril de 2018]. Disponible en: <https://www.researchgate.net/profile/Jose_Vera7/publication/261062347_Trab
ajo_Final_Curso_ Procesamiento_de_Imagenes_con_OpenCV/links/00b495331a44e4667500000
0/ Trabajo-Final-Curso-Procesamiento-de-Imagenes-con-OpenCV.pdf>
[35] Álvaro Carbajo Benito, ―Desarrollo de una aplicación Android para la detección de señales de tráfico‖. [En Línea] (2015). [Consultado el 3 de abril de 2018]. Disponible en: <https://e-
archivo.uc3m.es/bitstream/handle/10016/23349/TFG_Alvaro_Carbajo_Benito.pdf>
[36] Andrés Felipe Barrero Arce, Mario Fernando Robayo Restrepo. ―Algoritmo
de navegación a bordo en ambientes controlados a partir de procesamiento de imágenes.‖ [En Línea] (2015). [Consultado el 5 de mayo de 2018]. Disponible en:
<http://repository.udistrital.edu.co/bitstream/11349/2265/1/BarreroArceAndresFelipe2015.pdf>
[37] Sir. Clutha Mackenzie, ―La escritura Braille en el mundo‖, UNESCO 1998.
[En Línea] (2008). [Consultado el 10 de abril de 2018]. Disponible en: <http://unesdoc.unesco.org/images/0013/001352/135252so.pdf>
[38] Instituto Nacional para Ciegos INCI, ―Interactuando con el Braille‖. Mayo de 2017.
[39] Alberto Pérez Reyes, ―Análisis de rendimiento de aplicaciones Android‖,
Universidad de La Laguna 2014. [En Línea] (2008). [Consultado el 10 de octubre de 2018]. Disponible en:
<https://riull.ull.es/xmlui/bitstream/handle/915/186/Analisis+de+rendimiento+de+aplicaciones+Android.pdf;jsessionid=B0983B970F6C801B59F33E0D5AA21EA2?sequence=1>
[40] Introducción a Android. [En Línea] (2018). [Consultado el 10 de abril de
2018]. Disponible en: <https://developer.android.com/things/get-started/>
64
[41] OpenCV (Open Source Computer Vision Library), ―Android‖. [En Línea] (2018). [Consultado el 10 de abril de 2018]. Disponible en:
<https://opencv.org/platforms/android/>
[42] Ed Burnette, ―How Android works: the big picture‖. [En Línea] (2008). [Consultado el 10 de abril de 2018]. Disponible en:
<https://www.zdnet.com/article/how-android-works-the-big-picture/>
[43] Zhen Yu; Zhong Zheng, ―Analyze the performance of GPRS DTU and the impact on the remote monitoring street lighting system basebd on GPRS‖. [En Línea] (2009). [Consultado el 30 de octubre de 2018]. Disponible en:
<https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/5295845>
[44] GPRSYingying Han; Xirong Que; Wendong Wang; Kai Shuang; Ming Huang, ―Study on wireless resource consumption of mobile applications in
GPRS‖. [En Línea] (2013). [Consultado el 30 de octubre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/6703411>
[45] GPRS Liu Nan ; Wang Yang ; Liu ShanShan, ―Centralized Automatic Meter Reading System Based on GPRS Technology‖. [En Línea] (2013). [Consultado
el 31 de octubre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/7774840>
[46] OpenCV (Open Source Computer Vision Library), ―Geometric Image
Transformations‖. [En Línea] (2018). [Consultado el 1 de octubre de 2018]. Disponible en: <https://docs.opencv.org/2.4/modules/imgproc/doc/geometric_transformations.h
tml>
[47] Jia-Lin Tang ; Hao-Nan Huang ; Long-Chao Shi ; Ze-Bin Chen ; Yi-Ying Lu ; Hsin-Chuan Chen, ―An Improved Perspective Transform for Image Distortion Correction‖. [En Línea] (2018). [Consultado el 1 de octubre de 2018].
Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/8448538>
[48] Dong Huiying ; Huang Tingting, ―Transmission line extraction method based
on Hough transform‖. [En Línea] (2012). [Consultado el 1 de octubre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/7162800>
[49] OpenCV (Open Source Computer Vision Library), ―Hough Circle Transform‖.
Image [En Línea] (2018). [Consultado el 1 de octubre de 2018]. Disponible en:
65
<
https://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/hough_circle/hough_circle.html>
[50] Shankar Krishnan ; James T. Klosowski, ―Guided image upsampling using
bitmap tracing‖. [En Línea] (2014). [Consultado el 23 de septiembre de 2018]. Disponible en: <https://ieeexplore-ieee-org.bdigital.udistrital.edu.co/document/6738134>
[51] Erik Gregersen, William L. Hosch, ―Raster graphics‖. [En Línea] (2014).
[Consultado el 23 de septiembre de 2018]. Disponible en: <https://academic-eb-com.bdigital.udistrital.edu.co/levels/collegiate/article/raster-graphics/443906>
[52] Nayid Triana, Andrés E. Jaramillo, Rafael M. Gutiérrez, César A. Rodríguez, ―Técnicas de umbralización para el procesamiento digital de imágenes de GEMFoils‖. Junio de 2016. Universidad Tecnológica de Pereira.
Recommended