UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS CARRERA DE...
Transcript of UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS CARRERA DE...
I
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMATICAS Y FISICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN
URBANA DE LA CIUDAD DE GUAYAQUIL DIRIGIDO A LA
TRANSPORTACIÓN, ENFOCADO AL DESARROLLO DE UNA APLICACIÓN
ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL CONTEO
DE LOS TIPOS DE VEHICULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
PROYECTO DE TITULACIÓN
Previa a la obtención del Título de:
INGENIERO EN SISTEMAS COMPUTACIONALES
AUTOR:
NATHALY MARINA HERRERA GONZALEZ
DANIEL ALFREDO CHAMAIDAN ASENCIO
TUTOR:
ING. ALCIDES REYES GUERRA MSC.
GUAYAQUIL – ECUADOR
2018 – 2019
II
APROBACION DEL TUTOR
En mi calidad de Tutor del trabajo de titulación, “plataforma tecnológica para
contribuir a la planeación urbana de la ciudad de Guayaquil dirigido a la
transportación, enfocado al desarrollo de una aplicación Android usando técnicas
de visión artificial para el conteo de los tipos de vehículos que pueden circular en
un punto geo referencial“ elaborado por los Sres. Nathaly Marina Herrera
González y Daniel Alfredo Chamaidan Asencio, de la Carrera de Ingeniería en
Sistemas Computacionales, Facultad de Ciencias Matemáticas y Físicas de la
Universidad de Guayaquil, previo a la obtención del Título de Ingeniero en
Sistemas, me permito declarar que luego de haber orientado, estudiado y
revisado, la Apruebo en todas sus partes.
Atentamente
Ing. Alcides Reyes Guerra Msc.
TUTOR
III
DEDICATORIA
Yo Nathaly Herrera dedico este
proyecto a Dios por brindarme la
fortaleza, perseverancia y
oportunidad de culminar mis estudios
universitarios, a mis padres: Franklin
Herrera y Cinthya González,
hermano y a mis abuelos: Marina
Pérez, José Herrera y Rita Guillen
por estar siempre presente con mis
estudios, por sus sabios consejos por
su apoyo moral y monetario.
Yo Daniel Chamaidan dedico este
triunfo a mi familia en especial a mi
madre quien me dio el apoyo para
seguir adelante, sus sinceros deseos y
consejos que me han acompañado en
esta travesía de estudio Universitario,
ha sido mi motor y ancla, a mis
hermanos: Mónica, Olmedo y
Shirley que me han dado el ánimo
necesario para seguir adelante, mi tía
Martha, todos ellos me han brindado
muchos ánimos y fortaleza.
IV
AGRADECIMIENTO
Yo Nathaly Marina Herrera González
agradezco el presente proyecto a Dios por
haber sido mi motor y guía a seguir
adelante, dedico a mis padres Franklin
Herrera y Cinthya González por haberme
apoyado moral y monetariamente durante
todos los años de estudio, por brindarme
su amor incondicional siempre, dedico a
mi hermano por brindarme la paciencia y
comprensión, agradezco a mis abuelos
Marina Pérez y José Herrera por estar al
pendiente de mis estudios, agradezco a mi
compañero de tesis y amigo Daniel
Chamaidan por haber prevalecido junto a
mí en todos los semestres compartidos y
en la elaboración de tesis, por extenderme
una mano y un cariño sincero y por ultimo
agradezco a mis amigos por todas las
sonrisas, llantos y anécdotas compartidas
juntos.
Yo Daniel Alfredo Chamaidan Asencio
agradezco primeramente a Dios porque
sin el hoy no estaría donde estoy,
agradezco a mi madre quien ha formado
en mi un carácter de lucha para vencer los
obstáculos que se me han presentado en el
camino, a mis hermanos Mónica, Olmedo
y Shirley quienes son esas personas que
puedo llamar familia solo tengo palabras
de gratitud por todo, a mi tía Martha quien
por su cariño y apoyo se ha convertido
como segunda madre, a mis sobrinos,
primos son como mis hermanos, a los
hermanos en cristo que también me han
animado con sus consejos y oraciones, les
agradezco por esa amistad sincera, y por
ultimo a mis amigos que se han convertido
parte de mi vida que me han ayudado y
brindado ánimos de perseverancia en
especial a mi amiga Nathaly que he hecho
una amistad solida que me ha apoyado y
apostado por mi para hacer la tesis juntos.
V
TRIBUNAL PROYECTO DE TITULACIÓN
Ing. Gustavo Ramírez Aguirre, M.Sc.
DECANO DE LA FACULTAD
CIENCIAS MATEMATICAS Y FISICAS
Ing. Inelda Anabelle Martillo
DIRECTOR DE LA CARRERA DE
INGENIERIA EN SISTEMAS
COMPUTACIONALES
Ing. Yelena Chávez Msc.
PROFESOR REVISOR DEL ÁREA
TRIBUNAL
Ing. Alcides Reyes Guerra Msc.
PROFESOR TUTOR DEL
PROYECTO DE TITULACIÓN
Ab. Juan Chávez Atocha, Esp.
SECRETARIO
VI
CERTIFICADO DE ACEPTACIÓN DEL TUTOR
En mi calidad de Tutor del proyecto de titulación, nombrado con el Consejo
Directivo de la Facultad de Ciencias Matemáticas y Físicas de la
Universidad de Guayaquil.
CERTIFICO:
Que he analizado el Proyecto de Titulación presentado por los estudiantes Nathaly Marina Herrera González y Daniel Alfredo Chamaidan Asencio, como requisito previo para optar por el título de Ingeniero en Sistemas Computacionales cuyo problema es:
“Plataforma tecnológica para contribuir a la planeación urbana de la ciudad de
Guayaquil dirigido a la transportación, enfocado al desarrollo de una aplicación
Android usando técnicas de visión artificial para el conteo de los tipos de vehículos
que pueden circular en un punto geo referencial”
Considero aprobado el trabajo en su totalidad.
Presentado por:
Herrera González Nathaly Marina C.C Nº 0929024172
Chamaidan Asencio Daniel Alfredo C.C Nº 0940672140
Tutor: Ing. Alcides Reyes Guerra, M,Sc.
Guayaquil, septiembre del 2018
VII
DECLARACIÓN EXPRESA
“La responsabilidad del contenido de este Proyecto de Titulación, me corresponden exclusivamente; y el patrimonio intelectual de la misma a la UNIVERSIDAD DE GUAYAQUIL”
HERRERA GONZÁLEZ NATHALY MARINA C. I. 0929024172
CHAMAIDAN ASENCIO DANIEL ALFREDO C. I. 0940672140
VIII
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
Autorización para Publicación de Proyecto de Titulación en Formato Digital
1. Identificación del Proyecto de Titulación Nombre Alumno: Nathaly Herrera González - Daniel Chamaidan Asencio
Dirección: Coop. 28 de mayo Mz.4 Sl.5 – Coop. Sergio Toral 2 etapa Mz.12 Sl.8
Teléfono: 0999675773 - 0967379850 E-mail: [email protected] [email protected]
Facultad: Ciencias Matemáticas y Físicas
Carrera: Ingeniería en Sistemas Computacionales
Proyecto de titulación al que opta:
Profesor tutor: Ing. Alcides Reyes Guerra, Msc.
Título del Proyecto de titulación: Plataforma tecnológica para contribuir a la planeación
urbana de la ciudad de Guayaquil dirigido a la transportación, enfocado al desarrollo de
una aplicación Android usando técnicas de visión artificial para el conteo de los tipos de
vehículos que pueden circular en un punto geo referencial.
Tema del Proyecto de Titulación: Congestión vehicular, visión artificial, identificación, conteo, Tensorflow, Redes neuronales convolucionales, Android, ubicación geo referencial
2. Autorización de Publicación de Versión Electrónica del Proyecto de Titulación
A través de este medio autorizo a la Biblioteca de la Universidad de Guayaquil y a la Facultad de Ciencias Matemáticas y Físicas a publicar la versión electrónica de este Proyecto de titulación.
Publicación electrónica:
Inmediata Después de 1 año
Firma Alumno:
Daniel Alfredo Chamaidan Asencio Nathaly Marina Herrera González
3. Forma de envío: El texto del proyecto de titulación debe ser enviado en formato Word, como archivo .Doc. O .RTF y .Puf para PC. Las imágenes que la acompañen pueden ser: .gif, .jpg o .TIFF.
DVDROM CDROM
IX
ÍNDICE GENERAL
CARTA DE ACEPTACIÓN DEL TUTOR II
DEDICATORIA III
AGRADECIMIENTO IV
TRIBUNAL PROYECTO DE TITULACIÓN V
CERTIFICADO DE ACEPTACIÓN DEL TUTOR Vl
DECLARACIÓN EXPRESA Vll
AUTORIZACION DE PUBLICACION DEL PROYECTO Vlll
ÍNDICE GENERAL IX
ÍNDICE DE CUADROS Xl
ÍNDICE DE GRÁFICOS XIl
RESUMEN vi
ABSTRACT vii
INTRODUCCIÓN 1
CAPITULO I – EL PROBLEMA 6
Ubicación del problema en un contexto 7
Situación conflicto 8
Causa del problema, consecuencia 9
Delimitación del problema 9
Planteamiento 9
Evaluación del problema 11
Objetivo General Objetivo Específico
11
Justificación e Importancia 13
Metodología del Proyecto 13
CAPITULO II- MARCO TEÓRICO 17
Antecedentes 17
Fundamentación teórica Ventajas de visión artificial Niveles de Procesamiento Filtros de procesado Algoritmo de Segmentación Algoritmo de Identificación Clasificador Deep Learning Ventajas de CNN Herramientas de desarrollo Lenguajes de programación Metodología de desarrollo
21 22 23 24 27 28 29 35 36 39 46
Fundamentación Legal 50
Pregunta Científica a contestarse 57
Definiciones Conceptuales 58
CAPÍTULO III – PROPUESTA TECNOLÓGICA 60
Análisis de Factibilidad Factibilidad Operacional Factibilidad Técnica Factibilidad Legal Factibilidad Económica
61 62 63 64 65
Etapas de la Metodología de Proyectos Requerimientos
66-76
X
Entregables del Proyecto Levantamiento de ambiente
77-96 97-101
CAPÍTULO IV – RESULTADOS CONCLUSIONES Y RECOMENDACIONES 102
Informe de Aseguramiento de la Calidad 104
Conclusiones Recomendaciones
105-106 107
BIBLIOGRAFÍA
ANEXOS MANUAL DE USUARIO MANUAL TÉCNICO
109-113 115 129
XI
ÍNDICE DE CUADROS CUADRO 1
CAUSAS Y CONSECUENCIAS DEL PROBLEMA .............................................................. 8
CUADRO 2
DELIMITACIÓN DEL PROBLEMA ................................................................................. 9
CUADRO 3
BASES LEGALES Y ARTÍCULOS ..................................................................................... 64
CUADRO 4
PRESUPUESTO DEL PROYECTO ................................................................................... 65
CUADRO 5
PERSONAS RESPONSABLES DEL PROYECTO ............................................................ 66
CUADRO 6
REQUERIMIENTO RQF-01 / RECONOCIMIENTO EN TIEMPO REAL DEL VEHICULO..... 68
CUADRO 7
REQUERIMIENTO FUNCIONAL RQF - 02 / CONTEO AUTOMATICO ................. 69
CUADRO 8
REQUERIMIENTO FUNCIONAL RQF-03 / ALMACENAMIENTO DE DATOS ....... 69
CUADRO 9
REQUERIMIENTO FUNCIONAL RQF-04 / REPORTE DE CONTEO ................... 69
CUADRO 10
REQUERIMIENTO FUNCIONAL RQF-05 / LOCALIZACIÓN .............................. 69
CUADRO 11
Table 10 REQUERIMIENTO NO FUNCIONAL RQNF-01 / RESPUESTA RÁPIDA ........70
CUADRO 12
REQUERIMIENTO NO FUNCIONAL RQNF-02 / USABILIDAD ........................... 70
CUADRO 13
REQUERIMIENTO NO FUNCIONAL RQNF-03 / MANTENIBILIDAD ................... 70
CUADRO 14
REQUERIMIENTO NO FUNCIONAL RQNF-04 / PORTABILIDAD ...................... 70
CUADRO 15
REQUERIMIENTO NO FUNCIONAL RQNF-05 / EXTENDIBILIDAD ................... 70
CUADRO 16
RESUMEN DE ENCUESTA ......................................................................................... 79
CUADRO 17
VARIABLES PARA CALCULO DE MUESTRA .................................................................. 80
CUADRO 18
NIVEL DE CONFIANZA .............................................................................................. 81
CUADRO 19
DATOS PARA ACLCULAR LA MUESTA… ....................................................................... 81
CUADRO 20
FORMATO DE JUCIO DE EXPERTO ......................................................................... 87
CUADRO 21
MATRIZ DE ACEPTACIÓN ....................................................................................... 103
CUADRO 22
INFORME DE ASEGURAMIENTO DE CALIDAD ......................................................104
XII
ÍNDICE DE GRÁFICOS GRÁFICO 1
ALGORITMOS Y TECNICAS UTILIZADAS EN I. A ....................................................................... 24
GRÁFICO 2
TRANSFORMACIÓN ARITMÉTICA LÓGICA ............................................................................... 25
GRÁFICO 3
TRANSFORMACIONES GEOMÉTRICAS ........................................................................................... 25
GRÁFICO 4
TRANSFORMACIÓN DE HISTOGRAMA ..................................................................................... 26
GRÁFICO 5
DETECCIÓN DE BORDES EN GRIS ............................................................................................. 27
GRÁFICO 6
ALGORITMO DE SEGMENTACION ............................................................................................. 27
GRÁFICO 7
CUADRO COMPARATIVO ENTRE ALGORITMOS DE IDENTIFICACIÓN DE OBJETOS ........... 28
GRÁFICO 8
DETECCIÓN DE VEHÍCULOS ............................................................................................................. 29
GRÁFICO 12
ARQUITECTURA DE CLASIFICADOR CNN ................................................................................. 32
GRÁFICO 13
CONVOLUCION DE CLASIFICADOR CNN .................................................................................. 33
GRÁFICO 14
REDUCCION DE CLASIFICADORES CNN ......................................................................................... 34
GRÁFICO 15
CLASIFICADOR CNN MULTICAPA… .......................................................................................... 34
GRÁFICO 16
COMPARACION DE TECNOLOGIAS ........................................................................................... 39
GRÁFICO 17
VENTAJAS Y DESVENTAJAS DE PYTHON ....................................................................................... 40
GRÁFICO 18
METODO RECYCLERVIEW ................................................................................................................. 43
GRÁFICO 19
ESQUEMA BÁSICO DEL PATRÓN MVC ..................................................................................... 45
GRÁFICO 20
METODOLOGÍA DE PROTOTIPO ................................................................................................ 46
GRÁFICO 22
ETAPAS DE LA METODOLOGIA DEL PROTOTIPO .................................................................... 47
GRÁFICO 23
DIAGRAMA DE CASO DE USO / REGISTRO DE USUARIO ....................................................... 71
GRÁFICO 24
DIAGRAMA DE CASO DE USO / INICIO DE SESION ........................................................... 72
GRÁFICO 25
DIAGRAMA DE CASO DE USO / PERFIL ADMINISTRADOR ..................................................... 72
GRÁFICO 26
DIAGRAMA DE CASO DE USO / PERFIL USUARIO ................................................................... 73
GRÁFICO 27
XIII
VISTA DE INFRAESTRUCTURA ...................................................................................... 73
GRÁFICO 29
DIAGRAMA DE SECUENCIA ......................................................................................74
GRÁFICO 30
DIAGRAMA COMPLETO DE CASOS DE USO ................................................................. 75
GRÁFICO 31
DIAGRAMA DE PROCESO ......................................................................................... 76
GRÁFICO 32
FORMATO DE PROPUESTA ...................................................................................... 78
GRÁFICO 33
ECUACIÓN DE LA MUESTRA ................................................................................... 80
GRÁFICO 35
PREGUNTA 1 .............................................................................................................. 82
GRÁFICO 36
PREGUNTA 2 .............................................................................................................. 83
GRÁFICO 37
PREGUNTA 3 .............................................................................................................. 84
GRÁFICO 38
PREGUNTA 4 .............................................................................................................. 84
GRÁFICO 39
PREGUNTA 5 .............................................................................................................. 85
GRÁFICO 40
PREGUNTA 6 .............................................................................................................. 86
GRÁFICO 41
PREGUNTA 1 .............................................................................................................. 91
GRÁFICO 42
PREGUNTA 2 .............................................................................................................. 91
GRÁFICO 43
PREGUNTA 3 ............................................................................................................. 92
GRÁFICO 44
PREGUNTA .................................................................................................................92
GRÁFICO 45
PREGUNTA ................................................................................................................ 93
GRÁFICO 46
PREGUNTA ................................................................................................................ 93
GRÁFICO 47
PREGUNTA ................................................................................................................ 94
GRÁFICO 48
PREGUNTA ................................................................................................................ 94
GRÁFICO 49
PREGUNTA ................................................................................................................ 95
GRÁFICO 50
PREGUNTA ................................................................................................................ 95
GRÁFICO 51
PREGUNTA ................................................................................................................ 96
GRÁFICO 52
PREGUNTA ................................................................................................................ 96
XIV
GRÁFICO 56
CREACIÓN DEL PATRÓN MVC ................................................................................................... 99
GRÁFICO 58
CLASES PARA LA CONEXIÓN CON LAS API's .......................................................................... 100
GRÁFICO 59
SELECCIÓN DE FUNCIONABILIDAD (3) ................................................................................... 101
GRÁFICO 60
INICIO DE SESIÓN (2)...................................................................................................... 101
GRÁFICO 61
REGISTRO DE USUARIO (1) ...................................................................................................... 101
GRÁFICO 62
ROL USUARIO ............................................................................................................................ 101
GRÁFICO 64
Realización de Juicio de experto, validación y aceptación del proyecto ....................... 110
GRÁFICO 65
Realización de Juicio de Experto ................................................................................. 110
GRÁFICO 66
Realización de Juicio de Experto ................................................................................. 111
GRÁFICO 65
REUNIÓN CON LOS VIGILANTES DE TRÁNSITO .................................................................... 111
GRÁFICO 66
Presupuesto del Proyecto ........................................................................................... 112
GRÁFICO 67
Cronograma del proyecto ........................................................................................... 112
XV
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERIA EN SISTEMAS COMPUTACIONALES
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A
LA PLANEACIÓN URBANA DE LA CIUDAD DE
GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN,
ENFOCADO AL DESARROLLO DE UNA APLICACIÓN
ANDROID USANDO TÉCNICAS DE VISIÓN
ARTIFICIAL PARA EL CONTEO DE LOS TIPOS DE
VEHICULOS QUE PUEDEN CIRCULAR EN UN PUNTO
GEO REFERENCIAL
Proyecto de Titulación que se presenta como requisito para
optar por el título de
INGENIERO EN SISTEMAS COMPUTACIONALES
Autor/a: HERRERA GONZÁLEZ NATHALY MARINA C.I.0929024172
Autor/a: CHAMAIDAN ASENCIO DANIEL ALFREDO
C.I.0940672140
Tutor: ING. ALCIDES REYES GUERRA, M. Sc
Guayaquil, febrero del 2019
XVI
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS
MATEMATICAS Y FISICAS CARRERA DE INGENIERIA EN
SISTEMAS COMPUTACIONALES
Plataforma tecnológica para contribuir a la planeación urbana de la
ciudad de Guayaquil dirigido a la transportación, enfocado al
desarrollo de una aplicación Android usando técnicas de visión
artificial para el conteo de los tipos de vehículos que pueden circular
en un punto geo referencial
Autores: Nathaly Herrera y Daniel Chamaidan
Tutor: Ing. Alcides Reyes Guerra, Msc.
Resumen El proyecto está enfocado en contribuir a una plataforma tecnológica implementando el uso de técnicas de visión artificial para favorecer a la planeación urbana dirigido a la problemática de tráfico vehicular que afecta a todo el Ecuador principalmente la ciudad de Guayaquil, como una posible solución al problema se desarrolló e implemento los algoritmos de idenficacion y conteo que muestra la cantidad de los tipos de vehículos transitados y su ubicación geo referencial brindando cifras útiles para su respectivo análisis con la finalidad de disminuir o eliminar la congestión vehicular. Una de las metodologías fue la cuantitativa la cual se hizo uso de distintos métodos de validación, comparación, análisis e implementación para la selección del mejor especificado. El algoritmo por utilizar fue redes neuronales convolucionales que realiza el filtrado de imágenes mediante etiquetas para su respectivo reconocimiento e identificación de los tipos de vehículos lo cual para reducir la complejidad del proyecto se hace uso de la técnica Tensorflow. Fue implementado en Java con el entorno de desarrollo Android Studio el cual provee facilidades de uso e implementación de sus funciones, librerías etc.
Palabras Claves: Congestión vehicular, visión artificial, Algoritmo, Tensorflow, redes neuronales convolucionales, GPS, Ubicación Geo referencial.
XVII
UNIVERSIDAD DE GUAYAQUIL FACULTAD DE CIENCIAS
MATEMATICAS Y FISICAS CARRERA DE INGENIERIA EN
SISTEMAS COMPUTACIONALES
Plataforma tecnológica para contribuir a la planeación urbana de la
ciudad de Guayaquil dirigido a la transportación, enfocado al
desarrollo de una aplicación Android usando técnicas de visión
artificial para el conteo de los tipos de vehículos que pueden circular
en un punto geo referencial
Autores: Nathaly Herrera y Daniel Chamaidan
Tutor: Ing. Alcides Reyes Guerra, Msc.
summary
The project is focused on contributing to a technological platform by implementing the use of artificial vision techniques to favor urban planning aimed at the problem of vehicular traffic that affects all of Ecuador, mainly the city of Guayaquil, as a possible solution to the problem. developed and implemented the identification and counting algorithms that show the number of types of vehicles trafficked and their geographical reference location providing useful figures for their respective analysis in order to reduce or eliminate traffic congestion. One of the methodologies was quantitative, which made use of different methods of validation, comparison, analysis and implementation for the selection of the best specified. The algorithm to be used was convolutional neural networks that perform the filtering of images by means of labels for their respective recognition and identification of the types of vehicles which, in order to reduce the complexity of the project, makes use of the Tensorflow technique. It was implemented in Java with the Android Studio development environment which provides facilities for use and implementation of its functions, libraries, etc.
Key words: Traffic congestion, artificial vision, Algorithm, Tensorflow, convolutional neural networks, GPS, Geo referential location.
XVIII
1
INTRODUCCIÓN
El presente trabajo de titulación está enfocado a brindar una posible solución
al problema de congestionamiento vehicular que existe en la actualidad, este
inconveniente es reflejado en todos los países del mundo principalmente en los
países latinoamericanos, el Ecuador es uno de los más afectados donde el tráfico
es ocasionado con gran frecuencia en la región costa, sierra, oriente e insular
Galápagos fundamentalmente en la ciudad de Guayaquil que pertenece a la región
costera, con el pasar de los años ha aumentado en gran cantidad, lo cual es
ocasionado por el alto crecimiento de demanda de automóviles y ciudadanos que
adquieren uno nuevo, así como también accidentes de tránsito, mala
sincronización de semáforos, poco personal de vigilantes, falta de colaboración
por parte de la población que incumplen las leyes, carencia de información sobre
la cantidad de vehículos circulados en una vía en específico o la falta de
herramientas, entre otras. Cualquiera de estas posibles causas trae consigo un
sin número de consecuencias las más relevantes son: incremento de robos,
atrasos a los trabajadores y estudiantes, contaminación ambiental y auditiva, entre
otras.
Royo (2017) Menciona que:
El congestionamiento vehicular está clasificado en dos variables (oferta y
demanda) donde menciona que en la oferta viene incluida la capacidad, el estado
físico de las vías transitadas con gran frecuencia, así como también la tecnología
implementada para el control del tráfico como la mejoría de la sincronización de
semáforos u el aumento de carriles en calles específicas. Por el lado de la
demanda hace referencia a la cantidad, velocidad de vehículos, así como también
los horarios, espacios de estacionamientos y las rutas establecidas por las
autoridades de tránsito. (p. 1)
Estas variables han servido de ayuda para que las autoridades de tránsito
puedan hacer un diagnóstico y llegar a la conclusión de que el inconveniente es
ocasionado por la cantidad de vehículos que supera a la cantidad de calles, sin
embargo, ante esto no es posible implementar una medida de disminución de
vehículos. Con el pasar de los años las autoridades han implementado la
2
construcción de más carriles obteniendo como resultado negatividad en la
solución del congestionamiento vehicular (Royo, 2017).
El tráfico vehicular es un problema presentado a diario en casi todos los países
del mundo, como por ejemplo Panamá en el año 2017 culmino el proyecto “sistema
de tránsito rápido masivo METRO” este proyecto fue desarrollado e implementado
con la finalidad de eliminar el congestionamiento vehicular, sin embargo, según
estudios desarrollados verifican que para el año 2019 y 2020 este problema seguirá
existente y en aumento. Royo (2017). La construcción del metro fue creada para
que los ciudadanos tengan un medio más para transportarse y así de esa manera
disminuir la demanda de ciudadanos transportándose en sus automóviles privados
o públicos, pero a pesar de ello esto no fue satisfactorio, por motivo que el
porcentaje en ciertas calles que presenta ese inconveniente aumentan
notoriamente.
Otras de las causas que genera el embotellamiento vehicular es el mal estado
físico de las vías, los estacionamientos de vehículos en zonas no autorizadas,
todas estas causas han provocado costos elevados tanto para la ciudadanía, así
como también en inversión de obras poco necesarias para la resolución del
problema (Royo, 2017).
Según estudios realizados mediante el método tradicional mencionan que “en
la ciudad de Guayaquil el parque automotor tiene aproximadamente 350.000
carros, la tasa de crecimiento anual oscila entre el 10 y el 15%” (Ciudadanía,2017,
p.2). Por esta razón es fundamental efectuar un sistema automatizado como una
herramienta para las organizaciones de tránsito que les ayude a la toma de
decisiones para disminuir o eliminar por completo la congestión vehicular, por
motivo que hasta el momento todas las aplicaciones que han realizado no han
obtenido el resultado esperado ocasionando que el tráfico vehicular aumente en
gran proporción.
El sistema elaborado pertenece a uno de los módulos que integra el proyecto
FCI de la Universidad de Guayaquil carrera Ingeniería en Sistemas
Computacionales, este titulado como “LessTraffic” actualmente se encuentra en
su segunda etapa, lo cual está conformado por varios módulos como son: la
elaboración de las API’s, administración de base de datos, análisis de
3
sentimientos en redes sociales para determinar situaciones anómalas según
sectores, entre otros. LessTraffic tiene como objetivo brindar una solución al
problema “congestión vehicular “presentado en el Ecuador principalmente en la
ciudad de Guayaquil.
¿Cuál sería una posible solución que contribuya a la planeación urbana de
la ciudad de Guayaquil enfocado en la transportación para disminuir el
tráfico vehicular en las calles más transitadas de la ciudad?
Como una posible solución sería la utilización del proyecto propuesto, lo cual su
función es desarrollar una aplicación Android que realice el conteo automático de
los tipos de vehículos que pueden circular en un punto geo referencial, mediante
el uso de técnicas de visión artificial.
El desarrollo e implementación del proyecto se realiza exclusivamente en la Av.
Francisco de Orellana, por ser una de las vías con alta circulación en la ciudad de
Guayaquil donde se ocasiona frecuentemente el embotellamiento vehicular
principalmente en las horas pico, la calle Francisco de Orellana es una de las vías
más aledañas a zonas escolares, laborales y comerciales.
La aplicación móvil es realizada en el entorno Android Studio bajo el lenguaje
de programación Java + XML mediante el uso de técnicas de visión artificial
(framework Tensorflow, clasificador CNN) para el reconocimiento e identificación
de los tipos de vehículos, conteo automático y ubicación geo referencial, así como
también conlleva la integración de Apis que permite una buena comunicación con
la base de datos PostgreSQL.
Para la realización del entrenamiento de imágenes será implementado en el
lenguaje de programación PYTHON, lo cual servirá como una herramienta de
apoyo para la base de Android obteniendo la disminución de recursos y tiempos
estimado.
Dentro del reconocimiento e identificación de los tipos de vehículos que realiza
la aplicación móvil se implementó el clasificador CNN (Redes neuronales
4
convolucionales), constan de múltiples capas diseñadas para requerir un
preprocesamiento pequeño, este clasificador aprende usando filtros en las
imágenes, toma un cuadro y lo aplica sobre la imagen, es decir cada CNN busca
partes de la imagen y donde un filtro coincida con el contenido de la imagen lo
reconoce mediante un cuadro rodeando el objeto, este algoritmo sirve como
soporte que usará Tensorflow, es decir la técnica de preparación de fotografías va
a ser como el cerebro del sistema en donde se define las coordenadas necesarias
para identificar cualquier tipo de vehículo en este caso (autos, motos, buses,
bicicletas, camiones).
Cabe recalcar que la integración de las API’s en el proyecto previamente será
elaborada por parte de uno de los módulos del proyecto LessTraffic, lo cual
servirán como base de comunicación entre la aplicación móvil desarrollada y la
base de datos utilizada en todos los módulos pertenecientes al FCI.
Todo lo mencionado está conformado en cuatro capítulos que son:
Capítulo 1: El problema, aquí se muestra la problemática, el propósito de la
necesidad de la elaboración del proyecto de titulación, así como también sus
nodos críticos, las causas y consecuencias del problema, objetivos, justificación e
importancia del desarrollo de la investigación, la metodología implementada según
las normas definidas para el desarrollo de software, prácticamente he aquí el
corazón del proyecto que necesita ser revisado con cautela para su respectiva
aprobación.
Capítulo 2: Marco Teórico, en esta división se detalla a profundidad la
investigación realizada haciendo referencia a otros temas similares al proyecto y
a otros autores especializados que previamente han realizado el estudio del
problema presentado, también se da a conocer los antecedentes para dar sustento
al proyecto y algunas definiciones básicas de las implementaciones en el proyecto
para dar un mejor entendimiento al jurado de tesis u otros.
5
Capítulo 3: Propuesta Tecnológica, aquí se detalla los respectivos análisis de
factibilidades, así como también las herramientas y procedimientos utilizados para
brindar credibilidad a la elaboración del proyecto, es decir en esta sección se
especifican todos los entregables realizados para facilitar la comprensión del
proyecto.
Capítulo 4: En esta sección se muestra los resultados como evidencia del
cumplimiento de los objetivos, requisitos del proyecto, adicional se presenta las
conclusiones y recomendaciones del proyecto, este fragmento es la parte
fundamental para la sustentación de este, se implementarán las bibliografías para
evitar el plagio de información, los anexos como pruebas que todo lo mencionado
es realizado por los estudiantes expositores.
6
CAPÍTULO I
EL PROBLEMA
Planteamiento del Problema
Ubicación del Problema en un Contexto
La congestión vehicular es un problema presentado en varios países
latinoamericanos principalmente en el Ecuador afectando la condición de vida
de los habitantes, a la formación de las ciudades, Guayaquil por ser una de
las localidades con mayor demanda de transporte público y privado dan
suceso a que se ocasione el tráfico en las vías más transitadas expresamente
en horas pico, el cual es ocasionado por la mala sincronización de semáforos,
el incremento diario de vehículos, falta de información o herramientas que no
poseen las autoridades de tránsito para poder implementar alguna medida
con la finalidad de disminuir este problema. Este embotellamiento vehicular
se da en el norte, centro y sur de la ciudad de Guayaquil, estas zonas son
circuladas frecuentemente, la mayoría de sus calles son de una sola vía
provocando que el tráfico aumente.
Lino (2018) Afirma que:
Las vías notorias en las que refleja permanentemente este problema son
las avenidas aledañas a zonas escolares, laborales y comerciales, como son:
calle Esmeralda, Rumichaca, Av. 9 de octubre, Av. Francisco de Orellana,
debido a la cantidad de locales comerciales, abundancia de ciudadanos que
se transportan por estas vías para poder llegar a su destino. Tales
congestionamientos también se desplazan a otros puntos como las avenidas
25 de Julio, Isidro Ayora, Rodríguez Bonnin, entre otras. (p.3)
Los ciudadanos son los afectados habituales, por motivo que genera que
llegue atrasado a sus destinos, en muchas ocasiones brinda ventaja a los
7
asaltadores para que puedan delinquir a las personas que se encuentran
dentro de sus automóviles en la espera de avanzar y salir de aquel tráfico.
Las autoridades en los últimos años han implementado medidas, como
construcción de puentes, túneles, integración del sistema de transporte
urbano “metrovia”, aumento de semáforos, cambios en rutas vehiculares, para
eliminar el impacto de este problema, obteniendo como resultado poca
disminución en el congestionamiento vehicular.
Una posible opción para la solución de la problemática es el uso de la
tecnología por lo que se opta por la aplicación de técnicas de visión artificial
que permiten realizar la identificación de los tipos de vehículos y el conteo
automático del objeto identificado, para facilitar a las autoridades de tránsito
el análisis, entendimiento de las causas, consecuencias de los fenómenos
que se presentan, obteniendo como resultado una mejor toma de decisiones
con respecto a la circulación vehicular.
Según estudios realizados mediante el método tradicional mencionan que
“en la ciudad de Guayaquil el parque automotor tiene aproximadamente
350.00 carros, la tasa de crecimiento anual oscila entre el 10 y el 15%”
(Ciudadanía,2017, p.2).
Situación Conflicto Nudos Críticos
El problema es manifestado con mayor frecuencia en el norte y sur de la
ciudad de Guayaquil, generalmente en calles de una sola vía con dos carriles,
el congestionamiento vehicular como consecuencia trae consigo otros tipos
de inconvenientes a nivel poblacional y ambiental como por ejemplo
incrementa la posibilidad de robos a los ciudadanos, genera que los
trabajadores o estudiantes lleguen atrasados a sus trabajos o clases, la
probabilidad de accidentes o multas aumenta, entre otros.
8
El embotellamiento vehicular es causado por la falta de cooperación por
parte de las personas que no toman en consideración vías, rutas alternativas,
también es ocasionado por la falta de información u herramientas
automatizadas por parte de las autoridades de tránsito, provocando cierre de
avenidas, contaminación ambiental y auditiva, violencia o accidentes
vehiculares, entre otros.
Causas y Consecuencias del Problema
La siguiente tabla mostrará las causas y consecuencias del problema:
CUADRO 1 CAUSAS Y CONSECUENCIAS DEL PROBLEMA
CAUSAS CONSECUENCIAS
Alta demanda de vehículos
públicos y privados
Contaminación auditiva y ambiental.
Feriados o días festivos Aumento de población
transportándose en vehículos públicos
o privados a lugares dentro y fuera de
la ciudad de Guayaquil
Jornadas laborales y estudiantiles Genera que estudiantes y trabajadores
se trasladen en un mismo horario.
Poca información sobre la
cantidad de vehículos que
transitan en una vía en específico.
Exceso de vehículos transitados en
vías de dos carriles.
Embotellamiento vehicular Genera que la población tome mucho
más tiempo en llegar a su destino.
Educación Vial: incumplimiento
de las leyes de tránsito
Accidentes, multas, prisión.
Falta de personal de vigilantes de
tránsito
Mala regularización vehicular.
Falta o deterioro de herramientas
vehiculares
Mala sincronización de semáforos,
incremento de violencia o hurtos.
Elaborado por: Daniel Chamaidán y Nathaly Herrera
Fuente: Datos de Investigación
9
Delimitación del Problema
La siguiente tabla mostrará la delimitación del problema:
CUADRO 2. DELIMITACIÓN DEL PROBLEMA
CAMPO Transito
AREAS Desarrollo de Software
ASPECTO Tráfico Vehicular
TEMA Plataforma tecnológica para contribuir a la planeación urbana
de la ciudad de Guayaquil dirigido a la transportación,
enfocado al desarrollo de una aplicación Android usando
técnicas de visión artificial para el conteo de los tipos de
vehículos que pueden circular en un punto geo referencial.
Elaborado por: Daniel Chamaidán y Nathaly Herrera
Fuente: Proyecto de Titulación
Formulación del Problema
¿Cómo el desarrollo de un prototipo de una aplicación Android con técnicas
de visión artificial que realice el conteo de los tipos de vehículos circulados en
un punto geo referencial puede contribuir a la planeación urbana en la ciudad
de Guayaquil y así brindar una posible solución al congestionamiento
vehicular?
Evaluación del Problema
Los aspectos generales de evaluación son:
Delimitado: Para la evaluación del problema se necesita la integración de las
API’s elaboradas en el siguiente modulo del proyecto lessTraffic, estará
basado en una vía especifico de la ciudad de Guayaquil que es donde existe
10
gran magnitud de vehículos transitados principalmente en horas pico, el
proyecto tendrá una duración total de 6 meses.
Evidente: El congestionamiento vehicular se evidencia principalmente en el
Ecuador, la ciudad de Guayaquil particularmente en la Av. Francisco de
Orellana (centro) que es una calle de dos vías que tiene intersecciones entre
la calle Alberto Borges Nájera y Pompilio Ulloa Reyes, este tráfico es
generado en horas pico como las 6 am, 12 am, 6 pm y 8 pm que es la hora
donde más frecuentan los vehículos por ser vías aledañas a sectores de
trabajos, estudiantiles y comerciales.
Relevante: Para identificar y brindar una posible solución mediante la
aplicación móvil es de suma importancia el uso de técnicas de visión artificial
para la identificación y conteo de los tipos de automóviles en una de las vías
que presenta mayor porcentaje de congestionamiento vehicular, la integración
de las API’s es también importante en el proyecto porque servirá como
sustento para la comunicación con la base de datos del proyecto lessTraffic,
en la técnica Tensorflow es necesario realizar el entrenamiento de imágenes
y el filtrado del mismo mediante el clasificador CNN (Convolutional neural net)
para definir coordinadas e identificar cualquier tipo de objeto como lo son los
vehículos (autos, motos, buses, bicicletas y camiones).
Identifica los productos esperados: Define con claridad la problemática
presentado en la actualidad en calles con alta demanda de vehículos y
ciudadanos trasladándose en ella, precisa la cantidad de tipos de vehículos
circulados en una vía específica de la ciudad de Guayaquil, determina la
ubicación Geo referencial mediante el GPS de la aplicación.
Claro: Es redactado con el objetivo de la fácil comprensión del problema
identificado, así como su posible solución mediante la implementación de la
11
aplicación móvil, es decir que con tal solo leerlo habrá un buen entendimiento
de la importancia, justificación conclusión y recomendación del proyecto.
Variables: Están bien definidas Las variables que son clave para el desarrollo
de la investigación como: ubicación geo referencial, cantidad de vehículos
circulados, patrones de identificación, entrenamiento de imágenes, técnicas
de visión artificial, integración de API’s.
Contextual: El congestionamiento vehicular afecta a la sociedad, el estudio
de las causas y consecuencia de tal puede ser realizado por cualquier usuario
ya sea a nivel educativo o científico para brindar una brecha de posibles
soluciones al problema identificado.
OBJETIVOS
Objetivo General
Diseñar y desarrollar un prototipo de sistema en Android mediante las técnicas
de visión artificial para realizar el conteo de los tipos de vehículos que circulan
por las vías más transitadas en la ciudad de Guayaquil.
Objetivos Específicos
• Analizar e implementar en Android la técnica de visión artificial de
Tensorflow mediante el clasificador de redes neuronales
convolucionales (CNN) para el reconocimiento, identificación y conteo
automático de los tipos de vehículos: autos, motos, buses, bicicletas y
camiones.
12
• Integrar la interfaz de las API´s rest para interactuar con la base de
datos elaboradas en uno de los módulos del proyecto LessTraffic para
la aplicación móvil.
• Integrar la tecnología GPS para detectar la ubicación Geo referencial
de un punto específico de la ciudad de Guayaquil por donde transitan
los vehículos.
• Evaluar el desempeño del sistema simulado a un escenario real de la
ciudad de Guayaquil.
Alcances del problema
• Uso de técnicas de visión artificial para el reconocimiento de los tipos
de vehículos (autos, motos, buses, bicicletas y camiones) que circulan
en un punto específico de la ciudad de Guayaquil.
• Realizar conteo de los tipos de vehículos reconocidos e identificados
mediante la grabación de video en un dispositivo móvil Android.
• Indicar la ubicación geo referencial de la calle bastante transitada de
la ciudad de Guayaquil.
• La identificación de vehículos solo será de acuerdo con la forma y
posición para su posterior conteo automático.
• La aplicación móvil funcionará en cualquier dispositivo móvil con
sistema operativo Android versión 6 en adelante y versión de api 21
en adelante.
• No realizará análisis sobre los parámetros obtenidos de la cantidad
total de vehículos transitados.
• Para demostrar el alcance de la aplicación en un escenario real se va
a realizar en la Av. Francisco de Orellana entre sus intersecciones
Alberto Nájera y Pompilio Ulloa por ser una de las vías que presenta
congestionamiento vehicular.
13
Justificación e importancia
Justificación
• El desarrollo de este módulo busca determinar la cantidad de
vehículos que circulan en determinado sector donde la congestión
vehicular es muy alta.
• Se podrá determinar los tipos de vehículos transitados para brindar
una mejor clasificación de vehículos existentes.
• Se podrá brindar una herramienta eficaz y eficiente a las autoridades
de tránsito, para que así pueda realizar un mejor estudio e
implementar mejores soluciones en la toma de decisiones.
Importancia
• Contribuir con una herramienta para una posible solución al problema
de tráfico vehicular que está presente en determinado sector de la
ciudad de Guayaquil.
• Se logrará obtener un mejor control de tránsito en las vías más
congestionadas.
• Se dejará abierta la posibilidad de futuros análisis y desarrollo en otros
sistemas a realizar, ampliando la muestra revisada.
Metodología del proyecto
Metodología de desarrollo:
Como metodología de desarrollo de software especializado al proyecto
se ha implementado la metodología del prototipo modular o también
conocido como modelo de desarrollo evolutivo, debido a sus características
progresivas porque permite que el proyecto esté en constante evolución
según las nuevas necesidades o requerimientos que tengan las
organizaciones antes de crear
14
una autentica solución final, dando una amplia brecha de crecimiento en el
sistema, reflejando una muestra a la realidad (Rosarino, 2018). Este tipo de
metodología brinda la facilidad de resolver conjuntos de problemas que
ocurren en otros modelos.
1. Supuestos y restricciones
Supuestos
• Para la implementación del sistema se debe de usar los lenguajes de
programación Java y Python.
• Los datos obtenidos son guardados en la base de datos PostgreSQL.
• Necesita de API’s para la comunicación entre la aplicación y la base
de datos.
• Para el reconocimiento e identificación de autos, motos, buses,
bicicletas, camiones se usa técnicas de visión artificial (clasificador
CNN) mediante el procedimiento de capas filtradas sobre las
imágenes.
• Para realizar el filtro de imágenes debe ser desarrollado en una
máquina virtual bajo el lenguaje de programación Python.
• El conteo automático de vehículos identificados se usa técnicas de
visión artificial (Tensorflow).
• Muestra la ubicación geo referencial luego del conteo de los tipos de
vehículos circulados en una de las vías más congestionadas de la
ciudad de Guayaquil.
• Muestra los resultados en el interior del sistema.
• El sistema está enfocado como herramienta a organizaciones de
tránsito, como ejemplo la ATM, para brindar una posible solución al
congestionamiento vehicular.
• Brinda una alta probabilidad de realizar mejoras y modificaciones para
posibles posteriores fases del proyecto LessTraffic.
15
Restricciones
• El uso del sistema está dirigida a organizaciones de tránsito, por ende,
no podrá ser utilizada por usuarios externos a las organizaciones de
tránsito.
Los resultados obtenidos solo son en base a una sola calle o vía en
específica (Av. Francisco de Orellana), por ende, el resto de las vías
debe de ser realizado de la forma manual por motivo que el sistema
es un prototipo.
2. Plan de calidad
Durante el desarrollo del sistema se debe de realizar las siguientes pruebas
para certificar que cumple con todos los objetivos y requerimientos:
• Prueba de coincidencia entre el filtrado y contenido de la imagen de
los vehículos transitándose.
• Pruebas de enfoque de cámara.
• Prueba de enfoque en gris.
• Pruebas de grabación de video.
• Comprobar que el filtrado de imágenes sea el correcto.
• Pruebas de reconocimiento de vehículos en específico los autos,
motos, buses, bicicletas, camiones.
• Pruebas de identificación de vehículos en específico los autos, motos,
buses, bicicletas, camiones del reconocimiento previo obtenido.
• Pruebas del conteo automatizado de los vehículos identificados que
hayan circulado en una calle específica.
• Comprobar la conexión con las API’s.
• Constatar la conexión con la BD del proyecto LessTraffic.
• Validación de la correcta ubicación geo referencial mostrado de los
vehículos transitados.
• Validación de compatibilidad del sistema en cualquier dispositivo
16
smartphone con sistema operativo Android con versión de API’s mayor
a 21.
• Validación del cumplimiento de los objetivos y requerimientos
propuestos.
Estas pruebas se realizan para observar el comportamiento y las
funcionalidades del sistema.
17
CAPÍTULO ll
MARCO TEÓRICO
Antecedentes del estudio
En la investigación realizada mediante los distintos medios de
comunicación escrita se identificó la problemática principal y existente en el
Ecuador - Guayaquil, el tráfico vehicular según artículos de periódicos,
puntualiza que está clasificado en dos variables (oferta, demanda) donde
menciona que en la oferta viene incluida la capacidad, el estado físico de las
vías transitadas con gran frecuencia, así como también la tecnología
implementada para el control del embotellamiento como la mejoría de la
sincronización de semáforos y el aumento de carriles en calles específicas.
Por el lado de la demanda hace referencia a la cantidad, velocidad de
vehículos, así como también los horarios, espacios de estacionamientos y las
rutas establecidas por las autoridades de tránsito (Royo, 2017).
El congestionamiento vehicular es un problema presentado a diario en casi
todos los países del mundo, como por ejemplo Panamá en el año 2017
culminó el proyecto “sistema de tránsito rápido masivo METRO” este proyecto
fue desarrollado e implementado con la finalidad de eliminar el tráfico
vehicular, sin embargo, según estudios desarrollados verifican que para los
años 2019, 2020 el problema seguirá existente y en aumento Royo (2017).
La construcción del metro fue creada para que los ciudadanos tengan un
medio más para transportarse y así de esa manera disminuir la demanda de
ciudadanos transportándose en sus vehículos privados o públicos, pero a
pesar de ello esto no fue satisfactorio por motivo que el porcentaje de
vehículos circulados en ciertas calles que presenta ese inconveniente
aumentan notoriamente.
18
Este estudio permitió llegar a la conclusión que para la solución al tráfico
vehicular no solo debe de ser mediante la construcción de nuevos medios de
transporte o la creación de calles con más carriles, sino más bien para una
posible solución sería que las autoridades de tránsito realicen un mejor
análisis y control de los tipos de vehículos transitados mediante el sistema
elaborado por motivo que le facilitará la cantidad de vehículos transitados en
la calle con mayor congestionamiento vehicular.
Guayaquil por ser una de las ciudades más grandes y con mayor población
que tiene el Ecuador “Según estudios realizados mediante el método
tradicional indican que en la ciudad de Guayaquil el parque automotor tiene
aproximadamente 350.000 carros, la tasa de crecimiento anual oscila entre el
10 y el 15%.” (Ciudadanía, 2017, p.1-2). Lo cual evidencia que anualmente
existe un incremento entre 35000 a 52500 de vehículos transitados en las
distintas vías de Guayaquil, esta cantidad de vehículos indica que el
congestionamiento vehicular aumenta notoriamente cada año.
Mediante análisis de la problemática se menciona que “El 60% de la
congestión vehicular en Guayaquil se da en el norte y centro de la ciudad”
(Giannina Cicenia y Byron Gómez, 2018, p.1). Estas zonas son transitadas
con mayor frecuencia en comparación con otras vías por motivo que se
encuentra cerca de lugares de trabajo, estudios o centros comerciales,
además de ser vías con dos carriles, este puede ser una posible causa por lo
cual se presenta el tráfico vehicular, debido que existen pocas rutas alternas
con las que cuentan las personas para la dispersión parcial del tránsito.
Cicenia y Gómez (2018) menciona que:
En países como Estados Unidos, crearon autopistas que dan la opción al
conductor entre autopista o calles. Otra causa del tráfico en la ciudad es la
poca prudencia del propio conductor y la cultura al irrespeto de las señales de
tránsito. (p.1)
Países más desarrollados también estan implementando estrategias para
lograr reducir el tráfico vehicular, una de ellas es brindar al chofer opción de
escoger porque ruta quiere trasladarse, pero esto ha causado
19
desventajas por motivo que los conductores abusan esta opción de confianza
y comienzan a incumplir las leyes de tránsito establecidas.
Según estudios científicos indican que uno de los causantes de la
contaminación ambiental es causado por la congestión vehicular, en donde
su afectación tiene aproximadamente el 39% en la ciudad de Guayaquil.
Guananga y Cecibel (2018) Afirma que:
Las entidades reguladoras del transporte urbano han realizado muchas
modificaciones a la modalidad de este sistema de transporte público, una de
ellas fue la implementación de paradas específicas con la finalidad de evitar
que los mismos se detengan en cualquier sitio de la ciudad, promover orden
y a su vez ayudar a reducir la congestión vehicular. (p.5)
Aproximadamente desde el año 2010 las autoridades han establecido
cambios notorios en el transporte público para reducir el congestionamiento
vehicular como son: especificaciones de paradas, mantenimiento a
semáforos, implementación de mayor cantidad de vigilantes en puntos
estratégicos para brindar un mayor orden y control en las vías que presentan
este inconveniente, entre otros. El problema es que ninguna de estas
implementaciones tuvo su 100% de éxito por motivo que en el año 2018 el
tráfico vehicular cada día crece más es por ello la importancia de este proyecto
dado que va a brindar una herramienta que proporcione datos de la cantidad
de vehículos (autos, buses, motos, bicicletas, camiones) al alcance de
cualquier autoridad de tránsito, junto a su ubicación geo referencial de la vía
seleccionada para que ellos puedan con estas cifras realizar un mejor análisis
y así implementar una posible medida para eliminar o reducir en gran
proporción el embotellamiento vehicular en la ciudad de Guayaquil.
Previo al desarrollo del proyecto de tesis se realizó un bosquejo profundo
sobre la visión artificial aplicada al análisis del congestionamiento vehicular,
lo cual se encuentran varios documentos relacionados al tema propuesto,
entre ellos, proyectos de titulación nacionales e internacionales, en las
instituciones internacionales tenemos: (Barriga,2017) La Universidad distrital
Francisco José de Caldas de Colombia (Bogotá) titulada como “Aplicación
práctica
20
de la visión artificial para el reconocimiento de una imagen, utilizando redes
neuronales y algoritmos de reconocimiento de Objetos”, este estudio se
enfoca al análisis de redes neuronales y en el análisis de los diferentes
métodos para la detección de rostros, entrenamiento de imágenes y
reconocimiento de objetos.
Este proyecto sirve de base mediante la técnica Tensorflow por motivo que
mostró una de las formas de implementación de esta técnica, así como
también dio entendimiento del sin número de funcionalidades que contiene,
este permite realizar el entrenamiento de imágenes, así como también el
filtrado de imágenes que va acorde a la necesidad requerida, brindando un
reconocimiento más efectivo.
Otro antecedente relevante (Ortega, 2018) se encuentra la universidad de
Loja Facultad de la Energía, las Industrias, los Recursos Naturales No
Renovables con el proyecto titulado “Sistema para detección y conteo
vehicular aplicando técnicas de visión artificial” en donde hizo énfasis a la
elaboración de un sistema web para la detección de vehículos mediante la
aplicación de técnicas de visión por computador desarrollado en el lenguaje
c++ y el framework QT.
Este proyecto evidenció que desde años atrás se ha tratado de eliminar el
congestionamiento vehicular en el Ecuador mediante sistemas web pero sus
probabilidades de éxito no fueron lo suficientemente alto para lograr reducir o
eliminar el tráfico, sirvió de base para el entendimiento de la lógica de otros
lenguajes de programación como lo es el c++, también sirvió como base las
estadísticas realizadas para tener un aproximado de la cantidad de vehículos
que tiempo atrás se transportaban por esas vías previamente analizadas en
donde hasta la actualidad se presenta el embotellamiento vehicular.
21
Fundamentación teórica
En el estudio de la problemática se logró identificar que para la elaboración del
proyecto se debe de realizar un previo estudio de las causas y consecuencias que
ocasiona el congestionamiento vehicular, mediante investigaciones realizadas se
identificó que existen otras técnicas de conteo de vehículos que han usado en
estos años como son: registro y conteo manual, conteo por contacto mediante
sensores, conteo por medio de las cámaras de video vigilancia con programas
web, entre otras, luego proceder a identificar y elegir el lenguaje de programación
a utilizar en el desarrollo de este, surgieron los lenguajes de programación como
Java, Python y XML, lo cual integran todas las características necesarias para el
reconocimiento y conteo automático de los tipos de vehículos.
El entorno de desarrollo escogido fue Android studio porque se vio la necesidad
de implementar la tecnología de inteligencia artificial, está basado en IntelliJ IDEA,
tiene como lenguaje nativo a Java, facilita la integración de API’s y finalmente
porque permite la creación de aplicaciones móviles de forma optimizada y
compatibles con otras plataformas.
Luego se utiliza el lenguaje de desarrollo Python para realizar el procedimiento
de filtrado de imágenes mediante etiquetas en el clasificador CNN, este se encarga
mediante imágenes realizar filtros donde compara la imagen entrenada con la del
objeto que se desea identificar.
Visión artificial
Visión artificial o también conocida como visión por computadora es una
capacidad de obtención, procesamiento y análisis de un objeto para la
identificación de características particulares. (Esparza, 2014)
La visión artificial o visión por computadoras no es más que una técnica que le
permite al sistema simular el reconocimiento e identificación de los objetos como
si fuera el propio ojo del ser humano, está basada a la interpretación que tiene el
cerebro humano esto hace que el sistema logre ser bastante inteligente
aproximándose a una realidad más acertada. (Estarita, Jiménez, Brochero,
Escobar y Moreno, s.f)
22
La visión artificial tiene otros tipos de funcionalidades como son la
automatización, control, seguimiento, análisis, detección de objetos que incluye
todas las aplicaciones industriales y no industriales, lo cual dependiendo de la
clasificación va a necesitar de mayores exigencias, como por ejemplo la visión
artificial industrial en comparación a la de uso académico exige de mayor
estabilidad, solidez, así como también tiene un bajo costo en comparación a las
gubernamentales. (Jorge Estarita, Andres Jimenez, Jaime Brochero, Hugo
Escobar, Silvia Moreno) La técnica de visión artificial es aplicada a distintos
campos como por ejemplo la Ingeniería, medicina, entre otros, esta técnica es una
de las más modernas y nuevas que están en el auge de la tecnología, lo cual es
usada en todos los ámbitos ya sea a nivel educativo, profesional, gubernamental
o industrial, en cada uno de estos ámbitos cambian un poco sus funcionalidades
o características.
Ventajas de la visión artificial
Según (Infaimon, 2018, p.1-2) Menciona que las ventajas de la visión artificial son
las siguientes:
• Identificación
• Verificación
• Medición
• Detección de defectos
• Soluciones de visión
• Posicionamiento
Los sistemas de visión artificial están especializados en la obtención de
imágenes mediante sensores digitales implicados en cámaras digitales, esta
técnica ayuda a la toma de decisiones del sistema, el funcionamiento consiste en
obtener la imagen a identificar, para luego almacenarla, esta información guardada
es procesada para tener como resultado una emisión de aprobación o de descarte.
(Navacerrada, 2017)
23
El principal beneficio de la visión artificial es evaluar cuantitativamente un
objeto estructurado, logrando como resultado la reducción de contribución
humana, es decir proporciona un proceso automatizado e inteligente. Según
(Esparza, 2014) menciona que la visión artificial brinda seguridad adicional y
beneficios operacionales al reducir la participación humana en un proceso de
fabricación, previene la contaminación humana y protege a los trabajadores de
ambientes peligrosos.
Niveles de procesamiento en Visión Artificial:
• A bajo Nivel (Procesamiento de imágenes)
• A alto nivel (Interpretación de imágenes)
En el procesamiento de imágenes tiene las siguientes características: Los
datos de entrada y salida debe tener el mismo tipo de datos o imágenes, es guiado
bajo algún algoritmo de alto nivel, no usa mucho conocimiento sobre el contenido
de las imágenes. (Gabriela, 2015)
En la interpretación de imágenes su procesamiento este guiado por los
objetivos o finalidades establecidas a cumplir, pertenece a una técnica propia de
la inteligencia artificial, para la obtención de datos se inicia a partir de los tipos de
imágenes. Actualmente la I.A esta basado en nuevas tecnologías como son las
máquinas paralelas para el bosquejo de algoritmos rápidos y eficientes. Está
regido bajo una secuencia de pasos que va desde el bajo nivel hasta el alto nivel
para el cumplimiento de los objetivos establecidos. (Gabriela, 2015)
La visión artificial está integrada por varios tipos de algoritmos y técnicas, cada
uno con distinto beneficio y distintas funcionalidades (Navacerrada, 2017), entre
las más comunes son:
24
GRÁFICO 1 ALGORITMOS Y TÉCNICAS UTILIZADAS EN I. A
Elaborado por: Juan Navacerrada Fuente: Sistema de detección con Tensorflow (Navacerrada, 2017)
Filtros de Preprocesado
Navacerrada (2017) Menciona que: este tipo de algoritmo tiene como objetivo
mejorar la imagen antes de que sea procesada, lo cual está clasificada por
distintos tipos de transformación, entre las principales son:
• Transformaciones de niveles de gris. - es una técnica basada en mejorar
o equilibrar las características de iluminación en una imagen, pero no
mejora la calidad de las imágenes.
• Transformación Aritmética- Lógica. - está basado en la implementación
de las operaciones algorítmicas para procesar una imagen como son:
unión, intersección, negación y sustracción.
Alg. De
Filtros de
en I.A
Alg. de
25
GRÁFICO 2 TRANSFORMACIÓN ARITMÉTICA LÓGICA
Elaborado por: Juan Navacerrada
Fuente: Sistema de detección con Tensorflow (Navacerrada, 2017)
• Transformaciones Geométricas. – este se encarga de realizar
modificaciones a los pixeles de las imágenes está dividido en 3
operaciones geométricas: traslación, rotación y escalado. Cada una de
ellas está basada en matrices de 3x3 en donde el resultado de una
afectación o cambio a la imagen.
GRÁFICO 3 TRANSFORMACIONES GEOMÉTRICAS
Elaborado por: Juan Navacerrada Fuente: Sistema de detección con Tensorflow (Navacerrada, 2017)
26
• Transformación de histograma. – esta se encarga de hacer que el
histograma dejarlo lo más plano posible para la representación de los
píxeles de una imagen digitalizada.
GRÁFICO 4 TRANSFORMACIÓN DE HISTOGRAMA
Elaborado por: Juan Navacerrada
Fuente: Sistema de detección con Tensorflow (Navacerrada, 2017)
• Filtrado espacial. - Este algoritmo tiene como finalidad de conceder la
interpretación o identificación de las imágenes de forma automática. Su
función es realizar la comparación entre el píxel de la imagen a identificar
con la de los píxeles vecinos. (p.25)
Para este algoritmo existen dos tipos de técnicas: el suavizado o eliminación
de ruido y la detección de bordes. El suavizado o eliminación del ruido como su
nombre lo indica se encarga de modificar o suavizar una imagen para su
respectiva detección, se enfoca en repercutir la calidad de la imagen. La detección
de bordes está basada en el algoritmo de Canny, este es un algoritmo propio del
programa Android Studio, lo cual brinda la facilidad de realizar la localización de
contornos mediante la conversión de una imagen original a una imagen gris para
su respectiva detección del objeto. (Navacerrada, 2017)
27
GRÁFICO 5 DETECCIÓN DE BORDES EN GRIS
Elaborado por: Juan Navacerrada Fuente: Sistema de detección con Tensorflow (Navacerrada, 2017)
Algoritmo de Segmentación
Este tipo de algoritmo tiene como función analizar una imagen mediante la
segmentación o división de esta, realiza el procedimiento de umbralizacion que no
es más que la continuación de una imagen en gris convertirla a una imagen binaria
en donde india que si los valores están en 0 será negro y si está en 1 será blanco.
Este algoritmo es implementado en conjunto con la técnica Transformada de
Hough donde tiene como objetivo principal la localización de los objetos como
círculos, rectas o eclipses en una imagen. Esta técnica su porcentaje de
confiabilidad y robustez es alta (Navacerrada, 2017, p.27).
GRÁFICO 6 ALGORITMO DE SEGMENTACIÓN
Elaborado por: Juan Navacerrada Fuente: Sistema de detección con Tensorflow (Navacerrada,2017)
28
Algoritmo de Identificación
Este tipo de algoritmo sirve para la identificación de objetos más complejos en
comparación con los algoritmos anteriormente mencionados, entre los algoritmos
principales están:
GRÁFICO 7 CUADRO COMPARATIVO ENTRE ALGORITMOS DE IDENTIFICACIÓN DE OBJETOS
Elaborado por: Nathaly Herrera - Daniel Chamaidán
Fuente: Datos de Investigación
Speeded- UP features transform
puntos, representacion de KeyPints, busqueda de coincidencias.
y negativo, su funcion interna es realizado mediante el procedimiento de la
resta y suma de todos los pixeles en blanco y negro.
donde su tasa de aciertos es muy buena y que en su procedimiento de identificacion haya errores es muy inusual.
descifrar patrónes, análogos y razonamiento humano Su velocidad de entrenamiento es 6 veces mayor y tiene triple de aceleración.
•Alto rendimiento de precisión en la detección del objeto
Reconoce objetos parcialmente cubiertos
Consistencias con los objetos de inclinación
scale invariant feature transform
indistintamente del angulo, iluminacion y posicion.
29
Clasificador de Deep Learning
La clasificación consiste en determinar categorías de objetos dentro una
imagen a partir de clases predefinidas. En las últimas décadas se han investigado
muchos enfoques para encontrar soluciones óptimas, entre éstas Deep Learning
nos ofrece grandes avances en la actualidad. Guerrero (2017)
Deep learning permite enseñar a los ordenadores el aspecto que poseen
diferentes objetos, permitiendo identificar posteriormente objetos similares. Una
de las técnicas más utilizadas en el reconocimiento, clasificación y detección en
imágenes son las Convolutional Neural Networks llamadas CNNs. Las redes
neuronales están formadas por capas (layers) encargadas de extraer
características de las propias imágenes.
El aprendizaje de las redes neuronales precisa de una gran cantidad de datos
(imágenes), para obtener altos ratios de fiabilidad. En el caso de la clasificación
se utiliza un aprendizaje supervisado. Nos tenemos que asegurar de que las
imágenes están correctamente etiquetadas de manera que el ordenador sea
capaz de encontrar patrones en todas las imágenes.
El entrenamiento y posterior análisis de imágenes a partir de una red neuronal
generada requiere de una alta capacidad computacional. Infraestructuras en el
cloud en donde podemos aprovechar la escalabilidad y la utilización de GPUs nos
puede ayudar a reducir costes en el despliegue y posterior explotación. (Guerrero,
2017)
GRÁFICO 8 DETECCIÓN DE VEHÍCULOS
Elaborado por: Juan Navacerrada Fuente: Sistema de detección con Tensorflow (Navacerrada, 2017)
30
Para implementar el clasificador de Deep Learning y que realice el
reconocimiento de los tipos de objetos, se la realizo mediante los comandos de
una máquina virtual Linux bajo el lenguaje de programación Python, luego para
realizar el procedimiento del conteo de los vehículos identificados se implementó
la técnica Tensorflow.
Preprocesamiento del conjunto de datos de entrenamiento: Para poder
entrenar la red CNN es necesario importar el subconjunto de imágenes
representativas del problema que contiene el dataset Chars74K en una matriz de
datos, este subconjunto del dataset está compuesto por imágenes en escala de
grises de caracteres generados por ordenador correspondientes a los números de
0-9 y letras mayúsculas de A-Z. Como se indicaba en el apartado 3.4, la gran
ventaja de utilizar una red neuronal como algoritmo de clasificación es su
capacidad de aprendizaje automático, gracias al cual no es necesario desarrollar
procesos de extracción de atributos ni emplear técnicas para reducir la
dimensionalidad como PCA (Principal Component Analysis) o similares; lo que
simplifica enormemente las tareas de preprocesamiento de los datos de
entrenamiento. En concreto, el módulo de código Python encargado de importar
las imágenes de entrenamiento realiza las siguientes acciones:
1. Recorre las 36 carpetas de imágenes (una por cada clase de dígito o letra) de
la colección, y dentro de cada carpeta redimensiona cada imagen de 128x128
píxeles a 32x32 píxeles, que es la resolución válida para la entrada de la red CNN
del sistema.
2. Cada imagen se invierte de tal manera que el valor de los píxeles del color de
fondo valga 0 (color negro) y los que representan al contorno de la letra o dígito
sean positivos.
3. La imagen invertida se transforma en un vector de 1.024 posiciones (32x32
píxeles), y este a su vez se añade a una matriz denominada “X” en la que se
almacenan todos los vectores de imágenes procesadas.
4. Por cada imagen guardada en la matriz se crea una entrada en un vector
denominado “y”, que almacena para cada imagen un número de 0 a 36 que
identifica la clase de letra o dígito que representa la imagen.
31
5. Una vez procesadas todas las imágenes, se codifica el vector de clases “y”
mediante la técnica one-hot enconding, de tal manera que el vector pasa a
convertirse en una matriz en la que cada fila es a su vez un vector de 36 elementos
donde todas las posiciones tienen valor 0 salvo la correspondiente a la clase de la
letra o número de la imagen, que vale 1. Esta codificación se lleva a cabo mediante
la función LabelBinarizer de la librería Sci-kit Learn.
6. Finalmente se exporta la matriz de las imágenes (X) y la matriz de clases (y) a
dos ficheros de texto para facilitar su reutilización durante el proceso de
entrenamiento de la red.
Entrenamiento de la red
El proceso de entrenamiento de la red CNN del sistema se basa en la combinación
del algoritmo backpropagation con el método de descenso del gradiente. Se trata
básicamente de un problema de optimización en el que iterativamente se buscan
los valores de los parámetros que hacen que el valor de la función de error o coste
sea mínimo. En el caso de la red CNN del sistema, la función elegida para medir
lo buena o mala que es la clasificación de las imágenes es el error de entropía
cruzada (cross entropy error), una de las habituales en el diseño de redes
neuronales convolucionales. De las distintas variantes del método de descenso
del gradiente se ha elegido la versión estocástica o incremental, que consiste en
calcular iterativamente el gradiente para un subconjunto o batch de los datos de
entrenamiento, actualizando los pesos de la red mediante la propagación de
errores hacia atrás, sin esperar a que se procese el conjunto de datos completo.
Desde el punto de vista del coste computacional, este método es más eficiente
que procesar el gradiente en cada iteración el dataset completo, ya que suele
ofrecer una convergencia más rápida. Aunque también es cierto que corre el
riesgo de quedarse “atascado” en un mínimo local de la función de error.
32
• Funcionamiento del clasificador CNN
ARQUITECTURA
Una red neuronal convolucional es una red multicapa que consta de
capas convolucionales y de reducción alternadas, finalmente tiene capas
de conexión total como una red perceptrón multicapa.
GRÁFICO 9 ARQUITECTURA DEL CLASIFICADOR CNN
Elaborado por: Luis Calvo Ordoñez Fuente: Clasificador CNN (Calvo, 2018)
CONVOLUCIÓN
En la convolución se realizan operaciones de productos y sumas entre la capa
de partida y los n filtros (o kernel) que genera un mapa de características. Las
características extraídas corresponden a cada posible ubicación del filtro en la
imagen original.
La ventaja es que el mismo filtro (= neurona) sirve para extraer la misma
característica en cualquier parte de la entrada, con esto que consigue reducir el
número de conexiones y el número de parámetros a entrenar en comparación con
una red multicapa de conexión total.
33
GRÁFICO 10 CONVOLUCIÓN DEL CLASIFICADOR CNN
Elaborado por: Luis Calvo Ordoñez Fuente: Clasificador CNN (Calvo, 2018)
Después de aplicar la convolución se les aplica a los mapas de características una
función de activación.
La función de activación recomendada es signoide ReLU, seleccionando una
tasa de aprendizaje adecuada y monitorizar la fracción de neuronas muertas,
también se puede podría probar con Leaky ReLu o Maxout, pero nunca utilizar
sigmoide logística.
REDUCCIÓN
En la reducción se disminuye la cantidad de parámetros al quedarse con las
características más comunes.
La forma de reducir parámetros se realiza mediante la extracción de
estadísticas como el promedio o el máximo de una región fija del mapa de
características, al reducir características el método pierde precisión, aunque
mejora su compatibilidad.
34
GRÁFICO 11 REDUCCIÓN DEL CLASIFICADOR CNN
Elaborado por: Luis Calvo Ordoñez Fuente: Clasificador CNN (Calvo, 2018)
CLASIFICADOR RED PERCEPCIÓN MULTICAPA
El final de las capas convolucional y de reducción, se suele utilizar capas
completamente conectadas en la que cada pixel se considera como una neurona
separada al igual que en un perceptrón multicapa.
La última capa de esta red es una capa clasificadora que tendrá tantas
neuronas como el número de clases a predecir.
GRÁFICO 12 CLASIFICADOR CNN MULTICAPA
Elaborado por: Luis Calvo Ordoñez Fuente: Clasificador CNN (Calvo, 2018)
35
Ventajas del Algoritmo redes neuronales convolucionales
Aprendizaje: Las RNA tienen la habilidad de aprender mediante una etapa que
se llama etapa de aprendizaje. Esta consiste en proporcionar a la RNA datos como
entrada a su vez que se le indica cuál es la salida (respuesta) esperada.
Auto organización: Una RNA crea su propia representación de la información en
su interior, descargando al usuario de esto.
Tolerancia a fallos: Debido a que una RNA almacena la información de forma
redundante, ésta puede seguir respondiendo de manera aceptable aun si se daña
parcialmente.
Flexibilidad: Una RNA puede manejar cambios no importantes en la información
de entrada, como señales con ruido u otros cambios en la entrada (ej. si la
información de entrada es la imagen de un objeto, la respuesta correspondiente
no sufre cambios si la imagen cambia un poco su brillo o el objeto cambia
ligeramente)
Tiempo real: La estructura de una RNA es paralela, por lo cuál si esto es
implementado con computadoras o en dispositivos electrónicos especiales, se
pueden obtener respuestas en tiempo real.
• Son excelentes como clasificadores/reconocedores de patrones – y
pueden ser usadas donde las técnicas tradicionales no funcionan. Las
redes neuronales pueden manejar excepciones y entradas de datos
anormales, muy importante para sistemas que manejan un amplio rango
de datos (sistemas de radar y sonar, por ejemplo).
• Pueden proveer pistas de cómo trabaja el cerebro según progresen.
Avances en la neurociencia también ayudarán al avance en las redes
neuronales y hasta el punto en que sean capaces de clasificar objetos con
la precisión de un humano y la velocidad de una computadora.
• Alto nivel de precisión y recuperación en la detección de objetos
• No requiere de mucho tiempo de procesamiento.
36
Desventajas:
• Complejidad de aprendizaje para grandes tareas, cuanto más cosas se
necesiten que aprenda una red, más complicado será enseñarle.
• Tiempo de aprendizaje elevado. Esto depende de dos factores: primero
si se incrementa la cantidad de patrones a identificar o clasificar y segundo
si se requiere mayor flexibilidad o capacidad de adaptación de la red
neuronal para reconocer patrones que sean sumamente parecidos, se
deberá invertir más tiempo en lograr que la red converja a valores de pesos
que representen lo que se quiera enseñar.
• No permite interpretar lo que se ha aprendido, la red por si sola proporciona
una salida, un número, que no puede ser interpretado por ella misma, sino
que se requiere de la intervención del programador y de la aplicación en si
para encontrarle un significado a la salida proporcionada.
• Elevada cantidad de datos para el entrenamiento, cuanto más flexible se
requiera que sea la red neuronal, más información tendrá que enseñarle
para que realice de forma adecuada la identificación.
• Otros problemas con las redes neuronales son la falta de reglas definitorias
que ayuden a realizar una red para un problema dado.
Herramientas
Android Studio
Android es un sistema operativo desarrollado por Android Inc.
Aproximadamente en el año 2005, con el pasar de los años esta empresa ha
realizado mejoras e implementaciones de funcionalidades mejor definidas. Uno de
sus últimos IDE es el sistema Android Studio, este fue desarrollado con la finalidad
de mejorar la calidad y acelerar el desarrollo de las aplicaciones móviles creadas
en dispositivos con sistema operativo Android. Android studio ofrece
personalizadas herramientas de depuración, edición, perfilamiento de códigos y
pruebas. El lenguaje de programación que tiene nativamente Android studio es
Java. (Developers, 2018)
37
“Gracias al IntelliJ IDEA que está basado Android studio permite que su flujo de
trabajo de ejecución y codificación sea más simplificado y realizado en menor
tiempo, su sistema de compilación está basado en Gradle Flexible” Julca,
Saavedra y Salazar (2018).
Según (Jaume, 2015) Indica que entre sus principales características cabe
recalcar:
• Detecta problemas de rendimiento usabilidad y compatibilidad de
versiones mediante las herramientas Lint.
• Optimiza y reduce al código del proyecto mediante la generación del APK.
• Permite la importación de proyectos elaborados en otros lenguajes de
programación con eclipse o Python.
• Puede ser utilizado en sistemas operativos Windows y Linux sin ningún
inconveniente.
• Contiene plantillas de código para la adición de patrones correctamente
establecidos.
Ventajas de Android Studio
Julca, Saavedra y Salazar (2018)
• Contine emulador que facilita la ejecucion y prueba de la aplicación movil
en tiempo real.
• Permite la ejecucion de la app desde el movil mediante el la habilitación
del SDK, tan solo necesita estar conectado el dispositivo al computador.
• Permite un sinnumero de caracteristicas para desarrollar cualquier IDE.
• Genera la asociación de carpetas.
Desventajas de Android Studio
Julca, Saavedra y Salazar (2018)
• Necesita de muchos recursos hardware para obtener un buen
funcionamiento del emulador.
38
• Constantemente pide actualizaciones, generando un poco la demora de la
continuación del proyecto.
• Necesita estar conectado a internet para su funcionamiento.
Tensorflow
Tensorflow es un framework de código abierto dirigida al aprendizaje
automático a través de una serie de tareas. Ha sido desarrollado por Google
para satisfacer las necesidades de sistemas capaces de construir y
entrenar redes neuronales para detectar y descifrar patrones y
correlaciones, análogos al aprendizaje y razonamiento usados por los
humanos. Actualmente es utilizado tanto para la investigación como para la
producción de productos de Google, remplazando el rol de su predecesor de
código cerrado, DistBelief. Tensorflow fue originalmente desarrollado por el
equipo de Google Brain para uso interno en Google antes de ser publicado
bajo la licencia de código abierto Apache 2.0 el 9 de noviembre de 2015.
(Guerrero, 2017)
Este framework permite que sus aplicaciones sean ejecutadas en
tiempo real, lo cual en Android para poder hacer uso de Tensorflow primero
se debe de instalar el mismo.
Este framework fue diseñada con la finalidad de reunir los algoritmos más
populares principalmente los de procesamiento de imágenes y visión
artificial.
Así como está framework Tensorflow para el procesamiento de
imágenes también existe otros tipos de librerías con la misma funcionalidad,
pero en que se diferencian entre ellas. (Guerrero, 2017).
39
GRÁFICO 13 COMPARACIÓN DE TECNOLOGÍAS
Elaborado por: Nathaly Herrera - Daniel Chamaidán Fuente: Datos de Investigación
Lenguajes de programación
Python
El lenguaje de programación Python es un lenguaje de alto nivel, poderoso,
flexible, sencillo y fácil de aprender, entre sus funciones principales está la de
procesar de forma fácil las estructuras de datos numéricas y de texto, fue creado
en los años 90 por Guido Van Rossum, este lenguaje es usado para servidores,
sistemas scripting, entre otros (Moran y Melgar, 2018).
Por medio de Python pueden ser creadas aplicaciones web, flujos de trabajos,
etc. Es compatible con distintas plataformas como son: Windows, Mac, Linux,
40
Raspberry, entre otros. Permite la simplificación de código en el desarrollo del
sistema, está basado a la metodología orientada a objetos, su versión actualizada
es Python 3 con nuevas y mejores criterios de seguridad, en la actualidad es uno
de los lenguajes de programación más popular. (Moran y Melgar, 2018).
Ventajas y Desventajas de Python
Durante el desarrollo del sistema propuesto se utilizó Python para realizar el
procedimiento de filtrado de imágenes mediante el clasificador CNN para
simplificar el tiempo de elaboración.
GRÁFICO 14 VENTAJAS Y DESVENTAJAS DE PYTHON
Elaborado por: Nathaly Herrera – Daniel Chamaidan
Fuente: Datos de Investigación
JAVA
Vázquez (2015) Indica que:
Java es un lenguaje de programación de alto nivel, fue desarrollado para
realizar la ejecución de varios procesos de forma simultánea, está orientada a
objetos, al igual que Python fue desarrollado en los años 90 por James Gosting
con la finalidad de evitar la recopilación de código y que pueda ser ejecutado en
41
varios sistemas operativos. Es un lenguaje fácil de usar y dominar en la
elaboración de sistemas. (p.15)
(Vazquez, 2015) Menciona que Java tiene características principales
pertenecientes a la programación orientada a objetos que son:
• Abstracción: Permite la comunicación entre objetos sin la necesidad de
revelar como es el proceso interno.
• Encapsulamiento: Brinda la seguridad de evitar modificaciones de los
objetos sin autorización.
• Herencia: Permite el compartimiento de clases y objetos de forma
automática, por motivo que sus clases se encuentran relacionadas entre
sí.
• Polimorfismo: Permite la creación de varios métodos con el mismo
nombre mediante su definición de parámetros.
Ventajas:
(Formatalent, s.f.) Menciona que entre las ventajas más importantes de java son:
• Mejora el desarrollo de los sistemas por motivo que Java está orientado a
objetos.
• Es compatible con cualquier plataforma para su ejecución, es decir puede
ser ejecutado desde distintos sistemas operativos.
• Posee internamente con librerías y herramientas para el fácil desarrollo del
sistema.
• Contiene editores IDE de excelencia y gran calidad, brindando a los
desarrolladores un trabajo más cómodo.
Desventajas:
(Formatalent, s.f.) Menciona que entre las desventajas más importantes de java
son:
42
• Es poco recomendable el uso del lenguaje Java para usuarios que están
aprendiendo a programar desde 0 por primera vez por motivo a que está
orientado a objetos y puede resultar ser difícil su aprendizaje para muchos.
• La sintaxis que usa Java es más complicada en comparación a otros
lenguajes de programación como lo es c o .Net
• Su ejecución es exclusiva de la máquina virtual de java si este se modifica
o inactiva presenta inconvenientes con la compatibilidad hacia el
dispositivo.
• Es de rendimiento menos, es decir consume más recurso a los equipos en
comparación con otros lenguajes de programación.
API’s
El presente proyecto necesita de la implementación de las API’s para realizar
la comunicación con la base de datos, es una interfaz de programación de
aplicaciones, contiene una variedad de operaciones enumeradas con descripción
de su uso, para que los usuarios puedan utilizarlos y así lograr optimizar el tiempo
de implementar el sistema, por ende su código de elaboración se reduce
significativamente, proporciona consistencia a las aplicaciones controlando el
acceso de los recursos tanto para software como para hardware.
Todos los sistemas operativos proporcionan muchas API’s para dar facilidad a
las tareas, también son importantes para la seguridad del software mediante su
control a los accesos. Las API’s son muy importantes para la comunicación entre
distintos servicios ya que permite colocar objetos complejos en vez de crear uno
nuevo, existen distintos tipos de API’s como son para los mapas, traducciones de
texto, conexión con bases de datos, entre otros.
El procedimiento para realizar el consumo de una API que no está creada
desde la aplicación de Android se debe de añadir Retrofit al proyecto mediante la
vía de Gradle ya que es una de las herramientas con las que consta Android
studio. Para ello primero se debe de conocer el concepto de Retrofit. (Mgbemena,
2016)
43
Ilustración 15
Ilustración 17
Ilustración 16
Retrofit es una librería poderosa y segura para Android y Java, permite
que la conexión con el servicio web Rest sea fácil mediante la traducción
de las API’s, primero se encarga de generar archivos JSON o XML para
luego ser analizados mediante los métodos GET, POST, PUT, PATCH y
DELETE. Para la conversión de un objeto JSON usa lo que son Gson,
Jackson, Moshi. (Mgbemena, 2016)
Retrofit reduce el tiempo y la complejidad para realizar conexiones,
análisis de respuestas, manejo de errores, entre otros. Para la creación de
listas dinámicas se usan los métodos RecyclerView y CardView.
(Mgbemena, 2016)
RecyclerView permite mostrar un listado de elementos variables
dejando libertad para que los datos cambien continuamente y así lograr
obtener un mejor rendimiento. En cambio, CardView sirve para definir la
apariencia de cada elemento del listado y así poder representarlos.
(Ramos, s.f.)
GRÁFICO 18 METODO RECYCLERVIEW
Elaborado por: Juan Ramos Vélez
Fuente: (Mgbemena, 2018)
Prácticamente el CardView forma parte del RecyclerView, luego pasa al
adapter ya que este permite la adaptación con el data set, mediante la traducción
44
de datos UI, el data set es lo que se muestra al RecyclerView mediante el conjunto
de los datos. (Ramos, s.f.)
MÁQUINA VIRTUAL
Una máquina virtual es un software que puede ser ejecutado dentro de
otro software, es decir la máquina virtual emula los componentes de los
recursos físicos que tiene el ordenador, permite realizar la instalación de
varios sistemas operativos dentro del sistema operativo físico mediante la
compartición de recursos del sistema operativo real, así como también la
instalación de aplicaciones dentro del sistema operativo virtual simulando
como que si se estuviera trabajando dentro del real. (Systems, 2018)
No está limitado a hacer uso de un solo sistema operativo en la máquina
virtual puede instalarse cualquier tipo de sistema operativo como Linux,
Mac OS, Windows, entre otros, independientemente del sistema que el
computador físico contenga. (Systems, 2018)
aplicación en tres partes, cada una de estas partes están ubicadas en módulos
independientes para facilitar el desarrollo y mantenimiento de los componentes.
(Dominguez, s.f.)
La primera parte es el Modelo, este se encarga de administrar los datos de la
aplicación, es independiente de la vista y controlador, su función solo radica en
guardar y administrar los datos. La segunda parte es la vista, este sin necesidad
de estar en contacto con el modelo, representa el estado del modelo, su función
radica en reflejar la información al cliente. La tercera parte es el controlador, su
función es indicar al modelo cuando el cliente opere en la vista, se encarga de la
administración de todos los cambios que se realicen en la aplicación como añadir,
eliminar, actualizar, entre otros. (Dominguez, s.f.)
45
Un proyecto que es elaborado bajo el patrón MVC brinda una base sólida y estable
en su desarrollo, para que así el software sea mantenible y soporte los cambios
que se vayan a realizar y para ello debe de estar en módulos separados.
GRÁFICO 19 ESQUEMA BÁSICO DEL PATRÓN MVC
Elaborado por: Pablo Dominguez Acosta Fuente: El patrón modelo, vista controlador (Dominguez, 2017)
46
Metodología de desarrollo
Metodología del prototipo
Como metodología de desarrollo de software especializado al proyecto se ha
implementado la metodología del prototipo modular o también conocido como
modelo de desarrollo evolutivo, debido a sus características evolutivas ya que
permite que el proyecto esté en constante evolución según las nuevas
necesidades o requerimientos que tengan las organizaciones antes de crear una
autentica solución final, dando una amplia brecha de crecimiento en el sistema,
reflejando una muestra exacta a la realidad (Rosarino, 2018). Este tipo de
metodología brinda la facilidad de resolver conjuntos de problemas que ocurren
en otros modelos.
GRÁFICO 21 METODOLOGÍA DE PROTOTIPO
Elaborado por: Nathaly Herrera - Daniel Chamaidán Fuente: Datos de Investigación
Etapas de la metodología del prototipo:
Según Rosarino (2018) Menciona que las etapas del modelo del prototipo son:
1. Recolección de requerimientos
2. Diseño rápido
3. Elaboración del prototipo
Ilustración 20
47
4. Desarrollo y pruebas del prototipo
5. Refinamiento de requisitos
6. Producto final.
Para la elaboración de la metodología primero se debe de mostrar un aspecto
final de cómo funciona el sistema, luego se realiza la elaboración del diseño y
desarrollo del prototipo ajustándose a los requisitos definidos, realizar pruebas
para brindar seguridad de que se cumplan todos los requisitos con exactitud y
verificar la aproximación del sistema a la realidad.
Para desarrollar un buen sistema mediante los requerimientos de esta
metodología se debe de implementar varias pruebas en cada una de las etapas
que conlleva la metodología del prototipo, para proceder a realizar la entrega del
producto final del mismo.
GRÁFICO 22 ETAPAS DE LA METODOLOGÍA DEL PROTOTIPO
Elaborado por: Andrés Rosarino Quintana Fuente: Modelo de prototipos (Rosarino, 2018)
Ventajas de la metodología del Prototipo
(Rosarino, 2018) Resalta que la metodología del prototipo tiene las siguientes
ventajas:
• Reduce los fallos funcionales del sistema.
• Reduce costos.
• Alta probabilidad de éxito.
• Cumple con exactitud los objetivos y requerimientos.
• Brinda ideas notorias sobre la funcionalidad del sistema.
48
El sistema elaborado por ser un prototipo se ajusta a las etapas de la
metodología del prototipo o también conocida como modelo de desarrollo
evolutivo brindando ventajas notorias al sistema y una alta probabilidad de éxito
en la etapa de pruebas del sistema, lo cual reduce el tiempo y costo en la
elaboración de este.
Desventajas de la metodología del prototipo
(Rosarino, 2018) Afirma que la principal desventaja de la metodología del prototipo
es:
• El desarrollador o programador fácilmente cae en la tentación de ampliar o
sobrepasarse con los requerimientos del prototipo para la construcción de
un sistema final, por tal motivo el desarrollador puede a veces perder el
enfoque del sistema que requiere elaborar.
Como todo buen desarrollador siempre quiere agrandar su sistema por lo tanto
está atento a la mínima oportunidad para hacerlo, pero la metodología del
prototipo limita al creador del sistema exigiéndole que solo cumpla con los
requerimientos establecidos.
Tips para la efectividad del modelo del prototipo
Para que el sistema sea efectivo se debe de seguir las siguientes
recomendaciones o Tips:
• Se debe de presentar una experimentación del sistema para la
comprobación del correcto funcionamiento del sistema.
• El desarrollo del prototipo no debe de tomarse mucho tiempo, es decir debe
de ser rápido.
• El sistema no podrá tener un costo elevado (valor máximo del 10%).
• Cumple únicamente con los requerimientos establecidos en el sistema.
• Para el desarrollo del sistema no debe de intervenir más de 2 personas.
• Debe de ser desarrollado mediante lenguajes y herramientas apropiadas.
Rosarino (2018)
49
Tipos de modelo de prototipos
Actualmente existen 7 modelos de prototipos como la metodología del prototipo
rápido, modular, reutilizable, horizontal, vertical, alta y baja fidelidad, lo cual las
más relevantes son 5 que se detallan a continuación: Rosarino (2018).
• Metodología del prototipo rápido.
• Metodología del prototipo Modular
• Metodología del prototipo reutilizable
• Metodología del prototipo horizontal
• Metodología del prototipo vertical
Modelo de prototipos rápido: Esta metodología está basado en el diseño, se
ajusta a los nuevos diseños que se vayan a implementar en el sistema.
Modelo del prototipo reutilizable: La reutilización del prototipo puede ser a nivel
de software y hardware, es decir partes del prototipo sirven de base para la
elaboración del producto final.
Modelo de prototipos Modular: La metodología incremental permite agregar
varios y nuevos elementos a medida que se vaya avanzando el diseño.
Modelo del prototipo Horizontal: Este modelo tiene como objetivo la evaluación
de los alcances del sistema mediante procedimientos y funciones no operativas,
no son desarrollados para hacer uso real del sistema.
Modelo de prototipos vertical: Este a diferencia del anterior evalúa que el
funcionamiento del sistema sea bajo un escenario real pero solo cubre pocas
funcionalidades.
Tipos de prototipos
Existen 2 clases de prototipos que son desechable y evolucionario.
En el desechable es únicamente desarrollado para la satisfacción del cliente,
50
aunque con el pasar del tiempo el cliente cambie de opinión en la funcionalidad
del sistema este quedaría desecho.
Por último, el prototipo evolucionario su principal desventaja es que su
documentación y calidad no es buena a pesar de que pueda convertirse en un
sistema real. (Rosarino, 2018)
FUNDAMENTACION LEGAL
CONSTITUCION DE LA REPUBLICA DEL ECUADOR
TITULO ll
Derechos del buen vivir
Sección ll
Ambiente Sano
Art. 14.- Se reconoce el derecho de la población a vivir en un ambiente sano
y ecológicamente equilibrado, que garantice la sostenibilidad y el buen vivir,
sumak kawsay. Se declara de interés público la preservación del ambiente,
la conservación de los ecosistemas, la biodiversidad y la integridad del
patrimonio genético del país, la prevención del daño ambiental y la
recuperación de los espacios naturales degradados. (CONSTITUYENTE,
2018)
TITULO Vll
REGIMEN DEL BUEN VIVIR
Capitulo l
Inclusión y equidad
Sección l
51
Educación
Art. 350.- El sistema de educación superior tiene como finalidad la formación
académica y profesional con visión científica y humanista; la investigación
científica y tecnológica; la innovación, promoción, desarrollo y difusión de los
saberes y las culturas; la construcción de soluciones para los problemas del
país, en relación con los objetivos del régimen de desarrollo.
(CONSTITUYENTE, 2018)
Art. 351.- El sistema de educación superior estará articulado al sistema
nacional de educación y al Plan Nacional de Desarrollo; la ley establecerá
los mecanismos de coordinación del sistema de educación superior con la
Función Ejecutiva. Este sistema se regirá por los principios de autonomía
responsable, cogobierno, igualdad de oportunidades, calidad, pertinencia,
integralidad, autodeterminación para la producción del pensamiento y
conocimiento, en el marco del diálogo de saberes, pensamiento universal y
producción científica tecnológica global. (CONSTITUYENTE, 2018)
SECCIÓN Vlll
Ciencia, tecnología, innovación y saberes ancestrales
Art. 385.- El sistema nacional de ciencia, tecnología, innovación y saberes
ancestrales, en el marco del respeto al ambiente, la naturaleza, la vida, las
culturas y la soberanía, tendrá como finalidad: (CONSTITUYENTE, 2018)
1. Generar, adaptar y difundir conocimientos científicos y tecnológicos.
2. Desarrollar tecnologías e innovaciones que impulsen la producción
nacional, eleven la eficiencia y productividad, mejoren la calidad de vida y
contribuyan a la realización del buen vivir. (CONSTITUYENTE, 2018)
Art. 386. El sistema comprenderá programas, políticas, recursos, acciones,
e incorporará a instituciones del Estado, universidades y escuelas
politécnicas, institutos de investigación públicos y particulares, empresas
públicas y privadas, organismos no gubernamentales y personas naturales
52
o jurídicas, en tanto realizan actividades de investigación, desarrollo
tecnológico, innovación y aquellas ligadas a los saberes ancestrales.
(CONSTITUYENTE, 2018)
LEY ORGANICA DE EDUCACIÓN SUPERIOR
TÍTULO Vll
INTEGRALIDAD
CAPITULO ll
DE LA TIPOLOGÍA DE INSTITUCIONES Y REGIMEN ACADÉMICO
Sección lll
Del Funcionamiento de las Instituciones de Educación Superior
Art. 144.- Tesis Digitalizadas. - Todas las instituciones de educación
superior estarán obligadas a entregar las tesis que se elaboren para la
obtención de títulos académicos de grado y posgrado en formato digital para
ser integradas al Sistema Nacional de Información de la Educación Superior
del Ecuador para su difusión pública respetando los derechos de autor.
(CONSTITUYENTE, 2018)
DECRETO N° 1014
DEL GOBIERNO ACERCA DEL USO DE SOFTWARE LIBRE
Artículo 1: Establecer como política pública para las Entidades de la
Administración Pública Central la utilización de Software Libre en sus
sistemas y equipamientos informáticos. (CONSTITUYENTE, 2018)
Artículo 2: Se entiende por Software Libre a los programas de computación
que se pueden utilizar y distribuir sin restricción alguna, que permite el
53
acceso a sus códigos fuentes y que sus aplicaciones pueden ser mejoradas.
Estos programas de computación tienen las siguientes libertades:
• Utilización de programa con cualquier propósito de uso común.
• Distribución de copias sin restricción alguna.
• Estudio y modificación de programa (Requisito: código fuente disponible)
• Publicación del programa mejorado (Requisito: código fuente disponible)
Artículo 5: Tanto para software libre como software propietario, siempre y
cuando se satisfagan los requerimientos. (CONSTITUYENTE, 2018)
ORDENANZA PARA LA FACILITACIÓN DE LA CIRCULACIÓN
VEHICULAR EL M.I CONSEJO MUNICIPAL DE GUAYAQUIL
CONSIDERANDO:
QUE, el COOTAD en su artículo 55 letras c) y f), establece que es
competencia exclusiva de los gobiernos autónomos descentralizados
municipales, planificar, construir y mantener la vialidad urbana, así como
planificar, regular y controlar el tránsito y el transporte terrestre dentro de su
circunscripción cantonal; (CONSTITUYENTE, 2018)
QUE, la Ley Orgánica de Transporte Terrestre, Tránsito y Seguridad Vial
establece que los gobiernos autónomos descentralizados metropolitanos y
municipales, en el ámbito de sus competencias, tienen la responsabilidad de
planificar, regular y controlar las redes urbanas y rurales de tránsito y
transporte dentro de su jurisdicción; (CONSTITUYENTE, 2018)
QUE, el artículo 30.4 de la misma Ley dispone que los gobiernos autónomos
descentralizados metropolitanos y municipales, en el ámbito de sus
competencias en materia de transporte terrestre, tránsito y seguridad vial,
en sus respectivas circunscripciones territoriales, tendrán las atribuciones de
conformidad a la Ley y a las ordenanzas que expidan para planificar, regular
y controlar el tránsito y el transporte, observando las disposiciones de
carácter nacional emanadas desde la Agencia Nacional de Regulación y
Control del Transporte Terrestre, Tránsito y Seguridad Vial; y, deberán
54
informar sobre las regulaciones locales que emitan en materia de control del
tránsito y la seguridad vial; (CONSTITUYENTE, 2018)
QUE, la Av. Francisco de Orellana es una vía arterial que registra un alto
nivel de tráfico vehicular proveniente, principalmente, entre las
intersecciones de la calle Alberto Borges Nájera y Pompilio Ulloa Reyes,
desembocando en el norte de Guayaquil. (CONSTITUYENTE, 2018)
QUE, uno de los principales problemas que soporta la ciudad es el bloqueo
de intersecciones, lo que conlleva a complicar la movilidad, sobre todo en el
centro de la urbe, causando caos vehicular en las horas pico. En ejercicio de
la facultad normativa prevista en los artículos 240 de la Constitución de la
República y 57 letra a) del Código Orgánico de Organización Territorial,
Autonomía y Descentralización, De acuerdo a lo enunciado, las calles
descritas en la ordenanza, menciona puntos de conflictos que influyen en la
situación de la problemática descritas en el Capítulo I de la presente
investigación, a su vez menciona la maximización de la capacidad
operacional del transporte, con el estudio realizado, se puedo lograr la
optimización del tráfico en el punto en mención. Dado que, siendo el
Municipio de la ciudad de Guayaquil el principal interesado en la mejora del
transporte, debido que es competencia directa de este, la investigación lo
suma como uno de los principales interesados y a su vez se toma las leyes
que este exhorte en sus competencias. (CONSTITUYENTE, 2018)
EXPIDE:
“LA ORDENANZA PARA LA FACILITACION DE LA CIRCULACION
VEHICULAR EN LA CIUDAD DE GUAYAQUIL”
Art. 1.- Todo vehículo, público o privado, con o sin pasajero, siempre deberá
esperar el cambio de luz del semáforo antes del llamado paso cebra, si éste
está efectivamente pintado o delimitado, o a una distancia equivalente de
dicho paso, si no estuviera pintado o delimitado, de tal manera que en ningún
55
caso bloquee la respectiva intersección afectando el tráfico vehicular.
(CONSTITUYENTE, 2018)
Art 2 - Los conductores que con sus vehículos bloquearen las intersecciones
obstaculizando la movilización vehicular serán sancionados con una multa
equivalente a un salario básico unificado del trabajador en general. En caso
de reincidencia en la comisión de esta infracción dentro del mismo periodo
fiscal la sanción será de dos salarios básicos unificados.
(CONSTITUYENTE, 2018)
Art. 3.- La sanción será notificada: a través de medios electrónicos;
mediante avisos en alguno de los diarios de mayor circulación en el cantón
Guayaquil; al momento de cometer la infracción o al realizar el proceso de
Matriculación y Revisión Técnica Vehicular ante la autoridad competente; a
elección de la autoridad competente. (CONSTITUYENTE, 2018)
Art 4.- En ningún caso los conductores de taxis convencionales, de taxis
ejecutivos, ni en general ningún conductor de vehículos podrán dejar o
recoger pasajeros y/o mercaderías a lo largo de la calle Boyacá, desde la
calle Piedrahita hasta la calle Olmedo, de lunes a sábado en horario de
07h00 a 19h00. El incumplimiento de esta prohibición será sancionado con
una multa equivalente a la mitad de un salario básico unificado del trabajador
en general. En caso de reincidencia en la comisión de esta infracción dentro
del mismo periodo fiscal, la sanción será de un salario básico unificado.
Dicha sanción será notificada de la misma manera establecida para el caso
del bloqueo de las intersecciones, a elección de la autoridad competente.
(CONSTITUYENTE, 2018)
DISPOSICIONES FINALES
PRIMERA. - Forma parte integrante de la presente Ordenanza el plano del área prohibida para tomar y dejar pasajeros y/o mercaderías, y de las calles paralelas que los conductores pueden usar. (CONSTITUYENTE, 2018)
SEGUNDA. - Esta Ordenanza se aplicará desde el 1 de septiembre de 2015, sin perjuicio de que la Municipalidad de Guayaquil y la indicada Empresa Pública Municipal coordinen la realización de una o varias campañas de
56
difusión y concientización respecto de la necesidad de respetar las prohibiciones establecidas en la presente ordenanza, y en general sobre la responsabilidad de los conductores de vehículos frente a la ciudadanía. La o las campañas serán realizadas por la Municipalidad de Guayaquil. (CONSTITUYENTE, 2018)
TERCERA. - La Empresa Pública Municipal de Tránsito realizará un estricto seguimiento respecto del cumplimiento de esta ordenanza, pudiendo, como consecuencia de ello, hacer a la Municipalidad de Guayaquil las recomendaciones pertinentes.
Esta ordenanza regirá desde su publicación en la Gaceta Oficial Municipal. (CONSTITUYENTE, 2018)
LEY DE PROPIEDAD INTELECTUAL
TITULO l
DE LOS DERECHOS DE AUTOR Y DERECHOS CONEXOS
CAPITULO l
DEL DERECHO DE AUTOR
SECCIÓN l
PRECEPTOS GENERALES
Art. 4. Se reconocen y garantizan los derechos de los autores y los derechos
de los demás titulares sobre sus obras.
Art. 5. El derecho de autor nace y se protege por el solo hecho de la creación
de la obra, independientemente de su mérito, destino o modo de expresión.
Se protegen todas las obras, interpretaciones, ejecuciones, producciones o
emisión radiofónica cualquiera sea el país de origen de la obra, la
nacionalidad o el domicilio del autor o titular. Esta protección también se
reconoce cualquiera que sea el lugar de publicación o divulgación.
57
El reconocimiento de los derechos de autor y de los derechos conexos no
está sometido a registro, depósito, ni al cumplimiento de formalidad alguna.
El derecho conexo nace de la necesidad de asegurar la protección de los
derechos de los artistas, intérpretes o ejecutantes y de los productores de
fonogramas.
Art. 6. El derecho de autor es independiente, compatible y acumulable con:
• La propiedad y otros derechos que tengan por objeto la cosa material
a la que esté incorporada la obra;
• Los derechos de propiedad industrial que puedan existir sobre la
obra; y,
• Los otros derechos de propiedad intelectual reconocidos por la ley.
También se tendrá en cuenta artículos referenciados al derecho de autor la
cual se citará:
SECCION ll
OBJETO DEL DERECHO DE AUTOR
Art. 8. La protección del derecho de autor recae sobre todas las obras del
ingenio, en el ámbito literario o artístico, cualquiera que sea su género, forma
de expresión, mérito o finalidad. Los derechos reconocidos por el presente
Título son independientes de la propiedad del objeto material en el cual está
incorporada la obra y su goce o ejercicio no están supeditados al requisito
del registro o al cumplimiento de cualquier otra formalidad.
Pregunta científica para contestarse
¿Cuál sería una posible solución que contribuya a la planeación urbana de la
ciudad de Guayaquil enfocado en la transportación para disminuir el tráfico
vehicular en las calles más transitadas de la ciudad?
58
¿Cuál es la importancia de integrar la interfaz de las API’s en el proyecto
propuesto?
¿Cómo se podrá sustentar y/o demostrar el funcionamiento de la aplicación móvil?
¿Para que servirá la integración de la herramienta GPS en el proyecto propuesto?
Definiciones conceptuales
• Tránsito. - Es el acto de movilizarse, trasladarse desde varios lugares a
distintos destinos mediante vehículos como los autos, buses, bicicleta, a
pie, entre otros. Los ciudadanos, animales son los más comunes en
transportarse.
• Técnica. – Una técnica es utilizada en varios ciencias o ámbitos, la técnica
es un conjunto de procedimientos o protocolos que tienen como finalidad
la ejecución de una actividad u objetivo.
• Hora Pico. - es el tiempo exacto en donde más se refleja el movimiento de
los vehículos circulando en un punto especifico, o es una cantidad de
personas que usan servicio público.
• API’s. - los programas informáticos hacen uso de las Apis para el acceso
de servicios como sistemas operativos biblioteca de software, etc. Es decir,
una Apis es un conjunto de procesos o procedimientos que integran los
sistemas.
• IntelliJ IDEA. - Es un IDE desarrollado en java por Jet Brans bajo dos tipos
de licencias (código abierto, comercial), es un entorno de desarrollo
mejorado en la comunidad Java.
• Congestión vehicular. – es la aglomeración de elementos, es decir es un
proceso de bloqueo que lentaliza la circulación de los vehículos.
• SDK. - Software Development Kit es un conjunto de herramientas que sirve
para la elaboración o programación de App, está dividido en tres
categorías: usado para entornos de programación, mantenimiento y de
publicidad.
• GPS. - sistema de posicionamiento global, es una herramienta o método
matemático que sirve para determinar la ubicación de un objeto.
59
• Circulación de Vehículos. – es la movilización de los distintos tipos de
vehículos, es un movimiento continuo de los vehículos en un mismo punto
específico.
• Patrón de objetos. - son entidades que permite definir los puntos de los
objetos que el sistema analizará para su respectiva secuencia de
procedimientos.
• Visión Artificial. - es un campo de la inteligencia artificial, es una técnica
usada para que el sistema realice funcionalidades que el ser humano
realiza, es decir sirve para que el sistema se comporte de forma similar al
ojo humano.
• Ing. De Transito. - es una rama de la ingeniería de transporte, es la
persona encargada de supervisar el control de la movilización vehicular.
• JSON. - es un formato abierto de representación e intercambio de objetos,
popularizado a principios de siglo por Douglas Crockford como una
alternativa ligera a XML, permite intercambiar datos estructurados entre
diferentes programas y medios de almacenamiento independientemente
del lenguaje de programación en que estén desarrollados.
• VMWARE. - es un proveedor de software de virtualización, es un programa
que permite al computador tener una o más máquinas virtuales dentro de
una misma máquina física.
• APK. - Android aplication package, es un archivo ejecutable propio que
genera el Android studio que sirve para instalar sistemas dentro de un
smartphone sin necesidad de utilizar la descarga de una tienda de
servicios.
• Leyes de Tránsito. - son reglas o protocolos establecidos por las
autoridades de tránsito que hay que cumplir para evitar futuros
inconvenientes en el transporte.
60
CAPITULO lll
Propuesta Tecnológica
El proyecto propuesto de tesis es uno de los módulos que forma parte del
proyecto LessTraffic de la carrera Ingeniería en sistemas computacionales de la
universidad de Guayaquil, en el cual se propone una plataforma tecnológica para
contribuir a la planeación urbana de la ciudad de Guayaquil dirigido a la
transportación y enfocado al desarrollo de una aplicación Android usando técnicas
de visión artificial para el conteo de los tipos de vehículos que pueden circular en
un punto geo referencial, tal plataforma será de disponibilidad de entidades
Gubernamentales como lo son: el municipio de Guayaquil, la alcaldía y la
Autoridad de Tránsito Municipal (ATM) para obtener mayor información, control y
así realizar el respectivo análisis para la toma de decisiones, con el objetivo de
reducir o eliminar el congestionamiento vehicular que se causa en la ciudad de
Guayaquil principalmente en sus horas pico.
La arquitectura de la plataforma tecnológica en su segunda fase está basada
en implementar mejoras de su primera fase, así como también en la recopilación
de información y datos con sus respectivos parámetros como ubicación, latitud,
longitud, tiempo, velocidad, cantidad de los tipos de vehículos, análisis por
sectores de las vías o calles en donde se presenta el tráfico vehicular. El siguiente
proceso es el muestreo de mapas mediante el consumo de las API’s desarrollados
en uno de los módulos y mediante diferentes tipos de algoritmos identificadores,
matemáticos, localizadores desarrollados en varios lenguajes de programación y
por último análisis de los datos obtenidos para brindar una solución definitiva al
tráfico vehicular en la ciudad de Guayaquil.
El presente proyecto está enfocado a brindar una herramienta (software) de
soporte a las autoridades de tránsito con datos precisos de la cantidad de los tipos
de vehículos y su ubicación geo referencial que estén circulando en una vía en
61
específico de la ciudad de Guayaquil, para facilitar un mejor control y análisis a la
toma de decisiones a implementar con la finalidad de aplicar una posible solución
al tráfico vehicular, tal software es una aplicación móvil en Android desarrollado
con técnicas de visión artificial mediante distintos tipos de algoritmos como el
reconocido clasificador de redes neuronales convolucionales, el framework
Tensorflow así como también la inclusión de API’s previamente desarrollados en
otro de los módulos del proyecto FCI. Previo al desarrollo se debe de instalar
programas como Android studio, Python, máquina virtual, librerías, entre otros.
La integración de las API’s sirve como un intermediario para la comunicación
entre la aplicación móvil con la base de datos PostgreSQL.
La implementación de las técnicas de visión artificial como el clasificador de
Deep Learning sirve para realizar el entrenamiento de distintas imágenes de
vehículos para su respectivo reconocimiento e identificación, en cambio el
framework Tensorflow sirve para realizar el conteo y mostrar la cantidad de los
tipos de vehículos identificados durante la grabación de video desde la aplicación
móvil, para luego proceder a mostrar la ubicación geo referencial de los vehículos
transitados mediante la tecnología del GPS.
Análisis de Factibilidad
Una vez de haber estudiado y definido la causas y consecuencias de la
problemática identificada, que es el congestionamiento vehicular, se ejecuta a
implementar una posible solución a nivel de una aplicación móvil de Android
desarrollada bajo las técnicas de visión artificial para el control, disminución y
administración de la congestión vehicular que servirá de ayuda en la planificación
urbana de la ciudad de Guayaquil.
El presente proyecto propuesto tiene factibilidad en la obtención de datos y la
automatización de los resultados previamente analizados, que serán
62
representados mediante la grabación de video y la ubicación geo referencial de
los vehículos transitados en una vía específica de la ciudad de Guayaquil. Así
mismo cuenta con los requisitos indispensables para hacer uso de las API’s
logrando una buena comunicación con la base de datos y así ser consumida por
la aplicación móvil Android que es donde estará incrustado el desarrollo del
proyecto como un módulo del proyecto LessTraffic.
Mediante las respectivas investigaciones y análisis del módulos podemos
indicar que el beneficiado principal son las entidades con visión de eliminar la
congestión vehicular como lo es la Autoridad de Tránsito Municipal (ATM), así
como también los beneficiados a largo plazo será la sociedad por motivo que si
los agentes de tránsito logran implementar una buena medida en base a los
resultado obtenidos de la aplicación móvil, los ciudadanos tendrían un mejor estilo
de vida, se evitaría todas las consecuencias que causa el embotellamiento
vehicular.
Factibilidad Operacional
Existe un apoyo absoluto por parte de la Autoridad de Tránsito Municipal (ATM)
de la ciudad de Guayaquil, principal organización beneficiada en poder tener y
hacer uso de la aplicación móvil como una herramienta de soporte para realizar
estudios e implementaciones con la finalidad de disminuir o eliminar la congestión
vehicular, esto es dado mediante los resultados correctos de la cantidad de los
tipos de vehículos (autos, buses, bicicletas, camiones, motos) junto con su
ubicación geo referencial conseguidos en la pantalla de reporte de la aplicación
móvil.
Los agentes de tránsito han intervenido activamente en varias reuniones
realizadas, donde hemos dado a conocer la funcionalidad y objetivos del módulo
propuesto, por parte de ellos nos han colaborado con distintos criterios sobre la
aplicación, así como también han brindado ideas sobre el diseño de este, por lo
tanto, tal herramienta va a estar disponible para su uso en cualquier momento o
lugar.
63
También contamos con el apoyo de los responsables del proyecto LessTraffic
en la elaboración del módulo indicado, corrección y validación del cumplimiento
con todos los requisitos y funcionalidad de este, dado mediante las distintas
reuniones físicas y online con los organizadores del proyecto, con la finalidad de
brindar una herramienta a las entidades de tránsito.
El proyecto lessTraffic está proyectado a colaborar con las entidades de
tránsito exactamente a la ciudad de Guayaquil, en donde el agente mediante el
proyecto propuesto obtendrá la cantidad de los tipos de vehículos circulados en
una de las vías donde más es presentado el tráfico vehicular.
En cuanto a la manipulación de la aplicación es importante recalcar que el
sistema va a ser muy fácil de manejar, debido a que es un sistema automatizado
y todas sus funcionalidades se harán internas y automáticas, en donde solo
mostrará a la Autoridad de Tránsito Municipal (ATM) o a cualquier otra entidad que
tenga la visión de aportar a la eliminación de la congestión vehicular los resultados
de los datos que previamente fueron analizados y obtenidos dentro de la misma
aplicación móvil, el módulo implementado trabaja en conjunto y realiza consumo
de datos de los otros módulos que conlleva el proyecto LessTraffic.
Por todo lo mencionado podemos deducir que el presente proyecto es factible de
manera operacional.
Factibilidad Técnica
En esta sección se describirá los elementos tecnológicos asequibles tanto
como para el desarrollo del módulo, así como también para el funcionamiento y
uso de la aplicación móvil por parte de la entidad de tránsito.
En cuanto a las autoridades de tránsito que son los encargados de uso o
clientes directos del módulo del proyecto LessTraffic indican que, si es asequible
la obtención de un dispositivo móvil con las características que serán detalladas,
por motivo que cuentan con el presupuesto para la adquisición de este. El teléfono
móvil debe de tener las siguientes características:
64
• Sistema operativo Android.
• Almacenamiento de 2 a 4 GB.
• Cámara Trasera.
• Versión de API’s de 21 en adelante.
En cuanto a la elaboración de un nuevo módulo o mejora de este, nosotros
como tesistas y desarrolladores de la aplicación podemos indicar que los
siguientes materiales usados se encuentran disponibles y asequibles en todo
momento. Por parte del software la obtención de VMware para la creación de
máquinas virtuales, la descarga de Android Studio, Python navegador Google
Chrome son 100% factibles por motivo que están disponibles gratis en la web. Por
parte del hardware para la elaboración del módulo puede ser desarrollado en
cualquier computador con sistema operativo Windows 7 en adelante.
Por todo lo mencionado podemos deducir que el presente proyecto es factible
de manera técnica.
Factibilidad Legal
El proyecto está regido a distintos tipos de leyes según sus reglamentos que serán
descritos a continuación:
CUADRO 3 BASES LEGALES Y ARTÍCULOS
BASE LEGAL ARTICULO / ANEXO
Del funcionamiento de las instituciones de educación superior Art. 144 – Tesis
digitalizadas
Del gobierno acerca del uso de software libre Art. 1
Ciencia, tecnología, innovación y saberes ancestrales. Art. 385 Anexo 1 - 3
Ley de propiedad intelectual Art. 4, 5 y 6
Objeto al derecho del autor Art. 8
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A.
65
Factibilidad Económica
Este proyecto está proyectado con un valor aproximado de $2.175 de
presupuesto para la elaboración del mismo, lo cual el valor puede variar
dependiendo del tiempo estimado en el desarrollo, a continuación se detalla lo
mencionado:
CUADRO 4 PRESUPUESTO DEL PROYECTO
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A.
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Por parte de la entidad de tránsito con la implantación y uso de la aplicación
móvil desarrollado, obtendrá los siguientes beneficios, generándole reducción de
costos en cuanto al estudio y aplicación de medidas para la reducción o
eliminación del congestionamiento vehicular.
Beneficios
• Reducción de implantación de sistemas de cámaras de alta definición en
cada uno de los semáforos de las vías con mayor tráfico vehicular (con el
propósito de contar los vehículos).
• Ahorro de combustible: este es un beneficio a largo plazo para los
ciudadanos si se logra reducir el tráfico vehicular.
• Ahorro de gastos adicionales en la implementación de medidas erróneas
para la eliminación del tráfico vehicular.
66
Etapas de la metodología del proyecto
Antes de comenzar con la descripción de la implementación de la metodología
escogida para la elaboración del proyecto que es la metodología del prototipo se
debe de especificar las personas responsables del proyecto LessTraffic fase 2,
área de desarrollo.
CUADRO 5 PERSONAS RESPONSABLES DEL PROYECTO
ROL NOMBRE CARGO
Product Owner Ing. Jimmy Sornoza
Moreira
Líder del Proyecto
Scrum Máster Thalía Carolina Intriago
Manzano
Supervisora
Desarrolladores Daniel Alfredo Chamaidan
Asencio
Nathaly Marina Herrera
González
Desarrollo y
Documentación
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Investigación Preliminar
Luego de conocer los roles de las personas responsables del proyecto se
realizó una reunión con el product owner para la especificación y establecimiento
del tema y los requerimientos, alcances y restricciones del proyecto propuesto
(conteo vehicular mediante técnicas de visión artificial).
Especificación y Requerimiento del prototipo
Análisis y Especificaciones
Realizar el estudio previo de las herramientas utilizadas en el framework
Tensorflow.
67
• Analizar e investigar los distintos tipos de algoritmos para emplear en el
proyecto.
• Seleccionar los algoritmos a usar en el sistema.
• Realizar un previo estudio sobre los requerimientos fundamentales para la
implementación de las API´s.
• Realizar una profunda investigación sobre la habilitación del GPS en
Android Studio.
Diseño y construcción
• Efectuar la descarga del programa JDK, Android Studio, la librería
Tensorflow, el SDK de Android y el NDK de Android.
• Proceder con la instalación del programa Android Studio.
• Implementar el framework de Tensorflow, NDK, SDK, JSK y JRE en el
proyecto.
• Diseñar un modelo de las pantallas para el proyecto.
• Definir y diseñar el patrón MVC en el proyecto.
• Implementar los algoritmos seleccionados en el proyecto.
Evaluación
• Probar el patrón MVC.
• Comprobar la prueba de conexión con las API’s.
• Verificar el reconocimiento de los tipos de vehículos en el sistema.
• Examinar que el sistema identifique los tipos de vehículos.
• Comprobar que el conteo de vehículos sea el correcto.
Modificación
• Indicar todos los requerimientos investigados al módulo del proyecto
LessTraffic encargado de la creación de las API’s.
• Creación de los Modelos del Patrón MVC
Diseño técnico
68
• Creación de las vistas del Patrón MVC.
• Creación de layauts en el proyecto.
• Creación de los controladores del Patrón MVC.
Programación y prueba
• Realizar el filtrado de imágenes mediante las etiquetas que conforma el
clasificador Redes neuronales convolucionales
• Integrar el algoritmo de reconocimiento.
• Integrar el algoritmo de identificación.
• Integrar el algoritmo de conteo.
• Integrar las API’s elaboradas por parte del módulo creador de API’s en la
aplicación móvil.
• Integrar en el sistema la ubicación geo referencial de los vehículos.
Operación y mantención
• Constatar la conexión con la BD del proyecto LessTraffic.
• Validar el funcionamiento del algoritmo de reconocimiento.
• Validar el funcionamiento del algoritmo de identificación.
• Validar el funcionamiento del algoritmo de conteo.
• Validar que el sistema proporcione la correcta ubicación geo referencial de
los vehículos.
LISTA DE REQUERIMIENTOS DEL PROYECTO
Requerimientos funcionales
CUADRO 6 RECONOCIMIENTO EN TIEMPO REAL DEL VEHICULO
REQUERIMIENT O
DESCRIPCIÓN
RQF-01 El sistema mediante una grabación de video desde la cámara trasera de un smartphone debe reconocer e identificar en una fracción entre 0.2 segundos los tipos de vehículos en tiempo real durante toda la grabación, contiene el 93% de precisión en el reconocimiento del objeto.
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
69
CUADRO 7 CONTEO AUTOMÁTICO
REQUERIMIENT O
DESCRIPCIÓN
RQF-02 El sistema debe de realizar un conteo automático cada tipo de vehículos (autos, buses, camiones, motos, bicicletas) que transiten en una calle en específica de una sola vía.
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
CUADRO 8 ALMACENAMIENTO DE DATOS
REQUERIMIENT O
DESCRIPCIÓN
RQF-03 El sistema luego del conteo vehicular deberá de almacenarlo en la base de datos.
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
CUADRO 9 REPORTE DE CONTEO
REQUERIMIENT O
DESCRIPCIÓN
RQF-04 El sistema debe de mostrar un reporte del conteo de cada tipo de vehículos transitados en una calle en específico de una sola vía.
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
CUADRO 10 LOCALIZACIÓN
REQUERIMIENT O
DESCRIPCIÓN
RQF-05 El sistema debe mostrar el punto geo-referencial del vehículo identificado.
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
70
Requerimientos no funcionales
CUADRO 11 RESPUESTA RÁPIDA
REQUERIMIENT O
DESCRIPCIÓN
RQNF-01 El reconocimiento de vehículos se debe de realizar en un tiempo considerablemente corto (0.2 segundos)
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
CUADRO 12 USABILIDAD
REQUERIMIENT O
DESCRIPCIÓN
RQNF-02 La aplicación móvil debe de funcionar de forma intuitiva
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
CUADRO 13 MANTENIBILIDAD
REQUERIMIENT O
DESCRIPCION
RQNF-03 El sistema debe de permitir dar mantenimiento
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
CUADRO 14 PORTABILIDAD
REQUERIMIENT O
DESCRIPCION
RQNF-04 La aplicación móvil de identificación y conteo vehicular funcionará en dispositivos móviles con sistemas operativos Android versión de 6 en adelante.
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
CUADRO 15 EXTENDIBILIDAD
REQUERIMIENT O
DESCRIPCION
RQNF-05 El sistema permite incrementar nuevas funcionalidades o características en futuras modificaciones o actualizaciones que se requiera realizar.
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Otros requerimientos
Para la elaboración de la aplicación móvil de identificación y conteo automático de
vehículos debe de tener los siguientes requerimientos o similares a estos:
REQUERIMIENTOS HARDWARE
• Un smartphone con sistema Operativo Android con versión de 6 en
adelante, 4GB de memoria RAM, 16-32 GB de almacenamiento interno,
cámara trasera de 8 Mp en adelante, versión de API de 21 en adelante.
• Una laptop con 8 Gb de memoria RAM, sistema Operativo de 64 bits, disco
duro de 1 TB.
REQUERIMIENTOS SOFTWARE
• Máquina virtual VMware
• Android Studio
• Python
• Navegador Google Chrome
• PostgreSQL.
GRÁFICO 23 DIAGRAMA DE CASO DE USO / REGISTRO DE USUARIO
71
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
GRÁFICO 24 DIAGRAMA DE CASO DE USO / INICIO DE SESION
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
GRÁFICO 25 DIAGRAMA DE CASO DE USO/ PERFIL ADMINISTRADOR
72
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
GRÁFICO 26 DIAGRAMA DE CASO DE USO/ PERFIL USUARIO
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Ilustración 27 VISTA DE INFRAESTRUCTURA
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
73
Tensorflow API's
PC
Redes neuronales
convolucionales (CNN)
Smarthphone
Android
GRÁFICO 28 DIAGRAMA DE SECUENCIA
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
74
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
GRÁFICO 29 DIAGRAMA COMPLETO DE CASOS DE USO
75
MOSTRAR
REPORTE DE
GRÁFICO 30 DIAGRAMA DE PROCESO
ADMINISTRAD si OR
NO
USUARIO
INGRESAR A
LA CAMARA
SI COMENZ
AR
NO
API’S
RECIBIR
INFORMACIÓ
REGISTRAR
EN BASE DE
NO FINALIZ
SI
FIN
76
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
REGISTRO
DE USUARIO
/ INICIO DE
INICIO
ENVIAR
INFORMACIÓ
MOSTRAR
LOCALIZACIÓ
N GEO
REALIZAR
CONTEO DE
RECONOCER E
IDENTIFICAR
OBJETOS
*ABRIR
CAMARA
*ABRIR GALERIA DE
CONTEO
*
ACTUALIZAR DATOS
* REGISTRAR
NUEVO
USUARIO *CERRAR
SESIÓN
77
Entregables del proyecto
El proyecto en su fase final se entregará al área de titulación y al proyecto
LessTraffic del grupo FCI la aplicación móvil que es donde está desarrollado el
proyecto propuesto, los archivos generados en Python y Java (código fuente,
código ejecutable), así como también el manual de usuario, Manuel de este,
adicional 2 ejemplares del libro de tesis y un CD con toda la documentación
digitalizada.
Criterio de validación de la propuesta
El estudio del problema identificado (congestionamiento vehicular) se llevó a
cabo en la Av. Francisco de Orellana entre las intersecciones de la calle Alberto
Borges Nájera y Pompilio Ulloa Reyes por ser una de las vías con alta circulación
en la ciudad de Guayaquil principalmente en sus horas pico.
Las entidades de tránsito principalmente los agentes de la ATM podrán utilizar
esta herramienta para tener datos de la cantidad de los tipos de vehículos
circulados en la vía especificada anteriormente, logrando darle una visión de que
medidas podría implementar para reducir o eliminar el tráfico vehicular.
Una implementación para la validación del proyecto propuesto es la realización
de las pruebas de los distintos algoritmos implementados como lo son el algoritmo
redes neuronales convolucionales, el framework Tensorflow, la conexión con la
base de datos mediante la intervención de las API’s para verificar que los datos
obtenidos y generados son los correctos, los siguientes gráficos comprueban la
veracidad, cumplimiento de los requerimientos del proyecto y la exactitud de los
resultados automatizados.
Otras implementaciones para la validación del proyecto es la realización de la
técnica Juicio de Experto a tres Ingenieros expertos en el ámbito, el cuestionario
realizado a distintos vigilantes de tránsito, así como también contamos con la
validación del líder del proyecto LessTraffic en cuanto al cumplimiento y calidad
del módulo desarrollado.
78
Técnicas y Fuentes
Las técnicas usadas para la presentación del sistema fue la encuesta.
Las fuentes son las personas (testimonio) que están involucradas dentro
de los cuales fueron los siguientes:
• Vigilantes de la ATM (Autoridades de tránsito Municipal).
GRÁFICO 31 FORMATO DE PROPUESTA
Universidad de Guayaquil
Facultad de Ingeniería en Sistemas Computacionales
Encostadores :
-Nathaly Herrera González.
-Daniel Chamaidan Asencio.
Fecha:27/02/2019
Encuestados: vigilantes de la ATM .
➢ ¿De la escala del 1-10, Usted cree que la aplicación móvil contribuirá como una
herramienta para una posible solución al congestionamiento vehicular en la
ciudad de Guayaquil?
➢ ¿Ustedes cuentan con un sistema similar o igual a la aplicación móvil propuesta?
➢ ¿Si cuentan con un sistema similar al propuesto. De la escala del 1-5 que tan
eficiente la considera?
➢ ¿Cree usted posible que en algún momento es factible utilizar el sistema
propuesto?
➢ ¿Cree usted que el sistema propuesto le ayudará a realizar un mejor control y
análisis a la toma de decisiones para eliminar el congestionamiento vehicular, con
los datos de la cantidad de vehículos circulados en la ciudad de Guayaquil?
➢ ¿Qué otros tipos de herramientas han utilizado e implementado para eliminar el
congestionamiento vehicular en la ciudad de Guayaquil?
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
79
A continuación, se detalla un resumen de la entrevista realizada a los
vigilantes de la ATM.
CUADRO 16 RESUMEN DE ENCUESTA
Encuesta para verificar la aceptación del producto a las autoridades de
tránsito municipal.
Resumen de la entrevista
1. De la escala del 1 - 10 Cuanto usted cree que la aplicación móvil contribuirá
como una herramienta para una posible solución al congestionamiento
vehicular en la ciudad de Guayaquil
Donde 1 es lo mínimo y 10 es lo máximo
1 2 3 4 5 6 7 8 9 10
2. ¿Ustedes cuentan con un sistema similar o igual a la aplicación móvil
propuesta?
SI
NO
3. Si cuentan con un sistema similar al propuesto. De la escala del 1 – 5 que tan
eficiente la considera
Donde: 0 = Nada; 1 = Muy Poco; 2 = Poco; 3 = Regular; 4 = Recomendado; 5 = Muy
Recomendado
1 2 3 4 5
4. ¿Cree usted posible que en algún momento es factible utilizar el sistema
propuesto? En caso de decir no Por Favor indique él porque
SI
NO
5. Cree usted que el sistema propuesto le ayudará a realizar un mejor control
y análisis a la toma de decisiones para reducir el congestionamiento
vehicular, con los datos de la cantidad de vehículos circulados en la ciudad
de Guayaquil. En caso de decir no Por Favor indique él porque
SI
NO
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
80
La encuesta es uno de los mecanismos o las técnicas que ha sido usado
para validar la aprobación de las autoridades de tránsito municipales con el fin de
brindar un servicio de calidad y que sea factible para la ATM.
Muestra
Se planifica hacer una encuesta a los vigilantes de la ATM por lo que se define la
muestra a evaluar, con la aplicación de esta fórmula se obtiene lo siguiente:
GRÁFICO 32 Ecuación de la muestra
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
Fuente(Contraloría General de la República, 2012)
Procesamiento y análisis
Con las siguientes variables se podrá realizar el cálculo de manera idónea para
obtener el cálculo esperado.
CUADRO 17 Variables para cálculo de la muestra
Variable Descripción
n Tamaño de muestra buscado.
N Tamaño de la población o universo.
Z Nivel de confianza.
e Error de estimación máximo aceptado.
p Probabilidad de éxito
q Probabilidad de fracaso
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
Fuente: (Contraloría General de la República, 2012)
𝑵 ∗ 𝒁𝟐 ∗ 𝒑 ∗ 𝒒 𝒏 =
𝒆𝟐 ∗ (𝑵 − 𝟏) + 𝒁𝟐 ∗ 𝒑 ∗ 𝒒
81
CUADRO 18 NIVEL DE CONFIANZA Probabilidad Error muestral Varianza
90% 10% 1.65
92% 8% 1.79
95% 5% 1.96
96% 4% 2.05
97% 3% 2.17
99% 1% 2.58
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
Fuente: (Contraloría General de la República, 2012)
Para realizar la muestra se escogió el nivel de confianza del 95% de
probabilidad, para valores de probabilidad erróneo (q) y de éxito (p) se
establecieron los valores del 50%.
CUADRO 19 DATOS PARA CALCULAR LA MUESTRA
Datos
Z 1.96
p 0.5
q 0.5
N 100
e 0.05
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
𝟏𝟎𝟎 ∗ 𝟏. 𝟗𝟔𝟐 ∗ 𝟎. 𝟓 ∗ 𝟎. 𝟓 𝒏 =
𝟎. 𝟎𝟓𝟐 ∗ (𝟏𝟎𝟎 − 𝟏) + 𝟏. 𝟗𝟔𝟐 ∗ 𝟎. 𝟓 ∗ 𝟎. 𝟓
𝟒𝟓 ∗ 𝟑. 𝟖𝟒 ∗ 𝟎. 𝟓 ∗ 𝟎. 𝟓 𝒏 =
𝟎. 𝟎𝟎𝟐𝟓 ∗ (𝟗𝟗) + 𝟑. 𝟖𝟒 ∗ 𝟎. 𝟓 ∗ 𝟎. 𝟓
𝒏 = 𝟖𝟎
82
El Tamaño de la población se obtuvo el valor de 100 debido a que se la oriento al
sector Norte de la ciudad de Guayaquil.
Con la aplicación de la formula realizada se obtiene una muestra de 80
autoridades de tránsito a quienes se van a dirigir la encuesta, ante el poco tiempo
disponible, también por políticas y restricciones de la institución ATM, no se pudo
realizar la encuesta a todos los vigilantes de tránsito, debido que las autoridades
presentes nos permitió realizar una encuesta de oportunidad de forma anónima
solo al 10% de la muestra obtenida, por tal motivo la encuesta se realizó a 8
vigilantes de tránsito.
GRÁFICO 33 PREGUNTA 1
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
De acuerdo con la encuesta realizada nos indica, que el 70% de agentes
encuestados da una calificación de 9, el 15% brinda una calificación de 8, el 10%
da una calificación de 10 y el 5% proporciona una calificación de 7. Según el
de Guayaquil
1= MINIMO Y 10 = MAXIMO
10
83
porcentaje obtenido nos da a conocer que los agentes de tránsito según su
criterio emiten que la aplicación móvil si contribuirá como una herramienta
para una posible solución al congestionamiento vehicular de la ciudad de
Guayaquil.
PREGUNTA 2
Ustedes cuentan con un sistema similar o igual a la aplicación móvil
propuesta
GRÁFICO 34 PREGUNTA 2
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio
De acuerdo con la encuesta realizada nos indica, que el 100% de
agentes encuestados tienen y nos da a conocer que tienen un sistema
similar al propuesto.
PREGUNTA 3 Si cuentan con un sistema similar al propuesto. De la escala del 1 – 5 que tan eficiente la considera Donde: 0 = Nada; 1 = Muy Poco; 2 = Poco; 3 = Regular; 4 = Recomendado; 5 = Muy Recomendado
84
GRÁFICO 35 PREGUNTA 3
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio
De acuerdo con la encuesta realizada nos indica, que el 50% de agentes
encuestados según su experiencia de uso del sistema similar emiten que la
eficiencia de tal es regular, el 25% brinda una calificación de 2 y 1 al sistema similar
donde nos brinda la información que el poco y muy poco eficiente.
PREGUNTA 4
Cree usted posible que en algún momento es factible utilizar el
sistema propuesto
GRÁFICO 36 PREGUNTA 4
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio
85
De acuerdo con la encuesta realizada nos indica, que el 100% de
agentes encuestados les parece que es factible la adquisición del sistema
propuesto.
PREGUNTA 5
Cree usted que el sistema propuesto le ayudará a realizar un mejor
control y análisis a la toma de decisiones para eliminar el
congestionamiento vehicular, con los datos de la cantidad de
vehículos circulados en la ciudad de Guayaquil.
GRÁFICO 37 PREGUNTA 5
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio
De acuerdo con la encuesta realizada nos indica, que el 100% de agentes
encuestados coinciden que el sistema propuesto les ayudará a realizar un
mejor control y análisis a la toma de decisiones para eliminar el
congestionamiento vehicular, con los datos de la cantidad de vehículos
circulados en la ciudad de Guayaquil.
86
PREGUNTA 6 Que otros tipos de herramientas han utilizado e implementado para
eliminar el congestionamiento vehicular en la ciudad de Guayaquil.
GRÁFICO 38 PREGUNTA 6
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio
De acuerdo con la encuesta realizada nos indica, que el 100% de agentes
encuestados coinciden que el sistema usado actualmente es el foto multas,
el mismo les facilita obtener las infracciones de tránsito, generados sobre
los pasos cebra, semáforos y carriles
JUICIO DE EXPERTO
En cuanto a la técnica de juicio de experto realizada a los ingenieros con la
finalidad de obtener una calificación y porcentaje a la validación del
proyecto desarrollado, adicional de la validación de que las técnicas
implementadas son las adecuadas.
0%
100%
OTROS
87
CUADRO 20 FORMATO JUCIO DE EXPETO
Universidad de Guayaquil
Facultad de Ingeniería en Sistemas Computacionales
Entrevistada por :
-Nathaly Marina Herrera González.
-Daniel Chamaidan Asencio.
Fecha:02/04/2019
EXPERTOS: Ing. Jimmy Sornoza Moreira, Karen
Navarro Cedeño, Ing. Cesar Muñoz Noboa .
➢ Conoce usted algún algoritmo de Reconocimiento de Objetos.
➢ Cuál de las siguientes técnicas de visión artificial usted implementaría para
realizar el reconocimiento de objetos (vehículos).
➢ De la siguiente escala usted cuanto recomendaría realizar el desarrollo de una
aplicación móvil en la plataforma Android Studio.
➢ En una escala de 1 - 5 cuanto recomendaría la aplicación para una posible
solución al congestionamiento vehicular.
➢ Usted ha utilizado el Algoritmo redes neuronales convolucionales (CNN).
➢ En una escala de 1 - 5 cuanto recomendaría el algoritmo redes neuronales
convolucionales (CNN) para un proyecto de reconocimiento y conteo de objeto.
➢ De la escala del 1 - 10 Cuanto usted cree que la aplicación móvil contribuirá como
una herramienta para una posible solución al congestionamiento vehicular en la
ciudad de Guayaquil
➢ Usted ha implementado conexión con API’s en un proyecto de Android Studio.
➢ En una escala de 1 - 5 cuanto recomendaría la conexión con API’s para la
comunicación con la base de datos.
➢ Cuál de estos métodos ha utilizado para la comunicación a la base de datos
mediante la conexión con las API’s
➢ Cree usted que el mejor método para comunicar el proyecto de Android Studio
con la base de datos es Retrofit API’s
➢ Cree usted que la conexión con las 4 API’s elaboradas en el otro módulo del
proyecto LessTrafic son las suficientes para generar la correcta comunicación
con la base de datos.
➢ Que otro tipo de API’s recomendaría para mejorar la comunicación con la base
de datos.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio
88
A continuación, se detalla un resumen del juicio de experto realizados a los Ing.
Jimmy Sornoza Moreira, Ing. Karen Navarro Cedeño, Ing. Cesar Muñoz Noboa.
Se escogió al Ing. Jimmy Sornoza M. por su nivel y años de experiencia, lo cual
según su perfil profesional se destaca que tiene un título universitario de Ingeniería
en sistemas computacionales, más un masterado en el ámbito de sistemas de
información gerencial, adicional mantiene 19 años trabajando en el área de
sistemas, 2 años de experiencia con el desarrollo de aplicaciones móviles y su
nivel de experiencia desarrollando en los siguientes lenguajes de programación:
java, php, c#, Awk, Perl.
Se escogió a la Ing. Karen Navarro C. por su perfil profesional y ocupacional, tiene
un título de tercer nivel de ingeniería en sistemas, cursos especializados en los
siguientes lenguajes de programación: Python, .Net, PlSQL, java, entre otros,
adicional por ser líder de proyectos de la institución Rigttek.S.A, Lo cual mantiene
10 años de experiencia en el ámbito de desarrollo de aplicaciones móviles y web,
mantiene 1 año de experiencia en el uso de algoritmos de la I.A.
Se escogió al Ing. Cesar Muñoz Noboa por su perfil profesional, tiene un título de
Ingeniero en sistemas, tiene 8 años de experiencia en el área de desarrollo de
sistemas de lo cual 3 años son del uso de la I.A, pertenece a la institución
Sudamericana de Software y tiene conocimientos avanzados en los siguientes
lenguajes de programación: Python, java, Perl, C++, C#, entre otros.
A continuación, se detalla un resumen del juicio de experto realizado a los
ingenieros mencionados.
89
CUADRO 20 FORMATO JUCIO DE EXPETO
Juicio de experto para realizar la validación de las tecnologías implementadas sean
las adecuadas.
Resumen del Juicio de Experto
1. Conoce usted algún algoritmo de Reconocimiento de Objetos.
SI
NO
2. Cuál de las siguientes técnicas de visión artificial usted implementaría para
realizar el reconocimiento de objetos.
Algoritmo Haar Cascade
Algoritmo de Segmentación
Algoritmo de SIFT
Algoritmo de SURF
Algoritmo de redes neuronales convolucionales.
3. De la siguiente escala usted cuanto recomendaría realizar el desarrollo de una
aplicación móvil en la plataforma de Android Studio.
Donde: 0 = Nada; 1 = Muy Poco; 2 = Poco; 3 = Regular; 4 = Recomendado; 5 = Muy Recomendado
1 2 3 4 5
4. De la siguiente escala usted cuanto recomendaría la aplicación para una
posible solución al congestionamiento vehicular.
Donde: 0 = Nada; 1 = Muy Poco; 2 = Poco; 3 = Regular; 4 = Recomendado; 5 = Muy Recomendado
1 2 3 4 5
5. ¿ Usted ha utilizado el Algoritmo redes neuronales convolucionales (CNN).
SI
NO
6. En una escala de cuanto recomendaría el algoritmo redes neuronales
convolucionales (CNN) para un proyecto de reconocimiento y conteo de objeto.
Donde: 0 = Nada; 1 = Muy Poco; 2 = Poco; 3 = Regular; 4 = Recomendado; 5 = Muy Recomendado
1 2 3 4 5
90
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio
7. De la escala del 1 - 10 Cuanto usted cree que la aplicación móvil contribuirá como
una herramienta para una posible solución al congestionamiento vehicular en
la ciudad de Guayaquil
Donde 1 es lo mínimo y 10 es lo máximo
1 2 3 4 5 6 7 8 9 10
Usted ha implementado conexión con API’s en un proyecto de Android Studio.
SI
NO
En una escala de 1 - 5 cuanto recomendaría la conexión con API’s para la
comunicación con la base de datos.
Donde: 0 = Nada; 1 = Muy Poco; 2 = Poco; 3 = Regular; 4 = Recomendado; 5 = Muy Recomendado
1 2 3 4 5
10. Cuál de estos métodos ha utilizado para la comunicación a la base de datos
mediante la conexión con las API’s
Retrofit
Bolly
Otros
¿Cree usted que el mejor método para comunicar el proyecto de Android Studio
con la base de datos es Retrofit API’s?
SI
Cree usted que la conexión con las 4 API’s elaboradas en el otro módulo del
proyecto LessTrafic son las suficientes para generar la correcta comunicación
con la base de datos.
SI
NO
91
Pregunta 1
Conoce usted algún algoritmo de Reconocimiento de Objetos.
GRÁFICO 39 PREGUNTA 1
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio.
PREGUNTA 2
Cuál de las siguientes técnicas de visión artificial usted
implementaría para realizar el reconocimiento de objetos.
GRÁFICO 40 PREGUNTA 2
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio.
Haar cascade
Segmentacion
92
PREGUNTA 3
De la siguiente escala usted cuanto recomendaría realizar el desarrollo de
una aplicación móvil en la plataforma de Android Studio.
GRÁFICO 41 PREGUNTA 3
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio.
PREGUNTA 4
De la siguiente escala usted cuanto recomendaría la aplicación para una
posible solución al congestionamiento vehicular.
GRÁFICO 42 PREGUNTA 4
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio.
0%
100%
Muy Poco
Poco
Regular
Recomendado
100%
Poco
Regular
Recomendado
93
PREGUNTA 5
Usted ha utilizado el Algoritmo redes neuronales convolucionales (CNN).
GRÁFICO 43 PREGUNTA 5
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
PREGUNTA 6
En una escala de cuanto recomendaría el algoritmo redes neuronales
convolucionales (CNN) para un proyecto de reconocimiento y conteo de
objeto.
Donde: 0 = Nada; 1 = Muy Poco; 2 = Poco; 3 = Regular; 4 = Recomendado; 5 =
Muy Recomendado
GRÁFICO 44 PREGUNTA 6
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio. Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
100%
Poco
Regular
Recomendado
94
PREGUNTA 7
De la escala del 1 - 10 Cuanto usted cree que la aplicación móvil contribuirá como una herramienta para una posible solución al congestionamiento vehicular en la ciudad de Guayaquil
GRÁFICO 45 PREGUNTA 7
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
PREGUNTA 8 Usted ha implementado conexión con API’s en un
proyecto de Android Studio
GRÁFICO 46 PREGUNTA 8
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
100%
10
95
PREGUNTA 9
En una escala de 1 - 5 cuanto recomendaría la conexión con API’s para
la comunicación con la base de datos.
GRÁFICO 47 PREGUNTA 9
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio.
Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
PREGUNTA 10
Cuál de estos métodos ha utilizado para la comunicación a la base de
datos mediante la conexión con las API’s
GRÁFICO 48 PREGUNTA 10
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio. Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
100%
Poco
Regular
Recomendado
100%
96
PREGUNTA 11
¿Cree usted que el mejor método para comunicar el proyecto de
Android Studio con la base de datos es Retrofit API’s?
GRÁFICO 49 PREGUNTA 11
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio. Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
PREGUNTA 12
Cree usted que la conexión con las 4 API’s elaboradas en el otro
módulo del proyecto LessTrafic son las suficientes para generar la
correcta comunicación con la base de datos
GRÁFICO 50 PREGUNTA 12
Fuente: Nathaly Herrera González y Daniel Chamaidan Asencio. Elaborado por: Nathaly Herrera González y Daniel Chamaidan Asencio
97
El juicio de experto realizado a los Ingenieros en sistemas, en base a sus años
de experiencia, se pudo llegar a la conclusión que los distintos tipos de tecnologías
implementados para el desarrollo de la aplicación móvil son los mejores, correctos
y actualizados para realizar el reconocimiento, identificación, conteo, conexión con
la base de datos del módulo propuesto, debido que se ajustaron a la necesidad
que se requería en los requerimientos.
Levantamiento de Ambiente de Desarrollo
Instalación de VMWARE
Se realizo la instalación y configuración de VMware Workstation por su principal
funcionalidad de que permite realizar la creación de máquinas virtuales, lo que
permite evitar errores en el desarrollo de código.
Creación de Máquina Virtual
Para desarrollar un trabajo con características similares y aisladas al
computador físico se realizó la creación de una máquina virtual en Linux por su
cualidad de comandos, por su gratuidad, estilo de modular y constantes
actualizaciones.
Instalación de Python
Se escogió Python por su característica de Open Source y por ser
multiplataforma, así como también por ser compatible con el programa Android
Studio y con la técnica Open CV, aquí se implementó el algoritmo Haar Cascade
para realizar el reconocimiento de vehículos mediante el entrenamiento de
imágenes en positivo y negativo.
Las imágenes positivas harán referencia a que toda Imágen detectada sea
igual a la foto en positivo hará su reconocimiento, en cambio con las imágenes en
negativo servirá para que a pesar de ser similar sino consta con cierta
característica la anule para el reconocimiento.
98
Instalación de Android Studio
Se realizó la instalación de Android studio para la elaboración de la aplicación
móvil del proyecto desarrollado, en él va toda la funcionalidad, dentro de Android
se integró el registro de usuario, la creación del MVC, la habilitación del GPS para
la ubicación geo referencial, configuración de la librería Tensorflow para la
identificación de los tipos de vehículos, así como también el conteo del mismo, se
lo relaciono con el código fuente elaborado en Python y por último se creó la
conexión con las API’s para que exista comunicación con la base de datos y así
enviar a ella todos los datos obtenidos.
Creación del patrón MVC
El MVC (modelo – vista - controlador) se lo creó para poder separar por partes
el sistema, es decir permite separar las responsabilidades de cada función
realizada, logrando reutilizar código sin que haya inconveniente, además de
brindarle al sistema mayor calidad en cuanto al desarrollo del software.
En la siguiente Imágen se muestra las carpetas que contiene el patrón MVC:
Io. - input ouput.
model. - Los objetos que se consultará.
ui. - se encuentran los activitys y las clases adaptar para el request y response de
las API’s.
99
GRÁFICO 51 CREACIÓN DEL PATRÓN MVC
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Conexión con las API’s
La conexión con las API’s fue necesario para poder implementar las API’s
desarrolladas en otro de los módulos del proyecto LessTraffic logrando que exista
comunicación con la base de datos PostgreSQL, su función es de intermediario
entre la app y la base de datos, es decir los datos obtenidos dentro de la app serán
enviados a las API’s para que ellos previamente la almacenen o alojen en la base
de datos y luego de que se guarde la información obtenida sea devuelta a la app
para su posterior mostración de la información ya almacenada a los usuarios. En
la siguiente imagen se visualiza el código desarrollado para la conexión con las
API’s
100
GRÁFICO 52 CLASES PARA LA CONEXIÓN CON LAS API's
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Presentación de pantallas principales de la aplicación
En las siguientes figuras se muestran las pantallas principales que contiene
la aplicación móvil.
1. Es la pantalla principal que el usuario podrá interactuar poniendo sus datos
personales para su posterior registro e ingreso a la aplicación, deber á de
escoger el rol de usuario a registrar (usuario, administrador).
2. En el gráfico 2 el usuario deberá de ingresar sus datos del registro para
iniciar sesión y entrar a la aplicación.
3. En la gráfico 3 se mostrarán dos botones, el primer botón habilitara la
cámara para poder realizar la grabación de video, durante la grabación de
los vehículos circulando en la vía especificada automáticamente el sistema
reconocerá, identificará y contará los tipos de vehículos, luego al dar en
finalizar la grabación de video los datos obtenidos se almacenarán en la
base de datos, posteriormente el usuario podrá seleccionar el segundo
botón que es el de mostrar los resultados para poder visualizar la cantidad
de los tipos de vehículos transitados y la ubicación geo referencial del
mismo, si el usuario es administrador tendrá habilitadas las opciones de
registrar, actualizar y eliminar un usuario.
(4)
GRÁFICO 55 REGISTRO DE
USUARIO (1) GRÁFICO 54 INICIO DE
SESIÓN (2)
GRÁFICO 53 SELECCIÓN
DE FUNCIONABILIDAD
(3)
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
4. En el gráfico 4 el rol usuario por no ser un administrador solo tendrá
habilitado las opciones de abrir cámara y abrir galería, el resto de las
opciones como: registrar, actualizar y eliminar usuario no podrán
visualizarlo, de tal monera no podrá acceder a ellas.
GRÁFICO 56 ROL USUARIO
101
Elaborado por: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
Fuente: Nathaly Marina Herrera G / Daniel Alfredo Chamaidán A
102
CAPÍTULO lV
Criterios de aceptación del producto o servicio
Matriz de aceptación
Los criterios de aceptación del proyecto es la validación de cumplimiento de
cada uno de los requerimientos del sistema, así como también la funcionalidad de
este.
El Product Owner (Ing. Jimmy Sornoza M.) es el encargado de la comprobación
del cumplimiento de cada uno de los requisitos para la elaboración del sistema y
si el nivel de acatamiento se establece con un 100% en su ejecución.
El nivel de cumplimiento se mide de un porcentaje que va desde el 0 % al
100%, donde 0% representa que no se cumple el criterio y el 100% representa la
totalidad de cumplimiento.
A continuación, se detalla en el cuadro N.21 una matriz de aceptación
especificando los criterios acordados considerando que la herramienta
desarrollada cumple con las especificaciones.
103
CUADRO 21 MATRIZ DE ACEPTACIÓN
ITEM REQUERIMIENTOS CRITERIOS DE
ACEPTACION
NIVEL DE
CUMPLIMIENTO (0% - 100%)
1 Registro de Usuario / Inicio de
sesión
El usuario inicia sesión con
su usuario y contraseña sin
ningún inconveniente.
100%
2 Ingreso al sistema Interacción de cada una de
las opciones que se
despliega en el menú.
100%
3 Reconocimiento e identificación
de los tipos de vehículos (Autos y
Buses)
El sistema realiza el
reconocimiento e
identificación de los tipos
de vehículos (Autos, Buses,
Motos, Camiones,
Bicicletas) de forma
correcta.
100%
4 Conteo automático de los tipos de
vehículos identificados
El sistema realiza el conteo
de los tipos de vehículos previamente identificados.
100%
5 Ubicación Geo Referencial El sistema muestra la
ubicación geo referencial
de la vía congestionada
luego de la grabación de
video.
100%
6 Reportes El sistema muestra la
cantidad del total de los
vehículos transitados y la
cantidad detallada de los
tipos de vehículos
circulados de forma
correcta.
100%
7 Conexión con API’s El sistema se conecta con
las API’s sin ningún
inconveniente.
100%
8 Envió y recepción de datos El envío y recepción de los
datos generados es
realizado de forma rápida y sin inconvenientes.
100%
Elaborado por: Daniel Chamaidán y Nathaly Herrera Fuente: Daniel Chamaidán y Nathaly Herrera
Como valoración final en la matriz de aceptación se obtiene el 100% lo cual
representa el alto nivel de aceptación.
INFORME DE ASEGURAMIENTO DE LA CALIDAD
La aplicación móvil será evaluada por los ingenieros: Ing. Jimmy Sornoza a
través del siguiente informe de calidad detallado en el cuadro N.22. Para realizar
la validación y aceptación del proyecto se realizó el método de juicio de experto al
Ing. Karen Navarro Cedeño, Ing. Jimmy Sornoza, Ing. César Espin Riofrio y el Ing.
César Muñoz Noboa con la finalidad de asegurar la calidad del proyecto por ser
los encargados del proyecto y expertos en el tema. En los siguientes gráficos se
adjunta el formato de juicio de experto, la aceptación de este, la carta de petición
para la realización del juicio de experto.
CUDARO 22 INFORME DE ASEGURAMIENTO DE CALIDAD
PRUEBAS OBJETIVOS PESO CALIFICACIÓN (1,2,3,4,5)
TOTAL % DE ACEPTACIÓN
Funcionabilidad El sistema cumple
con todas las
operaciones
necesarias para su
correcto
funcionamiento
20
5
20
100%
Confiabilidad El sistema cumple
con todos los
parámetros
incluidos dentro de
la confiablidad.
20
5
20
100%
Usabilidad El sistema funciona
de forma óptima al
momento de su interacción.
20
5
20
100%
Eficiencia El sistema es
eficiente desde
que se ejecuta
hasta que se cierra
la aplicación móvil.
20
5
20
100%
Mantenibilidad El sistema soporta
cualquier tipo de
cambio que se
vaya a generar en
un futuro
10
5
10
100%
Portabilidad El sistema puede
ser ejecutado en
cualquier teléfono
móvil siempre y
cuando este
cumpla con las
características
especificadas.
10
5
10
10%
Elaborado por: Daniel Chamaidán y Nathaly Herrera Fuente: Daniel Chamaidán y Nathaly Herrera
104
105
Conclusiones
La técnica de visión artificial Tensorflow mediante el algoritmo redes
neuronales convolucionales, son tecnologías eficientes que permiten realizar el
reconocimiento y conteo de los objetos (tipos de vehículos) de forma óptima
El uso de las Api’s elaborado en el otro módulo del proyecto lessTraffic, permitió
brindar una comunicación masiva de forma mejorada y más rápida con la base de
datos.
La utilización del GPS es útil y de gran importancia para conocer cuál es la
ubicación geo referencial de la vía congestionada en donde circulan los vehículos
.
Según las pruebas realizadas en el escenario real, se llegó a la conclusión que
el módulo desarrollado va a servir como una herramienta de apoyo y contribuirá
con la posible reducción al congestionamiento vehicular de la ciudad de Guayaquil,
permitiéndole a las autoridades de tránsito municipal tener un mejor control y
análisis para implementar medidas con la información proporcionada mediante el
sistema, debido que la ATM no cuenta con una herramienta automatizada para la
contabilización de vehículos circulados en vías donde es ocasionado el
congestionamiento vehicular.
El sistema desarrollado por ser una aplicación móvil, permite ser usada en
teléfonos celulares Android, brindando reducción de gastos de corto y largo plazo
a las autoridades de tránsito.
106
Recomendaciones
A continuación, se presenta varias recomendaciones para un mejor uso y
aplicación de nuevas mejoras al sistema desarrollado con la finalidad de mejorar
el rendimiento de este:
1. Tener siempre disponible el manual de usuario sobre el uso de la
aplicación móvil para evitar posibles desorientaciones de cómo utilizarla.
2. Para la instalación y uso de la aplicación de conteo vehicular en los
dispositivos móviles tiene que cumplir con las características detalladas
para evitar posibles errores en su funcionamiento.
3. Realizar mejoras y mantenimiento en el sistema para obtener un mejor
análisis de medidas a implementar.
4. Realizar futuras actualizaciones de la aplicación que sean compatibles
para dispositivos móviles con sistemas operativos distintos al de Android.
5. El objeto que desea identificar no debe sobrepasarse al tamaño de la
pantalla del dispositivo móvil, para evitar caídas en el sistema.
107
Bibliografía Barriga, E. R. (2017). Aplicacion practica de la vision artificial para el reconocimiento de rostros en
una imagen, utilizando redes neuronales y algoritmos de reconocimiento de objetos de
la biblioteca Tensorflow. Proyecto de Titulacion, 1-10.
Ciudadanía, R. (2017, Agosto 19). En las principales vías persisten los atascos. El Telégrafo, pp. 1-
3.
CONSTITUYENTE, A. (2018). CONSTITUCION DEL ECUADOR. Retrieved from CONSTITUCION DEL
ECUADOR: https://www.wipo.int/edocs/lexdocs/laws/es/ec/ec030es.pdf
Developers. (2018, abril 19). Funciones de Android Studio. Retrieved from Developer:
https://developer.android.com/studio/features?hl=es-419
Dominguez, P. (n.d.). El patrón Modelo–vista–controlador (MVC). Retrieved from
OpenClassRooms: https://openclassrooms.com/en/courses/4309566-descubre-la-
arquitectura-mvc/4942546-el-patron-modelo-vista-controlador-mvc
Esparza, J. E. (2014). Analisis de trafico vehicular usando vision artificial en la ciudad de San Juan
de Pasto. Proyecto de Titulacion, 25.
Fernandez, M. (2018, marzo 29). Maquina Virtual ¿Por que usarla? Retrieved from Secure and
private email service : https://blog.mailfence.com/es/maquina-virtual/
Formatalent. (n.d.). Ventajas y Desventajas de java como lenguaje de programacion. Retrieved
from Business School: http://formatalent.com/ventajas-y-desventajas-de-java-como-
lenguaje-de-programacion/
Gabriela, J. O. (2015). Desarrollo de un sistema de vision artificial para la deteccion de
aglomeracion de personas en un semaforo. Proyecto de Titulacion, 29.
Giannina Cicenia y Byron Gomez. (2018). Desarrollo de una aplicacion movil para reserva de
lugares que ofrecen el servicio de parqueo en zona centro de Guayaquil. Proyrvto de
Titulacion, 1.
Guananga Bernabé y Cecibel Andrea. (2018). Analisis de la evolucion del servicio del sistema
convencional del transporte terrestre publico urbano de pasajeros a causas de las
exigencias de las entidades reguladoras del transporte urbano de Guayaquil. Proyecto de
Titulacion, 5.
Guerrero, M. M. (2017). Reconocimiento facial para la autentificacion de usuarios. Trabajo Fin de
Grado, 2-15.
infaimon. (2018, Enero). Visión por computador: qué es y cuáles son sus usos más comunes.
Retrieved from revolution artificial: https://blog.infaimon.com/vision-computador-
soluciones-permite/
Jaume, B. A. (2015). Desarrollo de una aplicacion movil para la deteccion y clasificacion de hojas
de arboles . Trabajo final de Grado, 7- 8.
Jorge Estarita, Andres Jimenez, Jaime Brochero, Hugo Escobar, Silvia Moreno. (n.d.). Sistema de
reconocimiento de objetos en tiempo real. Peiper, 1-4.
108
Juan Toledo y Patricio Villacis. (2015). Causas y soluciones para el trafico en Guayaquil. Retrieved
from sliderplayer: http://slideplayer.es/slide/4167725/
Julca Karin, Saavedra Jhersi y Salazar Mesias. (2018, abril 1). Android Studio. Retrieved from
Trabajo de Investigacion: https://es.slideshare.net/jhersisaavedragarcia/android-studio-
92575576
Lino, M. E. (2018). PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR LA PLANEACIÓN URBANA EN
LA CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL USO DE
ALGORITMOS RECOMENDADORES QUE BRINDEN ALTERNATIVAS DE SOLUCIÓN EN
PROYECTOS VIALES. Proyecto de Titulación, 3.
Mgbemena, C. (2016, diciembre 29). Enviando Datos Con el Cliente HTTP Retrofit 2 para Android.
Retrieved from envatotuts : https://code.tutsplus.com/es/tutorials/sending-data-with-
retrofit-2-http-client-for-android--cms-27845
Moran Bryan y Melgar Kenneth. (2018). Plataforma tecnologica para contribuir a la planeacion
urbana de la ciudad de Guayaquil dirigido a la transportacion, enfocado al uso de un
algoritmo recomendador que brinde alternativas de solucion de proyectos viales
utilizando los modelos aprendizaje. Proyecto de Titulacion, 47- 48.
Navacerrada, J. (2017). Sistema de deteccion de matriculas con Tensorflow. Proyecto de
Titulacion, 23-63.
Ortega, F. R. (2018). Sistema para deteccion y conteo vehicular aplicando tecnicas de vision
artificial. Proyecto de Titulacion, 1-15.
Ramos, J. (n.d.). Listas dinámicas en Android usando RecyclerView y CardView. Retrieved from
programacionymas: https://programacionymas.com/blog/listas-dinamicas-android-
usando-recycler-view-card-view
Rosarino. (2018, Junio 18). Modelo de Prototipos. Retrieved from EcuRed:
https://www.ecured.cu/Modelo_de_prototipos
Royo, T. P. (2017, Junio 2). El caos del trafico vehicular. La Prensa/ Opinion, pp. 1-2.
Systems. (2018, marzo 26). Para que sirve una maquina virtual. Retrieved from Systems:
https://www.t-systemsblog.es/para-que-sirve-una-maquina-virtual/
Vazquez, P. C. (2015). Cliente android para recepcion de imagenes JPEG y Deteccion de patrones.
Trabajo Fin de Grado, 15.
109
ANEXOS
110
ANEXO 1
Reunión con el Ing. Jimmy Sornoza Moreira Msc. (Líder de proyecto)
GRÁFICO 57 Realización de Juicio de experto, validación y aceptación del proyecto
Elaborado por: Nathaly Herrera y Daniel Chamaidán
ANEXO 2 REUNIÓN CON LA ING. KAREN NAVARO CEDEÑO
GRÁFICO 58 Realización de Juicio de Experto
Elaborado por: Daniel Chamaidán y Nathaly Herrera Fuente: Daniel Chamaidán y Nathaly Herrera
ANEXO 3 REUNIÓN CON EL ING. CÉSAR MUÑOZ OCHOA
Elaborado por: Daniel Chamaidán y Nathaly Herrera Fuente: Daniel Chamaidán y Nathaly Herrera
ANEXO 4 GRÁFICO 65 REUNIÓN CON LOS VIGILANTES DE TRÁNSITO
Elaborado por: Daniel Chamaidán y Nathaly Herrera Fuente: Daniel Chamaidán y Nathaly Herrera
111
GRÁFICO 59 Realización de Juicio de Experto
112
En la foto anterior se procedió a ocultar el rostro de los vigilantes de tránsito debido
que por políticas y restricciones de la organización ATM no esta permitido mostrar
el rostro, o información personal de sus integrantes, así como también la encuesta
realizada a los vigilantes de tránsito fue realizada de forma anónima.
ANEXO 5
GRÁFICO 66 Presupuesto del Proyecto
Elaborado por: Daniel Chamaidán y Nathaly Herrera Fuente: Daniel Chamaidán y Nathaly Herrera
ANEXO 6
GRÁFICO 67 CRONOGRAMA DEL PROYECTO
113
Elaborado por: Daniel Chamaidán y Nathaly Herrera Fuente: Daniel Chamaidán y Nathaly Herrera
114
115
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS
COMPUTACIONALES
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA
PLANEACIÓN URBANA DE LA CIUDAD DE GUAYAQUIL
DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL
DESARROLLO DE UNA APLICACIÓN ANDROID USANDO
TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL CONTEO DE LOS
TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN
PUNTO GEO REFERENCIAL
MANUAL DE USUARIO
AUTORES:
HERRERA GONZALEZ NATHALY MARINA
CHAMAIDÁN ASENCIO DANIEL
ALFREDO
TUTOR: ING. ALCIDES REYES GUERRA.
GUAYAQUIL – ECUADOR
Versión 2.0
21/02/2019
2
HOJA DE CONTROL
Organismo Universidad de Guayaquil
Proyecto
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL
DESARROLLO DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN
ARTIFICIAL PARA EL CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR
EN UN PUNTO GEO REFERENCIAL
Entregable Manual de Usuario
Autor Nathaly Herrera González – Daniel Chamaidan Asencio
Versión/Edición 2.0 Fecha Versión 10/02/2019
Aprobado por Fecha Aprobación 20/02/2019
N.º Total de Páginas 13
REGISTRO DE CAMBIOS
Versión
Causa del Cambio
Responsable del Cambio Fecha del Cambio
1.0 Versión inicial Daniel Chamaidan Asencio 15/01/2019
1.1 Versión Intermedia
Nathaly Herrera González 01/02/2019
2.0 Versión Final Nathaly Herrera y Daniel Chamaidan
21/02/209
CONTROL DE DISTRIBUCIÓN
Nombre y Apellidos
Nathaly Herrera González
Daniel Chamaidán Asencio
3
CONTENIDO
1. Descripción del Sistema ......................................................................................5
1.1 Objeto 5
1.2 Alcance 5
1.3 Funcionalidad ...................................................................................................... 5
2. Mapa del Sistema ...............................................................................................6
2.1 Modelo Lógico ..................................................................................................... 6
2.2 Navegación 7
3. Descripción del Sistema ......................................................................................8
3.1 Requerimientos del cliente .................................................................................. 8
3.2 Especificación técnica .......................................................................................... 8
INICIO DE SESIÓN ............................................................................................................. 9
REGISTRO DE USUARIO .................................................................................................. 10
INGRESO A CÁMARA ...................................................................................................... 11
CONTEO VEHICULAR ...................................................................................................... 12
REGISTRO DE CONTEO ................................................................................................... 12
GALERÍA DE CONTEO ..................................................................................................... 13
MENÚ SECUNDARIO ...................................................................................................... 15
4. FAQ 18
4
TABLA DE IMÁGENES
GRÁFICO 1 INICIO DE SESIÓN ......................................................................... 9
GRÁFICO 2 REGISTRO DE USUARIO .............................................................. 10 GRÁFICO 3 BOTON INGRESO A CAMARA ...................................................... 11
GRÁFICO 4 PANTALLA HABILITADORA .......................................................... 11 GRÁFICO 5 CONTEO VEHICULAR ................................................................... 12
GRÁFICO 6 REGISTRO DE CONTEO ................................................................ 13 GRÁFICO 7 BOTÓN GALERÍA DE CONTEO ...................................................... 13 GRÁFICO 8 FILTRO DE REGISTRO .................................................................. 14
GRÁFICO 9 MENÚ SECUNDARIO ................................................................... 15
GRÁFICO 10 ACTUALIZAR DATOS ................................................................. 16 GRÁFICO 11 REGISTRAR NUEVO USUARIO ................................................... 16 GRÁFICO 12 INFORMACIÓN DEL PROYECTO ................................................. 17
5
1. Descripción del Sistema 1.1 Objeto El módulo de Aplicación móvil para el conteo de los tipos de vehículos está
destinada a instituciones públicas y privadas dedicadas a implementar mejoras en
la Ciudad de Guayaquil con respecto a la toma de medidas para reducir el
congestionamiento vehicular, es un sistema que tiene como objetivo reconocer,
identificar, contar automáticamente los tipos de vehículos (autos, buses, bicicletas,
motos, camiones) que circulan en la Av. Francisco de Orellana entre su
intersección Alberto Borges Nájera y Pompilio Ulloa Reyes, también mostrará la
ubicación geo referencial de los vehículos transitados. Esta aplicación móvil va a
servir de herramienta hacia los agentes de tránsito brindando la cantidad de los
tipos de vehículos que circularon, logrando así un soporte a las autoridades para
su respectivo análisis y toma de decisiones para implementar medidas que
aporten a la reducción o eliminación del tráfico vehicular principalmente en sus
horas pico.
El presente manual presentará una guía detallada con la información y
objetivos de forma clara y concisa del funcionamiento del sistema desarrollado,
para optimizar y facilitar el uso de este.
1.2 Alcance
El alcance del presente documento está orientado a todo tipo de usuario para
el respectivo entendimiento sobre el uso de la aplicación móvil para su buen
manejo, proporcionando la información suficiente que le permita comprender el
funcionamiento de las opciones que constituye del sistema y cada una de sus
diferentes interfaces.
1.3 Funcionalidad
La funcionalidad del sistema está regida en 6 puntos o módulos, lo cual cada
uno de ellos proporciona distintos aspectos de uso. Los módulos que conforman
la aplicación móvil son:
• Inicio de sesión
• Registro de usuario
6
• Ingreso a cámara
• Registro de conteo
• Galería de conteo
• Menú Principal
2. Mapa del Sistema 2.1 Modelo Lógico
VENTANAS PRINCIPALES
Elaborado por: Daniel Chamaidán y Nathaly Herrera Fuente: Daniel Chamaidán y Nathaly Herrera
La aplicación móvil está compuesta de 6 ventanas principales que son:
El proyecto propuesto es un prototipo, está basado en una aplicación móvil que
realizará el reconocimiento, identificación, y el conteo de los buses y autos
circulados en la calle Esmeralda entre las intersecciones de la calle Vélez Y nueve
de octubre, para ello primero el usuario o cliente tendrá que registrarse en la
aplicación, deberá de ingresar sus datos personales (nombre, apellido, email,
Password), luego estará dentro de la aplicación de ahí tendrá dos opciones 1.
habilitar la cámara para la grabación de video 2. Mostrar los resultados, cuando
se escoja la opción 1 la aplicación automáticamente identificara y contara los
vehículos, al finalizar la grabación los datos producidos se alojarán en la base de
datos. La información que mostrara en la opción dos será la totalidad de los tipos
de vehículos que circularon durante la grabación, por último, mostrara la ubicación
geo-referencial de los vehículos identificados.
Galeria de conteo
Menú Registro de
Conteo
Ingreso a Camara
Registro de Usuario
Inicio de Sesion
7
2.2 Navegación
REGISTRO DE USUARIO
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
INICIO DE SESION
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
8
MENÚ
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
3. Descripción del Sistema 3.1 Requerimientos del cliente
El usuario para que pueda operar adecuadamente la aplicación móvil debe de
contar con un conocimiento básico en:
• Manipulación de dispositivos móviles (Android).
• Descarga e Instalación de aplicaciones en su celular
3.2 Especificación técnica
Para la implementación del módulo aplicación móvil para el conteo vehicular
se requiere lo siguiente:
9
Un Teléfono celular inteligente (Smartphone) con las siguientes características:
• Sistema Operativo Android ARM de 64 bits.
• Memoria RAM 4 GB.
• 8 – 16 GB de almacenamiento interno.
• Cámara trasera de 8 MP.
• Versión de API de 23 en adelante.
• Conexión a internet.
• GPS habilitado.
INICIO DE SESIÓN
Para poder ingresar al sistema se debe de instalar la aplicación móvil en el
dispositivo móvil, para ello debe de instalar los archivos apk.
Una vez instalados los archivos apk se debe de abrir el app-arm64-v8a-
release.apk, una vez adentro aparecerá la pantalla inicio de sesión en donde se
pedirá el ingreso del email y Password del usuario siempre y cuando ya se
encuentre registrado en el sistema, si no se encuentra registrado podrá hacerlo
haciendo clic en el botón Registrarse. Si el usuario se encuentra registrado llena
sus datos y da clic en Iniciar Sesión tal como se refleja en el gráfico 1.
GRÁFICO 1 INICIO DE SESIÓN
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDAN
FUENTES: NATHALY HERRERA – DANIEL CHAMAIDAN
10
REGISTRO DE USUARIO
Si el usuario no tiene una cuenta registrada podrá registrarse en esta pantalla
en donde se visualizará la página de registro de usuario como se aprecia en el
gráfico 2 en donde se solicita los datos personales del usuario, entre estos están:
Nombre: Nombre de usuario con el que quedara definido para el inicio de sesión.
Apellido: Apellido de usuario con el que quedara definido para el inicio de sesión.
Email: Email para obtener un registro seguro.
Password: Clave secreta con la que se registrara el usuario, esta clave se utilizara
en la pantalla inicio de sesión para el ingreso al sistema.
Botón Registrarse: donde el usuario al hacer clic los datos llenados serán
guardados dando continuación a la siguiente pantalla.
GRÁFICO 2 REGISTRO DE USUARIO
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDÁN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
11
INGRESO A CÁMARA
La pantalla principal reflejada se visualizará el logo del proyecto y dos botones,
el usuario al hacer clic al primer botón, podrá entrar la cámara del celular
previamente deberá de autorizarle el acceso a cámara. Una vez dentro el usuario
podrá hacer clic en Grabación de video durante el tiempo deseado y
automáticamente el usuario podrá visualizar como el sistema automáticamente
realizará el reconocimiento, identificación y conteo de los tipos de vehículos (buses
y autos).
Al dar finalizar grabación de video automáticamente se regresará a la pantalla en
donde estaba, habilitándole el botón para mostrar los resultados de los datos
obtenidos.
GRÁFICO 3 BOTÓN INGRESO A
CAMARA ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDÁN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
GRÁFICO 4 PANTALLA
HABILITADORA
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDÁN
12
CONTEO VEHICULAR
Una vez de haber ingresado a cámara el sistema comenzará a grabar y a contar
los tipos de vehículos que este identificando, para saber que la aplicación móvil
está identificando y contando los vehículos, aparecerá un recuadro de colores al
molde del objeto junto con el porcentaje de similitud al de la imagen ingresada del
entrenamiento, para finalizar el conteo el usuario debe de tocar el botón de finalizar
y pasara al registro del conteo.
GRÁFICO 5 CONTEO VEHICULAR
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDÁN
FUENTE: NATHALY HERRERA – DANIEL CHA
REGISTRO DE CONTEO
Una vez de haber finalizado el conteo, se muestra el registro del conteo, donde
aparecerán la cantidad individual y total de los tipos de vehículos identificado, junto
con la latitud y longitud de la ubicación de donde se realizó el conteo y la fecha.
Si se desea guardar el registro, hacer clic en el botón registrar conteo.
13
GRÁFICO 6 REGISTRO DE CONTEO
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDÁN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
GALERÍA DE CONTEO
La siguiente pantalla reflejada al igual que la anterior se visualizará el logo del
proyecto y dos botones, el usuario al hacer clic al segundo botón, podrá entrar a
la galería de conteo en donde previamente deberá de haber realizado la grabación
de video para que los datos generados en ella se puedan visualizar en el reporte.
Constará de una tabla en donde indicará la cantidad total de vehículos
transitados, la cantidad individual de los buses y autos identificados, por último, la
ubicación geo referencial de la calle en donde se realizó el estudio mediante la
grabación de video.
GRÁFICO 7 BOTÓN DE GALERÍA DE CONTEO
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDAN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
14
PANTALLA HABILITADORA
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDAN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
Dentro de la galería de conteo aparecerán todos los registros guardados en
distintos días, esta pantalla se podrá filtrar por fecha y tipo de vehículo, luego se
pone en la lupa (buscar). Como se visualiza en el grafico 8 está el registro del
conteo de los autos del día 25 de marzo del 2019.
GRÁFICO 8 FILTRO DE REGISTRO
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDAN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
15
MENÚ SECUNDARIO
Al estar en la pantalla principal de la aplicación móvil, con tan solo deslizar el
dedo hacia la derecha aparecerá el menú secundario, el cual contendrá algunas
opciones para escoger como son:
• Abrir cámara
• Abrir galería de conteo
• Actualizar los datos del registro existente
• Registrar un nuevo usuario
• Quienes somos
• Cerrar sesión
GRÁFICO 9 MENÚ SECUNDARIO
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDAN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
Al seleccionar en la opción actualizar datos, aparecerá una ventana donde nos
solicitará el nombre, apellido, usuario y contraseña que se desee modificar, para
guardar los nuevos datos se debe de hacer clic en actualizar. (ver gráfico 10)
16
GRÁFICO 10 ACTUALIZAR DATOS
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDAN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
Al seleccionar la opción registrar nuevo usuario, aparecerá una ventana donde
nos solicitará la misma información de la del actualizar usuario, con la diferencia
que esta es para registrar un nuevo usuario, después de llenar todos los campos,
se debe de dar clic en registrarse. (ver gráfico 11)
GRÁFICO 11 REGISTRAR NUEVO USUARIO
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDAN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
17
La siguiente opción del menú secundario (Quienes somos), al seleccionarla
aparecerá los datos de la universidad, facultad, carrera, encargados y autores del
proyecto. (ver gráfico 12)
Por último, para cerrar la sesión del usuario que estamos ingresados se debe de
escoger la opción cerrar sesión del menú secundario.
GRÁFICO 12 INFORMACION DEL PROYECTO
ELABORADO POR: NATHALY HERRERA – DANIEL CHAMAIDAN
FUENTE: NATHALY HERRERA – DANIEL CHAMAIDAN
18
4. FAQ
1. ¿La aplicación móvil deberá de tener conexión a internet para
su funcionamiento?
Si, el sistema por ser elaborado mediante algoritmos altamente eficientes, para
que no exista inconvenientes con la aplicación deberá de tener conexión a internet
mientras se la esté usando.
2. ¿la aplicación móvil funciona en cualquier celular?
Para que la aplicación funcione de forma correcta y sin inconvenientes, el celular
debe de cumplir con las especificaciones anteriormente detalladas.
3. ¿la aplicación móvil también realizara el conteo de motos y
camiones?
No, por el momento el sistema por ser un prototipo fue creado para que solo
identifique y cuente los buses y autos, si se desea que el procedimiento sea con
otros tipos de vehículos se deberá de solicitar la implementación de mejoras en el
sistema.
4. ¿el sistema también me identificara y contara vehículos de juguetes?
No, el sistema por estar basado a un escenario real, ese tipo de objetos no los
reconocerá ni los contará.
5. ¿Porque necesito tener habilitado el GPS de mi celular?
Porque el sistema aparte de brindar el reporte de los vehículos transitados también
brindara la ubicación geo referencial del mismo y mediante la opción del GPS le
proporcionara al sistema la ubicación exacta de donde se encuentre ubicado.
6. ¿Qué pasa si no estoy registrado en el sistema?
Si no se encuentra registrado el sistema no le permitirá entrar, pero para ello la
aplicación le brinda un botón con el que accediendo a él podrá registrarse sin
ningún inconveniente y disfrutar de la funcionalidad de la aplicación móvil.
7. ¿Qué pasa si me olvido de mi contraseña?
La aplicación móvil le brinda una opción en la que podrá recuperar la contraseña
o crearse un nuevo usuario.
8. ¿Siempre debo de iniciar sesión cada vez que ingreso a la aplicación
móvil?
Si, por temas de seguridad el inicio de sesión es fundamental cada vez que se ingrese al
sistema.
9. ¿En cualquier lugar puedo usar la aplicación móvil?
Si, mientras se tenga acceso a internet y este habilitado el GPS la aplicación móvil funcionara
sin inconvenientes.
10. ¿Cuál es el tiempo de la grabación de video?
Para la grabación de video no existe un tiempo estimado, esto es según la necesidad y
requisito del usuario, la grabación podrá ser desde minutos a horas.
pg. 1
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
UNIVERSIDAD DE GUAYAQUIL
FACULTAD DE CIENCIAS MATEMÁTICAS Y FÍSICAS
CARRERA DE INGENIERÍA EN SISTEMAS COMPUTACIONALES
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA
PLANEACIÓN URBANA DE LA CIUDAD DE GUAYAQUIL
DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL
DESARROLLO DE UNA APLICACIÓN ANDROID USANDO
TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL CONTEO DE LOS
TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN
PUNTO GEO REFERENCIAL
MANUAL TÉCNICO
AUTORES:
HERRERA GONZALEZ NATHALY MARINA
CHAMAIDAN ASENCIO DANIEL ALFREDO
TUTOR: ING. ALCIDES REYES GUERRA.
GUAYAQUIL – ECUADOR
Versión 2.0
20/02/2019
pg. 2
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
HOJA DE CONTROL
Organismo Universidad de Guayaquil
Proyecto
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA CIUDAD DE
GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO DE UNA APLICACIÓN
ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL CONTEO DE LOS TIPOS DE VEHÍCULOS QUE
PUEDEN CIRCULAR EN UN PUNTO GEO REFERENCIAL
Entregable Manual Técnico
Autor Nathaly Herrera González – Daniel Chamaidan Asencio
Versión/Edición 2.0 Fecha Versión 10/02/2019
Aprobado por Fecha Aprobación 20/02/2019
Nº Total de Páginas 51
REGISTRO DE CAMBIOS
Versión Causa del Cambio Responsable del Cambio Fecha del Cambio
1.0 Versión inicial Daniel Chamaidan Asencio 15/01/2019
1.1 Versión Intermedia Nathaly Herrera González 01/02/2019
2.0 Versión Final Nathaly Herrera y Daniel Chamaidan 21/02/209
CONTROL DE DISTRIBUCIÓN
Nombre y Apellidos
Nathaly Herrera González
Daniel Chamaidan Asencio
pg. 3
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
INDICE
1. Descripción del Sistema ............................................................................... 5
1.1 Objeto .................................................................................................... 5
1.2 Alcance.................................................................................................. 5
1.3 Funcionalidad ........................................................................................ 5
2. Mapa del Sistema ......................................................................................... 6
2.1 Modelo Lógico ....................................................................................... 6
2.2 Navegación ........................................................................................... 9
3. Descripción del Sistema ............................................................................. 10
3.1 Requerimientos del cliente ................................................................... 10
3.2 Especificación técnica ......................................................................... 10 Instalar el JDK ........................................................................................................... 10
Instalar Android Studio .............................................................................................. 13
Instalar NDK .............................................................................................................. 14
Creación de Proyecto ................................................................................................ 15
Pasos para la instalación de Python .............................................................................. 18
1. Descargar el instalador .......................................................................................... 18 ...................................................................................................................................... 19
2. Instalación 19
Creación del Modelo Vista Controlador....................................................................... 21 crear una red Neuronal convulucionales (CNN) ............................................................ 28
Ubicación Geo Referencial ........................................................................................ 40
4. FAQ ............................................................................................................ 46
5. Referencia Bibliográfica .............................................................................. 47
pg. 4
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
TABLA DE IMAGENES
Ilustración 2 DESCARGA DEL JKD ........................................................... 11 Ilustración 3 INSTALACIÓN DEL JDK ........................................................................... 12
Ilustración 4 VERIFICACIÓN DE INSTALACIÓN ............................................................ 12
Ilustración 5 INSTALACIÓN ANDROID STUDIO ........................................................... 13
Ilustración 6 FINALIZACIÓN DE LA INSTALACIÓN ........................................................ 14
Ilustración 7 INSTALACIÓN DEL NDK .......................................................................... 15
Ilustración 8 CREACIÓN DE PROYECTO ...................................................................... 15
Ilustración 9 CONFIGURACIÓN DE PROYECTO ............................................................ 16
Ilustración 10 ESPECIFICACIONES TÉCNICAS............................................................... 17
Ilustración 11 AGREGAR ACTIVITY ............................................................................. 17
Ilustración 12 FINALIZACIÓN DE LA INSTALACIÓN ...................................................... 18
Ilustración 13 DESCARGA DE PYTHON ....................................................................... 19
Ilustración 14 INSTALACIÓN PYTHON ........................................................................ 19
Ilustración 15 INSTALACIÓN ...................................................................................... 20
Ilustración 16 EXITO EN LA INSTALACIÓN .................................................................. 20
Ilustración 17 GENERACION DE ARCHIVO MVC .......................................................... 21
Ilustración 18 REGISTRO DE SESION .......................................................................... 22
Ilustración 19 CREACIÓN DE CLASE ............................................................................ 22
Ilustración 20 CREACIÓN DE CLASE ............................................................................ 23
Ilustración 21 INICIO DE SESION ................................................................................ 24
Ilustración 22 DEFINICIÓN DE VARIABLES .................................................................. 24
Ilustración 23 CREACIÓN DE CLASE INICIO DE SESIÓN ................................................ 25
Ilustración 24 PANTALLA PRINCIPAL .......................................................................... 26
Ilustración 25 CREACIÓN DE CLASE PARA BOTONES ................................................... 26
Ilustración 26 ARCHIVOS DEL TENSORFLOW .............................................................. 27
Ilustración 27 Archivos Entrenados ........................................................................... 27
Ilustración 28 CONEXIONES ...................................................................................... 28
Ilustración 29CREACIÓN DE ALGORITMO ................................................................... 40
Ilustración 30 CREACIÓN DEL ANDROID MANIFEST XML ............................................ 41
Ilustración 31 DISEÑO DE LA PANTALLA UBICACION GEOREFERNCIAL......................... 41
Ilustración 32 MAIN ACTIVITY ................................................................................... 42
Ilustración 33 DEFINIR LOCALIZACION ....................................................................... 42
Ilustración 34 COMPATIBILIDAD ............................................................................... 43
pg. 5
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
1. Descripción del Sistema
1.1 Objeto
El módulo de Aplicación móvil para el conteo de los tipos de vehículos está
destinada a instituciones públicas y privadas dedicadas a implementar mejoras en
la Ciudad de Guayaquil con respecto a la toma de medidas para reducir el
congestionamiento vehicular, es un sistema que tiene como objetivo reconocer,
identificar, contar automáticamente los tipos de vehículos (autos, buses, motos,
camiones, bicicletas) que circulan en la Av. Francisco de entre sus intersecciones
Alberto Borges Nájera y Pompilio Ulloa Reyes, también mostrara la ubicación geo
referencial de los vehículos transitados. Esta aplicación móvil va a servir de
herramienta hacia los agentes de tránsito brindando la cantidad de los vehículos
que circularon, logrando así un soporte a las autoridades de tránsito para su
respectivo análisis y toma de decisiones para implementar medidas que aporten a
la reducción o eliminación del tráfico vehicular principalmente en sus horas pico. El
presente manual presentara una guía detallada con la información y los pasos
realizados de forma clara y concisa del sistema desarrollado, para optimizar su
entendimiento al momento de realizar la elaboración del mismo.
1.2 Alcance
El alcance del presente documento está orientado usuarios con conocimiento
básico en la elaboración de sistemas para el respectivo entendimiento sobre los
pasos realizados en la elaboración de la aplicación móvil para su buen manejo,
proporcionando la información suficiente que le permita comprender el
funcionamiento de las técnicas implementadas.
1.3 Funcionalidad
La funcionalidad del sistema está regida en la secuencia de los pasos
implementado que va desde la instalación de todos los programas necesarios para
la elaboración de este, la configuración realizada y la implementación de las
distintas técnicas que permiten la identificación, reconocimiento y conteo de los
vehículos transitados.
pg. 6
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
El proyecto propuesto es un prototipo, está basado en una aplicación móvil que
realizará el reconocimiento, identificación, y el conteo de los buses, autos,
camiones, motos, bicicletas circulados en la calle Av. Francisco de Orellana entre
sus intersecciones Alberto Borges Nájera y Pompilio Ulloa Reyes, para ello
primero el usuario o cliente tendrá que registrarse en la aplicación, deberá de
ingresar sus datos personales (nombre, apellido, usuario, contraseña), luego
estará dentro del app de ahí tendrá dos opciones 1. habilitar la cámara para la
grabación de video 2. Galería de conteo, cuando se escoja la opción 1 la app
automáticamente identificara y contara los vehículos, al finalizar la grabación los
datos producidos se alojarán en la base de datos mediante la conexión con las
Apis. La información que mostrará en la opción dos será la totalidad de los tipos
de vehículos que circularon durante la grabación, por último, mostrara la ubicación
geo-referencial de los vehículos identificados.
La aplicación en su menú principal al desplazar el dedo hacia la derecha le saldrá
un menú con las siguientes opciones: abrir cámara, abrir galería de conteo,
actualizar datos, registro de nuevo usuario, quienes somos y cerrar sesión.
Información Adicional
El procedimiento realizado y las técnicas de visión artificial que se utilizo es el
framework Tensorflow mediante el algoritmo redes neuronales convolucionales
(CNN), fue desarrollado en los lenguajes de programación Java y Python para la
identificación y conteo de los vehículos, a la aplicación móvil se habilito el GPS del
dispositivo móvil para brindar la ubicación geo referencial de la vía congestionada.
2. Mapa del Sistema
2.1 Modelo Lógico
El sistema está conformado por su pantalla principal, el ingreso a cámara, inicio
de grabación de video, reconocimiento de vehículos, análisis y comparación de
los objetos identificados, conteo de los vehículos, ubicación geo referencial, envió
de información conexión con las Api’s, y el reporte de los datos.
En la pantalla principal se encontrará el registro de usuario e inicio de sesión en la
que se le solicita al usuario sus datos personales y contraseña para su registro
pg. 7
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
en la base de datos logrando de esta manera el ingreso al sistema, luego en la
siguiente pantalla o modulo se visualiza dos iconos uno de acceso a la cámara, al
ingresar mediante este botón se podrá acceder a la cámara y al hacer clic en
grabar se inicia la grabación video, internamente el sistema le enviara al algoritmo
redes neuronales convolucionales, este algoritmo está conformado por etiquetas
lo cual facilita la identificación del objeto, el procedimiento a seguir es filtrar las
etiquetas ya existentes para que pueda identificar el objeto (tipos de vehículos) y
para realizar el conteo del mismo, luego los objetos que han sido procesados y
contados se enviaran a las apis, las Api’s se encarga de recibir la información de
los objetos, enviarlas y registrarlas en la base de datos Postgrest, luego de que se
registren en la base de datos estas serán devueltas a las Api’s para ser mostradas
en el reporte de datos, este registros se visualiza en la segunda pantalla al hacer
clic en el botón de reporte, todo el procedimiento que se realiza internamente
durante la grabación de video será invisible para el usuario que este usando la
aplicación móvil.
DIAGRAMA DE SECUENCIA
Elaborado por: Daniel Chamaidán y Nathaly Herrera
Fuente: Daniel Chamaidan y Nathaly Herrera
pg. 8
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
DIAGRAMA COMPLETO DE CASOS DE USO
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
DIAGRAMA DE CASO DE USO / REGISTRO DE USUARIO
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 9
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
2.2 Navegación
DIAGRAMA DE PROCESO
pg. 10
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
3. Descripción del Sistema
3.1 Requerimientos del cliente
El usuario para que pueda operar adecuadamente la aplicación móvil debe de
contar con un conocimiento básico en:
• Manipulación de dispositivos móviles (Android).
• Descarga e Instalación de aplicaciones en su celular
3.2 Especificación técnica
Para la implementación del módulo aplicación móvil para el conteo vehicular se
requiere lo siguiente:
Un Teléfono celular inteligente (Smartphone) con las siguientes características:
• Sistema Operativo Android ARM de 64 bits.
• Memoria RAM 4 GB.
• 8 – 16 GB de almacenamiento interno.
• Cámara trasera de 8 MP.
• Versión de API de 21 en adelante.
• Conexión a internet.
• GPS habilitado.
Para el desarrollo de la aplicación móvil es necesario realizar todas las
instalaciones y configuraciones detalladas a continuación:
Instalar el JDK
Para empezar a desarrollar la aplicación móvil primero se debe de realizar la
descarga del JDK, el JDK es un paquete complemento de Java que habilita nuevas
versiones y opciones para poder desarrollar. Para su descarga se puede elegir
cualquiera de estos orígenes seguros como Oracle, OpenJDK, IBM, entre otros,
luego de acceder a cualquier de estos sitios se debe de obtener el ejecutable (.exe
para windows), una imagen (.dmg para OS X) o un paquete (tar.gz para
pg. 11
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
GNU/Linux) comprimido. Y almacenar aquellos archivos temporalmente en el
sistema donde se realizará la instalación.
Ilustración 1 DESCARGA DEL JKD
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Luego se procede con la instalación del JDK, para ello hay que abrir el archivo
descargado y seguir secuencialmente el botón siguiente hasta que aparezca el
botón de finalizar la instalación, es importante que en este proceso se escoja el
Development Tools y la ruta donde va a ser almacenada.
pg. 12
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 2 INSTALACIÓN DEL JDK
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Para verificar que la instalación se haya realizado de forma correcta se debe de
llamar mediante comando al JVM de JAVA y el segundo compilador, para ello se
puede usar los siguientes comandos:
java -version y/o javac -version.
Ilustración 3 VERIFICACIÓN DE INSTALACIÓN
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 13
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Instalar Android Studio
Para realizar la instalación de la plataforma Android studio primero se debe de
realizar la descarga, para ellos visitar la página oficial de Android
https://developer.android.com/studio/install?hl=es-419, luego hay que ejecutar el
archivo ejecutable .exe descargado, seguir las indicaciones del asistente de
configuración para habilitar las herramientas SDK y la instalación del Android
studio. El asistente de configuración nos preguntará si deseamos hacer alguna
configuración sobre la instalación de Android Studio, para este tipo de proyecto se
lo debe de dejar en la opción por defecto puesto que con esta configuración es
suficiente para el desarrollo que se requiere realizar.
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Seleccionar el color de IDE a usar, luego refleja las herramientas para el desarrollo
de aplicaciones, sistemas operativos para el emulador, versiones de API para su
compilación, entre otros, todo esto se descargará automáticamente luego de dar
clic en finalizar. Y listo Android studio se instaló y configuro correctamente
Ilustración 4 INSTALACIÓN ANDROID STUDIO
pg. 14
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
. Ilustración 5 FINALIZACIÓN DE LA INSTALACIÓN
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Nota: En la secuencia de comandos de inicio no encuentra el destino de
instalación del JDK. Si se produce este problema, debes configurar una variable
de entorno que indique la ubicación correcta.
Selecciona Start menu > Computer > System Properties > Advanced System
Properties. Luego abre la pestaña Advanced > Enviroment Variables y agrega
una nueva variable de sistema JAVA_HOME que apunte a tu carpeta de JDK. Por
ejemplo, C:\Program Files\Java\jdk1.8.0_77.
Instalar NDK
Para su instalación primero se debe de realizar la descarga para ellos visitar su
sitio oficial: https://developer.android.com/ndk/downloads/?hl=es-419, luego
almacenarlo dentro de la carpeta en donde se encuentra guardada la plataforma
de Android studio y dentro de Android seguir los siguientes pasos:
Tools -> Android -> SDK Manager-> SDK Tools -> Android NDK
Listo el NDK se encuentra correctamente instalado y configurado para su uso.
pg. 15
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 7 CREACIÓN DE PROYECTO
Ilustración 6 INSTALACIÓN DEL NDK
Creación de Proyecto
Android studio al mostrar la pantalla de bienvenida, para crear un nuevo proyecto
hacer clic en INICIAR UN NUEVO PROYECTO EN ANDROID STUDIO
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 16
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ahora aparecerán una serie de ventanas para configurar el proyecto, el primer
diálogo se debe de especificar el Nombre de la aplicación, la url de la empresa
(que será el nombre del paquete que asigna java para los archivos fuentes) y la
ubicación en el disco del proyecto
: Ilustración 8 CONFIGURACIÓN DE PROYECTO
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
En el segundo diálogo se especifica la versión de Android mínima donde se
ejecutará la aplicación que desarrollemos (dejaremos la versión 6.0):
pg. 17
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 9 ESPECIFICACIONES TÉCNICAS
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
El tercer diálogo se especifica el esqueleto básico de nuestra aplicación,
seleccionaremos "Empty Activity" si tenemos el Android Studio 2.2:
Ilustración 10 AGREGAR ACTIVITY
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 18
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Finalmente, el último diálogo hay que indicar el nombre de la ventana principal de
la aplicación (Activity Name) y otros datos más que veremos a lo largo del curso
(dejaremos con los nombres por defecto que propone Android Studio):
Ilustración 11 FINALIZACIÓN DE LA INSTALACIÓN
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Pasos para la instalación de Python
Para la instalación y configuración del intérprete de Python en su versión 3, los paso son los siguientes.
1. Descargar el instalador
a. Lo primero es ir a python.org/downloads y conseguir la versión actual. Una vez en la página, se elige Download Python 3.6.3 (o el número de la última versión)
pg. 19
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 12 DESCARGA DE PYTHON
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
2. Instalación
a. Se descarga el instalador y al terminar la descarga se ejecuta como administrador. Aparecerá la siguiente interfaz:
Ilustración 13 INSTALACIÓN PYTHON
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 20
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
En ella se debe marcar Install launcher for all users si es que se quiere que todos los usuarios puedan usarlo. Esta casilla es opcional.
Es necesario marcar la segunda opción, que es agregar la ruta del intérprete a la variable PATH para que se puede ejecutar python.exe desde cualquier lugar en la línea de comandos
Una vez configurado, hacer click en Install Now para que el proceso comience:
Ilustración 14 INSTALACIÓN
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Unos minutos más tarde la instalación habrá terminado:
Ilustración 15 EXITO EN LA INSTALACIÓN
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 21
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Creación del Modelo Vista Controlador
El patrón MVC (modelo – vista - controlador) se lo creo para poder separar por
partes el sistema, es decir permite separar las responsabilidades de cada función
realizada para poder reutilizar código sin que haya inconveniente, además de
brindarle al sistema mayor calidad en cuanto al desarrollo del software.
En la siguiente imagen se muestra las carpetas que contiene el patrón MVC:
Io. - input ouput.
model. - Los objetos que se consultara.
ui. - se encuentran los activitys, y las clases adaptar para el request y response de
las API’s. Ilustración 16 GENERACION DE ARCHIVO MVC
pg. 22
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
En la carpeta io que en este caso viene a ser las vistas del patron MVC van lo que
son todas las pantallas creadas del proyecto, como lo son la pantalla del registro
de usuario, el inicio de sesión, pantalla de selección de la función a realizar.
Ilustración 17 REGISTRO DE SESION
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
En el registro de sesión primero se crea la clase RegistrarActivity, dentro de él se
contempla todos los TextView, botones y EdiText para que el usuario pueda
interactuar con la aplicación móvil.
Ilustración 18 CREACIÓN DE CLASE
pg. 23
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Ilustración 19 CREACIÓN DE CLASE
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Aquí también se define la captura y envió de los datos mediante las variables
nombre, apellido, email, estado, usuario_registro, usuario_modifica, rol,
contraseña, fecha_registro. En el inicio de sesión toma los datos del email y
password, donde realiza la validación que si la información ingresada ya fue
registrada da acceso al ingreso de la aplicación.
pg. 24
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 20 INICIO DE SESION
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Ilustración 21 DEFINICIÓN DE VARIABLES
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 25
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Se debe de realizar una clase llamada iniciar Sesión para poder crear un arreglo
siempre y cuando si el llamado y envió de la información ingresada coinciden.
Ilustración 22 CREACIÓN DE CLASE INICIO DE SESIÓN
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
En la pantalla principal de la aplicación solo se visualizará dos botones una que
es para ingresar a la cámara y la otra para mostrar la información recolectada
durante la grabación de video. Para ello solo se debe de crear las instancias de
los botones, dentro de la clase créate.
pg. 26
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 23 PANTALLA PRINCIPAL
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Ilustración 24 CREACIÓN DE CLASE PARA BOTONES
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 27
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Dentro de la carpeta iu por ser el controlador del patrón MVC van los adaptadores
y activitys del proyecto es decir donde se realiza el procedimiento del
entrenamiento de imágenes mediante la implementación del algoritmo Haar
cascade.
En esta sesión se ven las ven las carpetas del framework tensorflow
Ilustración 25 ARCHIVOS DEL TENSORFLOW
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
En esta parte se encuentra las carpetas que muestran las vistas de la APP, y raw
(Contiene los archivos xml para el reconocimiento de los objetos), estos archivos
xml fueron generados mediante el desarrollo en Python por comandos en el
sistema operativo Fedora de la máquina virtual, se generan automáticamente
luego de realizar el ingreso de las imágenes, cada archivo xml contiene
operaciones algebraicas con coordenadas y matices según la imagen que se esté
entrenando. Ilustración 26 Archivos Entrenados
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 28
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 27 CONEXIONES
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
crear una red Neuronal convulucionales (CNN)
Este código es la estructura básica de una red neuronal de dos capas la cual se puede adecuar
para distintos usos solo para fines de prueba se le alimentaran los datos de MNIST, para
poderla usar con otros set de datos solo cambia la data de entrada (dependiendo de las
variables que vayas a manejar) y las salidas (número de clasificaciones)
Successfully downloaded train-images-idx3-ubyte.gz 9912422 byt
es.
Extracting /tmp/data/train-images-idx3-ubyte.gz
Successfully downloaded train-labels-idx1-ubyte.gz 28881 bytes
.
pg. 29
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Extracting /tmp/data/train-labels-idx1-ubyte.gz
Successfully downloaded t10k-images-idx3-ubyte.gz 1648877 byte
s.
Extracting /tmp/data/t10k-images-idx3-ubyte.gz
Successfully downloaded t10k-labels-idx1-ubyte.gz 4542 bytes.
Extracting /tmp/data/t10k-labels-idx1-ubyte.gz
pg. 30
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Paso 1,Perdida= 718.1907, Certeza= 0.211
Paso 100,Perdida= 71.7677, Certeza= 0.797
Paso 200,Perdida= 20.2565, Certeza= 0.914
Paso 300,Perdida= 40.0049, Certeza= 0.812
Paso 400,Perdida= 13.0502, Certeza= 0.891
Paso 500,Perdida= 20.2619, Certeza= 0.883
Porcentaje de certeza: 88.66 %
Pasos para entrenar CNN ya pre-entrenadas
Cualquiera de los modelos de reconocimiento de imagen disponibles en Keras puede ser
cargado con sólo dos líneas de código. Esto automáticamente descargará el modelo
entrenado para clasificar 1000 objetos comunes usando el conjunto de datos de ImageNet.
1. El primer paso es tener las imágenes con las que se entrenará el
algoritmo
http://image-net.org/api/text/imagenet.synset.geturls?wnid=n04037443
http://image-net.org/api/text/imagenet.synset.geturls?wnid=n04146614
pg. 31
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
http://image-net.org/api/text/imagenet.synset.geturls?wnid=n03792782
http://image-net.org/api/text/imagenet.synset.geturls?wnid=n04467665
http://image-net.org/api/text/imagenet.synset.geturls?wnid=n03345487
Se crea un archivo download-image-by-link.py donde contendrá el
siguiente código el cual permitirá descargar las imágenes que se encuentran en
las url que están en la parte superior;
Para cada url se creara una carpeta con sus respectivos nombre y dentro de ella se
guardaran las imágenes que se descarguen.
import urllib.request
import cv2
import numpy as np
import os
def store_raw_images():
neg_images_link = '// image-
net.org/api/text/imagenet.synset.geturls?wnid=n
03345487'
neg_image_urls =
urllib.request.urlopen(images_car).read().decod
e()
pic_num = 1
if not os.path.exists('car'):
os.makedirs('car')
for i in neg_image_urls.split('\n'):
try:
print(i)
urllib.request.urlretrieve(i,
"car/"+str(pic_num)+".jpg")
img =
cv2.imread("neg/"+str(pic_num)+".jpg",cv2.IMREA
D_GRAYSCALE)
resized_image = cv2.resize(img,
(100, 100))
cv2.imwrite("car/"+str(pic_num)+".jpg",resized_
image)
pic_num += 1
except Exception as e:
print(str(e))
pg. 32
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
2. Con las imágenes en sus respectivas carpetas se debe importar las librerías necesarias para proporcionar el data set al algoritmo, Keras ofrece varios modelos preentrenados que como veremos en la segunda parte del libro son muy útiles para lo que se conoce transfer learning: Xception, VGG16, VGG19, ResNet50, InceptionV3, InceptionResNetV2, MobileNet, DenseNet y NASNet.
Como se muestra más adelante, el hecho que sean preentrenados es muy valioso en casos donde no disponga de suficientes datos para entrenarlas, pero también desde un punto de vista computacional. Por ejemplo, en la VGG16 tiene más de 138 millones de parámetros, y si se suma la memoria requerida para almacenar los datos intermedios, se requere más de 24 millones de puntos por imagen; si cada uno ocupa 4 bytes de memoria estamos hablando de casi 100 millones de Bytes por imagen solo para la fase de forward.
/home/daniel/anaconda3/envs/Ambiente/lib/site-packages/h5py/
init .py:36: FutureWarning: Conversion of the second argument
of issubdtype from `float` to `np.floating` is deprecated. In
future, it will be treated as `np.float64 == np.dtype(float).t
ype`.
from ._conv import register_converters as _register_converte
rs
3. En la variable vgg se carga todo el modelo pre-entrendo e invocando al m étodo summary() se obtiene el detalle del formato de los tensores entre ca pas, así como los parámetros en cada capa. Pongan atención al número t otal de parámetros que se requieren.
Layer (type) Output Shape Param #
pg. 33
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
==============================================================
===
input_1 (InputLayer) (None, 224, 224, 3) 0
block1_conv1 (Conv2D) (None, 224, 224, 64) 1792
block1_conv2 (Conv2D) (None, 224, 224, 64) 36928
block1_pool (MaxPooling2D) (None, 112, 112, 64) 0
block2_conv1 (Conv2D) (None, 112, 112, 128) 73856
block2_conv2 (Conv2D) (None, 112, 112, 128) 147584
block2_pool (MaxPooling2D) (None, 56, 56, 128) 0
block3_conv1 (Conv2D) (None, 56, 56, 256) 295168
block3_conv2 (Conv2D) (None, 56, 56, 256) 590080
block3_conv3 (Conv2D) (None, 56, 56, 256) 590080
block3_pool (MaxPooling2D) (None, 28, 28, 256) 0
block4_conv1 (Conv2D) (None, 28, 28, 512) 1180160
block4_conv2 (Conv2D) (None, 28, 28, 512) 2359808
block4_conv3 (Conv2D) (None, 28, 28, 512) 2359808
block4_pool (MaxPooling2D) (None, 14, 14, 512) 0
block5_conv1 (Conv2D) (None, 14, 14, 512) 2359808
block5_conv2 (Conv2D) (None, 14, 14, 512) 2359808
pg. 34
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
block5_conv3 (Conv2D) (None, 14, 14, 512) 2359808
block5_pool (MaxPooling2D) (None, 7, 7, 512) 0
flatten (Flatten) (None, 25088) 0
fc1 (Dense) 44 (None, 4096) 1027645
fc2 (Dense) 2 (None, 4096) 1678131
predictions (Dense) (None, 1000) 4097000
==============================================================
===
Total params: 138,357,544
Trainable params: 138,357,544
Non-trainable params: 0
4. En Keras solo hace falta especificar las siguientes tres líneas para crearla , además de poderla tener ya iniciada con los parámetros de una red ya e ntrenada (con vgg.layer):
Layer (type) Output Shape Param #
==============================================================
===
input_1 (InputLayer) (None, 224, 224, 3) 0
block1_conv1 (Conv2D) (None, 224, 224, 64) 1792
block1_conv2 (Conv2D) (None, 224, 224, 64) 36928
block1_pool (MaxPooling2D) (None, 112, 112, 64) 0
block2_conv1 (Conv2D) (None, 112, 112, 128) 73856
pg. 35
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
block2_conv2 (Conv2D) (None, 112, 112, 128) 147584
block2_pool (MaxPooling2D) (None, 56, 56, 128) 0
block3_conv1 (Conv2D) (None, 56, 56, 256) 295168
block3_conv2 (Conv2D) (None, 56, 56, 256) 590080
block3_conv3 (Conv2D) (None, 56, 56, 256) 590080
block3_pool (MaxPooling2D) (None, 28, 28, 256) 0
block4_conv1 (Conv2D) (None, 28, 28, 512) 1180160
block4_conv2 (Conv2D) (None, 28, 28, 512) 2359808
block4_conv3 (Conv2D) (None, 28, 28, 512) 2359808
block4_pool (MaxPooling2D) (None, 14, 14, 512) 0
block5_conv1 (Conv2D) (None, 14, 14, 512) 2359808
block5_conv2 (Conv2D) (None, 14, 14, 512) 2359808
block5_conv3 (Conv2D) (None, 14, 14, 512) 2359808
block5_pool (MaxPooling2D) (None, 7, 7, 512) 0
flatten (Flatten) (None, 25088) 0
fc1 (Dense) 44 (None, 4096) 1027645
fc2 (Dense) 2
(None, 4096) 1678131
pg. 36
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
predictions (Dense) (None, 1000) 4097000
==============================================================
===
Total params: 138,357,544
Trainable params: 138,357,544
Non-trainable params: 0
5. Ejecutando cnn.pop se elimina la última capa que hace la clasificación para p
roporcionarle los elementos que se quiere que entrenar, nuevamente, si usa el método summary() podra obtener detalles de esta red, vea que es idént ica en arquitectura, tensores y parámetros.
Layer (type) Output Shape Param #
==============================================================
===
input_1 (InputLayer) (None, 224, 224, 3) 0
block1_conv1 (Conv2D) (None, 224, 224, 64) 1792
block1_conv2 (Conv2D) (None, 224, 224, 64) 36928
block1_pool (MaxPooling2D) (None, 112, 112, 64) 0
block2_conv1 (Conv2D) (None, 112, 112, 128) 73856
block2_conv2 (Conv2D) (None, 112, 112, 128) 147584
block2_pool (MaxPooling2D) (None, 56, 56, 128) 0
block3_conv1 (Conv2D) (None, 56, 56, 256) 295168
block3_conv2 (Conv2D) (None, 56, 56, 256) 590080
block3_conv3 (Conv2D) (None, 56, 56, 256) 590080
pg. 37
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
block3_pool (MaxPooling2D) (None, 28, 28, 256) 0
block4_conv1 (Conv2D) (None, 28, 28, 512) 1180160
block4_conv2 (Conv2D) (None, 28, 28, 512) 2359808
block4_conv3 (Conv2D) (None, 28, 28, 512) 2359808
block4_pool (MaxPooling2D) (None, 14, 14, 512) 0
block5_conv1 (Conv2D) (None, 14, 14, 512) 2359808
block5_conv2 (Conv2D) (None, 14, 14, 512) 2359808
block5_conv3 (Conv2D) (None, 14, 14, 512) 2359808
block5_pool (MaxPooling2D) (None, 7, 7, 512) 0
flatten (Flatten) (None, 25088) 0
fc1 (Dense) 44 (None, 4096) 1027645
fc2 (Dense) 2
(None, 4096) 1678131
==============================================================
===
Total params: 134,260,544
Trainable params: 134,260,544
Non-trainable params: 0
6. Por medio de la línea de comando layer.trainable se debe inicializar en fal se porque ya estas capas ya se han entrenado en máquinas más potente s de las que se tiene.
pg. 38
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Layer (type) Output Shape Param #
==============================================================
===
input_1 (InputLayer) (None, 224, 224, 3) 0
block1_conv1 (Conv2D) (None, 224, 224, 64) 1792
block1_conv2 (Conv2D) (None, 224, 224, 64) 36928
block1_pool (MaxPooling2D) (None, 112, 112, 64) 0
block2_conv1 (Conv2D) (None, 112, 112, 128) 73856
block2_conv2 (Conv2D) (None, 112, 112, 128) 147584
block2_pool (MaxPooling2D) (None, 56, 56, 128) 0
block3_conv1 (Conv2D) (None, 56, 56, 256) 295168
block3_conv2 (Conv2D) (None, 56, 56, 256) 590080
block3_conv3 (Conv2D) (None, 56, 56, 256) 590080
block3_pool (MaxPooling2D) (None, 28, 28, 256) 0
block4_conv1 (Conv2D) (None, 28, 28, 512) 1180160
block4_conv2 (Conv2D) (None, 28, 28, 512) 2359808
block4_conv3 (Conv2D) (None, 28, 28, 512) 2359808
block4_pool (MaxPooling2D) (None, 14, 14, 512) 0
block5_conv1 (Conv2D) (None, 14, 14, 512) 2359808
pg. 39
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
block5_conv2 (Conv2D) (None, 14, 14, 512) 2359808
block5_conv3 (Conv2D) (None, 14, 14, 512) 2359808
block5_pool (MaxPooling2D) (None, 7, 7, 512) 0
flatten (Flatten) (None, 25088) 0
fc1 (Dense) 44 (None, 4096) 1027645
fc2 (Dense) 2 (None, 4096) 1678131
dense_1 (Dense) (None, 5) 12291
==============================================================
===
Total params: 134,272,835
Trainable params: 12,291
Non-trainable params: 134,260,544
7. Se debe pasar la ruta donde se encuentran las imágenes que serán
añadidos al modelo
pg. 40
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
8. El último paso se devuelve el modelo ya entrenado con los elementos que
le se proporcionó.
Ilustración 28CREACIÓN DE ALGORITMO
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Ubicación Geo Referencial
Primero crearemos un nuevo proyecto
1) Se nos creara un nuevo activity_main.xml
2) Se nos creara nuestro MainActivity.java
3) Nuestro AndroidManifest.xml (tendremos que agregar algunas cosas)
pg. 41
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 29 CREACIÓN DEL ANDROID MANIFEST XML
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Importante:
Una vez creado el proyecto debemos de agregar a nuestra aplicación permisos
para usar el GPS dispositivo y para ello nos vamos al fichero
AndroidManifest.xml y agregamos el siguiente permiso
Bien nuestro activity_main.xml tendrá lo siguiente 2 Texview y un
imageView. Todo dentro de un LinearLayout
Ilustración 30 DISEÑO DE LA PANTALLA UBICACION GEOREFERNCIAL
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
1. <uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"/>
pg. 42
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Ilustración 31 MAIN ACTIVITY
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
Ahora que hemos configurado la parte gráfica del ejercicio necesitamos, configurar
nuestro MainAtivity.java. Vamos a definir un LocationListener. Un
LocationListener, no es más que una clase que se encarga de estar siempre
atenta a cualquier cambio de localidad recibido en el GPS del dispositivo.
Digamos que es como un radar que detecta toda señal de cambio de ubicación
que el Ilustración 32 DEFINIR LOCALIZACION
GPS
pg. 43
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
emite. Para efectos de este tutorial, este LocationListener lo definiremos
dentro de nuestra clase MainActivity. Lo primero que debemos hacer es
importar el paquete “android.location.LocationListener”, ya que este
paquete es el que tiene la definición de la interfaz LocationListener. Luego
definimos la clase Localización, de la siguiente manera:
Ilustración 33 COMPATIBILIDAD
pg. 44
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
.
pg. 45
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
Elaborado por: Nathaly Herrera – Daniel Chamaidán Fuente: Nathaly Herrera – Daniel Chamaidán
pg. 46
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
4. FAQ
1. ¿Porque es importante habilitar el GPS en el programa Android
Studio?
Esa es una de las ventajas que contiene el lenguaje de programación de Android
ya que permite habilitar el GPS con pocas líneas de código, lo cual es importante
al momento del desarrollo de una app en la que permita mostrar la ubicación del
cliente.
2. ¿Porque se escogió el algoritmo redes neuronales
convolucionales para el reconocimiento de los vehículos?
Por ser una técnica actualizada y completa, rápida al momento de entrenarla e
implementarla al sistema, por permitir que la aplicación no sea tan pesada
permitiendo a que más dispositivos puedan hacer uso de este.
3. ¿Es posible realizar mejoras al sistema para que reconozca
otros tipos de objetos como personas, semáforos?
Si, esa es una de las ventajas que tiene el algoritmo redes neuronales
convolucionales para ello solo se necesita filtrar las etiquetas de personas,
semáforos u cualquier otro objeto para su reconocimiento e identificación.
4. ¿Porque se escogió el framework Tensorflow para el conteo de
los objetos?
Se escogió el framework tensorflow porque la aplicación móvil se la desarrollo en
el lenguaje de programación Android bajo el programa Android studio, además
este framework le proporciona al sistema características importantes en la
codificación.
5. ¿Porque se implementó Apis al proyecto?
Porque mediante las Apis proporciona al sistema una mejor y rápida comunicación
con la base de datos, ya que las Apis como característica principal sirve de
intermediario para la comunicación entre el sistema y la base de datos.
pg. 47
PLATAFORMA TECNOLÓGICA PARA CONTRIBUIR A LA PLANEACIÓN URBANA DE LA
CIUDAD DE GUAYAQUIL DIRIGIDO A LA TRANSPORTACIÓN, ENFOCADO AL DESARROLLO
DE UNA APLICACIÓN ANDROID USANDO TÉCNICAS DE VISIÓN ARTIFICIAL PARA EL
CONTEO DE LOS TIPOS DE VEHÍCULOS QUE PUEDEN CIRCULAR EN UN PUNTO GEO
REFERENCIAL
Universidad de
Guayaquil
5. Referencia Bibliográfica
Referencia Título
Universidad Tecnica de Madrid (Abdel Rodríguez) Julio 2016
Objects detectionusing redes neuronales convolucionales and tensorflow