Documentos de Académico
Documentos de Profesional
Documentos de Cultura
“UNIANDES”
PUYO-ECUADOR
2019
DEDICATORIA
A:
Dios, por darme la oportunidad de vivir y por estar conmigo en cada paso que
doy, por fortalecer mi corazón e iluminar mi mente y por haber puesto en mi
camino a aquellas personas que han sido mi soporte y compañía durante todo
el periodo de estudio.
Mis padres Marco Calles y Juanita Carrasco, por ser el pilar fundamental en
todo lo que soy, en toda mi educación, tanto académica, como de la vida, por su
incondicional apoyo perfectamente mantenido a través del tiempo.
Todo este trabajo ha sido posible gracias a ellos.
Por sus consejos, sus valores, por la motivación perseverancia constante que me
ha permitido ser una persona de bien, por su amor y lo más importante por
darme la vida y la oportunidad de ser su hijo los amo.
“Gracias por estar conmigo en los buenos y en los malos momentos, gracias por
hacerme feliz, gracias por tus detalles, por tu apoyo, y sobre todo por tu
paciencia infinita, gracias por darme Sabiduría, Amor, Valentía, Y el eterno
amor día tras día de mi vida te amo, amor de mi vida y de mi corazón”.
A mis padres quienes con su amor, paciencia y esfuerzo me han permitido llegar a
cumplir hoy un sueño más, gracias por inculcar en mí el ejemplo de esfuerzo y
valentía, de no temer las adversidades porque Dios está conmigo siempre.
INTRODUCCIÓN ........................................................................................................................1
CAPITULO I. FUNDAMENTACIÓN TEORICA………………………………………….5
1.1. Origen y evolución de los Sistemas de Reconocimiento Facial ..........................................5
1.1.1. Sistema de control..........................................................................................................6
1.1.1.1. Definición ..............................................................................................................6
1.1.1.2. Objetivos................................................................................................................6
1.1.1.3. Elementos ..............................................................................................................7
1.1.2. Sistema informático .......................................................................................................7
1.1.2.1. Definición ..............................................................................................................7
1.1.2.2. Elementos ..............................................................................................................7
1.1.3. Sistema de Reconocimiento Facial.................................................................................8
1.1.3.1. Definición ..............................................................................................................8
1.1.3.2. Biometría facial......................................................................................................9
1.1.3.3. Técnicas y algoritmos de reconocimiento facial ..................................................10
1.1.3.4. Librerías para el procesamiento de imágenes ......................................................10
1.1.4. Base de datos ..............................................................................................................12
1.1.4.1. Definición ...........................................................................................................12
1.1.4.2. Modelos de base de datos ....................................................................................12
1.1.4.3. Sistema de gestión de base de datos ....................................................................13
1.1.4.4. SQL ....................................................................................................................13
1.2. Valoración crítica de los conceptos principales de las distintas posiciones teóricas sobre
el objeto de investigación ...........................................................................................................15
1.3. Conclusiones parciales del capítulo ................................................................................16
CAPITULO II. DISEÑO METODOLÓGICO Y DIAGNÓSTICO…………………..17
2.1. Caracterización de la Cooperativa de Taxis y Camionetas Puyo .....................................17
2.2. Descripción del proyecto metodológico para el desarrollo de la investigación ................18
2.2.1. Métodos de investigación ............................................................................................18
2.2.2. Técnicas e instrumentos ..............................................................................................19
2.2.3. Población y muestra ....................................................................................................21
2.3. Resultados de las encuestas .............................................................................................22
2.4. Conclusiones parciales del capítulo ................................................................................28
CAPITULO III. DESARROLLO DE LA PROPUESTA (VALIDACIÓN Y/O
EVALUACIÓN DE RESULTADOS)………………………………………………………..29
3.1. Planteamiento de la propuesta .........................................................................................29
3.1.1. Título ..........................................................................................................................29
3.1.2. Justificación ................................................................................................................29
3.1.3. Objetivos .....................................................................................................................29
3.1.4. Factibilidad .................................................................................................................30
3.1.4.1. Factibilidad técnica .................................................................................................30
3.1.4.2. Factibilidad operativa ..............................................................................................32
3.1.4.3. Factibilidad económica ...........................................................................................33
3.1.5. Metodología de desarrollo ...........................................................................................34
3.1.5.1. Metodología en cascada ..........................................................................................34
3.2. Desarrollo de la propuesta ...............................................................................................35
3.2.1. Análisis de requerimientos ..........................................................................................35
3.2.1.1. Requerimientos funcionales ....................................................................................35
3.2.1.2. Requerimientos no funcionales ...............................................................................35
3.2.1.3. Diagramas de casos de uso ......................................................................................36
3.2.1.4. Diagramas de secuencia ..........................................................................................41
3.2.2. Diseño .........................................................................................................................47
3.2.2.1. Diseño de la base de datos ......................................................................................47
3.2.2.2. Diccionario de datos ...............................................................................................47
3.2.2.3. Diseño de la arquitectura del sistema ......................................................................54
3.2.2.4. Diseño de interfaz gráfica de usuario ......................................................................55
3.2.3. Implementación ..........................................................................................................58
3.2.3.1. Aplicación de detección de imágenes ......................................................................58
3.2.3.2. Aplicación administrativa .......................................................................................62
3.2.4. Verificación ................................................................................................................64
3.2.4.1. Pruebas de Unidad ..................................................................................................64
3.2.4.2. Pruebas de Integración ............................................................................................69
3.2.4.3. Pruebas de Validación .............................................................................................70
3.2.5. Mantenimiento ............................................................................................................72
3.2.5.1. Instalación del sistema de reconocimiento facial .....................................................72
3.3. Conclusiones parciales ....................................................................................................73
CONCLUSIONES………………………………………………………………………………74
RECOMENDACIONES……………………………………………………………………….74
BIBLIOGRAFÍA
ANEXOS
ÍNDICE DE FIGURAS
Figura 1 esquema general del sistema ................................................................................... 6
Figura 2 Esquema conceptual del sistema informático ......................................................... 7
Figura 3 Esquema de un sistema de reconocimiento facial ................................................... 9
Figura 4 Funcionamiento de OpenCV................................................................................. 11
Figura 5 Pregunta No. 1....................................................................................................... 22
Figura 6: Modelo de la metodología en cascada ................................................................. 34
Figura 7: Diagrama de casos de uso secretaria .................................................................... 36
Figura 8: Diagrama de casos de uso sistema biométrico ..................................................... 40
Figura 9: Diagrama de secuencia login en el sistema .......................................................... 42
Figura 10: Diagrama de secuencia insertar nuevo socio ..................................................... 42
Figura 11: Diagrama de secuencia visualizar socio ............................................................. 43
Figura 12: Diagrama de secuencia editar socio ................................................................... 43
Figura 13: Diagrama de secuencia eliminar socio ............................................................... 44
Figura 14: Diagrama de secuencia generar convocatoria .................................................... 44
Figura 15: Diagrama de secuencia informe de asistencia .................................................... 45
Figura 16: Diagrama de secuencia capturar imagen ............................................................ 45
Figura 17: Diagrama de secuencia identificar socio ............................................................ 46
Figura 18: Diseño de base de datos ..................................................................................... 47
Figura 19: Arquitectura funcional del sistema..................................................................... 54
Figura 20: Esquema de inicio de sesión .............................................................................. 55
Figura 21: Esquema de ingreso de grupos ........................................................................... 56
Figura 22: Esquema de ingreso de usuarios ........................................................................ 56
Figura 23: Esquema de ingreso de datos de socio ............................................................... 57
Figura 24: Esquema de captura de fotos de socio ............................................................... 57
Figura 25: Estructura de carpetas del proyecto ................................................................... 58
Figura 26: Esquema de funcionamiento de aplicación de reconocimiento facial................ 58
Figura 27: Ejemplo de características Haar ......................................................................... 59
Figura 28: Características Haar significativas seleccionadas por AdaBoost ....................... 60
Figura 29: Métodos de extracción de características ........................................................... 61
Figura 30: Archivos de la aplicación de reconocimiento facial .......................................... 62
Figura 31: Esquema de aplicación de administración ......................................................... 63
Figura 32: Tecnologías usadas en back-end y front-end ..................................................... 63
Figura 33: Arquitectura back-end........................................................................................ 64
ÍNDICE DE TABLAS
Dentro del presente proyecto de investigación podemos mencionar temas similares a Sistema
Informático de Reconocimiento Facial. Algunos de ellos se enfocan en cuestiones de
comunicaciones, en los que se realizan pruebas o estudios de las detecciones de los rostros,
así como el estudio de los tratamientos de imágenes.
1
identificación de rostros a partir de una característica anatómica o un rasgo de su
comportamiento.
Problema científico
Objeto de investigación
2
Campo de acción
Objetivo general
Objetivos específicos
Justificación
3
El impacto tecnológico es la implementación de un Sistema Informático de reconocimiento
facial obteniendo muchos beneficios, como en cuanto a la seguridad y confiabilidad que se
tiene en el registro de asistencias, ya que este sistema identificará el rostro de los socios,
descartando así cualquier tipo de suplantación al momento de registro y permitirá un mejor
manejo de tiempo en las convocatorias.
4
CAPITULO I. FUNDAMENTACIÓN TEORICA
Cristina Conde Vilda (2013) “El rostro es un elemento del cuerpo humano utilizado
principalmente para la diferenciación y reconocimiento entre individuos. La biometría y
sobre todo el reconocimiento facial, son campos que han sido automatizados mediante el uso
del computador” (p.105).
Aguilera (2013) “En el siglo XIX se ideó utilizar el reconocimiento facial de manera
empírica para identificar delincuentes basándose en características como la forma de su
cabeza, color de ojos y cabello, localización de cicatrices, lunares y marcas particulares”
(p.59).
Ranga (2016) “En esa década, la compañía norteamericana Panoramic Research en Palo Alto
(California), con financiamiento del Departamento de Defensa de EEUU, desarrolló el
primer sistema semiautomático capaz de localizar características faciales de una fotografía
mediante el cálculo de coordenadas” (p.98):
Kanade (2013) “Posteriormente, en los años 70, Goldstein, Harmon, & Lesk, intentaron
automatizar el reconocimiento facial mediante 21 marcadores subjetivos específicos como
el color de cabello, grosor de labios, etc” (p.59).
Biosys (2018) “A finales de los años 80, “Kirby & Sirovich aplicaron análisis de
componentes principales, una técnica estándar del álgebra lineal, al problema del
reconocimiento facial” (p.79).
Guerrero Diego (2013) “El siguiente avance en este campo se da en 1991, año en el que Turk
y Pentland desarrollan sistemas automatizados de reconocimiento facial en tiempo real
utilizando técnicas Eigenfaces, todo esto basándose en los descubrimientos de Kirby y
Sirovich” (p.205).
Torok & Holper (2016) “Su ámbito de uso se ha extendido a muchas actividades
empresariales, gubernamentales y de la vida cotidiana, está siendo usada para solucionar
problemas de inseguridad al poder controlar el acceso a sitios a personas permitidas, control
de fraudes en uso de documentación” (p.105).
5
Kindt (2013) “Incluso el reconocimiento facial utilizarlo en áreas de trabajo y
entretenimiento, ya que aplicaciones multimedia y redes sociales incorporan servicios en
base al reconocimiento facial. Facebook y Picasa son dos ejemplos de software por
herramientas poderosas para la identificación de rostros” (p.306).
1.1.1.1. Definición
Fernández Alarcón (2013) “Es un conjunto de componentes que interaccionan entre sí para
lograr un objetivo en común y no se limitan a objetos físicos sino también a objetos
abstractos representados mayormente a través de elementos de entrada, salida, mecanismos
de control, sección de transformación y objetivo” (p.98).
Carrillo Paz (2013) “Englobado dentro de los sistemas se encuentran los sistemas de control.
En se define un sistema de control como “el conjunto de elementos que funcionan de manera
concatenada para proporcionar una salida o respuesta deseada” (p.305).
1.1.1.2. Objetivos
Buckbee & Gordon (2013) “Los objetivos de los sistemas de control son los siguientes:
6
1.1.1.3. Elementos
Morales Menendez & Raorez Mendoza (2013) “Los elementos que forman parte de un
sistema de control son los siguientes:
1.1.2.1. Definición
Martínez Perales (2013) “Es un sistema informático como “el conjunto de hardware,
software y el equipo humano que pueda interactuar con esta asociación” (p.200).
Isabel Jiménez Cumbreras (2013) “Los elementos que conforman un sistema informático se
encuentran relacionados entre sí para realizar tareas relacionadas al tratamiento automático
de la información mediante procesos y cálculos informáticos” (P.57).
1.1.2.2. Elementos
Raya Jose, Raya Laura, Francisco Javier (2013) “Un Sistema informático completo se
encuentra compuesto por los siguientes elementos: (p.49).
7
Software
Pattern Stephen Berczuk & Brad Appleton (2013) “Componente lógico constituido por toda
la interfaz gráfica necesaria para la visualización, consulta y análisis de la información. Lo
conforman en si todos los programas (secuencias de instrucciones y datos) para el
funcionamiento del sistema informático como son aplicaciones informáticas, base de datos
y lenguajes de programación” (p75).
Hardware
Herrerías Rey Juan Enrique (2017) “Componentes físicos ya sean electrónicos, eléctricos,
mecánicos o magnéticos del sistema mediante los cuales es posible el ingreso de los datos y
el manejo de la información. Pueden ser periféricos de entrada de datos o periféricos de
salida de información” (p.120).
Recursos humanos
Alma López & Enrique Piedra (2013) “El Personal involucrado en la administración del
sistema informático. Constituyen principalmente los usuarios, aunque también
programadores y técnicos que son los encargados de mantener el funcionamiento óptimo del
sistema” (p.215).
Firmware
Ramos Varón, Antonio Ángel & García Tome (2014) “Software de sistema que reside en
los componentes electrónicos o de hardware como por ejemplo en la memoria permanente
del computador (memoria ROM), se ejecutan al encender el sistema” (p.305).
1.1.3.1. Definición
Guerrero Diego (2013) “La imagen facial es la forma más común de reconocimiento entre
los humanos. La identificación de caras generalmente se basa en la ubicación y forma de los
atributos faciales, como los ojos, orejas, cejas, nariz, labios y forma de la barbilla” (p.402).
8
características faciales extraídas de una imagen digital o de un fotograma clave de una fuente
de video” (p.307).
Solayappan & Latifi (2013) “La biometría engloba varias tecnologías mediante las cuales es
posible verificar la identidad de una persona por medio de sus atributos y características
propias de cada individuo utilizando hardware y software adaptados para la extracción,
captura y almacenamiento de información” (p.410).
9
Tecnología que trabaja sobre fotografías o imágenes en dos dimensiones. En
concreto; el software interpreta cada imagen facial escaneada como un conjunto
bidimensional de patrones brillantes y oscuros con diferentes intensidades de luz en
el rostro y lo compara con patrones almacenados en la base de datos.
Tecnología basada en tres dimensiones, la cual compensa problemas que
experimenta el reconocimiento bidimensional.
Técnicas Holísticas
Juan Carlos Roca (2013) “Consiste en interpretar una imagen como un conjunto binario de
patrones. Estos patrones (eigenface) son convertidos en algoritmos y almacenados como una
combinación para su posterior comparación con patrones almacenados anteriormente”
(p.304).
Técnicas de Análisis
María Soledad Faraldos & Consuelo Goberna Selma (2013) “Determina distancias entre los
puntos antropométricos faciales (eigenfeatures) como los ojos, nariz, boca, cejas. Estos
puntos son comparados con datos almacenados en una base de datos para posteriormente
identificar a la persona” (p.402).
Técnicas en 3D
Gonzalo Pajares Martin Sanz & Jesús M. de la Cruz García, (2013) “El reconocimiento facial
tridimensional es una tendencia en aumento debido a que permite capturar mejor la
información del rostro e identificar los rasgos físicos evitando problemas de iluminación
como es el caso de otras técnicas y permite también identificar un rostro en varios ángulos,
incluso de perfil” (p.507).
OpenCV
10
Gary Bradski & Adrián Kaehler (2017) “La librería OpenCV (Open Source Computer
Vision) es una librería de visión artificial iniciada por Intel en 1999. Esta biblioteca
multiplataforma se centra en el procesamiento de imágenes en tiempo real e incluye
implementaciones libres de patentes de los últimos algoritmos de visión computarizada”
(p.309).
Caballero Barriga (2013) “Esta librería está disponible para múltiples plataformas como:
Windows, Linux, Mac, Android, además cuenta con soporte para diferentes lenguajes como:
Python, Java, C/C++, .Net, entre otros. OpenCV fue diseñado para la eficiencia
computacional y con un fuerte enfoque en aplicaciones” (p.604).
Rodríguez Escudero (2013) “OpenCv para su funcionamiento utiliza los siguientes módulos
opencv_Core: Este es el módulo básico de OpenCV. Incluye las estructuras de datos básicas
y las funciones básicas de procesamiento de imágenes. Este módulo también es usado por
otros módulos como highgui” (p.504).
11
Opencv_highhui: Contiene las funciones para la lectura y escritura tanto de imagen
fija como de vídeo, así como otras funciones de interfaz de usuario.
Opencv_mgproc: Este módulo incluye algoritmos básicos de procesado de
imágenes, incluyendo filtrado de imágenes, transformado de imágenes…etc.
Opencv_features2d: Es un módulo con el que se consigue la detección de puntos y
descriptores y además posee un framework para la unión de esos puntos.
Opencv_calib3d: Módulo que se encarga de la calibración de la cámara, se encarga
de la estimación de la geometría para vistas estereoscópicas.
Opencv_video: Contiene la estimación de movimiento y, funciones y clases para el
seguimiento de objetos y la extracción de fondos.
Opencv_objdetect: Este módulo se encarga de la detección de objetos, como caras
y personas.
1.1.4.1. Definición
Benítez & Arias (2017) “Llamamos base de datos (o bases de datos) a un conjunto de datos
dispuestos con el objetivo de proporcionar información a los usuarios y permitir
transacciones como inserción, eliminación y actualización de datos” (p.58).
Trujillo León (2018) “Existen varios modelos (formas) para organizar una base de datos,
según:
12
Jerárquico, los datos están organizados en forma de árbol.
En red, los datos son organizados en tablas y conectados por referencias formando una
estructura de red.
Relacional, organiza los datos en tablas y establece relaciones entre ellas. Es el modelo
más utilizado.
Relacional extendido, representan de una forma más compleja un modelo relacional
de datos.
Orientado a objetos, los datos son organizados en clases y objetos.
Beatriz Arias (2017) “Un sistema de gestión de base de datos “es el nombre dado a un
conjunto de programas informáticos que gestionan una base de datos. Su objetivo principal
es evitar la manipulación directa por un usuario de una base de datos” (p.189).
MySQL
Oracle
PostgreSQL
SQL Server
1.1.4.4. SQL
Camuña Rodríguez (2015) “El lenguaje SQL o lenguaje de consulta estructurado (Structured
Query Language) es actualmente el estándar de los SGBD relacionales comerciales. Se trata
de un lenguaje de base de datos normalizado que permite crear y manipular base de datos,
además de la creación de consultas con la que obtener información proveniente o alojada en
una base de datos” (p.589).
13
Lenguaje de definición de datos – SQL DDL
Camuña Rodríguez (2015) “Son las instrucciones SQL que permiten modificar la estructura
de la base de datos, actúan sobre datos abstractos como tablas y columnas. Pueden realizar
lo siguiente (p.109).
Sentencia Función
Truncate Elimina todos los registros de una tabla, incluyendo los espacios
asignados a los registros.
14
Tabla 2 Sentencias SQL DML
Sentencia Función
Permite gestionar las transacciones, configuraciones y acceso a los datos y a las bases.
Sentencia Función
Grant Conceder permisos a usuarios o roles para que puedan realizar tareas
determinadas.
1.2. Valoración crítica de los conceptos principales de las distintas posiciones teóricas
sobre el objeto de investigación
Los sistemas de reconocimiento facial son un tipo de sistema informático que permite la
identificación automática de una persona mediante el análisis de características faciales del
individuo extraídas por medio de una fuente de imagen o video y comparándolas con
información previamente ingresada en una base de datos de imágenes.
Como nos dice Villalobos Castaldi en la definición consultada en el marco teórico, existen
varias características que influyen en la identificación de un rostro como son la ubicación de
los elementos y atributos que la componen y sus respectivas relaciones espaciales.
15
Los sistemas informáticos para el reconocimiento de personas son hoy en día un campo en
constante perfeccionamiento y que se lo ha implementado en gran cantidad de áreas sobre
todo en aplicaciones de seguridad, robótica, sistemas de acceso. Como nos dice López
Sandoval no es un campo nuevo ya que se lo lleva estudiando vigorosamente durante más
de dos décadas con su implementación en la actualidad y con una amplia expansión de uso
en muchas más áreas cotidianas del quehacer humano.
Los sistemas de reconocimiento facial son una óptima alternativa si se necesita tener
un registro exacto de personas ya que permite la identificación sin posibilidades de
suplantaciones de identidad.
La librería más conocida y utilizada para la programación de sistemas de
reconocimiento facial es OpenCV, la cual tiene la ventaja de ser de código abierto,
totalmente accesible en múltiples plataformas y con soporte para varios lenguajes de
programación.
OpenCV se encuentra enfocado en la premisa de visión computarizada es por ello que
procesa imágenes en tiempo real mediante el uso de módulos y clases específicas para
el reconocimiento facial.
16
CAPITULO II. DISEÑO METODOLÓGICO Y DIAGNÓSTICO
17
de: Juan Ruales Dávalos en calidad de presidente, Luis Coka Soria como Gerente y como
Secretario el compañero Jorge Flores Mantilla.
Así se escribió páginas de oro de la historia de nuestra gloriosa Cooperativa que en sus
inicios no tenía su casa propia y las sesiones la hacían en cuartos arrendados, en un inicio en
la casa de la Sra. Pastora Meza (Calle Atahualpa), luego en la calle Sucre, casa del Señor
Augusto Galarza, las aspiraciones de tener una sede propia se hizo realidad en la segunda
directiva que presidió José Gamboa Mejía y el suscrito Gerente se consiguió mediante
comodato con el Honorable Consejo Provincial la construcción de la Sede de la Cooperativa
de Taxis y Camionetas Puyo.
MISION
VISION
Este método permite identificar las características del fenómeno estudiado analizando cada
una de sus partes que lo componen como un todo. Mediante este método se podrá
comprender todo el proceso de registro y control de asistencia que se mantiene en cada una
de las convocatorias a socios en la cooperativa de taxis y camionetas Puyo.
18
2.2.1.2. Método histórico-lógico
Es un estudio del origen, evolución y desarrollo del objeto de investigación. Con este método
se podrá conocer la realidad histórica del manejo de asistencias en la cooperativa de taxis y
camionetas Puyo.
Consiste en sacar una conclusión general a partir de hechos particulares. Se usará una vez
deducidos los datos de las entrevistas y encuestas para interpretar y concluir a partir de los
datos obtenidos y ampliar aspectos de la investigación.
2.2.2.1. Técnicas
19
Encuestas. La encuesta es un procedimiento dentro de los diseños de una investigación
descriptiva en el que el investigador recopila datos mediante un cuestionario previamente
diseñado, los datos se obtienen realizando un conjunto de preguntas normalizadas dirigidas
a una muestra representativa o al conjunto total de población estadística en estudios.
ENCUESTADOS TOTAL
Observación. Es el método por el cual se establece una relación concreta o intensiva entre
el investigador y el hecho social o los actores sociales de los que se obtienen datos que luego
se sintetizan para desarrollar la investigación.
Si No
20
Produce algún inconveniente el Por demora en la toma de asistencia las
registro de la asistencia de los sesiones se pueden extender más tiempo
X
socios de lo planificado. Además los socios no
siempre alcanzan a firmar su asistencia,
muchas veces asisten pero dejan la ficha
de registro sin firmar
Resultados de la observación
Para las entrevistas se utilizará una guía de preguntas, para las encuestas un cuestionario con
preguntas cerradas, para la observación se hará uso de una ficha de observación.
2.2.3.1. Población
21
encuestas a los socios; los datos que se encuentran especificados en la siguiente tabla
resumen:
Tabla 7 Población
FUNCIÓN CANTIDAD
Personal administrativo 2
Socios 79
TOTAL 81
2.2.3.2. Muestra Se considera que la población es pequeña ya que no supera las 100
personas, por ello no se realiza el cálculo de la muestra.
2.3. Resultados de las encuestas.
NO 47
TOTAL 79
Resultados
Si
No 41%
59%
Interpretación:
El 59 % de los socios piensan que el sistema actual para registro de su asistencia a las
convocatorias no es óptimo, mientras que el 41% se encuentra conforme con el sistema
actual.
22
2. ¿Existe inconformidad con el proceso de registro actual de las reuniones de los
socios de la cooperativa?
SI 44
NO 35
TOTAL 79
Resultados
44%
56%
Si
No
Interpretación:
23
3. ¿Cree que es necesario establecer un sistema Informático de control interno de
asistencia a las reuniones de socios de la cooperativa?
SI 49
NO 30
TOTAL 79
Resultados
38%
62%
Si
No
Interpretación:
24
4. ¿Cree que el sistema informático de control interno de asistencia a reuniones
mejorará el tiempo de registro?
SI 51
NO 28
TOTAL 79
Resultados
35%
65% Si
No
Interpretación:
25
5. ¿Le gustaría contar con un sistema informático para el registro y control de
asistencia a reuniones que organice la Cooperativa?
Tabla 12 Pregunta N° 5
SI 50
NO 29
TOTAL 79
Resultados
37%
63% Si
No
Interpretación:
26
6. ¿Estaría de acuerdo la implementación de un sistema de reconocimiento facial
para el control de asistencia a reuniones de los socios de la cooperativa?
NO 39
TOTAL 79
Resultados
49% 51%
Si
No
Interpretación:
27
2.4. Conclusiones parciales del capítulo
28
CAPITULO III. DESARROLLO DE LA PROPUESTA (VALIDACIÓN Y/O
EVALUACIÓN DE RESULTADOS)
3.1.1. Título
3.1.2. Justificación
3.1.3. Objetivos
29
3.1.3.2. Objetivos específicos
3.1.4. Factibilidad
Hardware
Se utilizará una máquina que se alojará el sistema informático, la misma debe contar con
los siguientes requerimientos mínimos:
30
Tabla 14: Requerimientos mínimos de hardware
Mínimo Óptimo
Computador de administración
Procesador Intel Core i3 Intel Core i7
Memoria RAM 2.00 GB 8.00 GB
Principal
Velocidad de 3.20GHz 2.20 GHz
microprocesador
Espacio de disco duro 100 GB 500 GB o más
Reconocimiento facial
Ordenador de placa RAM de 1 GB, procesador RAM 1GB, procesador de
reducida de 1 GHz, 2 puertos USB, 1.4 GHz, 4 puertos USB,
conectividad de red Ethernet conectividad de red Ethernet
disponible, salida de video disponible, salida de video
HDMI HDMI (se recomienda el
uso de Raspberry Pi 3
Model B+)
Videocámara Resolución de 0.3 Resolución de 5
megapíxeles (640 x 480 megapíxeles (2592 x 1944
píxeles), 24 fotogramas por píxeles), 30 fotogramas por
segundo, segundo o superior, enfoque
automático,
Dispositivo de Tarjeta SD 2Gb de Tarjeta microSD 16Gb o
almacenamiento capacidad mínimo mayor capacidad.
Otros periféricos Teclado y Mouse USB (para conectar con tarjeta), Monitor
con entrada HDMI
Software
31
Tabla 15: Requerimientos de software
Requerimiento
Sistema operativo Windows 7, Windows 8 o Windows 10
Framework back-end New CakePHP 3.6 Red Velvet.
Framework front-end AngulaJS 2.0.1, NodeJS
Lenguajes de programación PHP 7.2.7, HTML5, Ajax/JavaScript, CSS, Python
Entorno de desarrollo Eclipse 4.8
integrado
Base de datos PostgreSQL
Servidor web Apache httpd 2.4.23
Para el análisis de la factibilidad operativa, se toma como información los datos obtenidos
en las entrevistas al personal administrativo (gerente y secretaria) y las encuestas
realizadas a cada uno de los socios. De acuerdo con esta información obtenida, se
concluye que el desarrollo de un sistema de reconocimiento facial es factible
operativamente puesto que ayudaría en la necesidad de facilitar el control de la asistencia
de los socios en la cooperativa.
Por parte del personal y de los socios integrantes de la cooperativa existe aceptación en
la implementación del sistema de reconocimiento facial, por ello se determina que la
propuesta es totalmente factible.
32
3.1.4.3. Factibilidad económica
Recurso Costo
Recursos Humanos
Programador (Autor) $400
Recursos de Hardware
Computador $500
Ordenador de placa reducida + kit $140
cámara
Recursos de Software
Sistema operativo $300
Frameworks de desarrollo $0
PHP 7.2.7, HTML5, Ajax/JavaScript, $0
CSS, Python
Eclipse 4.8 $0
PostgreSQL $0
Apache httpd 2.4.23 $0
PgAdmin 4 $0
Navegadores de internet $0
Recursos Materiales
Materiales de oficina $50
Transporte $100
Alimentación $100
Internet $100
Impresiones $50
Varios (imprevistos) $50
Total $1790
33
Se concluye del análisis económico que el proyecto es factible debido a que el costo no
es elevado en relación al beneficio que representará para la institución.
Según Ronald E. Giachetti (Giachetti, 2016), “El modelo de cascada describe una
metodología en la que las fases se llevan a cabo secuencialmente, utilizando la metáfora
del agua que cae por los escalones. El modelo de cascada define las fases en términos de
sus actividades; cada fase tiene una sola actividad. En el modelo de cascada, el equipo
completa la fase 1, luego comienza la fase 2, y así sucesivamente hasta que se complete
el proyecto.”
Características
Etapas
34
Se ha escogido el modelo en cascada debido a que es el modelo es adecuado cuando se
tiene un proyecto con un cronograma y requisitos establecidos fijos.
Se describen las características o capacidades que debe tener el sistema para que pueda
cumplir con la funcionalidad esperada. Los requerimientos derivan generalmente de las
necesidades identificadas de los usuarios.
Definen las funciones que debe ser capaz de realizar el sistema especificando la forma en
que este responde a la entrada de datos. El sistema debe cumplir con los siguientes
requerimientos funcionales:
35
El sistema debe proporcionar facilidad en el mantenimiento a la persona
encargada.
El ingreso al sistema debe ser validado mediante su nombre de usuario y
contraseña.
Representa la forma en la que cada usuario puede utilizar el sistema. Se identifican dos
actores en el sistema:
Secretaria: persona que tiene acceso a todas las opciones de administración del sistema.
36
Tabla 17: Caso de uso iniciar sesión
37
Tabla 19: Caso de uso insertar socios
38
Tabla 22: Caso de uso eliminar socios
39
Precondiciones Usuario secretaria con sesión iniciado.
Formulario de búsqueda cargado en pantalla
Sistema biométrico: describe las acciones que puede realizar el sistema biométrico.
40
Tabla 25: Caso de uso capturar imagen
Describe de manera gráfica la forma en que el sistema se comporta para cumplir con las
tareas especificadas en cada caso de uso.
41
Figura 9: Diagrama de secuencia login en el sistema
Fuente: Investigador
42
Figura 11: Diagrama de secuencia visualizar socio
Fuente: Investigador
43
Figura 13: Diagrama de secuencia eliminar socio
Fuente: Investigador
44
Figura 15: Diagrama de secuencia informe de asistencia
Fuente: Investigador
45
Figura 17: Diagrama de secuencia identificar socio
Fuente: Investigador
46
3.2.2. Diseño
Se describe todas las tablas que componen la base de datos describiendo cada uno de sus
campos con sus características.
47
Lista de tablas
48
Tabla 29: Tabla convocatorias
49
Tabla 31: Tabla fotos_originales
50
filename varchar(255) 255 FALSE FALSE FALSE
dir varchar(255) 255 FALSE FALSE FALSE
mimetype varchar(255) 255 FALSE FALSE FALSE
filesize int FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE
user_id int FALSE TRUE FALSE
binario bytea FALSE FALSE FALSE
estado int FALSE FALSE FALSE
51
Tabla 36: Tabla menugroups
52
dir varchar(255) 255 FALSE FALSE FALSE
mimetype varchar(255) 255 FALSE FALSE FALSE
filesize int FALSE FALSE FALSE
binario bytea FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE
socio_id int FALSE TRUE FALSE
53
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE
estado int FALSE FALSE FALSE
identificador varchar(50) 50 FALSE FALSE FALSE
group_id int FALSE TRUE FALSE
54
Base de datos: almacena la información de los socios incluyendo sus fotos
para la posterior comparación.
55
Figura 21: Esquema de ingreso de grupos
Fuente: Investigador
Ingreso de usuarios: ingreso de datos de los usuarios que podrán utilizar el sistema.
Ingreso de socios: registra los datos de los socios pertenecientes a la cooperativa con su
respectiva fotografía para ser comparada con la aplicación de reconocimiento facial.
56
Figura 23: Esquema de ingreso de datos de socio
Fuente: Investigador
57
3.2.3. Implementación
58
Adquisición
Detección de rostros
59
datos. AdaBoost elige una gran de características Haar y selecciona cuál de ellas
se ajusta mejor para ejecutar los clasificadores las cuales deben ser significativas
y de fácil interpretación.
El método Viola y Jones posee dos etapas: la primera entrena al detector tomando un
mayor tiempo de procesamiento, luego pasa a la detección en la que utiliza el detector
entrenado sobre cada imagen a analizar.
Preprocesamiento
60
Extracción de características
Comparación y reconocimiento
61
Figura 30: Archivos de la aplicación de reconocimiento facial
Fuente: Investigador
Archivo Descripción
haarcascade_frontalface_alt.xml Archivo xml del reconocimiento en cascada Haar
de la cara frontal.
capturar.py Programa que se conecta con la cámara web
mediante funciones del OpenCV.
deteccionRostros.py Programa para detectar, generar la imagen en
escala de grises y extraer el rostro para ser usado
en reconocimiento.
test.py Programa para procesar imagen de color a escala
de grises.
reconocimiento.py Programa para rostros en la imagen procesada
mediante una base de datos de caras conocidas.
sistema.py Registra los rostros en la convocatoria.
serviciosWeb.py Permite la conexión con la aplicación
administrativa.
62
Figura 31: Esquema de aplicación de administración
Fuente: Investigador
Back-end
Compuesto por el código que interactúa con el servidor, para el desarrollo se ha escogido
la arquitectura Modelo-Vista-Controlador programada en el lenguaje PHP e
implementada en el framework CakePHP.
63
Figura 33: Arquitectura back-end
Fuente: Investigador
Modelo: conexión con la base de datos, posee código para las operaciones básicas
sobre las tablas con sus respectivas validaciones.
Controlador: intermediario entre el modelo y la vista. Responde a las peticiones
del usuario, invoca métodos desde el modelo y genera una respuesta la cual envía
a la vista.
Vista: interfaz que muestra la información enviada desde controlador de una
manera legible para el usuario.
Front-end
Compuesto por el código que genera las interfaces gráficas con al que interactúa el
usuario y las validaciones a nivel de interfaz.
Para el desarrollo de las interfaces se hace uso de Angular.js, un framework que permite
desarrollar aplicaciones y sistemas web interactivos.
3.2.4. Verificación
Se validaron las funciones del sistema de administración para verificar que el código
funcione de manera correcta.
64
Ingreso al sistema
Visualización de datos
Se verificó que la visualización de las tablas permitidas, en este caso se tomó como
ejemplo la tabla socios ya que es la tabla más importante del sistema.
65
Resultados Lista de los socios ingresados Cumplimiento Si X
esperados en el sistema
No
Ingreso de datos
Se realiza el ingreso a la tabla socios y se verificó que los datos hayan sido almacenados
de manera correcta.
66
Descripción de pasos Seleccionar subir foto
Abrir navegador para buscar imagen
Seleccionar imagen
Guardar
Resultados Imagen de socio guardada en Cumplimiento Si X
esperados base de datos
No
Consultar datos
Se verifica que los datos seleccionados de los socios sean consultados de la base de datos
correctamente y presentados de manera correcta ante los usuarios.
Eliminar datos
67
Tabla 47: Prueba de unidad – Eliminar socios
Actualizar datos
68
Errores: Fallas provocadas:
Observaciones y recomendaciones:
69
Tabla positivos_socios
Tabla fotos_originales
Tabla fotos_procesadas
Tabla asistencias
Pruebas Reconocimiento facial
realizadas Registro de asistencia al detectar asistentes en una
convocatoria.
Resultado Administración de socios
Uso de Tabla socios con sistema de captura de imágenes
para las fotos.
Registro de asistencias
Reconocimiento facial: detección de rostros,
identificación de socios.
Registro en la tabla asistencias del módulo de
administración.
Ingreso al sistema
Se probó que el usuario ingrese al sistema, analizando los siguientes posibles errores
70
Contraseña o Notificación de
nombre de datos incorrectos,
usuario inhabilitación de
incorrectos (no ingreso
registrados)
Usuario Notificación de
usuario invalido
Ingreso de datos
Se tomó como ejemplo el formulario para ingreso de socios para verificar el ingreso de
datos.
71
Numero de Notificación de error
Nomina
Notificación de longitud
errónea
Notificación Cédula
Incorrectos
3.2.5. Mantenimiento
72
Con el objetivo de que el sistema realice de manera efectiva el reconocimiento de los
socios se realiza la selección de una plataforma tecnológica ideal que cumpla con las
tareas de adquisición, procesamiento de imágenes de una manera eficiente.
73
CONCLUSIONES
RECOMENDACIONES
Para el uso del sistema se recomienda contar con un escenario con una iluminación
adecuada para que la aplicación de reconocimiento facial funcione de manera
óptima.
Para un funcionamiento más eficiente del reconocimiento facial, se recomienda que
el individuo se encuentre a poca distancia de la cámara, aproximadamente a 40 cm
ya que con esa distancia es posible captar mejor los detalles faciales.
Se recomienda incorporar mejoras al sistema como por ejemplo trabajar en la
mejora automática de la iluminación para que el sistema sea capaz de detectar
personas en diferentes condiciones de luz.
74
BIBLIOGRAFÍA
León Emma. (4ª Ed). (2013). Los rostros del otro: Reconocimiento invención y
borramiento de la alteridad. España: Editorial
Buckbee, G., & Gordon, L. (2015). True control system objective. Obtenido de Metso
ExperTune Library for Control System Performance:
http://www.expertune.com/articles/TrueControlSystemObjective-
Spanish.pdf
José Rafael Capacho Portilla & Wilson Nieto Bernal. (1ª Ed). (2017). Diseño de base
de datos. Colombia: Editorial Barranquilla
Gary Bradski & Adrián Kaehler. (2ª Ed). (2017). USA: Learning OpenCV
Goldman, Dzubow & Yelverton. (3ª Ed) (2015). Colgajos Faciales. Barcelona-
España: Editorial España.
Sossa Azuela Juan Humberto. (3ª Ed) (2013) .Visión artificial y aumentada. España:
Editorial RA-MA.
Trujillo León, S. (2018). UF2213 - Modelos de datos y visión conceptual de una base
de datos. Madrid: Editorial Elearning S.L.
ENCUESTAS
Método: Encuesta
Técnica: Estructurada
Fecha : 01/05/2018
Duración: 30 minutos
Lugar: Sede de la Cooperativa de Taxis y Camionetas Puyo
Contexto: Se convocó a los socios y se entregó a cada uno un formulario con las
preguntas de la encuesta.
Criterio de muestra teórica: Socios de la Cooperativa.
Desarrollo:
( ) Si
( ) No
( ) Si
( ) No
( ) Si
( ) No
( ) Si
( ) No
Pregunta 5. ¿Le gustaría contar con un sistema informático para el registro y control
de asistencia a reuniones que organice la Cooperativa?
( ) Si
( ) No
Pregunta 6. ¿Estaría de acuerdo la implementación de un sistema de reconocimiento
facial para el control de asistencia a reuniones de los socios de la cooperativa?
( ) Si
( ) No
ENTREVISTAS
Método: Entrevistas
Técnica: Estructuradas
Fecha : 01/05/2018
Duración: 30 minutos cada entrevista.
Lugar: Sede de la Cooperativa de Taxis y Camionetas Puyo
Contexto: Se realizó una reunión en el área de gerencia y secretaría en donde se
llevó a cabo el dialogó personalmente.
Criterio de muestra teórica: Representante legal (gerente) y secretaria de la
cooperativa.
Desarrollo:
Item Pregunta
5 ¿Cree usted que exista algún inconveniente por parte de los socios la
implementación de un sistema de reconocimiento facial para registrar su
asistencia a las reuniones de la cooperativa?
ANEXO C
Apache 2.4.23
MySQL 5.7.14
PHP 5.6.25/7.0.10
7. Finalizar la instalación
Para iniciar el WAMP, podemos hacerlo desde el menú de Inicio -> Todos los
programas -> WampServer -> Start WampServer. Luego nos aparecerá un aviso de
seguridad decimos que Si y se abrirá el programa.
extension=php_intl.dll
extension=php_mbstring.dll
INSTALACIÓN DE ANGULAR.JS
Instalación de Node.js
Características de la tarjeta
La tarjeta SD contendrá el sistema operativo del Raspberry Pi, esto es muy diferente de
la mayoría de las computadoras. Las instrucciones se pueden encontrar en:
www.raspberrypi.org/downloads
http://downloads.raspberrypi.org/images/raspbian/2012-12-16-wheezyraspbian/2012- 12-
16-wheezy-raspbian.zip
OpenCV es una librería de computación visual de código libre bajo licencia BSD,
compatible con Windows, Linux, Mac OS, Android, posee interfaces para trabajar con
lenguajes como Python, C, C++, Java, cuenta con más 2500 algoritmos optimizados y
una gran comunidad de desarrolladores.
Instalación de Python
Para trabajar con OpenCV se ha optado con integrarla con Python para ello se instala en
primer lugar Python.
Instalación de Numpy
Se debe tener presente que la descarga debe ser compatible con la versión de Python y
arquitectura del sistema operativo.
Una vez tengamos el archivo abrimos un CMD en la carpeta en donde guardamos la
descarga, para hacerlo puedes ir a la carpeta, presionar Shift + clic-derecho y seleccionar
Abrir ventana de comandos aquí, en la ventana CMD escribiremos el siguiente comando:
Instalación de OpenCV
MANUAL DE USUARIO
Más info: los cuadros de texto de igual manera validan la información para que el usuario
ingrese en lo posible datos correctos
Posibles errores:
Descripción
Permite al usuario ver y modificar información de su cuenta.
Dar clic en el botón y se desplegará una ventana para cargar imágenes desde el
computador.
Más info: el usuario podrá modificar el tamaño de la imagen y moverla moviendo los
extremos del área iluminada.
2. Editar contraseña
ADMINISTRACIÓN DE GRUPOS
Descripción
Permite visualizar los grupos que se encuentran registrados en el sistema.
Advertencia: los grupos son estáticos y deben ser registrados previamente por el
administrador del sistema.
Componentes
1
1. Filtro: permite al usuario especificar cuantos registros desea que sean mostrados.
2. Zona de búsqueda: filtra los datos que coinciden con el texto ingresado.
3. Registros: lista los grupos ingresados en el sistema.
Más info: el sistema muestra los primeros diez registros; para revisar más registros
almacenados, en la parte inferior usted podrá navegar en las páginas de registros
ADMINISTRACIÓN DE USUARIOS
Descripción
Permite la administración (agregar, consultar, actualizar y eliminar) de los usuarios que harán
uso del sistema.
Componentes
1. Botón Nuevo Usuario: despliega una ventana modal para el ingreso de datos de un
nuevo usuario.
2. Filtro: permite al usuario especificar cuantos registros desea que sean mostrados.
3. Registros: lista los usuarios ingresados en el sistema.
Más info: el sistema muestra los primeros diez registros; para revisar más registros
almacenados, en la parte inferior usted podrá navegar en las páginas de registros
4. Zona de búsqueda: filtra los datos que coinciden con el texto ingresado.
Eliminar un usuario
Descripción
Permite la administración (agregar, consultar, actualizar y eliminar) de los socios que harán uso
del sistema.
Componentes
1. Botón Nuevo Usuario: despliega una ventana modal para el ingreso de datos de un
nuevo usuario.
2. Actualizar listado: Actualista la lista de los socios ingresados en el sistema.
3 4
5 6
Para agregar una imagen del socio damos clic en subir imagen
ADMINISTRACIÓN DE CONVOCATORIAS
Descripción
Permite crear una convocatoria en una fecha acordada
Componentes
1
1. Calendario: Sistema de división del tiempo por días, semanas, meses y años.
2. Nueva convocatoria: Nos permite realizar nueva convocatoria dado click en el día
acordado para realizar la misma.
1 2
Visualización de la convocatorio