Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Taller de Investigación I
En la actualidad, existen varias personas con alguna deficiencia visual, es por ello que se
ha observado que existen personas que recurren a su dispositivo móvil (Smartphone), con
el fin de utilizar su cámara, para ampliar algunos textos o caracteres que les son difíciles
de identificar o leer. Este problema afecta a estudiantes, personas de edad avanzada o
público general con alguna deficiencia visual. Dado que esto afecta de tal manera que las
personas no logran distinguir correctamente los caracteres de un texto, provocando una
mala lectura o comprensión de dicho texto. Del mismo modo en algunas personas afecta
en la distinción de objetos, dado que no logran visualizar correctamente los objetos de
tamaño diminuto. Por otro lado, de no dar una posible solución a este problema, pudieran
ocurrir dichos problemas, tal es el caso en las personas de edad avanzada, pudieran
tomar un medicamento por otro dado que no logran leer o distinguir correctamente los
medicamentos. Como consiguiente los estudiantes de no solucionar este problema,
pudieran tener una mala comprensión del texto con el cual están trabajando.
II. TEMA
Las personas con deficiencia visual podrán recurrir a su dispositivo móvil para visualizar
mejor un texto. Gracias a una aplicación que tanto estudiantes como personas de edad
avanzada, con ciertas deficiencias visuales. Podrán distinguir correctamente los
caracteres de un texto difícil de leer, facilitando de esta manera la lectura y comprensión
de dicho texto. De igual manera con la aplicación se podrán distinguir objetos que
regularmente no logran visualizarse correctamente debido a su tamaño diminuto. Las
personas con edad avanzada no tendrán problemas en la lectura de las etiquetas de sus
medicamentos. Por otro lado, los estudiantes tendrán una mejor comprensión de los
textos de tamaño diminuto, que les son difícil de leer. Todo esto con la ayuda de la
aplicación que contara con el reconocimiento óptico de caracteres y automatizara la
lectura de textos con tamaño de letra pequeña.
IV. OBJETIVOS
1
IV.2. Objetivos específicos
● Identificar las posibles consecuencias que pueden tener las personas con deficiencia
visual y realizar una investigación sobre el OCR.
● Determinar el algoritmo de reconocimiento de caracteres y corroborar su
funcionamiento.
● Definir las herramientas a utilizar para diseñar la interfaz de la aplicación.
● Evaluar el software previamente terminado.
V. HIPÓTESIS
Demostrar que es posible facilitar la lectura de textos de tamaño diminuto de una manera
rápida y segura mediante la implementación de los OCR a través de una aplicación móvil,
favoreciendo a las personas que cuentan con alguna deficiencia visual.
El primer sistema comercial fue instalado en Readers Digest en 1955, que, muchos años
más tarde, fue donado por al museo Smithsonian, donde fue puesto en la exhibición. El
segundo sistema fue vendido a los Standard Oil Company de California para leer
impresiones en tarjetas de crédito para propósitos de facturación, además se vendieron
muchos más sistemas a compañías petroleras.
El servicio postal de Estados Unidos ha estado utilizando las máquinas de OCR para
clasificar el correo desde que 1965, basados en la tecnología ideada sobre todo por el
inventor prolífico Jacob Rabinow. El primer uso del OCR en Europa sucedió en la oficina
de Gran Bretaña.
Los sistemas reconocedores el texto impreso a mano han gozado de éxito comercial estos
últimos años. Entre éstos están dispositivos de asistencia personales digitales (PDA) tales
como los Palm OS. Apple es pionero en esta tecnología. Los algoritmos usados en estos
dispositivos toman ventaja del orden, velocidad y dirección de las líneas o segmentos
individuales en su entrada son conocidos.
2
reconocimiento inteligente de caracteres, pues las redes neuronales artificiales que los
componen trabajan indiferentes a las transformaciones lineales y no lineales del proceso
3
de reconocimiento. Una variante del OCR es el OMR (optical mark recognition) que se
utiliza para reconocimiento de marcas. Una aplicación sería la corrección automática de
exámenes de tipo test, en los que la respuesta correcta se rodea con un círculo, tipo PSU.
Es por ello por lo que se busca el desarrollo de una aplicación móvil que cuente con la
menor cantidad posible de limitaciones. Considerando la optimización de errores de
aplicaciones ya existentes y tratar de brindar una mejor experiencia hacia el usuario. Por
lo cual, será posible la implementación de la digitalización de textos para brindar una
mayor amplitud en el tamaño de las letras, con la finalidad de ayudar a las personas con
deficiencia visual a tener una mejor lectura del texto capturado.
El déficit visual tiende a originarse por un errado desarrollo de los órganos visuales, o
como consecuencia de accidentes donde los ojos resultaron lesionados. O también por el
padecimiento de patologías que afectan la vista. Dentro de esas destaca la diabetes, las
cataratas, el glaucoma y el tracoma. (Optica San Pedro, 2021)
Se establece que una persona con deficiencia visual es aquella persona que, con la mejor
corrección posible solamente puede ver o distinguir, aunque con gran dificultad, algunos
objetos a una distancia muy corta. Por tanto, se determina que, las personas con
deficiencia visual, a diferencia de aquellas con ceguera, conservan todavía un resto de
visión útil para su vida diaria (desplazamiento, tareas domésticas, lectura, etc.). En
términos ópticos, de la misma manera que la ceguera, el grado de deficiencia visual se
cuantifica mediante la agudeza visual del paciente y su campo visual. Dicha deficiencia
visual se clasifica en moderada (la persona percibe objetos y caracteres impresos a pocos
centímetros sin necesidad de ayudas ópticas) y severa (la persona percibe volúmenes y
colores, objetos y caracteres impresos a pocos centímetros con ayudas ópticas, gafas,
lupas, etc). (Spec Savers Opticas, 2021)
4
visión en dos grupos: distante de presentación y cercana de presentación.
5
Deterioro de la visión distante:
● Leve: agudeza visual inferior a 6/12 o igual o superior a 6/18.
● Moderado: agudeza visual inferior a 6/18 o igual o superior a 6/60.
● Grave: agudeza visual inferior a 6/60 o igual o superior a 3/60.
● Ceguera: agudeza visual inferior a 3/60.
Las limitaciones van en función de la etapa del paciente. Cuando nos referimos a los
niños, sus limitaciones son diferentes a las de un adulto mayor. En un niño el proceso de
enseñanza es más complicado, la educación escolar se ve alterada a causa de la
deficiencia visual que el pequeño padezca. Su desenvolvimiento social también se torna
lento hasta que el menor aprende a sobrellevar su discapacidad visual.
Ahora, en caso de una persona mayor, una deficiencia visual genera limitaciones al querer
salir por sí solo fuera de casa. Además, preparar alimentos, hacer compras, manejar
dinero, entre otras.
Cualquiera que sea el caso, el proceso de adaptación es de vital importancia para que los
pacientes puedan incorporarse con normalidad a la sociedad. El hecho de padecer un
déficit visual no los hace diferentes, solo que necesitan emplear mecanismos especiales
para llevar al día sus labores. Pero todo es posible mientras se les apoye y se les brinde
el tratamiento adecuado. (Optica San Pedro, 2021)
6
● Adaptación de lentes correctores.
7
● Cirugía de láser o crioterapia (congelamiento) para la retinopatía.
● Ayudas visuales.
Para reconocer los caracteres, el software inspecciona la imagen pixel a pixel, buscando
formas que coincidan con los rasgos de los caracteres. En función del nivel de
complejidad o grado de desarrollo del software, éste buscará coincidencias con los
caracteres y fuentes disponibles en el programa, o tratará de identificar los caracteres a
través del análisis de sus características.
El OCR puede analizar los elementos del documento (bloques de texto, imágenes,
tablas…), examinando los espacios en blanco y descomponiendo el texto en líneas,
palabras y caracteres. (Signaturit, 2021)
1. Binarización o caracterización.
2. Fragmentación o segmentación de la imagen.
3. Adelgazamiento de los componentes.
4. Comparación con patrones.
Binarización
La mayor parte de algoritmos de ROC parten como base de una imagen binaria (dos
colores). Por lo tanto, es conveniente convertir una imagen de escala de grises, o una de
color, en una imagen en blanco y negro, de tal forma que se preserven las propiedades
esenciales de la imagen. Una forma de hacerlo es mediante el histograma de la imagen,
donde se muestra el número de píxeles para cada nivel de grises que aparece a la
imagen. Para binarizarla tenemos que escoger un umbral adecuado, a partir del cual
todos los píxeles que no lo superen se convertirán en negro y el resto en blanco.
Mediante este proceso obtenemos una imagen en blanco y negro donde quedan
claramente marcados los contornos de los caracteres y símbolos que contiene la imagen.
A partir de aquí podemos aislar las partes de la imagen que contienen texto (más
8
transiciones entre blanco y negro).
9
Este es el proceso más costoso y necesario para el posterior reconocimiento de
caracteres. La segmentación de una imagen implica la detección mediante procedimientos
de “etiquetado determinista” o estocástico de los contornos o regiones de la imagen,
basándose en la información de intensidad o información espacial.
Permite la descomposición de un texto en diferentes entidades lógicas, que han de ser
suficientemente invariables, para ser independientes del escritor, y suficientemente
significativas para su reconocimiento.
No existe un método genérico para llevar a cabo esta segmentación de la imagen que sea
lo suficientemente eficaz para el análisis de un texto. Aunque las técnicas más utilizadas
son variaciones de los métodos basados en proyecciones lineales.
Una de las técnicas más clásicas y simples para imágenes de niveles de grises consiste
en la determinación de los modos o agrupamientos (clústeres) a partir del histograma, de
tal forma que permitan una clasificación o umbralización de los píxeles en regiones
homogéneas.
Una vez aislados los componentes conexos de la imagen, se les tendrá que aplicar un
proceso de adelgazamiento para cada uno de ellos. Este procedimiento consiste en ir
borrando sucesivamente los puntos de los contornos de cada componente de forma que
se conserve su tipología.
La eliminación de los puntos ha de seguir un esquema de barridos sucesivos para que la
imagen continúe teniendo las mismas proporciones que la original y así conseguir que no
quede deforme.
Se tiene que hacer un barrido en paralelo, es decir, señalar los píxeles borrables para
eliminarlos todos a la vez. Este proceso se lleva a cabo para hacer posible la clasificación
y reconocimiento, simplificando la forma de los componentes.
En esta etapa, se comparan los caracteres obtenidos anteriormente con unos teóricos
(patrones) almacenados en una base de datos. El buen funcionamiento del ROC se basa
en gran medida en una buena definición de esta etapa.
Existen diferentes métodos para llevar a cabo la comparación. Uno de ellos es el método
de proyección, en el cual se obtienen proyecciones verticales y horizontales del carácter
por reconocer, y se comparan con el alfabeto de caracteres posibles hasta encontrar la
máxima coincidencia. (Wikipedia, s.f.)
10
son medidas topológicas (información de la continuidad de los pixeles, huecos, dimensión,
textura, entre otros atributos), superficies( regiones, perfiles, concavidades, bucles,
11
intersecciones).
● métodos estructurales
Estos métodos pasan por una esqueletización de los caracteres extraídos de la imagen,
quedando solamente los contornos interiores y exteriores con el fin de detectar una serie
de puntos singulares, de estos puntos se extraerá una información topológica.
Posteriormente, se forma un vector, que permite representar el carácter reconocido en
forma de símbolos o de gráficos.
● métodos neuromiméticos
● métodos de Zadeh
Estos métodos basados en la lógica borrosa (busca que la clasificación entre los patrones
y el carácter detectado no sea tan brusca sino que se encuentre dentro de un rango para
ser considerada como reconocido), están muy bien adaptados al reconocimiento de
caracteres con un tipo de datos impreciso. (Wikipedia, s.f.)
Desde la aparición de los algoritmos de ROC, han sido muchos los servicios que han
introducido estos procesos para aumentar su rendimiento y otros que se basan
completamente en estas tecnologías. A continuación, se muestran algunas de las más
destacables aplicaciones que utilizan el ROC.
Reconocimiento de matrículas.
Una de las aplicaciones son los radares. Estos deben ser capaces de localizar una
matrícula de un vehículo con condiciones de iluminación, perspectiva y entorno variables.
En la etapa de segmentación, se buscan texturas similares a la de una matrícula y se
aísla el área rectangular que forma la matrícula.
Finalmente, se aplica un proceso de clasificación múltiple sobre el conjunto de píxeles
pertenecientes a la matrícula, proporcionando una cadena de caracteres que se tienen
que ajustar a un modelo conocido: el formato de una matrícula. Si aparece algún error, es
corregido.
Con el gran aumento de información publicada que ha tenido lugar en los últimos años,
cada vez son más los métodos que se emplean para organizar todo este material
almacenado en bases de datos. Uno de estos contenidos son las imágenes. Una de las
formas más corrientes de buscar imágenes es a partir de metadatos introducidos
manualmente por los usuarios. Actualmente han aparecido buscadores que proporcionan
la posibilidad de buscar imágenes mediante el texto que aparecen en ellas, como el
buscador DIRS (Document Image Retrieval System) que, mediante un algoritmo de ROC,
extrae el texto que aparece en la imagen y lo utiliza como metadato que podrá servir para
las búsquedas. Esta tecnología proporciona una posibilidad en la búsqueda de imágenes
y demuestra que el ROC aún puede dar mucho de sí.
VII.9.1. Definición
VII.9.2. Tipos
● Aplicaciones de Juegos
1. Call of Duty
2. Candy Crush
3. Angry Birds
● Aplicaciones educativas
a) Duolingo
b) Classroom
c) Teams
● Aplicaciones de entretenimiento
a) Facebook
b) Twitter
c) Instagram
(Herazo, 2020)
VII.9.3. Sistemas operativos
(Softcorp, 2010)
VII.9.4. Funcionamiento
HERRAMIENTAS DE DESARROLLO
Las opciones de elección comenzarán por saber si queremos una aplicación exclusiva en
Android o iOS que contengan funciones específicas de esos sistemas operativos
optimizando su hardware o si queremos aplicaciones híbridas que puedan permitir un
desarrollo para ambos sistemas operativos e incluso adaptada como aplicación web que
permita la visualización desde un navegador.
Para iOS, Mac Apple TV y Apple Watch, Swift es el lenguaje elegido por Apple para el
desarrollo de sus aplicaciones. Este lenguaje fuertemente tipado, que permitirá tener
menos errores durante el desarrollo, facilita el uso de patrones de programación funcional
y también gestionará de forma automática la memoria.
Como se trata de un desarrollo nativo tiene un mayor rendimiento en dispositivos Apple,
como ejemplo, en algoritmos de búsqueda tiene estimada una velocidad 2,6 veces mayor
que Objective-C y hasta 8,4 veces mayor que Python.
Desarrollo Semi-Híbrido
XAMARIN
Este entorno de desarrollo permitirá desarrollar apps nativas multiplataforma, que
permitirá
desarrollar utilizando código C# para la lógica y XAML para las vistas, todo el código
necesario para todas las plataformas. En un artículo anterior de nuestro blog ya hablamos
de Xamarin para el desarrollo multiplataforma.
IONIC
Hoy en día, una de las mejores alternativas para el desarrollo ágil de apps. Este entorno
de desarrollo utiliza estándares web como HTML, CSS y JavaScript, permitiendo obtener
una Progressive Web App (PWA) con la capacidad de trabajar en iOS y Android como una
aplicación nativa. No necesariamente tiene que instalar la aplicación en el teléfono ya que
permitirá acceder a través de un navegador, pero además añade la opción de generar
aplicaciones para publicar tanto en Google Play como en la App Store. Todo esto consigue
que una aplicación desarrollada con Ionic sea accesible desde cualquier dispositivo por
navegador o como app.
También de la posibilidad de desarrollar para kioskos, que al igual que las PWA serán
multiplataforma y tendremos la opción de distribución por varios canales y siempre
enfocados a múltiples objetivos.
FLUTTER
Flutter es una herramienta creada por Google para el desarrollo de apps iOS y Android,
creada por Google. Con Flutter, a partir de un sólo código, se generan apps nativas tanto
para iOS como para Android. Es de lejos la trecnología de desarrollo de apps que más
crece en estos momentos, y ya tiene grandes usuarios como eBay, Tencent, Google,
o Realtor. (Casans, 2020)
VII.11.4. Mobile-D
(KeepCoding, 2021)
VIII. MARCO DE REFERENCIA
La presente investigación se llevo a cabo con la población mexicana, donde se obtuvo
que 2, 437, 000 personas cuentan con deficiencia visual de diferentes edades. Sin
embargo, debido a la pandemia presente se limito la población, a una muestra donde se
llevo a cabo en el municipio de Celaya, Gto. Con estudiantes del Tecnológico de Celaya y
personas externas que cuentan con alguna deficiencia visual.
IX. DESARROLLO
IX.1. Cronograma
IX.2. Encuesta
La siguiente encuesta tiene como finalidad, recabar información acerca del uso de la
aplicación Text and Speech, con el fin de conocer la experiencia y opinión de los usuarios.
a) Si
b) No
a) Si
b) Algunas veces.
c) No
a) Si
b) Algunas veces.
c) No
a) 1 vez
b) De 2 a 5 veces
c) De 5 a 10 veces
d) Mas de 10 veces
Formulario de encuesta
IX.3. Plan de gráficas e interpretación de los resultados
Las gráficas circulares se utilizan para representar los datos brutos de la encuesta. Las
gráficas de encuesta circulares son más cómodas para representar una proporción de
clasificación diferente, así como para comparar varias clasificaciones.
Pregunta 1
Pregunta 2
Pregunta 4
Según la sociedad mexicana de oftalmología, estima que en México hay 2 437 000
personas con deficiencia visual. (comunicacion noticias, 2020)
e = 5% - Porcentaje de error
2437000*1.65*1.65*0.5*0.5
𝑛= 0.05*0.05*2436999+1.65*1.65*0.05*0.05
𝑛 = 272. 219