Project

General

Profile

Wiki » History » Version 11

Benjamin Poblete, 01/11/2021 08:16 PM

1 1 Benjamin Poblete
h1. *+Wiki "Reconocimiento de Transporte Publico"+*
2 1 Benjamin Poblete
3 1 Benjamin Poblete
h2. *+Escenario problema y solución del proyecto+*
4 1 Benjamin Poblete
5 2 Benjamin Poblete
!https://cdn.discordapp.com/attachments/763105223303626753/773279057226891304/problema.png!
6 2 Benjamin Poblete
7 2 Benjamin Poblete
!https://cdn.discordapp.com/attachments/763105223303626753/773279057848303646/solucion.png!
8 1 Benjamin Poblete
9 1 Benjamin Poblete
h2. *+Objetivo general:+*
10 1 Benjamin Poblete
11 1 Benjamin Poblete
h3. Mejorar la capacidad de las personas con discapacidad visual o problemas para distinguir de manera independiente el transporte público que necesitan.
12 1 Benjamin Poblete
13 1 Benjamin Poblete
h2. *+Objetivos específicos:+*
14 1 Benjamin Poblete
15 1 Benjamin Poblete
h3. 
16 1 Benjamin Poblete
* Recopilar información sobre aplicaciones para gente ciega.
17 1 Benjamin Poblete
* Realizar algoritmos para la creación de una aplicación para Smartphone. 
18 1 Benjamin Poblete
* Diseñar la interfaz de la aplicación para Smartphone.
19 1 Benjamin Poblete
* Realizar pruebas de funcionamiento.
20 1 Benjamin Poblete
* Integrar y entregar el producto final.
21 1 Benjamin Poblete
22 1 Benjamin Poblete
h2. *+Suposiciones:+*
23 1 Benjamin Poblete
24 1 Benjamin Poblete
h3. 
25 1 Benjamin Poblete
* 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.
26 1 Benjamin Poblete
* Se asume que las personas solo tienen problemas de carácter visuales o analfabetismo.
27 1 Benjamin Poblete
28 1 Benjamin Poblete
29 1 Benjamin Poblete
h2. *+Restricciones:+*
30 1 Benjamin Poblete
31 1 Benjamin Poblete
* La persona debe estar en un paradero
32 1 Benjamin Poblete
* El Smartphone debe apuntar directamente al tablero del transporte publico
33 1 Benjamin Poblete
* La aplicación funcionará en un Smartphone que tenga una cámara
34 1 Benjamin Poblete
* La aplicación debe tener un traductor de texto para que se produzca el sonido
35 1 Benjamin Poblete
* El proyecto debe ser realizado en el plazo impuesto por el profesor.
36 1 Benjamin Poblete
* La aplicación debe poder ser usada por una persona con problema visual o analfabeta.
37 1 Benjamin Poblete
38 1 Benjamin Poblete
39 1 Benjamin Poblete
h2. *+Roles:+*
40 1 Benjamin Poblete
41 1 Benjamin Poblete
|_.Rol|_.Descripción|_.Personal|
42 1 Benjamin Poblete
|Jefe de Proyecto|Es la persona que coordina, organiza y representa al equipo de trabajo|Benjamín Poblete|
43 1 Benjamin Poblete
|Diseñador|Personal encargado de diseñar la interacción apk-usuario.|Cristian Fritis, Angelina Orozco, Benjamín Poblete|
44 1 Benjamin Poblete
|Programador|Personal encargado de realizar la programación.|Cristian Fritis, Angelina Orozco, Benjamín Poblete|
45 1 Benjamin 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|
46 1 Benjamin Poblete
47 1 Benjamin Poblete
h2. *+Planificación de estimaciones de costo:+*
48 1 Benjamin Poblete
49 1 Benjamin Poblete
|_.Recurso|_.Valor|_.Cantidad|
50 1 Benjamin Poblete
|Notebooks|$800.000|3|
51 1 Benjamin Poblete
|Smartphone|$400.000|3|
52 1 Benjamin Poblete
|Software de desarrollo Python|De libre acceso|3|
53 1 Benjamin Poblete
|Microsoft Office|$40.000|3|
54 1 Benjamin Poblete
|Sueldo total de cada integrante|$1.000.000|3|
55 1 Benjamin Poblete
56 1 Benjamin Poblete
|_.Costo total del proyecto|$6.720.000|
57 1 Benjamin Poblete
58 1 Benjamin Poblete
h2. *+Planificación de recursos humanos+*
59 1 Benjamin Poblete
60 1 Benjamin Poblete
h3. 
61 4 Benjamin Poblete
* Diseñador:3
62 4 Benjamin Poblete
* Programador: 3
63 4 Benjamin Poblete
* Documentador: 3
64 4 Benjamin Poblete
* Jefe de Proyecto: 1
65 5 Benjamin Poblete
66 5 Benjamin Poblete
h2. *+Diseño de interfaz de usuario+*
67 5 Benjamin Poblete
68 5 Benjamin Poblete
69 5 Benjamin Poblete
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.
70 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798307533352992849/unknown.png!
71 5 Benjamin Poblete
72 7 Benjamin Poblete
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 
73 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798306752063864852/unknown.png!
74 5 Benjamin Poblete
75 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798306201107562527/unknown.png!
76 5 Benjamin Poblete
77 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798306231080189992/unknown.png!
78 5 Benjamin Poblete
79 8 Benjamin Poblete
En caso de que se elija la opción 1, el celular comunicará al usuario su ubicación actual 
80 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798306276948836362/unknown.png!
81 1 Benjamin Poblete
82 1 Benjamin Poblete
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 
83 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798306306536243231/unknown.png!
84 1 Benjamin Poblete
85 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798307136237076530/unknown.png!
86 8 Benjamin Poblete
87 8 Benjamin Poblete
h2. *+Analisis de la arquitectura+*
88 8 Benjamin Poblete
89 8 Benjamin Poblete
h3. *+Especificación de requerimientos+*
90 8 Benjamin Poblete
91 8 Benjamin Poblete
|_.Requerimientos funcionales|_.Descripción|
92 8 Benjamin Poblete
|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.|
93 8 Benjamin Poblete
|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.|
94 8 Benjamin Poblete
|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.|
95 8 Benjamin Poblete
|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.|
96 8 Benjamin Poblete
97 8 Benjamin Poblete
h3. *+Lista de requerimientos no funcionales+*
98 8 Benjamin Poblete
99 8 Benjamin Poblete
|_.Requerimientos no funcionales|_.Descripción|
100 8 Benjamin Poblete
|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.|
101 8 Benjamin Poblete
|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.|
102 8 Benjamin Poblete
103 8 Benjamin Poblete
h3. *+Descripción de la arquitectura+*
104 8 Benjamin Poblete
105 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798307705512525875/unknown.png!
106 9 Benjamin Poblete
107 9 Benjamin Poblete
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.
108 1 Benjamin Poblete
109 1 Benjamin Poblete
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.
110 1 Benjamin Poblete
111 1 Benjamin Poblete
3.	El usuario interactúa con la aplicación mediante comandos de voz, es así como esta puede determinar cómo actuar.
112 1 Benjamin Poblete
113 1 Benjamin Poblete
4.	Utiliza la cámara para analizar los tableros de este tipo y los traduce a texto, para luego ser emitidos como audio.
114 1 Benjamin Poblete
115 1 Benjamin Poblete
5.	Utiliza el sensor GPS para analizar la posición del usuario y así dar a conocer la ubicación de este.
116 10 Benjamin Poblete
117 10 Benjamin Poblete
h3. *+Modelo del caso de uso+*
118 10 Benjamin Poblete
119 11 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798329057431257088/unknown.png!
120 10 Benjamin Poblete
121 10 Benjamin Poblete
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.
122 10 Benjamin Poblete
123 10 Benjamin Poblete
h3. *+Diagrama de clases+*
124 10 Benjamin Poblete
125 10 Benjamin Poblete
!https://cdn.discordapp.com/attachments/634108789062369290/798304424145059850/unknown.png!
126 10 Benjamin Poblete
127 10 Benjamin Poblete
h3. *+Plan de integración+*
128 10 Benjamin Poblete
129 10 Benjamin Poblete
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:
130 10 Benjamin Poblete
131 10 Benjamin Poblete
•	Comunicación entre la aplicación y el usuario
132 10 Benjamin Poblete
133 10 Benjamin Poblete
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.
134 10 Benjamin Poblete
135 10 Benjamin Poblete
•	Identificación de la posición del usuario
136 10 Benjamin Poblete
137 10 Benjamin Poblete
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.
138 10 Benjamin Poblete
139 10 Benjamin Poblete
•	Identificación del tablero de la micro
140 10 Benjamin Poblete
141 10 Benjamin Poblete
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.