Wiki » History » Version 10
« Previous -
Version 10/11
(diff) -
Next » -
Current version
Benjamin Poblete, 01/11/2021 06:55 PM
Wiki "Reconocimiento de Transporte Publico"¶
Escenario problema y solución del proyecto¶
Objetivo general:¶
Mejorar la capacidad de las personas con discapacidad visual o problemas para distinguir de manera independiente el transporte público que necesitan.¶
Objetivos específicos:¶
- Recopilar información sobre aplicaciones para gente ciega.
- Realizar algoritmos para la creación de una aplicación para Smartphone.
- Diseñar la interfaz de la aplicación para Smartphone.
- Realizar pruebas de funcionamiento.
- Integrar y entregar el producto final.
Suposiciones:¶
- Se asume que las personas con problemas visuales o de analfabetismo que utilicen la aplicación tienen un celular con características modernas, es decir, con cámara frontal y sensores como el GPS.
- Se asume que las personas solo tienen problemas de carácter visuales o analfabetismo.
Restricciones:¶
- La persona debe estar en un paradero
- El Smartphone debe apuntar directamente al tablero del transporte publico
- La aplicación funcionará en un Smartphone que tenga una cámara
- La aplicación debe tener un traductor de texto para que se produzca el sonido
- El proyecto debe ser realizado en el plazo impuesto por el profesor.
- La aplicación debe poder ser usada por una persona con problema visual o analfabeta.
Roles:¶
Rol | Descripción | Personal |
---|---|---|
Jefe de Proyecto | Es la persona que coordina, organiza y representa al equipo de trabajo | Benjamín Poblete |
Diseñador | Personal encargado de diseñar la interacción apk-usuario. | Cristian Fritis, Angelina Orozco, Benjamín Poblete |
Programador | Personal encargado de realizar la programación. | Cristian Fritis, Angelina Orozco, Benjamín Poblete |
Redactor de informes | Se encargan de la documentación del proyecto, de esta forma, realizan las bitácoras del proyecto, formulan los informes requeridos y se encargan de entregarlos en los plazos establecidos. | Cristian Fritis, Angelina Orozco, Benjamín Poblete |
Planificación de estimaciones de costo:¶
Recurso | Valor | Cantidad |
---|---|---|
Notebooks | $800.000 | 3 |
Smartphone | $400.000 | 3 |
Software de desarrollo Python | De libre acceso | 3 |
Microsoft Office | $40.000 | 3 |
Sueldo total de cada integrante | $1.000.000 | 3 |
Costo total del proyecto | $6.720.000 |
---|
Planificación de recursos humanos¶
- Diseñador:3
- Programador: 3
- Documentador: 3
- Jefe de Proyecto: 1
Diseño de interfaz de usuario¶
Al momento de iniciar la aplicación aparecerá un mensaje en la pantalla, a la vez que el celular comunica que se debe presionar la pantalla.
Una vez se presione la pantalla, el celular dará dos opciones para que el usuario elija, estas opciones deben ser seleccionadas comunicándole al celular a través de la voz del usuario
En caso de que se elija la opción 1, el celular comunicará al usuario su ubicación actual
Por otro lado, si se elige la opción 2, el celular preguntará que micro o colectivo se busca y, luego, empezará a utilizar la cámara y procederá a escanear los letreros de las micros o colectivos
Analisis de la arquitectura¶
Especificación de requerimientos¶
Requerimientos funcionales | Descripción |
---|---|
1.La aplicación debe comunicarse con su usuario emitiendo sonido. | Debido a que la aplicación que se está diseñando va dirigida para usuarios con problemas a la vista, esta debe dar a entender sus solicitudes al usuario mediante mensajes de audio. |
2. La aplicación debe de utilizar la cámara del celular para captar imágenes. | La aplicación debe utilizar la cámara del celular para escanear los tableros de las micros y/o colectivos. |
3. La aplicación debe poder comunicar la ubicación del usuario. | La aplicación debe utilizar el GPS del celular y emitir mediante un mensaje de audio al usuario su ubicación. |
4. La aplicación debe entender lo que el usuario le comunica. | La aplicación debe entender los comandos de voz que el usuario comunica. |
Lista de requerimientos no funcionales¶
Requerimientos no funcionales | Descripción |
---|---|
1. Límite del uso de la aplicación | La aplicación solo podrá usarse con conexión a internet debido a la necesidad de ingresar a un servicio web para obtener la dirección del usuario. |
2. Límite de zona | La aplicación solo podrá usarse en la ciudad de Arica, Chile debido a que el reconocimiento de imagen esta optimizado para los tableros de los transportes de la ciudad. |
Descripción de la arquitectura¶
1. Interfaz de aplicación con la que el usuario debe interactuar, esta mostrará los mensajes en pantalla al mismo tiempo que emitirá audios con el mismo texto descrito en estos.
2. Smartphone que utiliza una aplicación con la cual el cliente, o usuario, puede conocer su ubicación o puede escanear los tableros de las micros o colectivos para diferenciar a cada uno de estos.
3. El usuario interactúa con la aplicación mediante comandos de voz, es así como esta puede determinar cómo actuar.
4. Utiliza la cámara para analizar los tableros de este tipo y los traduce a texto, para luego ser emitidos como audio.
5. Utiliza el sensor GPS para analizar la posición del usuario y así dar a conocer la ubicación de este.
Modelo del caso de uso¶
En la figura anterior se puede constatar como el usuario puede interactuar con la aplicación y viceversa. De este modo, la aplicación sabrá los datos que necesita obtener, obtendrá información del celular y, finalmente, el usuario escuchara la información obtenida por la aplicación.
Diagrama de clases¶
Plan de integración¶
El proyecto consiste en la identificación de los tableros de las micros, para lograr este objetivo, se ha dividido el trabajo de la aplicación en varios puntos:
• Comunicación entre la aplicación y el usuario
Para lograr esto, se ha utilizado las librerías Kivy, gtts, y speech_recognition, la primera permite crear la parte grafica de la aplicación, esta es una librería para python de código abierto usada para el desarrollo de aplicaciones, por otro lado, la librería gtts y función SoundLoader (proveniente de la librería kivy) son utilizadas para la comunicación de la aplicación con el usuario, pues gtts genera un archivo mp3 de audio a partir de texto y, luego, SoundLoader se encarga de reproducir estos archivos, esto ha servido como parte de la interfaz de la aplicación y para comunicar información pertinente para el cliente. Finalmente, la librería speechrecognition permite que el usuario comunique información a la aplicación, permitiendo a esta última que el audio generado por el usuario sea traducido a texto en la aplicación.
• Identificación de la posición del usuario
Este apartado se ha logrado gracias a las librerías plyer y geopy, la primera ha servido para obtener la latitud y longitud del usuario utilizando el sensor GPS del dispositivo y, la segunda, para obtener la información exacta de donde se encuentra el cliente, pues utiliza varios servicios web de geo codificación.
• Identificación del tablero de la micro
Para cumplir con este objetivo se han utilizado las librerías cv2, kivy, re y pyteseract. La librería cv2 permite la manipulación de las imágenes y videocaptura, este se ha utilizado para aumentar la precisión del escaneo de imágenes, la librería kivy se ha utilizado para usar la cámara del dispositivo, la librería re sirve para la utilización de expresiones irregulares, en este caso se utilizó para reconocer patrones, luego, la librería pyteseract sirve para el reconocimiento óptico de los frames de los caracteres.