• No se han encontrado resultados

Aplicación móvil para transcribir lenguaje Braille literario a texto en español

N/A
N/A
Protected

Academic year: 2020

Share "Aplicación móvil para transcribir lenguaje Braille literario a texto en español"

Copied!
65
0
0

Texto completo

(1)

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

(2)

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

(3)

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

(4)

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

(5)

5

9.5 MEMORIA DE ALMACENAMIENTO ... 56

10 CONCLUSIONES ... 57

(6)

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

(7)

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].

(8)

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

(9)

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.

(10)

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

(11)

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.

(12)

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.

(13)

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.

(14)

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.

(15)

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.

(16)

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:

(17)

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:

(18)

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

(19)

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.

(20)

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]

(21)

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.

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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]

(27)

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

(28)

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.

(29)

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.

( ) ( )

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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

(35)

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:

(36)

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.

(37)

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].

(38)

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).

(39)

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

(40)

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

(41)

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.

(42)

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.

(43)

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.

(44)

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

(45)

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‖

(46)

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

(47)

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.

(48)

48

(49)

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

(50)

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.

(51)

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

(52)

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 .

(53)

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.

86 88 90 92 94 96 98 100 A ve M ar ía A yer Co nt ab ili da d G ab o H is to ri a Br ai lle Pa dr e nu es tr o Re fr an es Re fr an es 2 Re su rr ec ci on es Ri nr in r en ac ua jo Sa lv e U n dí a m ar av ill os o U n el ef an te V al le jo Cr ed o H im no N oti ci a Pl an a Po em a 5 Re cet a

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

% de efectividad

(54)

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.

(55)

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-bit 3GB Android 7.1.1

2 HUAWEI Y5 (MYA-L23) MediaTek MT6737T, Quad-core 1.4GHz, ARM-A53 64-bit 2GB Android 6.0

3 LG G3 BEAT D722P Snapdragon 400, Quad-core 1.2 GHz, 32-bit 1GB Android 5.1

4 HUAWEI Y360-U03 MediaTek MT6582, Quad-core 1.2 GHz, Cortex-A7 32-bit 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)

(56)

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

(57)

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

(58)

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.

(59)

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>

(60)

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‖,

Figure

Figura  2. Lectura  y escritura del sistema Braille.
Figura  3. Estructura Android
Figura  4. Arquitectura  GPRS.  7.5.1  Arquitectura  GPRS
Figura  5. Evolución  de las tecnologías  móviles.
+7

Referencias

Documento similar