Full text
Desarrollo de una aplicación móvil para la generación de descripciones de imágenes para personas con discapacidad visual Development of a mobile application for the generation of image descriptions for people with visual disabilities Trabajo de Fin de Grado Curso 2022–2023 Autores Matías Amor Sanz Alberto Chaves López Víctor Ruiz Gea Directores Alberto Díaz Esteban Raquel Hervás Ballesteros Grado en Ingeniería Informática, de Computadores y de Software Facultad de Informática Universidad Complutense de Madrid
Desarrollo de una aplicación móvil para la generación de descripciones de imágenes para personas con discapacidad visual Development of a mobile application for the generation of image descriptions for people with visual disabilities Trabajo de Fin de Grado en Ingeniería Informática, de Computadores y de Software Autores Matías Amor Sanz Alberto Chaves López Víctor Ruiz Gea Directores Alberto Díaz Esteban Raquel Hervás Ballesteros Convocatoria: Junio 2023 Grado en Ingeniería Informática, de Computadores y de Software Facultad de Informática Universidad Complutense de Madrid 29 de mayo de 2023
Agradecimientos Agradecemos a nuestros tutores Raquel y Alberto, por confiar en nosotros desde el primer momento y ayudarnos en todo lo posible. Damos las gracias a Margarita, Víctor Alberto y Gema por ofrecerse como colaboradores y motivarnos a sacar la aplicación adelante. v
Resumen Hoy en día, el uso de dispositivos móviles parece algo básico para la vida de cualquier persona. Es una herramienta que nos permite hacer múltiples tareas a través de sus aplicaciones. Además, es un medio de comunicación que permite relacionarse y comunicarse con alguien de forma remota e instantánea. Llamar, chatear, enviar documentos o imágenes a otras personas, son acciones que casi todos hacemos diariamente. Sin embargo, para las personas con una discapacidad visual, algo como lo mencionado anteriormente, les puede resultar muy complicado. En este TFG nos hemos enfocado en el problema que tienen las personas invidentes en recibir y comprender las imágenes que reciben en su teléfono móvil. Investigando aplicaciones que existen para la descripción de imágenes, hemos podido ver que estas proporcionan descripciones de imágenes poco detalladas y no queda claro cómo es la foto o donde se encuentran los elementos dentro de la misma. Hablando y entrevistando a personas invidentes, nos dimos cuenta que estas personas tenían dificultades a la hora de comprender el contenido de una imagen. Es por ello que en este trabajo hemos intentando resolver este problema. Hemos desarrollado una aplicación móvil que permite describir una imagen. Además permite navegar por ella y, haciendo clicks en la foto, proporciona información de qué elementos hay en la foto. El objetivo es ayudar a una persona invidente a saber como es la foto y a hacerse una imagen mental de esta. El contenido del trabajo está ubicado en el siguiente repositorio: https:// github.com/Victorruizgea/TFG_App Palabras clave Discapacidad visual, accesibilidad, aplicación móvil, descripción de imágenes. vii
Abstract Nowadays, the use of mobile devices seems essential in anyone’s life. It is a tool that allows us to perform multiple tasks through its applications. Furthermore, it is a means of communication that enables us to connect and interact with others remotely and instantly. Making phone calls, chatting, sending documents or images to others are actions that almost everyone does on a daily basis. However, for individuals with visual impairments, something as mentioned earlier can be very challenging. In this TFG we have focused on the issue faced by visually impaired individuals in receiving and comprehending images on their mobile phones. Through our research on existing image description applications, we have observed that they provide vague descriptions of images, and it is unclear how the photo looks or where the elements are located within it. By speaking and interviewing visually impaired individuals, we realized that they encountered difficulties in understanding the content of an image. That’s why in this project, we have attempted to solve this problem. We have developed a mobile application that allows for image description. Additionally, it enables users to navigate through the image and, by clicking on specific areas, provides information about the elements present in the photo. This will assist visually impaired individuals in understanding how the photo appears and forming a mental image of it. The content of the work can be seen at: https://github.com/Victorruizgea/ TFG_App Keywords Visual impairment, accessibility, mobile application, image description. ix
2Capítulo 1. Introducción automático de imágenes puede tener un fuerte impacto en la vida de las personas invidentes, ya que les facilita la accesibilidad y la independencia, permitiéndoles una mejor percepción del entorno que les rodea. Una de las formas en las que esta tecnología puede ayudar a mejorar la vida de las personas invidentes es a través de aplicaciones que brinden descripciones detalladas y precisas de imágenes o fotografías. Esto les puede ser de gran utilidad, debido a que les permite acceder a información que de otra manera estaría fuera de su alcance. 1.2. Objetivos Nuestro objetivo es intentar desarrollar una aplicación capaz de generar descripciones de imágenes, permitiendo así a las personas invidentes la posibilidad de obtener una idea mental de dicha imagen. Para conseguir este objetivo en nuestro TFG necesitamos cumplir una serie de objetivos específicos. En primer lugar, queremos realizar un estudio con personas con discapacidad visual a las que potencialmente les podría ser útil nuestra aplicación. Para ello, será necesario determinar cuales son sus necesidades a la hora de acceder a la información de una imagen y manejar aplicaciones móviles. Una vez hayamos identificado las necesidades y requisitos de nuestros usuarios, el siguiente paso consistirá en estudiar las técnicas de inteligencia artificial que están disponibles en la actualidad. De esta forma, podremos entender como implementar nuestras dos funcionalidades: generar una descripción y detectar objetos dentro de una imagen. En cuanto a la generación de descripciones, tendremos que investigar sobre la forma más eficiente de expresar todos los detalles existentes en una imagen. Nuestra aplicación deberá estar conectada a un servidor que se encargue de realizar nuestras dos funcionalidades. Para poder generar descripciones y detectar objetos, también será importante saber cómo recoger y procesar estas imágenes. Por otro lado, nuestra aplicación móvil debe ser capaz de dar al usuario la oportunidad de escoger una imagen de su galería. En cuanto a su diseño, nuestro objetivo es intentar que sea lo más intuitiva y sencilla posible. Finalmente, sería muy útil poder hacer una evaluación de nuestra aplicación con usuarios reales, para conocer su utilidad real e identificar posibles mejoras. 1.3. Estructura del documento Este proyecto seguirá una estructura determinada por los siguientes capítulos: En los Capítulos 1 y 2 puede verse reflejada una introducción de nuestro proyecto, siendo el Capítulo 1 una introducción en español y el Capítulo 2 en inglés. En estos capítulos se habla de la motivación y los objetivos del proyecto. En el Capítulo 3 se profundiza en explicar aquellas aplicaciones y tecnologías en las que se sustenta nuestro trabajo. Por un lado, se describen las principales tecnologías de descripción de imágenes y detección de elementos dentro
1.3. Estructura del documento 3 de estas. Por otro lado, se revisan diferentes aplicaciones existentes para la descripción de imágenes y detección de elementos en imágenes. En el Capítulo 4 se resume y se transcribe las entrevistas que hemos realizado. Estas entrevistas nos han ayudado a capturar los requisitos que debería tener nuestra aplicación y los problemas que tienen las personas invidentes con las aplicaciones que existen en el mercado actualmente. Este capítulo constará de dos entrevistas, una primera realizada a un grupo de personas con discapacidad visual y una segunda a una persona experta en audiodescripción. En el Capítulo 5 se explica detalladamente el funcionamiento de la aplicación y su arquitectura interna. Es un capítulo extenso donde se ve cómo funciona la aplicación, las diferentes partes de esta y el funcionamiento de dichas partes. En el Capítulo 6 hablaremos sobre la evaluación final de nuestra aplicación. Se contará la manera en la que hemos realizado dicha evaluación y los resultados de esta. En los Capítulos 7 y 8 se elaboran unas conclusiones finales tras el análisis de nuestro trabajo y las ideas que tenemos para nuestro proyecto de cara al futuro, siendo el Capítulo 7 en español y el Capítulo 8 en inglés. Por último, en el Capítulo 9 contamos de forma extendida las aportaciones individuales que hemos hecho cada uno en el proyecto.
Cap´ ıtulo 2 Introduction In this chapter, we will provide an introduction to the motivation, objectives, and structure of this Bachelor’s Thesis. 2.1. Motivation Vision is one of the most important senses for human beings as it enables us to perceive and process information from the world around us. Visual impairment refers to any type of alteration in the sense of sight. There are two main types of visual impairment. Firstly, there is visual deficiency, which is a significant decrease in visual acuity but still allows for perception of light and orientation towards it. People with visual deficiency have a functional but reduced field of vision. On the other hand, blindness refers to minimal perception of light, preventing functional use of vision. The daily life of a blind person can be very challenging due to the lack of vision. However, technology and adaptation have made it possible for blind individuals to lead relatively normal lives. Some people use white canes for orientation and guide dogs to assist with mobility. There are also special applications and electronic devices that enable them to perform daily tasks such as reading and navigating the web. Despite these advancements, the lack of accessibility in society can still be a barrier for people with visual disabilities. Some of the daily challenges they face include mobility difficulties, as it can be challenging to move around and orient oneself without vision, increasing the risk of accidents and injuries; accessibility issues, as society is not fully adapted to the needs of blind individuals, making it difficult to access buildings, public transportation, and other services; and lastly, employment challenges, as blind people may struggle to find and maintain jobs due to accessibility barriers. Currently, technology plays a fundamental role in people’s lives, especially those with visual disabilities. Automatic image recognition can have a significant impact on the lives of blind individuals by enhancing their accessibility and independence, allowing them to better perceive the surrounding environment. One way in which this technology can improve the lives of blind people is through applications that provide detailed and accurate descriptions of images or photographs. This can be 5
6Capítulo 2. Introduction highly useful, as it allows them to access information that would otherwise be beyond their reach. 2.2. Objectives Our objective is to develop an application capable of generating descriptions of images, thereby providing blind people with a mental idea of the content of those images. To achieve this goal in our Bachelor’s Thesis, we need to fulfill a series of specific objectives. Firstly, we aim to conduct a study with visually impaired individuals who could potentially benefit from our application. To do so, it will be necessary to determine their needs when accessing image information and using mobile applications. Once we have identified the needs and requirements of our users, the next step will be to study the artificial intelligence techniques currently available. This will allow us to understand how to implement our two functionalities: generating descriptions and detecting objects within an image. Regarding description generation, we will need to research the most efficient way to express all the details present in an image. Our application will need to be connected to a server that handles these two functionalities. In order to generate descriptions and detect objects, it will also be important to learn how to capture and process these images. Furthermore, our mobile application should give the user the opportunity to select an image from their gallery. As for its design, our goal is to make it as intuitive and simple as possible. Finally, it would be very useful to evaluate our application with real users to assess its real-world utility and identify possible improvements. 2.3. Structure of the document This project will follow a structure defined by the following chapters: Chapters 1 and 2 provide an introduction to our project, with Chapter 1 being an introduction in Spanish and Chapter 2 in English. These chapters discuss the motivation and objectives of the project. Chapter 3 delves into explaining the applications and technologies that underpin our work. On one hand, it describes the main image description technologies and object detection techniques. On the other hand, it reviews different existing applications for image description and object detection in images. Chapter 4 summarizes and transcribes the interviews we have conducted. These interviews have helped us capture the requirements that our application should have and the problems faced by visually impaired individuals with existing applications on the market. This chapter will consist of two interviews, one conducted with a group of visually impaired individuals and another with an expert in audio description.
2.3. Structure of the document 7 Chapter 5 explains in detail the functioning of the application and its internal architecture. It is an extensive chapter that showcases how the application works, the different components involved, and their functioning. Chapter 6 discusses the final evaluation of our application. It explains how we conducted the evaluation and presents the results obtained. Chapters 7 and 8 present final conclusions after analyzing our work and outline ideas for the future of our project, with Chapter 7 in Spanish and Chapter 8 in English. Finally, Chapter 9 provides an extended account of the individual contributions made by each team member in the project.
Cap´ ıtulo 3 Estado de la Cuestión En este capítulo profundizaremos en los trabajos relacionados con este proyecto. En la Sección 3.1 veremos las principales tecnologías que ayudan a detectar elementos en imágenes y describirlos. En la Sección 3.2 explicaremos diferentes aplicaciones de apoyo a personas ciegas para la descripción de imágenes que existen actualmente. 3.1. Tecnologías para la detección y descripción de imágenes En esta sección se hablará de aquellas tecnologías en las que se sustenta este trabajo. Se explicarán diferentes aplicaciones y tecnologías que ayudan a la descripción de imágenes y detección de elementos en estas. 3.1.1. Descripción de imágenes y dataset Las descripciones de imágenes son descripciones de texto que se utilizan para describir imágenes automáticamente y son especialmente útiles para personas que tienen una discapacidad visual. Incluyen información sobre el contenido y la composición de la imagen, como la descripción de los objetos, las personas, los colores y las texturas presentes en la imagen. Se utilizan en aplicaciones de accesibilidad y se integran en diferentes plataformas, como páginas web, aplicaciones móviles y programas de edición de imágenes. Los descriptores de imágenes se pueden agregar automáticamente a las imágenes mediante el uso de tecnologías de inteligencia artificial y aprendizaje automático, o se pueden agregar manualmente por los autores de contenido. Es importante destacar que los descriptores de imágenes deben ser precisos y representativos del contenido de la imagen, y que deben ser proporcionados de manera apropiada y accesible para todos los usuarios. La calidad de los descriptores de imágenes puede afectar significativamente la accesibilidad de la información para las personas ciegas o con discapacidad visual, por lo que es importante asegurarse de que se proporcionen descriptores de alta calidad. Las imágenes, con sus respectivas descripciones, se almacenan en lo que se conoce 9
10 Capítulo 3. Estado de la Cuestión como un dataset de descripción de imágenes. Estos datasets se utilizan comúnmente para entrenar y evaluar modelos de inteligencia artificial y aprendizaje automático en tareas de descripción de imágenes, como la generación de descripciones automáticas de imágenes. Suelen incluir una amplia variedad de imágenes, desde imágenes simples hasta imágenes complejas, y desde imágenes con un solo objeto hasta imágenes con múltiples objetos y escenas complejas. Las descripciones de texto incluidas en estos datasets suelen ser descripciones detalladas de la imagen, incluyendo información sobre los objetos, las personas, los colores y las texturas presentes en la misma. Los datasets de descripción de imágenes son importantes porque permiten a los investigadores y desarrolladores entrenar y evaluar modelos de inteligencia artificial en tareas de descripción de imágenes, y mejorar así la accesibilidad de la información para las personas ciegas o con discapacidad visual. Aunque hay una gran variedad de datasets como Flickr1oImageNet2, hemos utilizado el dataset COCO(Common Objects in Context), un dataset con miles de imágenes con descripciones detalladas y ampliamente utilizado en la investigación y el desarrollo en el campo de la inteligencia artificial y el aprendizaje automático. A continuación, lo explicaremos más en detalle. 3.1.2. COCO COCO3(Common Objetcts in Context) (Lin et al., 2015) es un conjunto de datos de subtítulos, segmentación y detección de objetos a gran escala publicado por Microsoft. Es una base de datos de imágenes de gran capacidad que se utiliza para entrenar modelos de visión por computadora. Fue desarrollada por el equipo de investigación en inteligencia artificial de Facebook AI. El conjunto de datos de COCO contiene conjuntos de datos de alta calidad, en su mayoría redes neuronales de última generación. Algunas de sus características son: Segmentación de objetos con anotaciones detalladas de instancias, es decir, cada objeto individual en una imagen está marcado mediante cuadrados, lo que permite a los modelos aprender la ubicación y la clase de los objetos en una imagen. Contiene más de 330.000 imágenes y más de 2,5 millones de anotaciones. Por ello, es uno de los datasets más grandes y diversificados que hay disponibles. Cada imagen de COCO está anotada con múltiples etiquetas de objetos, segmentaciones de instancias y descripciones de imágenes, lo que permite una variedad de tareas de procesamiento de imágenes y lenguaje natural. Las imágenes de COCO se capturaron en entornos naturales. Está disponible de forma gratuita para fines de investigación y no comerciales. Su licencia abierta permite a los investigadores utilizarlo de manera libre. 1https://www.kaggle.com/datasets/hsankesara/flickr-image-dataset 2https://www.image-net.org/ 3https://cocodataset.org/
3.1. Tecnologías para la detección y descripción de imágenes 11 Contiene más de 80 categorías de objetos, que van desde objetos cotidianos como personas, animales, etc, hasta objetos no tan comunes como instrumentos musicales, equipos deportivos, etc. En COCO se pueden realizar tres tareas principalmente: Detección de objetos: se utiliza para entrenar y evaluar algoritmos de detección de objetos, con el objetivo de identificar y localizar objetos específicos en una imagen. Segmentación de objetos/instancias: permite identificar y separar objetos individuales de una imagen. Generación de descripciones de imágenes: se utiliza para entrenar modelos que generan descripciones de imágenes. El formato de archivo utilizado en las anotaciones de COCO es JSON, como se puede ver en la figura 3.1 También puede tener listas o diccionarios anidados en su interior. El objetivo de COCO es proporcionar una base de datos de imágenes variadas y realistas para el entrenamiento de modelos de detección de objetos, que puedan ser aplicados en una amplia gama de aplicaciones prácticas, desde la robótica hasta la seguridad y la vigilancia. COCO es una herramienta valiosa para la investigación y el desarrollo en el campo de la visión por computadora, y ha sido utilizada en una amplia gama de publicaciones y proyectos en la comunidad de investigación. 3.1.3. Roboflow Roboflow4es una plataforma en línea que ofrece soluciones de automatización para el desarrollo de aplicaciones de visión por computadora. Ofrece herramientas que facilitan el procesamiento, anotación y organización de imágenes y vídeos para su uso en modelos de aprendizaje automático. Roboflow también brinda integraciones con diversos marcos de trabajo de visión por computadora, lo que permite un flujo de trabajo más eficiente y efectivo para los desarrolladores. Algunas de sus características son: Carga de datos: los usuarios pueden cargar sus propios datasets de imágenes en Roboflow y etiquetar las imágenes para que se puedan utilizar en tareas de aprendizaje automático. Anotación de imágenes y vídeos: permite a los usuarios anotar y etiquetar imágenes y vídeos de forma eficiente, lo que es esencial para el entrenamiento de modelos de aprendizaje automático. En la figura 3.2 podemos ver cómo, gracias a Roboflow, se identifican los elementos en una imagen. Generación de archivos de entrenamiento: genera automáticamente archivos de entrenamiento y validación para el modelo de aprendizaje automático, utilizando la información de las etiquetas de las imágenes. 4https://roboflow.com/
18 Capítulo 3. Estado de la Cuestión Figura 3.6: Descripción de la imagen producida por Facebook ATT. Opción de una descripción más extensa para aquellos casos en los que queramos un análisis de la imagen más detallada. Evitar descripciones innecesarias, como objetos de fondo, descripción de colores, descripciones poéticas o evitar signos de puntuación, para no hacer un texto excesivamente largo. El tamaño de los elementos es relativo a la distancia donde se hace dicha fotografía, por lo que se evitarán palabras como grande, pequeño, largo... La descripción detallada de la imagen puede contener lo siguiente: Descripción del usuario: texto alternativo que ha escrito la persona que ha subido o publicado la imagen. Descripción generada por Facebook: texto alternativo generado automáticamente por Facebook. Texto en la imagen: cualquier texto que haya en la imagen, leído de arriba abajo y de izquierda a derecha. Información de posición: el lugar donde se encuentran los objetos en la imagen. Información de tamaño: se usa el tamaño de un objeto para determinar el enfoque de una imagen. Elementos por categoría: los objetos se clasifican por categorías como personas, plantas y objetos.
3.2. Aplicaciones de reconocimiento de imágenes 19 3.2.3. Be My Eyes Be My Eyes10 es una aplicación diseñada para ayudar a personas con discapacidad visual. La aplicación conecta a personas ciegas o con baja visión con voluntarios que pueden ayudar a resolver problemas cotidianos a través de una llamada de vídeo en vivo. Los usuarios con discapacidad visual pueden solicitar ayuda de un voluntario en cualquier momento. La aplicación se encarga de encontrar un voluntario disponible para la llamada, y la llamada se realiza a través de la cámara del teléfono del voluntario. El voluntario puede ver lo que está sucediendo en el entorno del usuario con discapacidad visual y proporcionar información verbal sobre lo que está viendo. Algunos ejemplos de cómo los voluntarios pueden ayudar incluyen leer etiquetas de productos, ayudar a encontrar objetos perdidos, describir imágenes en un sitio web, y ayudar a llenar formularios en línea. Be My Eyes es una aplicación gratuita y está disponible para descargar en los dispositivos iOS yAndroid. La aplicación se ha convertido en una herramienta valiosa para las personas con discapacidad visual, y ha ayudado a muchas personas a realizar tareas diarias con más independencia y confianza. 3.2.4. TapTapSee TapTapSee11 es una aplicación móvil diseñada para personas ciegas o con baja visión. Funciona capturando imágenes con la cámara del dispositivo, como se puede ver en la figura 3.7, y utilizando tecnología de reconocimiento de imágenes para describir lo que está en la imagen. La aplicación puede describir objetos, personas, animales, texto y más. Para utilizar TapTapSee simplemente hay que apuntar y hacer clic en la cámara para capturar una imagen. La aplicación luego proporciona una descripción verbal de lo que está en la imagen, lo que permite a la persona escuchar una descripción de su entorno y tomar decisiones informadas. La descripción vocal incluye información sobre el tipo de objeto, su posición en la imagen, su forma y otros detalles relevantes. Es una herramienta útil para mejorar la accesibilidad y la inclusión para personas ciegas o con baja visión, ya que les permite obtener información valiosa sobre su entorno sin depender de la ayuda de otras personas. La precisión de la descripción depende de la calidad de la tecnología de reconocimiento de imágenes. 10https://www.bemyeyes.com/language/spanish 11https://play.google.com/store/apps/details?id=com.msearcher.taptapsee. android&hl=es&gl=US&pli=1
20 Capítulo 3. Estado de la Cuestión Figura 3.7: Captura de una imagen a través de TapTapSee.
Cap´ ıtulo 4 Captura de requisitos Nuestro trabajo está enfocado en el uso de dispositivos móviles en personas invidentes, por lo que conocer sus hábitos dentro de estas tecnologías, sus problemas y sus preferencias nos ayudará a entender y plasmar unos buenos requisitos para nuestra aplicación. Para ello, hemos realizado dos entrevistas diferentes. Una primera donde entrevistamos a tres personas reales con discapacidad visual (Sección 4.1) y una segunda donde entrevistamos a una experta en audiodescripción (Sección 4.2). Tras las entrevistas y un estudio del resultado de estas, hemos podido obtener una serie de requisitos que explicaremos en la última sección de este capítulo (Sección 4.3). 4.1. Entrevista a personas invidentes La primera entrevista que realizamos fue a tres usuarios con discapacidad visual para conocer mejor los requisitos necesarios para la aplicación. Esta entrevista fue presencial en la Facultad de Informática de la Universidad Complutense de Madrid el día 29 de octubre del 2022. Fue una entrevista de aproximadamente dos horas, en la que uno de nosotros hacía las preguntas y los entrevistados intentaban contestarnos de la forma más clara y extensa posible. Estas respuesta intentaban poder ayudarnos a encontrar e identificar todos los requisitos que estas personas creían que eran importantes en las aplicaciones que ellos utilizaban y que debería tener la nuestra. Con el consentimiento de los participantes, la entrevista fue grabada para su futuro análisis. Los personas entrevistadas fueron: Víctor Alberto Lorenzo (VA), tiene 40 años y es investigador social en asuntos de accesibilidad y discapacidad en la UNED. Gema Prieto (G), tiene 51 años, estudió empresariales y actualmente no tiene empleo. Margarita Burgueño (M), tiene 51 años, estudió historia y actualmente no tiene empleo. 21
22 Capítulo 4. Captura de requisitos 4.1.1. Transcripción de la entrevista A continuación hemos incluido una transcripción completa de la entrevista realizada. 1.¿Vive solo o convive con otra persona? ¿Padece una ceguera total o parcial? ¿Su ceguera es de nacimiento? Si no, ¿a qué edad perdió la vista? VA: Padece ceguera total, solo percibe la luz. G: Perdió la vista hace 5 años. Padece ceguera total y solo percibe la luz. M: Perdió la vista hace 7 años. Tiene un resto visual de un 10 por ciento en un ojo y en otro únicamente percibe la luz y la oscuridad. 2.¿Qué sistema operativo tiene su móvil (iOS oAndroid)? ¿Qué versión del software tiene su móvil? VA: Utiliza un iPhone con sistema operativo iOS porque para él, son los móviles más accesibles para las personas invidentes. VoiceOver. G: Utiliza un iPhone con sistema operativo iOS, nunca ha utilizado un móvil con sistema operativo Android M: Antes de perder la vista utilizaba un móvil con sistema operativo Android y después se cambió a iOS porque le resulta más práctico. Los tres utilizan VoiceOver que es un lector de pantalla que les describe toda acción de sus teléfonos. 3.¿Suele utilizar el móvil de forma frecuente en su día? ¿Para qué utiliza el móvil? ¿Qué problemas se encuentra? VA: Utiliza su móvil fundamentalmente para la comunicación y las aplicaciones que más usa son WhatsApp, redes sociales como Twitter,Facebook, Linkedin. También utiliza aplicaciones específicas para el uso del transporte público. También utiliza Seeing AI para detectar escenas. También utiliza el móvil para lectura de libros, a través de una aplicación de la ONCE llamada Gestor ONCE libros digitales. Encuentra descripciones muy escasas en las imágenes que le envían. G: Utiliza poco el móvil, únicamente usa Whatsapp y lee algún correo electrónico. Alguna vez ha leído el periódico mediante el teléfono móvil. M: Utiliza mucho el móvil. Lo utiliza para ver su correo electrónico, WhatsApp, redes sociales como Twitter. También lee el periódico y escucha audio libros a través de él. Un problema con el que convive mucho es con que los botones de las aplicaciones están mal etiquetados, no se describe bien cual es la función de ellos. Descripciones de las personas con muy pocos detalles. 4.¿Cómo utilizan su teléfono móvil?
4.1. Entrevista a personas invidentes 23 Deslizar el dedo hacia la derecha para cambiar de aplicación y hacia la izquierda vuelve a la anterior aplicación. Tocar dos veces en la pantalla para abrir una aplicación. Tres dedos hacia arriba cerrar una aplicación. Mediante interfaz de voz. 5.¿El no poder ver fotos o imágenes te supone un problema en tu día a día? De ser así, ¿cómo lo solventas? VA: Depende de las descripciones que le da otra persona o de las descripciones de su móvil. Recalca de nuevo que las descripciones de las imágenes que obtiene de su móvil no son nada detalladas y que no le sirven de mucho. M: Como primera opción utiliza una lupa y si no lo consigue, pide ayuda a alguien de su familia. 6.¿Qué necesita saber de una imagen? VA: Cuantos más detalles mejor, quiere saber el máximo de detalle de una imagen. Primero una descripción general y luego una descripción más en detalle. G: Como mínimo les gustaría que la descripción les ubique, les permita tener una idea de la imagen. M: Le gustaría que la descripción le permitiera reconocer si hay algún familiar en la imagen y quien es. 7.¿De dónde provienen las imágenes que recibís? Los tres coinciden en que reciben las imágenes por WhatsApp, páginas web y correo. 8.¿Tienes que lidiar con algún tipo de imagen en tu trabajo? si es así, ¿con qué tipo de imagen?¿cómo lo hace? VA: Sí que tiene lidiar con imágenes, pero estas imágenes están ya etiquetadas por quien se las manda. 9.¿Qué cosas cambiarías de las aplicaciones que conoces?¿Cómo te gustaría que fuese la aplicación que te describe las imágenes? VA: Cambiaría que la imagen se describiera automáticamente. Le gustaría que a medida que vas moviendo el dedo por la imagen, en la pantalla del móvil, le fuese diciendo que va encontrando y se lo vaya describiendo. Tiene que estar diseñada para todo tipo de personas. Botones etiquetados. G: La aplicación no describe los colores correctamente. Le gustaría que la aplicación pusiera énfasis en aquello para lo que esté diseñada y que reconociera los colores básicos.
24 Capítulo 4. Captura de requisitos M: Tiene que ser accesible, es decir, que una persona ciega sea capaz de poder usarla sin dificultad de más. Le gustaría que reconociese colores, sobre todo para la ropa. Que tenga un menú sencillo, sin demasiadas opciones. 10.¿Cómo os gustaría que fuera la aplicación propuesta? VA: Botones etiquetados y que diga qué hace cada acción. Estaría muy bien un pequeño tutorial que sea claro y útil que explique cómo usar la aplicación. M: Con un menú de uso sencillo, en el que no haya 17 opciones por las que tengas que pasar. Un registro sencillo en el que la contraseña no sea difícil y no obligue a poner caracteres especiales ni contraseñas muy largas en el que de tiempo a hacer el registro ya que nosotros tenemos que teclear y escuchar que hemos tecleado. 11.¿En qué situaciones del día a día podría ayudaros la aplicación? VA: Para cualquier foto que se mande por Whatsapp o en una página web. M: Para ser independiente. El no tener que preguntar a alguien cercano qué hay en la foto o preguntarse:¿Quién es?¿Qué es esto?¿Qué estoy viendo? Recalca que frustra mucho tener que preguntar. 12.¿Pregunta o alguna observación de lo que hemos hablado? VA:Nos pide tener en cuenta todos los perfiles de usuario. Puede ser que para algunos tenga mucha información y para otros tenga poca. G: Si necesitamos que prueben la aplicación o tenemos alguna pregunta o cualquier cosa nos dice que no dudemos en decírselo. M: Dice que está encantada de ser los primeros en probarlo. Recalca que cuando terminemos nuestras carreras, siempre pensemos en los usuarios con discapacidad visual para cualquier tipo de proyecto que hagamos. Que si algo pone que es accesible que sea de verdad, que no sea solo para que te pongan el tick de accesibilidad. 4.2. Entrevista a experta en audiodescripción En esta sección hablaremos sobre la entrevista realizada a la persona experta en audiodescripción. Su nombre es Mar, trabaja como docente en la universidad de Córdoba, y además impartió un curso de audiodescripción en la propia universidad. La entrevista se hizo el 1 de diciembre de 2022 y el método de entrevista fue similar a la anterior. Fue una entrevista que duró una hora en la que intentamos profundizar en la audiodescripción y cómo actualmente se desarrolla este tipo de descripciones en imágenes.
4.2. Entrevista a experta en audiodescripción 25 4.2.1. Transcripción de la entrevista En esta subsección, incluiremos la transcripción completa de la entrevista a la experta. 1.¿En qué consiste tu trabajo y dicho curso? Mar ha trabajado como descriptora audiovisual. En el curso, trabajaban la audio descripción en inglés y en español, explicando las partes más técnicas como por ejemplo, elaborar un guión. Enseñaba cómo elaborar una descripción correcta, sin ser demasiado escueta ni demasiado larga. 2.¿Cómo definirías la audiodescripción a personas que nunca han tratado con ella? Es un servicio de apoyo para la audiencia, para percibir toda la información visual. Crear conciencia de lo importante que es la información audiovisual. 3.¿Qué pasos sigues para realizar una buena audiodescripción?¿Cómo sabes que es una buena descripción? Analizar el texto audiovisual (todos los canales de comunicación), ya que hay información que es evidente y no es necesaria para no hacer la descripción redundante. Para Mar, una buena descripción tiene que ser directa, clara y a nivel léxico tiene que ser rica, no sirve utilizar un lenguaje básico. 4.¿A qué detalles de las imágenes le das más importancia?¿Cuáles ignoras más? Además de expresiones faciales, colores, posición de las personas en la imagen, paisajes, etc, hay que tener en cuenta factores culturales, sin sacar conclusiones ya que eso lo deberá hacer el usuario. Lo más importante es ser objetivo a la hora de elaborar una descripción. 5.¿Con qué tipo de problemas te puedes encontrar al realizar una audio descripción?¿Cómo se resuelven? El léxico es uno de los principales problemas, sobre todo cuando se tratan de estados de ánimo. Es irremediable que se pierda información. 6.¿Tenéis algún tipo de soporte donde las personas invidentes os puedan dar un feedback? No tienen ningún tipo de feedback por parte de personas invidentes. 7.¿Una aplicación así podría resultar útil en tu trabajo? Sería útil sin lugar a dudas. 8.¿Cómo crees que sería mejor hacerla? Habría que hacer descripciones que sean breves, claras y que aporten toda la información que se percibe. Sería muy interesante tener feedback de varias personas para tener diferentes perspectivas, y feedback de los propios usuarios.
26 Capítulo 4. Captura de requisitos 4.3. Conclusiones y requisitos Tras hacer las entrevistas y realizar un estudio de los datos obtenidos, podemos sacar una serie de conclusiones y requisitos o funcionalidades que necesita nuestra aplicación. En primer lugar, hemos podido ver que el sistema operativo que más utilizan las personas con discapacidad visual es iOS, debido a que este sistema de accesibilidad está mejor preparado y da más facilidades que otros sistemas operativos. Uno de los mayores problemas que tienen dichas personas en la mayoría de aplicaciones es que estas no contienen buenas descripciones en los botones (etiquetas), por lo que les resulta sumamente costoso navegar por dichas aplicaciones, confundiéndose muchas veces en acciones y teniendo que volver y probar con otra opción. Por otro lado, con el tema de la descripción de imágenes, hemos comprobado que las descripciones actuales de imágenes son demasiado básicas y no son claras, provocando que apenas se utilicen. Hablando con la experta y con las personas invidentes, hemos llegado a la conclusión de que estas deben contener la información suficiente para que la persona pueda hacerse una idea clara de qué contiene la foto, pero sin saturarla de información. Deben ser descripciones claras pero con nivel léxico alto, para intentar describir de forma más precisa los detalles. Teniendo en cuenta todo lo anterior, listamos a continuación una serie de requisitos clave que debe tener nuestra aplicación: Un método para importar una imagen en una aplicación desde la galería. Botones en la aplicación con buenas etiquetas para que a la hora de la narración se sepa perfectamente qué botón estamos pulsando. Una inteligencia artificial entrenada que obteniendo una imagen devuelva una descripción de esta. Una forma en la que al tocar la foto, la aplicación recoja las coordenadas del toque y devuelva qué elemento se encuentra en dichas coordenadas. Un detector de colores que ayude a las personas invidentes a reconocer el color de la ropa. Un detector de caras conocidas con el que pueda detectar a las personas de una imagen, pudiendo etiquetar dichas personas de sus contactos. Incluir un lector de pantalla por voz que narre a la persona lo que está pasando en la aplicación. Esto incluye la narración de la descripción, la información de los elementos de la imagen al navegar en ella o los botones de la aplicación.
Cap´ ıtulo 5 Implementación En este capítulo vamos a hablar de la estructura del cliente y del servidor de la aplicación, de sus respectivas implementaciones y de la manera en la que se comunican. En la Sección 5.1 explicaremos cómo es la arquitectura del sistema de nuestro proyecto. En la Sección 5.2 hablaremos detalladamente del servidor, mientras que en la Sección 5.3 hablaremos de la aplicación. 5.1. Arquitectura general del sistema En esta sección vamos a explicar brevemente cómo es la arquitectura interna de nuestro proyecto. En la figura 5.1 podemos ver un esquema visual de cómo es la arquitectura. La arquitectura se divide en: Cliente: puede elegir la imagen que será enviada al servidor. Cuando recibe la respuesta, el cliente procesa el JSON recibido y lo transforma en texto para que sea mostrado al usuario en forma de audio a través del altavoz del dispositivo. Además, tras recibir el JSON con la información de los elementos de la imagen del servidor, el usuario podrá tocar por la imagen. Internamente se valora si en dichas coordenadas existe un elemento en la imagen. Servidor: recibe la información del cliente (una imagen), la procesa internamente y devuelve la información de la imagen en forma de JSON. Dentro del servidor encontramos tres servicios diferentes: •Generador de descripciones: se encarga de recibir la imagen y devolver una descripción de esta. Este servicio manda la imagen a un modelo ya entrenado para la descripción de imágenes y devuelve un JSON con la descripción de la imagen. •Detector de entidades en imágenes: es el encargado de recibir la imagen y devolver un JSON con la información de todos los elementos de la imagen. El servicio está conectado a un modelo ya entrenado para la detección de elementos en imágenes, el cual envía a dicho modelo la imagen y este devuelve el JSON con toda la información. 27
34 Capítulo 5. Implementación "ymin ": 199 , "xmax ": 463 , "ymax ": 267 } } Figura 5.6: Ejemplo de uso de modelo en la pagina de Hugging Face. 5.2.3. Traducción de las salidas de los modelos Dado que las salidas de todos los modelos utilizados en la implementación de las funcionalidades del servidor se encuentran en inglés, hemos tenido que buscar un modelo de traducción para satisfacer las necesidades de nuestro público objetivo, que requieren tanto la descripción, como la detección de objetos, en español. Para poder usar este modelo, utilizamos la biblioteca Transformers de Hugging Face para crear un objeto pipeline que se encarga de la traducción automática de
5.3. Aplicación móvil 35 texto en inglés al español, utilizando un modelo pre-entrenado específico y un límite máximo de longitud de secuencia. Se utiliza la función pipeline de la biblioteca Transformers para crear un objeto que realiza la tarea de traducción. En este caso, se especifica que la tarea es la traducción del idioma inglés al español, utilizando el modelo Helsinki-NLP/opusmt-en-es como argumento. Una vez creado este objeto lo podemos utilizar para traducir en ambas funcionalidades. 5.3. Aplicación móvil A la hora de desarrollar la aplicación móvil, tomamos la decisión de desarrollarla en Android, a través de Android Studio y usando Java como lenguaje de programación. A pesar de que iOS posee más herramientas y está más preparado para personas con discapacidad, hemos elegido programar en Android ya que no tenemos la posibilidad de programar en iOS por la falta de herramientas para ello. La aplicación, sencilla y funcional, tiene las siguientes características: Una interfaz sencilla, intuitiva y fácil de manejar. En esta interfaz es muy importante que los botones y acciones estén muy bien etiquetados y sean fácilmente accesibles. Las personas invidentes, gracias al lector por voz, pueden navegar cómodamente por la aplicación. Una conexión a un servidor remoto, para enviar la foto elegida y las coordenadas de la foto señaladas por el usuario. Las voces que se encargan de reproducir el significado de los distintos botones de la aplicación. A continuación describimos en detalle cada una de estas partes de la aplicación. 5.3.1. Interfaz de la aplicación Como se puede ver en la figura 5.7, una vez abierta la aplicación, encontramos una interfaz bastante sencilla. Una vez abierta la aplicación podemos encontrar dos botones: uno para abrir la galería de imágenes para cargar la imagen y otro para generar una descripción. Los dos botones son de un tamaño que le permite al usuario acceder a ellos sin mayor dificultad. Una vez insertada la imagen, como se puede ver en la figura 5.8, la aplicación informará al usuario a través de un sistema de voz que la imagen ha sido cargada correctamente y que la descripción ha sido generada. Una vez generada la descripción, se escuchará la descripción de la imagen. En el caso de que el usuario deseara volver a escuchar la descripción, tendría que pulsar el botón correspondiente. Por ejemplo, el usuario escuchará: “Una fotografía de un colibrí volando en el aire con sus alas extendidas.” Si el usuario pulsara encima del colibrí, escuchará “ave”. A la hora de desarrollar los botones, hemos tenido en cuenta los requisitos que nos proporcionaron las personas que fueron entrevistadas. Los botones son sencillos
36 Capítulo 5. Implementación de seleccionar, y cada uno de ellos tiene su función bien marcada. Las etiquetas de los botones son claras, para evitar cualquier tipo de confusión. Una vez abierta la imagen, además de poder pulsar los dos botones disponibles, el usuario puede pulsar en la imagen para que la aplicación le indique, mediante el lector de voz, qué objeto está seleccionando. Figura 5.7: Pantalla incial de la aplicación. Figura 5.8: Pantalla de la aplicación una vez insertada la imagen.
5.3. Aplicación móvil 37 5.3.2. Lector de voz Utilizamos la tecnología TextToSpeech que nos proporciona Android Studio para escuchar la descripción de la imagen. Es una herramienta de accesibilidad que permite convertir el texto en voz. Su funcionamiento se divide en dos etapas: Preprocesamiento: Durante esta etapa, se realiza una revisión del texto para identificar los elementos lingüísticos y gramaticales, y se aplican reglas de pronunciación y entonación para producir una representación fonética del texto. Síntesis de voz: Se utiliza una base de datos de sonidos pregrabados para producir la voz sintetizada. También se puede configurar para ajustar la voz, el idioma y la velocidad de lectura. La voz y el idioma se pueden seleccionar de una lista de voces e idiomas disponibles. 5.3.3. Conexión con el servidor e implementación La comunicación entre la aplicación y el servidor, se realiza a través de peticiones HTTP tipo POST. Con una única petición obtenemos los datos de los objetos de la imagen y su descripción. Una vez obtenidos estos datos, los almacenamos en la aplicación. De esta manera, el usuario tendrá acceso a ellas, sin necesidad de elevar el número de llamadas al servidor. Esto reduce la sobrecarga de datos y el tiempo de respuesta. Dentro de la aplicación podemos encontrar dos clases: ObjectDetector.java: Esta clase va a ser la encargada de enviar la imagen al servidor. A través de esta clase, obtenemos la descripción y los datos necesarios de la imagen. Descriptor.java: Esta clase se encargará de gestionar la descripción de la imagen. Ajustará el idioma de la descripción, para que se escuche en castellano, y la velocidad de reproducción. En la figura 5.9 se puede observar un diagrama de secuencia el cual explica cómo es la conexión entre el cliente y el servidor y nos sirve como representación del comportamiento del sistema. Como podemos observar, el cliente crea una clase principal llamada MainActivity donde se encuentra la mayoría de la lógica de nuestra aplicación. Tras abrir la galería y elegir una foto, se crea un objeto de clase ObjectDetector. Este objeto tiene un método execute. Este método conecta con el servidor, carga la imagen que hay dentro de la llamada execute y se la envía a un modelo de reconocimiento de elementos en imágenes. Esto devuelve un JSONList con la información de los elementos que se han detectado en la imagen pero este está en inglés, por lo que se le envía a un traductor que devuelve dicho JSONList en español. Por último el JSONList es devuelto al cliente. Tras recibir la información de los elementos de la imagen, el cliente crea un objeto de la clase Descriptor. Este objeto tiene un método execute que le envía al servidor la imagen. El servidor le pasa dicha imagen a un modelo de descripción de
38 Capítulo 5. Implementación imágenes que devuelve un JSON con la descripción en inglés. Este JSON se envía a un traductor para traducirlo al español y se le devuelve al cliente. Si tocamos el botón de descripción, el cliente obtendrá del objeto de clase Descriptor un texto de la descripción que sera leído por el altavoz del teléfono. Por otro lado, si se toca en la imagen, el cliente obtendrá la información de los elementos que se encuentran en la imagen atreves del objeto de clase ObjectDetector. Internamente el cliente comprueba si en las coordenadas que se ha tocado en la imagen existe un elemento y si es así, coge el texto del elemento y lo narra por el altavoz del teléfono. Figura 5.9: Diagrama de secuencia del funcionamiento de la aplicación.
Cap´ ıtulo 6 Evaluación En este capítulo vamos a explicar cómo se ha realizado la evaluación de nuestra aplicación y las conclusiones que hemos obtenido de esta. Primero contaremos en la Sección 6.1 el diseño de la evaluación. En la Sección 6.2 hablaremos del desarrollo de la evaluación y en la Sección 6.3 el cuestionario SUS. Por último, en la Sección 6.4 se expondrá las conclusiones que hemos obtenido de la evaluación. 6.1. Diseño de la evaluación Hemos realizado una evaluación a las mismas personas que se prestaron para responder a nuestras preguntas en la entrevista (Sección 4.1). Esta reunión fue presencial en la Facultad de Informática de la Universidad Complutense de Madrid y se grabó para poder revisar posteriormente los comentarios de los evaluadores con más detenimiento. Nuestros usuarios son Víctor Alberto como primer usuario, Marga como segundo usuario y Gema como tercer usuario. Van a probar el funcionamiento de nuestra aplicación donde cada uno cargará tres imágenes, escucharán su descripción y navegarán por la imagen para identificar cada objeto. Dentro de estas imágenes haremos una distinción por niveles (bajo, medio y alto), donde la diferencia entre cada nivel será la complejidad de su descripción y el número de objetos en la imagen. Las imágenes elegidas para esta evaluación son las mostradas en la figura 6.1. Después de la ejecución de cada imagen les realizaremos algunas preguntas para saber qué han podido percibir gracias a la navegación y descripción. Con estas preguntas queremos saber su opinión acerca de la descripción generada por la aplicación y que descripción serían capaces de hacer nuestros usuarios tras dicha ejecución. Tras la ejecución de todas las imágenes, nuestros usuarios finalmente responderán a un cuestionario de usabilidad SUS con las siguientes preguntas donde tendrán que seleccionar una puntuación entre el 1 y el 5 dependiendo de lo de acuerdo que están con la afirmación o negación: Me gustaría usar esta aplicación frecuentemente. Considero que la aplicación es innecesariamente compleja. Considero que la aplicación es fácil de usar. 39
40 Capítulo 6. Evaluación Figura 6.1: Imágenes utilizadas para la evaluación Considero necesario el apoyo de personal experto para poder utilizar esta aplicación. Considero que las funciones de la aplicación están bien integradas. Considero que la aplicación presenta muchas contradicciones. Imagino que la mayoría de las personas aprenderían a usar esta aplicación rápidamente. Considero que el uso de esta aplicación es tedioso. Me sentí muy confiado/a al usar la aplicación. Necesité saber bastantes cosas antes de poder empezar a usar esta aplicación. Esta evaluación nos ayudara a encontrar tanto puntos positivos como puntos negativos dentro nuestra aplicación. 6.2. Desarrollo de la evaluación En esta sección vamos a explicar el desarrollo de la evaluación que se realizó a las personas con discapacidad visual con las que tuvimos la reunión. Como se ha explicado en la Sección 6.1, los usuarios probaron la aplicación, enseñándoles el
6.2. Desarrollo de la evaluación 41 funcionamiento de esta en una serie de imágenes previamente elegidas y ordenadas por niveles (figura 6.1). Por cada imagen de cada usuario será una subsección. Cada subsección se muestra la imagen seleccionada, la descripción generada por la aplicación, los elementos detectados por esta, la descripción del usuario y finalmente las valoración del usuario después de obtener la información. 6.2.1. Primera imagen del primer usuario (figura 6.2) Figura 6.2: Primera imagen de Víctor Alberto. Descripción: Una fotografía de una chica sentada en una mesa con un libro y lápices. Elementos detectados por la aplicación: •Libro •Libro •Libro •Persona •Taza Descripción del usuario: Una chica en una mesa que está desayunando.
42 Capítulo 6. Evaluación Respuesta del usuario: Víctor Alberto dice que le ha ayudado a comprender la imagen pero que podría haberle ayudado más ya que no sabe donde están los objetos. Ha sabido detectar los objetos pero no donde están. No sabe si están en una mesa o si están en el suelo. Además no sabe que está haciendo la chica, si por ejemplo está estudiando o está desayunando. 6.2.2. Primera imagen del segundo usuario (figura 6.3) Figura 6.3: Primera imagen de Margarita. Descripción: Una fotografía de una novia y un novio besándose en un campo. Elementos detectados por la aplicación: •Persona •Persona Descripción del usuario: Una novia muy grande que le está dando un beso a su marido el día de su boda en un campo. Respuesta del usuario: Margarita dice que hay una persona muy grande que ocupa la mayoría de la imagen. La aplicación únicamente dice persona, por ello no puede identificar quién es quién ni tampoco si hay más personas en la fotografía.
6.2. Desarrollo de la evaluación 43 6.2.3. Primera imagen del tercer usuario (figura 6.4) Figura 6.4: Primera imagen de Gema. Descripción: Una fotografía de un joven golpeando una pelota de tenis con una raqueta de tenis. Elementos detectados por la aplicación: •Raqueta de tenis. •Pelota deportiva. •Pelota. Descripción del usuario: Un niño dándole a una pelota con una raqueta de tenis con la derecha. Respuesta del usuario: Gema dice que la descripción está muy bien pero no dice donde está. Si está en un campo de tenis, en un parque o en un frontón. Describe la figura central pero no describe el fondo. 6.2.4. Segunda imagen del primer usuario (figura 6.5) Descripción: Una fotografía de una mujer sentada en una mesa con un portátil.
50 Capítulo 6. Evaluación Evaluadores Cuestionario SUS Alberto Gema Marga Me gustaría usar esta aplicación frecuentemente 3 4 4 Considero que la aplicación es innecesariamente compleja 3 1 2 Considero que la aplicación es fácil de usar 4 4 4 Considero necesario el apoyo de personal experto para poder utilizar esta aplicación 2 1 2 Considero que las funciones de la aplicación están bien integradas 3 3 4 Considero que la aplicación presenta muchas contradicciones 4 4 2 Imagino que la mayoría de las personas aprenderían a usar esta aplicación rápidamente 4 4 4 Considero que el uso de esta aplicación es tedioso 3 1 2 Me sentí muy confiado/a al usar la aplicación 4 4 4 Necesité saber bastantes cosas antes de poder empezar a usar esta aplicación 2 2 2 Puntuación de cuestionario SUS: Víctor Alberto: Respuestas enunciados impares: (3 + 4 + 3 + 4 + 4) = 18 – 5 = 13 Respuestas enunciados pares: (3 + 2 + 4 + 3 + 2) = 25 – 14 = 11 Cálculo del SUS: (13 + 11) * 2,5 = 60 Gema: Respuestas enunciados impares: (4 + 4 + 3 + 4 + 4) = 19 – 5 = 14 Respuestas enunciados pares: (1 + 1 + 4 + 1 + 2) = 25 – 9 = 16 Cálculo del SUS: (14 + 16) * 2,5 = 75 Marga: Respuestas enunciados impares: (4 + 4 + 4 + 4 + 4) = 20 – 5 = 15 Respuestas enunciados pares: (2 + 2 + 2 + 2 + 2) = 25 – 10 = 15 Cálculo del SUS: (15 + 15) * 2,5 = 75 Cálculo final: (60 + 75 + 75) / 3 = 70 El rango de puntuaciones del cuestionario SUS va desde 0 hasta 100. Nuestro resultado ha sido de 70, lo que nos indica una buena usabilidad percibida por parte de los usuarios.
6.4. Conclusiones de evaluación 51 6.4. Conclusiones de evaluación Tras haber escuchado a los tres usuarios, hemos obtenido una serie de puntos positivos y negativos de nuestra aplicación. Los puntos positivos son los siguientes: En términos generales, les ha resultado una aplicación sencilla. Nos comentaron que únicamente con los dos botones era suficiente para ellos. No necesitan de gran ayuda extra para usar la aplicación. La navegación por la imagen a partir del tacto les ha resultado útil. Les ha permitido, en algunas de las imágenes, tener una idea mental de la posición de los objetos. Por ejemplo, en la imagen 6.9 Marga fue capaz de situar a los policías y al coche. Por lo general, las descripciones generadas por nuestra aplicación proporcionan suficiente información. Las descripciones también dan información de las acciones. Por ejemplo, en la imagen 6.4 la descripción te informa de que es un niño jugando a la pelota. No necesitan un conocimiento previo complejo para usar la aplicación. Simplemente con una pequeña introducción de la aplicación les fue suficiente. Los puntos negativos son: Algunos objetos mencionados en la descripción no son localizables navegando por la imagen. Por ejemplo, en la imagen 6.6 la descripción te menciona el cielo azul y el campo. Sin embargo, en ningún momento se localiza el cielo o el campo cuando navegan por la imagen. No hay diferenciación entre personas, especies de animales u objetos. Cuando en las imágenes hay más de una persona, más de un animal de la misma especie o más de un objeto igual, el identificador es el mismo. Por ejemplo, en la imagen 6.3 tanto el novio como la novia tienen el identificador de “persona”. Falta de detalle cuando navegan por la imagen. Además de lo comentado en el punto anterior, los objetos que aparecen únicamente tienen un identificador asignado, es decir, no hay una pequeña descripción de estos que les permita a los usuarios tener un idea más detallada. Poca información del entorno. Resaltaron la importancia de conocer en todas las imágenes el entorno. Por ejemplo en la imagen 6.5, la descripción no da ningún detalle del lugar en el que está la persona. Si el usuario navega fuera de la imagen, no tiene información de que no está navegando en ella. Muchas veces tocaban en zonas de la pantalla donde no había nada. Al no haber un mensaje que les informara de que en esa zona no se encontraba la imagen, se desorientaban y perdían el tiempo.
52 Capítulo 6. Evaluación Cuando dos objetos se superponen, se pierde información de uno de ellos. Por ejemplo, en la imagen 6.10 es muy complicado localizar el sofá a partir de la navegación, ya que estaban superpuestos el perro y la persona con el sofá. El tiempo de carga de las imágenes es bastante elevado. Nos dimos cuenta de que tenían que esperar demasiado para escuchar la descripción y empezar a navegar por la imagen. En la imagen 6.8, se identifican los guisantes como brócoli. Aunque solo sucediera con esa imagen de las que probamos, nos lleva a pensar que es posible que suceda en otras imágenes en las que no hemos probado. Tiene problemas de compatibilidad con la funcionalidad TalkBack de Android. Tuvimos que desactivarlo ya que TalkBack impedía que se escuchase la descripción.
Cap´ ıtulo 7 Conclusiones y Trabajo Futuro En este capítulo se recogen las conclusiones obtenidas tras la realización y el análisis del proyecto, y se proponen algunas tareas de trabajo futuro. 7.1. Conclusiones Nuestro propósito con este proyecto era desarrollar una aplicación móvil capaz de generar descripciones y de identificar objetos en una imagen. Para conseguirlo, hemos intentado cumplir de la mejor manera todos los objetivos que nos planteamos al inicio de este proyecto. Entendimos que para que esta aplicación fuera realmente útil, lo más importante era centrarnos en lo que necesitaba el usuario. Para ello, entrevistamos a tres personas con discapacidad visual, les mostramos nuestra idea de proyecto y les hicimos una serie de preguntas relacionadas con el manejo de imágenes en su día a día. Con esto pudimos recoger ideas y algunos requisitos que debería tener una buena aplicación de este estilo. Considerando que uno de nuestros elementos fundamentales es la descripción de una imagen nos pusimos en contacto con una experta en audiodescripción para que nos explicase cuales son los elementos indispensables en una descripción. Con esto finalizamos con la captura de requisitos de nuestros usuarios. La parte más tediosa de este proyecto ha ido relacionada con la investigación de técnicas de inteligencia artificial. Al no tener ninguna experiencia previa en este mundo, lo primero que hicimos fue tratar de entender qué es un dataset, qué es un modelo de entrenamiento y para qué sirven. Tras este proceso de entendimiento, pasamos al proceso de exploración donde encontramos plataformas muy útiles donde poder experimentar con modelos de entrenamiento de detección de objetos y de descripción de imágenes. Tras estudiar y experimentar con dichas técnicas, tuvimos que aprender conceptos básicos del lenguaje de Python ya que nuestro servidor está implementado mediante código Python. Para conseguir integrar los modelos de entrenamiento en nuestro servidor decidimos utilizar la herramienta de Google Colaborate para comprobar su correcto funcionamiento. Para conseguir que la interfaz de nuestra aplicación sea sencilla y accesible, ini53
54 Capítulo 7. Conclusiones y Trabajo Futuro cialmente observamos las interfaces de las aplicaciones descritas anteriormente y tras la evaluación, conseguimos información sobre algunas mejoras que podrían implementarse en un futuro. 7.2. Trabajo Futuro Una vez finalizado el desarrollo de nuestra aplicación, hemos observado una serie de aspectos que se podrían mejorar: Desarrollar una versión de esta aplicación para dispositivos iOS, ya que la mayoría de las personas invidentes utilizan dispositivos móviles con este sistema operativo. Añadir una funcionalidad que permita reconocer objetos y colores a tiempo real a través de la cámara del móvil. De esta manera los usuarios podrían elegir con más precisión la ropa que van a vestir o comprar. Tras numerosas pruebas, hemos comprobado que el tiempo de espera del servidor a la hora de cargar la imagen, generar la descripción y detectar los objetos es de 25 segundos aproximadamente. Una posible mejora se conseguiría utilizando modelos más rápidos u optimizando el código del servidor. Añadir la posibilidad de seleccionar el idioma y la velocidad de reproducción de la descripción y del nombre del objeto. Tras haber tenido la evaluación de la aplicación, como hemos explicado anteriormente, hemos obtenido una serie de posibles mejoras por parte de los usuarios que probaron la aplicación. Dichas mejoras son las siguientes: En lugar de seleccionar la imagen a través de la galería, añadir una funcionalidad que les permita cambiar de imagen deslizando hacia la derecha o izquierda o deslizando hacia arriba o abajo. Emitir un mensaje de aviso cuando el usuario toca en una zona de la pantalla donde no hay imagen. Esto les permite una mayor agilidad a la hora de navegar por ella. Diferenciación de personas, animales y objetos. Si en una imagen hay varios animales de una misma especie, varias personas o varios objetos iguales, asignarles un identificador distinto para cada uno de ellos. Situar los botones en las esquinas inferiores, ya que la mayoría de las aplicaciones que utilizan tienen los botones situados en esas posiciones y les es más fácil utilizar las esquinas como referencia. Descripciones más detalladas cuando navegan por la imagen. Es importante que los elementos de la imagen tengan, además de un identificador, un pequeña descripción que les ayude a tener una idea más clara.
7.2. Trabajo Futuro 55 Mejorar la aplicación para que reconozca los entornos tanto en la descripción como en la navegación de la imagen. Implementar una funcionalidad que te dicte los objetos existentes en la imagen de izquierda a derecha o de arriba a abajo.
Cap´ ıtulo 8 Conclusions and Future Work In this chapter, the conclusions obtained from the execution and analysis of the project are presented, and some tasks for future work are proposed. 8.1. Conclusions Our purpose with this project was to develop a mobile application capable of generating descriptions and identifying objects in an image. To achieve this, we have tried to fulfill all the objectives we set at the beginning of this project in the best possible way. We understood that in order for this application to be truly useful, the most important thing was to focus on what the user needed. To do this, we interviewed three visually impaired individuals, showed them our project idea, and asked them a series of questions related to handling images in their daily lives. This allowed us to gather ideas and some requirements that a good application of this kind should have. Considering that one of our fundamental elements is image description, we contacted an expert in audio description to explain to us what essential elements a description should include. With this, we concluded the collection of user requirements. The most tedious part of this project has been related to researching artificial intelligence techniques. Since we had no previous experience in this field, the first thing we did was try to understand what a dataset is, what a training model is, and what they are used for. After this process of understanding, we moved on to the exploration phase where we found very useful platforms to experiment with object detection and image description training models. After studying and experimenting with these techniques, we had to learn basic concepts of the Python language since our server is implemented using Python code. To integrate the training models into our server, we decided to use the Google Colaboratory tool to verify their proper functioning. To make the interface of our application simple and accessible, we initially observed the interfaces of previously described applications and, through evaluation, obtained information about some improvements that could be implemented in the future. 57
58 Capítulo 8. Conclusions and Future Work 8.2. Future Work Once the development of our application was completed, we identified several aspects that could be improved: Develop a version of this application for iOS devices, as the majority of visually impaired individuals use mobile devices with this operating system. Add functionality that allows real-time object and color recognition through the mobile camera. This way, users could more accurately choose the clothes they are going to wear or buy. After numerous tests, we have found that the server’s waiting time for image loading, description generation, and object detection is approximately 25 seconds. One possible improvement would be to use faster models or optimize the server code. Add the ability to select the language and playback speed of the description and object name. After evaluating the application, as explained earlier, we received a series of possible improvements from the users who tested the application. The suggested improvements are as follows: Instead of selecting the gallery button and then selecting the image, have a swipe system from right to left or from top to bottom to switch images. Display a warning message when the user taps on an area of the screen where there is no image. This allows them to navigate more efficiently. Differentiate between people, animals, and objects. When the user selects, for example, one person and then selects another, there should be a distinction between them. If one of the people is a contact stored on their phone, it would be very useful for the application to recognize that specific person. Place the buttons in the lower corners, as most applications they use have buttons positioned in those locations, making it easier for them to use the corners as reference points. Provide more detailed descriptions when navigating through the image. It is important for the elements in the image to have not only an identifier but also a brief description to help users have a clearer understanding. Improve the application to recognize environments both in the description and image navigation. Implement functionality that dictates the objects in the image from left to right or top to bottom.
Cap´ ıtulo 9 Contribuciones Personales En este capítulo se contará con detalle el trabajado realizado por cada integrante de este proyecto. En la Sección 9.1 se detalla el trabajo realizado por Matías Amor Sanz, en la Sección 9.2 el de Alberto Chaves López y por último, en la Sección 9.3 el de Víctor Ruiz Gea. 9.1. Matías Amor Sanz En el momento de decidir qué Trabajo de Fin de Grado elegir para finalizar mis estudios en ingeniería de computadores, buscaba un TFG que me permitiera ayudar a personas que lo necesitan. Además, que me permitiera realizarlo en grupo. Por ello, antes de elegir el tema, hablamos los tres para confirmar que íbamos a realizar el TFG juntos. Una vez acordado que lo íbamos a hacer grupal, observamos todas las posibilidades que teníamos. Sabíamos que queríamos realizar una aplicación, sobretodo, una aplicación que ayudase a los demás. Por ello, terminamos eligiendo este TFG. Nos pusimos de objetivo realizar una aplicación que fuera útil para, en este caso, las personas con discapacidad visual. Nos faltaban conocimientos básicos de dataset y descripciones de imágenes, por lo que los tutores nos indicaron por dónde debíamos empezar. Los tres comenzamos buscando información general para, posteriormente, ponerla en común. Además, hice un pequeño curso de Python, ya que en la carrera no había hecho nada de Python y era un lenguaje que íbamos a necesitar posteriormente. Busqué información básica de dataset que nos fueran a ser útiles. Raquel y Alberto nos comentaron la funcionalidad del dataset COCO, por lo que procedimos a informarnos sobre este. A continuación, buscamos sobre aplicaciones similares, para tener una idea inicial de nuestra aplicación y poder tener un punto de partida en la implementación. Una vez supimos el entorno de trabajo junto con una idea general de dataset, descripciones de imágenes y aplicaciones similares, nuestros tutores nos indicaron que el siguiente paso era capturar los requisitos necesarios para la aplicación. Raquel y Alberto consiguieron que tres personas pertenecientes a la ONCE se ofrecieran para realizarles una entrevista. El objetivo de esta entrevista era capturar unos requisitos y obtener toda la información posible sobre su uso diario del teléfono móvil. Preparamos una serie de preguntas junto con el material necesario para realizar la 59
66 Capítulo 9. Contribuciones Personales Hugging Face para encontrar modelos de entrenamiento que pudiesen detectar objetos y generar descripciones de una imagen. Mi investigación dentro de Roboflow se basó en ir probando diferentes modelos de detección de objetos con diferentes imágenes para poder comparar las respuestas de cada uno y elegir el modelo más eficiente. Como se comenta en la arquitectura de esta memoria, con los modelos de entrenamiento de Roboflow no conseguíamos abarcar todo tipo de objetos existentes. Esto me obligo a buscar otras alternativas. Dentro de Hugging Face realice el mismo procedimiento que en Roboflow encontrando dos modelos que se acercaban a lo que queríamos conseguir con nuestras dos funcionalidades, un modelo para la generación de descripciones y otro para la detección de todo tipo de objetos. El siguiente paso era integrar estos dos modelos en nuestro servidor. Me resultó mucho más sencillo gracias a que en la plataforma de Hugging Face cada modelo viene con su propia documentación de cómo implementarlo mediante lenguaje Python. Una vez entendida la forma de implementarlo, utilicé Google Colaborate para probar su correcto funcionamiento. Además me sirvió para saber que librerías debía instalar en el propio servidor para poder utilizar dichos modelos. Tras integrar los modelos en el servidor, me di cuenta que sus salidas estaban en inglés, por lo que tuve que hacer una búsqueda dentro de Hugging Face de un modelo de entrenamiento que fuese capaz de traducir de inglés a español y conectarlo a las salidas de los anteriores modelos. Finalmente, dentro de cada endpoint tuve que guardar la información necesaria de la salida del modelo en un JSONObject para enviársela a nuestra aplicación por cada petición realizada. Aplicación: Ayudé a mis compañeros Matías y Alberto a conseguir nuestro primer paso que fue conseguir que la aplicación se comunicase con nuestro servidor y que pudiese cargar imágenes desde la galería del dispositivo móvil. Una vez establecida la conexión entre el servidor y la aplicación, procesé las respuestas del servidor en la aplicación para cada imagen enviada. Para que el usuario pudiese tocar la pantalla y que la aplicación reconociera que objeto es, utilicé la lista de objetos devuelta por el servidor e implementé una función que dependiendo de las coordenadas donde tocase el usuario te devolviese el nombre del objeto. Para esta funcionalidad tuvimos un gran problema con la diferencia de tamaño entre la imagen enviada al servidor y el espacio donde se iba a mostrar la imagen en la aplicación. Ya que las posiciones de los objetos que detectaba el servidor se veían distorsionadas por el cambio de tamaño. Para solucionarlo tuve que redimensionar todas las coordenadas de cada objeto según la relación entre sus tamaños. Integramos un lector de voz para que narrase la descripción y el objeto pulsado por el usuario. En cuanto al diseño de esta aplicación, me encargué de introducir un cuadro donde se muestra la imagen y dos figuras que actúan como botones, uno para cargar la imagen y otro para escuchar de nuevo la descripción generada. Una vez terminada la implementación del proyecto, nuestros tutores Raquel y
9.3. Víctor Ruiz Gea 67 Alberto se pusieron en contacto con las personas con discapacidad visual que entrevistamos para poder hacer una evaluación de nuestra aplicación. Nos reunimos para hacer el diseño de esta evaluación donde tuvimos que buscar cada uno 3 imágenes válidas para que utilizasen nuestros usuarios y pensar preguntas para comprobar cuanta información de la imagen han sido capaces de obtener.
Bibliografía Carion, N.,Massa, F.,Synnaeve, G.,Usunier, N.,Kirillov, A. yZagoruyko, S. End-to-end object detection with transformers. CoRR, vol. abs/2005.12872, 2020. Gil, L. E. O.,Guzmán, F. V.,Zayas, E. V.,Ortega, I. G. yGuzmán, J. F. A. Evaluación de la usabilidad y accesibilidad de las aplicaciones lookout y seeing ai para dispositivos móviles en personas con discapacidad visual: Un estudio descriptivo (usability and accessibility evaluation of lookout and seeing ai applications for mobile devices in people with visual impairment: A descriptive study). Pistas Educativas, vol. 44(143), 2022. Jain, S. M. Hugging face. En Introduction to Transformers for NLP: With the Hugging Face Library and Models to Solve Problems, páginas 51–67. Springer, 2022. Li, J.,Li, D.,Xiong, C. yHoi, S. Blip: Bootstrapping language-image pre-training for unified vision-language understanding and generation. 2022. Lin, T.-Y.,Maire, M.,Belongie, S.,Bourdev, L.,Girshick, R.,Hays, J., Perona, P.,Ramanan, D.,Zitnick, C. L. yDollár, P. 2015. Redmon, J.,Divvala, S.,Girshick, R. yFarhadi, A. You only look once: Unified, real-time object detection. En Proceedings of the IEEE conference on computer vision and pattern recognition, páginas 779–788. 2016. Rombach, R.,Blattmann, A.,Lorenz, D.,Esser, P. yOmmer, B. Highresolution image synthesis with latent diffusion models. En Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), páginas 10684–10695. 2022. 69