Está en la página 1de 127

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES

“UNIANDES”

FACULTAD DE SISTEMAS MERCANTILES


CARRERA DE SISTEMAS E INFORMÁTICA

PROYECTO DE INVESTIGACIÓN PREVIO A LA OBTENCIÓN DEL TÍTULO


DE INGENIERO EN SISTEMAS E INFORMÁTICA

TEMA: SISTEMA INFORMÁTICO DE RECONOCIMIENTO FACIAL PARA EL


REGISTRO Y CONTROL DE ASISTENCIA DE LOS SOCIOS DE LA
COOPERATIVA DE TAXIS Y CAMIONETAS PUYO.

AUTOR (A): CALLES CARRASCO MARCO FERNANDO


TUTOR (A): ING. BECERRA ARÉVALO NELSON PATRICIO Mgs.

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”.

Marco Fernando Calles Carrasco


AGRADECIMIENTO

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.

De igual manera mis agradecimientos a la Universidad Regional Autónoma de los


Andes Uniandes, a toda la Facultad de Sistemas, a mis profesores quienes con la
enseñanza de sus valiosos conocimientos hicieron que pueda crecer día a día como
profesional, gracias a cada una de ustedes por su paciencia, dedicación, apoyo
incondicional y amistad.

Finalmente quiero expresar mi más grande y sincero agradecimiento al Ing.


Nelson Becerra, principal colaborador durante todo este proceso, quien con su
dirección, conocimiento, enseñanza y colaboración permitió el desarrollo mi tesis
de graduación.

Marco Fernando Calles Carrasco


RESUMEN

En la actualidad la tecnología se ha convertido es una herramienta para el desarrollo de una


sociedad, por tal motivo las diferentes instituciones tienen la necesidad de implementar
sistemas que permitan automatizar los procesos que se ejecutan manualmente. La presente
investigación tuvo como finalidad desarrollar un sistema informático de reconocimiento
facial para el registro y control de asistencia de los socios de la cooperativa de Taxis y
Camionetas Puyo, que permita llevar un control adecuado del registro de las asistencias de
los socios a reuniones y convocatorias dentro de la sede de la Cooperativa.

La investigación está enmarcada bajo la línea de investigación de Desarrollo de Software y


Programación de Sistemas, la misma que se fundamentó bibliográficamente con temas
relacionados al objeto de estudio y la investigación de campo, para obtener información del
proceso de registro de asistencia a reuniones y convocatorias de los socios. Se utilizó la
metodología de desarrollo UWE para la ejecución de la propuesta, la misma que permitió
establecer los requerimientos de los usuarios y diseñar el sistema de acuerdo a sus
necesidades. Para el desarrollo del sistema de reconocimiento facial se utilizó OpenCV 3.4.

Finalmente se implementó el sistema informático de reconocimiento facial para el registro y


control de asistencia de los socios de la cooperativa de Taxis y Camionetas Puyo, logrando
convertirse en una herramienta para obtener datos confiables de los socios en las reuniones
beneficiando y facilitando el trabajo manual al personal administrativo de la institución.
ÍNDICE GENERAL

APROBACIÓN DEL ASESOR DEL TRABAJO DE TITULACIÓN


DECLARACIÓN DE AUTORÍA
APROBACIÓN DEL TRIBUNAL
DEDICATORIA
AGRADECIMIENTO

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

Tabla 1 Sentencias SQL DDL ............................................................................................ 14


Tabla 2 Sentencias SQL DML ........................................................................................... 15
Tabla 3 Sentencias SQL DCL ............................................................................................ 15
Tabla 4 Total de entrevistados ............................................................................................ 19
Tabla 5 Total de los socios ................................................................................................. 20
Tabla 6 Guía de observación .............................................................................................. 20
Tabla 7 Población ............................................................................................................... 22
Tabla 8 Pregunta No. 1 ....................................................................................................... 22
Tabla 9 Pregunta No. 2 ....................................................................................................... 23
Tabla 10 Pregunta No. 3 ..................................................................................................... 24
Tabla 11 Pregunta No. 4 ..................................................................................................... 25
Tabla 12 Pregunta N° 5 ...................................................................................................... 26
Tabla 13 Pregunta No. 6 ..................................................................................................... 27
Tabla 14: Requerimientos mínimos de hardware ............................................................... 31
Tabla 15: Requerimientos de software ............................................................................... 32
Tabla 16: Análisis de costos ............................................................................................... 33
Tabla 17: Caso de uso iniciar sesión .................................................................................. 37
Tabla 18: Caso de uso administrar datos de socios ............................................................ 37
Tabla 19: Caso de uso insertar socios ................................................................................ 38
Tabla 20: Caso de uso visualizar socios ............................................................................. 38
Tabla 21: Caso de uso editar socios ................................................................................... 38
Tabla 22: Caso de uso eliminar socios ............................................................................... 39
Tabla 23: Caso de uso generar convocatorias .................................................................... 39
Tabla 24: Caso de uso imprimir informes .......................................................................... 39
Tabla 25: Caso de uso capturar imagen .............................................................................. 41
Tabla 26: Caso de uso identificar socio .............................................................................. 41
Tabla 27: Lista de tablas de la base de datos ...................................................................... 48
Tabla 28: Tabla asistencias ................................................................................................. 48
Tabla 29: Tabla convocatorias ........................................................................................... 49
Tabla 30: Tabla documentos .............................................................................................. 49
Tabla 31: Tabla fotos_originales ........................................................................................ 50
Tabla 32 Tabla fotos_procesadas ....................................................................................... 50
Tabla 33 Tabla fotousers .................................................................................................... 50
Tabla 34: Tabla groups ....................................................................................................... 51
Tabla 35: Tabla justificaciones ........................................................................................... 51
Tabla 36: Tabla menugroups .............................................................................................. 52
Tabla 37: Tabla menugroups .............................................................................................. 52
Tabla 38: Tabla positivos_socios ....................................................................................... 52
Tabla 39 Tabla socios ......................................................................................................... 53
Tabla 40 Tabla users ........................................................................................................... 53
Tabla 41: Descripción de archivos ..................................................................................... 62
Tabla 42: Prueba de unidad – Ingreso al sistema ............................................................... 65
Tabla 43: Prueba de unidad – Visualización socios ........................................................... 65
Tabla 44: Prueba de unidad – Ingreso de datos de socios .................................................. 66
Tabla 45: Prueba de unidad – Ingreso de fotos de socios ................................................... 66
Tabla 46: Prueba de unidad – Consultar socios .................................................................. 67
Tabla 47: Prueba de unidad – Eliminar socios ................................................................... 68
Tabla 48: Prueba de unidad – Actualizar socios ................................................................ 68
Tabla 49: Prueba de unidad – Actualizar fotos de socios ................................................... 69
Tabla 50: Prueba de integración – Proceso de registro de asistencia de socios ................. 69
Tabla 51: Prueba de validación – Inicio de sesión ............................................................. 70
Tabla 52: Prueba de validación – Ingreso de datos ............................................................ 71
INTRODUCCIÓN

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.

En el ámbito internacional se ha podido constatar un proyecto de la UNIVERSIDAD DE


BUENOS AIRES con el tema “Reconocimiento Facial Mediante Imágenes Estereoscópicas
Para Control de Ingreso” realizado por Pamela Alejandra Pereyra (2015) cuyo objetivo es
generar un método de reconocimiento facial con un alto nivel de efectividad se utilizarán
MNSF buscando mejorar la respuesta ante los posibles problemas de cambios,
particularmente pero no exclusivamente, debido al ángulo de toma. De todas maneras,
seguirán presentándose limitaciones a la hora de realizar los reconocimientos dado que se
trabaja con caras tomadas en condiciones normales o neutrales, es decir sin expresiones
particulares, y sin oclusiones. Queda, entonces la posibilidad de realizar extensiones de este
trabajo con diferentes orientaciones.

En el ámbito nacional se ha podido constatar un proyecto de la UNIVERSIDAD


POLITECNICA SALESIANA SEDE-QUITO con el tema “Sistema de Reconocimiento
Facial utilizando el Análisis de componentes principales con una Red Neuronal
Backpropagation desarrollada en C# y Matlab” realizado por Blanco Iturralde David Roberto
(2015) cuyo objetivo es: Desarrollar un sistema que permita realizar el reconocimiento
facial, en múltiples puntos, utilizando la tecnología de identificación por cámaras web.
Luego de realizar el análisis y el estudio de las tecnologías existentes el autor planteó contar
con un sistema moderno con tecnología de punta para llevar la comunicación para los sitios
analizados, llegando así al cumplimiento de los objetivos planteados al inicio del desarrollo
de dicha investigación.

En el ámbito local se ha podido constatar en los repositorios de la UNIVERSIDAD


REGIONAL AUTONOMA DE LOS ANDES UNIANDES AMBATO con el tema “Sistema
Informático biométrico para la gestión de asistencia de los usuarios de la Junta de aguas de
las vertientes Yataqui” desarrollado por Jorge Leonardo Sánchez Carrasco (2015) para
obtener el título de Ingeniero en Sistemas e Informática. Este proyecto hace uso de un
módulo biométrico basado en huellas dactilares y reconocimiento facial que permitirán la

1
identificación de rostros a partir de una característica anatómica o un rasgo de su
comportamiento.

Planteamiento del problema

La Cooperativa de Taxis y Camionetas Puyo, es una organización cuya principal actividad


es el transporte de pasajeros y/o cargas menores; servicio que llevan brindando a la ciudad
de Puyo desde el año 1972. Con los 46 años de servicio que lleva la cooperativa, la nómina
de socios ha ido creciendo llegando a la cantidad de 79 asociados.

La entidad realiza periódicamente convocatorias a junta de socios ya sea para rendición de


cuentas, aprobación de estados financieros, sesiones para encuentros deportivos, entre otros
eventos.

Debido a la gran cantidad de afiliados a la cooperativa, se han evidenciado inconvenientes


en el proceso de realizar las convocatorias; si bien estas se realizan con aproximadamente 5
días de anticipación ya sea por entrega del acta de convocatoria en persona o por envío a
través de Whatsapp y/o correo electrónico, no siempre asisten a las reuniones todos los
socios.

La asistencia es tomada por la secretaria de la institución en un lapso de 15 a 30 minutos una


sola vez al inicio de la reunión. Esto implica dificultades para mantener el historial de los
asistentes a cada una de las convocatorias debido a que muchos de los socios presentes en
las sesiones no firman la nómina por falta de tiempo o por atrasos, además que la toma de
lista produce que las reuniones se alarguen terminando muchas veces pasada la media noche.

Problema científico

¿Cómo mejorar el registro y control de asistencia de los socios de la Cooperativa de Taxis y


Camionetas Puyo?

Objeto de investigación

En el presente trabajo de investigación el objeto de estudio es el desarrollo de software.

2
Campo de acción

Software de control mediante reconocimiento facial

Identificación de la Línea de Investigación.

Desarrollo de Software y Programación de Sistemas.

Objetivo general

Desarrollar un Sistema Informático de reconocimiento facial para el registro y control de


asistencia de los socios de la Cooperativa de Taxis y Camionetas Puyo

Objetivos específicos

 Analizar los procesos que se utilizan actualmente en la Cooperativa de Taxis y


Camionetas de la ciudad de Puyo para determinar la valoración de registro y control
de asistencia de los socios.
 Fundamentar bibliográficamente los sistemas de reconocimiento facial mediante
herramientas para el registro y control de asistencia.
 Desarrollar un Sistema informático de Reconocimiento Facial para el registro y
control de asistencia en la Cooperativa de Taxis y Camionetas Puyo.

Hipótesis o Idea a Defender o Preguntas Científicas

La implementación de un Sistema Informático de reconocimiento facial mejorará el registro


y control de asistencia a las convocatorias y reuniones de los socios de la Cooperativa de
Taxis y Camionetas Puyo.

Justificación

En la actualidad la Cooperativa de Taxis y Camionetas Puyo, no posee un sistema


informático de reconocimiento facial para el registro y control de asistencia de los socios, lo
que dificulta un adecuado control de asistencia por parte del personal Administrativo. La
motivación de la propuesta se basa en la autenticación de socios en tiempo real, hacia la base
de datos del sistema de forma directa, lo cual controla y agiliza los procesos de control de
asistencia.

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

1.1. Origen y evolución de los Sistemas de Reconocimiento Facial

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).

Análisis de las distintas posiciones teóricas sobre el objeto de estudio

1.1.1. Sistema de control

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).

Figura 1 esquema general del sistema


Fuente: Sistemas de Control, Autor: Fernández Alarcón

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:

 Mantienen estabilidad, en las condiciones deseadas.


 Restauran las condiciones del proceso cuando son cambiadas por disturbios
 Llevan el proceso a nuevas condiciones de operación, en respuesta a cambios del valor
deseado (“Set Point”)

6
1.1.1.3. Elementos

Morales Menendez & Raorez Mendoza (2013) “Los elementos que forman parte de un
sistema de control son los siguientes:

 Planta que es el sistema a controlar.


 Actuador es el mecanismo que efectúa la acción de control y modifica las variables de
control.
 Sensor permiten conocer las variables medidas en el sistema.
 Controlador que constituye el medio que, utilizando los valores determinados pro los
sensores, calcula la salida de control requerida.

1.1.2. Sistema informático

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).

Figura 2 Esquema conceptual del sistema informático


Fuente: Sistemas Informáticos, Autor: Raya José, Raya Laura, Francisco Javier
2013

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. Sistema de Reconocimiento Facial

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).

Villalobos Castaldi (2013) “Un sistema informático de reconocimiento facial es una


aplicación que permite la identificación automática de una persona mediante el análisis de

8
características faciales extraídas de una imagen digital o de un fotograma clave de una fuente
de video” (p.307).

Figura 3 Esquema de un sistema de reconocimiento facial


Fuente: Reconocimiento Facial, Autor: López Sandoval

 Captura o adquisición de la imagen por medio de un dispositivo de imagen o video.


 Detección de la cara, identifica si hay un rostro en la imagen. En caso de video hace
un seguimiento de la localización y escala de la cara.
 Acondicionamiento y normalización, localiza los componentes del rostro mediante
transformaciones geométricas y normaliza sus propiedades como la pose, iluminación
y tamaño.
 Extracción de características, el sistema analiza la información y distingue entre
individuos con características fotométricas similares.
 Reconocimiento, las características extraídas se comparan con la información
almacenada en la base de datos. Si existe un porcentaje elevado de similitud, devuelve
la identidad de la cara reconocida.

1.1.3.2. Biometría facial

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).

Cristina Conde Vilda (2013) Existen dos tipos de tecnologías:

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.

1.1.3.3. Técnicas y algoritmos de reconocimiento facial

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).

1.1.3.4. Librerías para el procesamiento de imágenes

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).

El esquema de funcionamiento de OpenCV para el reconocimiento de una imagen es la


siguiente:

Figura 4 Funcionamiento de OpenCV


Fuente: Learning OpenCV, Autor: Gary Bradski & Adrián Kaehler

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.

Estos módulos se encuentran localizados en el directorio lib.

1.1.4. Base de datos

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).

Cisneros Gonzales (2013) “Sus características principales son las siguientes:

 Varios usuarios pueden tener acceso a la base a la vez.


 Constituye una unidad, aunque esté formado por varios archivos de diferentes tipos de
datos.
 Es independiente de los programas y los datos (p.85).

1.1.4.2. Modelos de base de datos

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.

1.1.4.3. Sistema de gestión de base de datos

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).

Algunos sistemas de gestión de base de datos son los siguientes:

 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).

Utiliza tres tipos de sub lenguajes:

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).

 Crear y definir tablas.


 Eliminar tablas.
 Modificar una tabla creada previamente.
 Crear vistas.
 Crear índices.
 Controlar el almacenamiento físico de los datos.

Las sentencias fundamentales de SQL DDL son:

Tabla 1 Sentencias SQL DDL

Sentencia Función

Create Crea un objeto (tabla o base de datos)

Drop Elimina un objeto (tabla o base de dato)

Alter Modifica un objeto de la base de datos (tabla o base de datos)

Truncate Elimina todos los registros de una tabla, incluyendo los espacios
asignados a los registros.

Comment Agregar comentarios al diccionario de datos

Rename Cambiar el nombre de un objeto

Lenguaje de manipulación de datos – SQL DML

Instrucciones para la manipulación o recuperación de los datos. Pueden realizar lo siguiente:

 Consultas sobre el contenido.


 Modificación del contenido.

Osorio Rivera (2018) “Las sentencias fundamentales de SQL DML son:

14
Tabla 2 Sentencias SQL DML

Sentencia Función

Select Recupera datos desde uno o varias tablas (o vistas)

Insert Agregar un registro en una tabla

Update Modifica el contenido de los campos en una tabla

Delete Eliminar registros de una tabla

Commit Graba en el medio de almacenamiento las modificaciones introducidas

Rollback Deshace las modificaciones introducidas después del último commit

Lenguaje de control de acceso – SQL DCL

Permite gestionar las transacciones, configuraciones y acceso a los datos y a las bases.

Las sentencias fundamentales de SQL DML son:

Tabla 3 Sentencias SQL DCL

Sentencia Función

Grant Conceder permisos a usuarios o roles para que puedan realizar tareas
determinadas.

Revoke Elimina los permisos establecidos con Grant.

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.

La investigación ha probado que la aplicación de la biometría en controles de asistencia de


personas trae beneficios como la reducción de costos, la facilidad de administración y la
precisión de la información almacenada.

De igual manera la automatización de procesos dentro de las empresas permite eliminar el


uso de otros medios que son propensos a daño, pérdida o modificación como es el caso de
hojas de registro físicas; con la que es imposible llevar un control con datos exactos y
precisos.

1.3. Conclusiones parciales del capítulo

En este capítulo se revisan conceptos básicos de los sistemas de reconocimiento facial


partiendo desde el concepto de sistema de control y sistema informático para tener una visión
más amplia de la propuesta y generar una solución adecuada al problema.

Del marco teórico elaborado se han obtenido las siguientes conclusiones:

 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

2.1. Caracterización de la Cooperativa de Taxis y Camionetas Puyo

La presente investigación se efectuó en la Cooperativa de Taxis y Camionetas Puyo ubicada


en el cantón Puyo de la Provincia de Pastaza, en el centro de la región amazónica ecuatoriana.
Se realiza en las instalaciones de la SEDE de la institución, la misma que tiene infraestructura
propia en buen estado en la que se realizan sesiones y eventos tanto sociales como deportivos
que cuentan con la participación de todos los socios de la institución; el registro de asistencia
a estas las convocatorias se realizan de manera manual por tanto existe dificultad para llevar
un control exacto de asociados que han estado presentes en los eventos realizados por la
institución, siendo esto uno de los puntos más importantes para la realización de este
proyecto de tesis.

En el año de 1965 se inicia las primeras organizaciones transportistas, primero la


Cooperativa San Francisco que abarcaba desde móviles camionetas hasta busetas de
pasajeros Interprovincial. De la misma manera nace más tarde la Cooperativa de Transportes
Pastaza, que de igual manera operaba con autos, camionetas, y buses de pasajeros
intercantonal, la autoridad de control como es el Ministro de Bienestar Social reguló y
separó según las modalidades de servicio de trasporte, así es como los autos y camionetas
se separaron de los buses y nace la pre Cooperativa de Taxis y Camionetas Puyo, con una
directiva interina nombrada por los Socios que decidieron pertenecer a la modalidad Taxis
y Camionetas, las que estuvo representada por: Luis Coka, como Presidente y Jorge Flores
Mantilla como Secretario; de esta manera empezaron los trámites pertinentes para conseguir
la personaría jurídica, se logra que el Ministerio de Bienestar Social, apruebe los Estatutos
de la Pre Cooperativa y Seguidamente mediante el Acuerdo Ministerial N° 1340 del 06 de
Noviembre de 1972 se declare a la Cooperativa de Taxis y Camionetas Puyo como
organización jurídicamente reconocidas y registrada en la Dirección General de Tránsito de
aquel entonces, con sus socios fundadores que en su orden fueron reconocidos; Luis Jordán
Coka, Gandy Voltayre González, Ángel Mesías Barroso, José Guzmán Torres, Luis Cueva
Hidalgo, Oscar Coral, Eduardo Lascano, Jorge Flores Mantilla, Hugo Morante, Heriberto
Guevara Cajas, Miguel Martínez Paredes, Juan Ruales Dávalos, Luis Gilberto Chango.

El 10 de noviembre de 1972, se convoca a Asamblea General de Socios y se procede a


nombrar a la primera Directiva de la naciente organización, que recayó en las personalidades

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

La Cooperativa de Taxis y Camionetas Puyo, es una entidad que presenta el servicio de


transporte y la ciudadanía en sus diferentes rutas y frecuencias, mediante modernas unidades
y personal capacitado y comprometido en proporcionar un servicio oportuno y la calidad;
logrando así la satisfacción de todos los usuarios y un mejor nivel de vida de nuestros
colaboradores y socios.

VISION

Constituimos para el 2018 en una institución de servicios de transporte público innovadora,


a través del mejoramiento continuo de nuestros servicios, cambio de unidades y
capacitaciones del personal capaz de establecer una estrecha relación con los clientes y
responder efectiva y eficientemente en sus necesidades, consolidando al mismo tiempo un
ambiente de compañerismo y colaboración a fin de ser considerados como la mejor opción
de transporte público

2.2. Descripción del proyecto metodológico para el desarrollo de la investigación

2.2.1. Métodos de investigación

2.2.1.1. Método analítico-sistémico

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.

2.2.1.3. Método inductivo-deductivo

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.1.4. Método análisis documental

La investigación se apoyará en documentación basada en libros de texto, tesis, monografías


y documentos electrónicos relacionados al tema y que permitan el desarrollo del proyecto.

2.2.2. Técnicas e instrumentos

2.2.2.1. Técnicas

Entrevistas. _ La entrevista es un dialogo entablado entre dos o más personas: el


entrevistador interroga y el entrevistado contesta. Se trata de una técnica empleada para
diversos motivos como investigación, medicina y selección del personal. Una entrevista no
es casual sino es un dialogo interesado con un acuerdo previo e intereses y expectativa por
ambas partes.

Preguntas que se aplicarán al personal administrativo de la empresa (gerente y secretaria)


para conocer a fondo el proceso de registro de asistencia a reuniones de la cooperativa, así
como los documentos usados actualmente.

Tabla 4 Total de entrevistados

NOMBRE DEL ENCUESTADO CARGO

Carlos Calles Gerente General

Teresa Rodríguez Secretaria

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.

Formulario previamente elaborado para recaudar información a las personas involucradas


en la problemática a estudiar en este caso que se aplicará a los socios de la cooperativa.

Tabla 5 Total de los socios

ENCUESTADOS TOTAL

Socios de la Cooperativa de Taxis y Camionetas Puyo 79

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.

Se conocerá el proceso mediante la observación directa, de igual manera se examinará el


establecimiento para determinar la necesidades y soluciones al problema.

Tabla 6 Guía de observación

Indicador Opciones Observaciones

Si No

¿Posee la institución computador El registro de la asistencia se la realiza en


con software para registrar la una hoja impresa mediante la firma de
X
asistencia de los socios a las cada socio
reuniones?

Es adecuado el lugar para la toma de La asistencia se la toma en secretaría,


asistencia de los socios siendo el lugar una pequeña oficina, los
X
socios deben hacer fila para ingresar.

Posee algún inconveniente para la


instalación de cámaras X

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

Es efectiva la búsqueda de registros X Las hojas impresas son archivadas en


grandes folders en los que se tiene
información por años, si se desea conocer
las asistencias de alguna convocatoria
debe realizarse la búsqueda de manera
manual.

Resultados de la observación

De acuerdo con lo observado se puede determinar que el registro de la asistencia de los


socios no es óptimo, observando las siguientes falencias:

 La información es mantenida en hojas impresas almacenadas en archiveros lo que


hace posible la pérdida o alteración de los documentos.
 La búsqueda dentro de las convocatorias realizadas se lo debe realizar de manera
manual ya que no existe una base de datos que almacene dicha información.
 Los reportes de asistencia no siempre presentan datos exactos ya que muchas veces
socios que han asistido dejan la ficha de asistencia sin firmar por falta de tiempo.
2.2.2.2. Instrumentos

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. Población y muestra

2.2.3.1. Población

La investigación se la realiza en la Cooperativa de Taxis y Camionetas Puyo. Para el


desarrollo de la propuesta se considera realizar entrevistas al personal administrativo y

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.

1. ¿Considera usted que el sistema actual que dispone la institución registra


adecuadamente la toma de asistencia en las reuniones organizadas por la cooperativa?
Tabla 8 Pregunta No. 1
SI 32

NO 47

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando


Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados
Si
No 41%
59%

Figura 5 Pregunta No. 1


Fuente: Cooperativa de Taxis y Camionetas Puyo
Elaborado por: Calles Carrasco Marco Fernando

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?

Tabla 9 Pregunta No. 2

SI 44

NO 35

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando


Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

44%
56%
Si
No

Figura 6 Pregunta No. 2


Fuente: Cooperativa de Taxis y Camionetas Puyo
Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

El 56 % de los socios piensan que existe inconformidad en el proceso de registro de


asistencia mientras que el 44% opinan que no hay inconformidad con el sistema actual.

23
3. ¿Cree que es necesario establecer un sistema Informático de control interno de
asistencia a las reuniones de socios de la cooperativa?

Tabla 10 Pregunta No. 3

SI 49

NO 30

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando


Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

38%

62%

Si
No

Figura 7 Pregunta No. 3


Fuente: Cooperativa de Taxis y Camionetas Puyo
Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

El 62 % de los socios piensan que es necesario un sistema informático que facilite el


registro de asistencia en las convocatorias de la cooperativa mientras que el restante
38% no piensan que sea necesario.

24
4. ¿Cree que el sistema informático de control interno de asistencia a reuniones
mejorará el tiempo de registro?

Tabla 11 Pregunta No. 4

SI 51

NO 28

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando


Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

35%

65% Si
No

Figura 8 Pregunta No. 4


Fuente: Cooperativa de Taxis y Camionetas Puyo
Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

El 65 % de los socios piensan que se mejoraría el tiempo de registro de asistencia con


un sistema informático mientras que el 35% opinan que no mejoraría el tiempo de
registro.

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

Elaborado por: Calles Carrasco Marco Fernando


Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

37%

63% Si
No

Figura 9 Pregunta No. 5


Fuente: Cooperativa de Taxis y Camionetas Puyo
Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

El 63 % de los socios piensan que se mejoraría el tiempo de registro de asistencia con


un sistema informático mientras que el 35% opinan que no mejoraría el tiempo de
registro.

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?

Tabla 13 Pregunta No. 6


SI 40

NO 39

TOTAL 79

Elaborado por: Calles Carrasco Marco Fernando


Fuente: Cooperativa de Taxis y Camionetas Puyo

Resultados

49% 51%
Si
No

Figura 10 Pregunta No. 6


Fuente: Cooperativa de Taxis y Camionetas Puyo
Elaborado por: Calles Carrasco Marco Fernando

Interpretación:

Más de la mitad de socios, el 51% están de acuerdo con la implementación de un sistema


de reconocimiento facial mientras que el 49% no se encuentran de acuerdo con el
proyecto.

27
2.4. Conclusiones parciales del capítulo

 En este capítulo, se describió el procedimiento metodológico para el desarrollo de


la propuesta, describiendo los métodos, técnicas e instrumentos utilizados en la
investigación. A partir de del análisis de los resultados se concluye lo siguiente:
 La metodología utilizada para la recolección de datos permitió determinar
requerimientos funcionales para la implementación del sistema.
 La aplicación de las entrevistas expone las necesidades que presenta el área
administrativa y la aceptación de integrar un sistema de reconocimiento facial para
mejorar el registro de asistencia a las convocatorias de la cooperativa.
 Las encuestas reflejan inconformidad por parte de los socios en la forma como se
realiza el registro de asistencia a las convocatorias en la cooperativa.

28
CAPITULO III. DESARROLLO DE LA PROPUESTA (VALIDACIÓN Y/O
EVALUACIÓN DE RESULTADOS)

3.1. Planteamiento de la propuesta

3.1.1. Título

Sistema informático de reconocimiento facial para el registro y control de asistencia de


los socios de la Cooperativa de Taxis y Camionetas Puyo.

3.1.2. Justificación

En la actualidad la cooperativa de Taxis y Camionetas Puyo, no posee un sistema


informático que permita el adecuado registro y control de asistencia de los socios en cada
una de las convocatorias.

La motivación de la propuesta se basa en la autenticación de socios en tiempo real, hacia


la base de datos del sistema de forma directa, lo cual controla y agiliza los procesos de
control de asistencia.

El impacto tecnológico es la implementación de un sistema informático de


reconocimiento facial proviniendo 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.

3.1.3. Objetivos

3.1.3.1. Objetivo general

Desarrollar un sistema de reconocimiento facial mediante el uso de la librería de


procesamiento de imágenes OpenCV.

29
3.1.3.2. Objetivos específicos

 Evaluar las técnicas y algoritmos de biometría y visión artificial que permitan la


identificación del rostro una persona por medio de sus características faciales.
 Diseñar una base de datos para ser utilizados con el algoritmo de detección de
imágenes.
 Implementar una aplicación informática que mediante el uso de técnicas y
algoritmos de la biblioteca de visión artificial OpenCV permita el reconocimiento
de una persona por medio de su rostro.

3.1.4. Factibilidad

El estudio de factibilidad es una etapa importante en el desarrollo del proyecto ya que


permite determinar la capacidad técnica y económica de la institución beneficiada para
conocer si el proyecto resultará beneficioso para los usuarios finales y la aceptación que
tendrán acerca del proyecto.

Se realiza un estudio en aspectos operativos, técnicos y económicos con información real


para identificar si la implementación de un sistema informático de reconocimiento facial
será factible en la Cooperativa de Taxis y Camionetas Puyo.

3.1.4.1. Factibilidad técnica

Se evalúa si la institución posee los recursos tecnológicos necesarios para la realización


del proyecto.

Para la realización del sistema de reconocimiento facial se establecen los requerimientos


tanto de hardware como de software.

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

El software necesario para la implementación del proyecto se resume en el siguiente


cuadro:

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

Administrador de base de PgAdmin 4


datos
Reconocimiento facial Librerías OpenCV 3.4, Python 2.7.15

El área administrativa, conformada por la secretaria y el gerente de la cooperativa, han


manifestado estar de acuerdo con los requerimientos tanto de hardware como de software
necesarios para la realización del proyecto, comprometiéndose a brindar su total apoyo
económico ya que constituirá un beneficio a largo plazo para la institución.

3.1.4.2. Factibilidad operativa

La factibilidad operativa determina si la empresa cuenta con recursos necesarios y


personal capacitado para que el proyecto pueda ser implementado y que funcione
óptimamente.

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

Se realiza una estimación de costos comparándolo con el presupuesto para la realización


del proyecto, tomando en cuenta recursos técnicos, humanos y materiales tanto para el
desarrollo como para la instalación del sistema, resumidos en el siguiente cuadro.

Tabla 16: Análisis de costos

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.

3.1.5. Metodología de desarrollo

3.1.5.1. Metodología en cascada

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

Las características principales de la metodología en cascada son las siguientes:

 Primero modelo que ha servido como base para nuevas metodologías.


 Cada una de sus fases produce uno o más documentos específicos.
 Modelo más simple de desarrollo de software.
 Cada una de sus fases se desarrollan de manera secuencial. Para comenzar una
nueva fase debe completarse primero la anterior.

Etapas

Figura 6: Modelo de la metodología en cascada


Fuente: (Harrison, y otros, 2016)

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.

3.2. Desarrollo de la propuesta

3.2.1. Análisis de requerimientos

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.

3.2.1.1. Requerimientos funcionales

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:

 Registrar de todas las convocatorias realizadas en la cooperativa.


 Almacenar la información de cada uno de los socios incluyendo fotografías de sus
rostros de frente.
 Capturar imágenes por medio de una cámara web con posibilidad de guardarla
posteriormente.
 Detectar rostros de personas dentro del campo de visión de la cámara.
 Identificar a los socios registrados en el sistema y registrar su asistencia a las
reuniones de la cooperativa.
 Generar informes con la nómina de asistencia por cada convocatoria.

3.2.1.2. Requerimientos no funcionales

Detallan las restricciones, características que pueden limitar el funcionamiento del


sistema, tales como seguridad, velocidad, tiempo de respuesta, disponibilidad, capacidad
de los equipos, etc. Para el proyecto se han definido los siguientes requerimientos no
funcionales:

 La interfaz gráfica debe ser de fácil uso para el usuario.


 Procesar de forma rápida las imágenes capturadas por la cámara.

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.

3.2.1.3. Diagramas de casos de uso

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.

Figura 7: Diagrama de casos de uso secretaria


Fuente: Investigador

36
Tabla 17: Caso de uso iniciar sesión

Caso de Uso: Iniciar sesión en el sistema


Actor Secretaria

Descripción El actor secretaria ingresa al sistema para realizar tareas de


administración de socios y convocatorias.

Precondiciones El usuario debe estar registrado en el sistema.

Postcondiciones Se muestra la página principal.

Flujo normal Ingreso del nombre de usuario y contraseña válidos.


Envío de datos por medio de petición web.
Verificación de datos y redireccionamiento.

Flujo alternativo Presentación de los mensajes de validación respectivos

Tabla 18: Caso de uso administrar datos de socios

Caso de Uso: Administrar datos de socios


Actor Secretaria

Descripción El actor secretaria puede realizar las acciones de visualizar,


insertar, editar o eliminar socios del sistema.

Precondiciones Usuario con sesión iniciada.

Postcondiciones Proceso seleccionado realizado correctamente.

Flujo normal Ingreso al sistema.


Ingreso al área de administración.
Selección de opción: visualizar, insertar, editar o eliminar.

Flujo alternativo Presentación de los mensajes de validación respectivos

37
Tabla 19: Caso de uso insertar socios

Caso de Uso: Insertar socios


Actor Secretaria

Descripción Guardar información de un nuevo socio.

Precondiciones Socio no ingresado al sistema.

Flujo normal Presionar botón “Agregar socio”.


Ingresar información.
Ingresar a la sección capturar foto de socio.
Guardar información.

Flujo alternativo Presentación de los mensajes de validación respectivos

Tabla 20: Caso de uso visualizar socios

Caso de Uso: Visualizar socios


Actor Secretaria

Descripción Ver información de un socio.

Precondiciones Socio ingresado al sistema.

Flujo normal Presionar botón “Ver información” en el socio.


Desplegar modal con información del registro seleccionado

Tabla 21: Caso de uso editar socios

Caso de Uso: Insertar socios


Actor Secretaria

Descripción Editar la información de un socio seleccionado.

Precondiciones Socio ingresado al sistema.

Flujo normal Presionar botón “Editar socio”.


Modificar información.
Guardar información.

Flujo alternativo Presentación de los mensajes de validación respectivos

38
Tabla 22: Caso de uso eliminar socios

Caso de Uso: Eliminar socios


Actor Secretaria

Descripción Eliminar un socio seleccionado.

Precondiciones Socio ingresado al sistema.

Flujo normal Presionar botón “Eliminar socio”.


Confirmar eliminación.

Flujo alternativo Presentación del mensaje de confirmación de eliminación.

Tabla 23: Caso de uso generar convocatorias

Caso de Uso: Generar convocatorias


Actor Secretaria

Descripción El actor secretaria registra convocatorias y genera


documentos de la misma.

Precondiciones Usuario con sesión iniciado.

Postcondiciones Documento de convocatoria generado en formato PDF.

Flujo normal Ingreso al sistema.


Ingreso a la opción de convocatorias.
Seleccionar crear nueva convocatoria.
Ingreso de datos.

Flujo alternativo Presentación de los mensajes de validación respectivos

Tabla 24: Caso de uso imprimir informes

Caso de Uso: Imprimir informes


Actor Secretaria

Descripción El actor secretaria tiene la posibilidad de buscar informes de


asistencia por fecha e imprimirlos.

39
Precondiciones Usuario secretaria con sesión iniciado.
Formulario de búsqueda cargado en pantalla

Flujo normal Seleccionar fecha de convocatoria


Seleccionar convocatoria
Seleccionar imprimir.

Flujo alternativo Presentación de los mensajes de validación respectivos

Sistema biométrico: describe las acciones que puede realizar el sistema biométrico.

Figura 8: Diagrama de casos de uso sistema biométrico


Fuente: Investigador

40
Tabla 25: Caso de uso capturar imagen

Caso de Uso: Capturar imagen


Actor Sistema biométrico

Descripción Captura la imagen identificada de un socio mediante la


cámara web.

Flujo normal Normalización de la iluminación de la imagen.


Localizar rostro.
Capturar imagen de la persona

Flujo alternativo Mensaje de cámara desactivada.


El sistema inicializa la cámara web mostrando una vista
previa.

Tabla 26: Caso de uso identificar socio

Caso de Uso: Identificar socio


Actor Sistema biométrico

Descripción Identificar a un socio por medio de la imagen de su rostro.

Flujo normal Localizar rostro.


Extraer imagen de base de datos.
Comparar imagen capturada con imagen extraída de la base
de datos.
Identificar socio.
Registrar hora de registro.

3.2.1.4. Diagramas de secuencia

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

Figura 10: Diagrama de secuencia insertar nuevo socio


Fuente: Investigador

42
Figura 11: Diagrama de secuencia visualizar socio
Fuente: Investigador

Figura 12: Diagrama de secuencia editar socio


Fuente: Investigador

43
Figura 13: Diagrama de secuencia eliminar socio
Fuente: Investigador

Figura 14: Diagrama de secuencia generar convocatoria


Fuente: Investigador

44
Figura 15: Diagrama de secuencia informe de asistencia
Fuente: Investigador

Figura 16: Diagrama de secuencia capturar imagen


Fuente: Investigador

45
Figura 17: Diagrama de secuencia identificar socio
Fuente: Investigador

46
3.2.2. Diseño

3.2.2.1. Diseño de la base de datos

Figura 18: Diseño de base de datos


Fuente: Investigador

3.2.2.2. Diccionario de datos

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

Tabla 27: Lista de tablas de la base de datos

Nombre de tabla Descripción


asistencias Registra las asistencias de los socios.
convocatorias Registra las convocatorias realizadas por la cooperativa.
Documentos Registra para las justificaciones
fotos_originales Registra las fotos originales de los socios.
fotos_procesadas Registra las fotos procesadas de los socios asistentes a las
convocatorias.
fotousers Registra las fotos de los usuarios.
groups Registra el grupo de roles con sus permisos.
justificaciones Registra la información para las justificaciones de faltas.
menugroups Registra información de menús en relación con los grupos.

menus Registra información completa de los menús.


positivos_socios Registra las fotos de todos los socios.
socios Registra la información de los socios
users Registra los usuarios que tienen acceso al sistema.

Detalle de las tablas en orden alfabético


Tabla 28: Tabla asistencias

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
hora_llegada timestamp FALSE FALSE FALSE
socio_id int FALSE TRUE FALSE
convocatoria_id int FALSE TRUE FALSE
estado int FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE

48
Tabla 29: Tabla convocatorias

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
numero varchar(30) 30 FALSE FALSE FALSE
tipo int FALSE FALSE FALSE
motivo varchar(500) 500 FALSE FALSE FALSE
fecha timestamp FALSE FALSE FALSE
duracion time FALSE FALSE FALSE
lugar varchar(200) 200 FALSE FALSE FALSE
estado int FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE

Tabla 30: Tabla documentos

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
filename varchar(255) 255 FALSE FALSE FALSE
binario bytea FALSE FALSE FALSE
dir varchar(255) 255 FALSE FALSE FALSE
mimetype varchar(255) 255 FALSE FALSE FALSE
filesize int FALSE FALSE FALSE
estado int FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE
justificacione_id int FALSE TRUE FALSE

49
Tabla 31: Tabla fotos_originales

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
filename varchar(255) 255 FALSE FALSE FALSE
binario bytea FALSE FALSE FALSE
dir varchar(255) 255 FALSE FALSE FALSE
mimetype varchar(255) 255 FALSE FALSE FALSE
filesize int FALSE FALSE FALSE
estado int FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE
asistencia_id int FALSE TRUE FALSE

Tabla 32 Tabla fotos_procesadas

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
filename varchar(255) 255 FALSE FALSE FALSE
binario bytea FALSE FALSE FALSE
dir varchar(255) 255 FALSE FALSE FALSE
mimetype varchar(255) 255 FALSE FALSE FALSE
filesize int FALSE FALSE FALSE
estado int FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE
asistencia_id int FALSE TRUE FALSE

Tabla 33 Tabla fotousers

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE

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

Tabla 34: Tabla groups

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
name varchar(100) 100 FALSE FALSE FALSE
estado int FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE

Tabla 35: Tabla justificaciones

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
motivo varchar(500) 500 FALSE FALSE FALSE
estado int FALSE FALSE FALSE
convocatoria_id int FALSE TRUE FALSE
socio_id int FALSE TRUE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE

51
Tabla 36: Tabla menugroups

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
menu_id int FALSE FALSE FALSE
group_id int FALSE FALSE FALSE
user_id int FALSE FALSE FALSE
estado int FALSE FALSE FALSE

Tabla 37: Tabla menugroups

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
text varchar(100) 100 FALSE FALSE FALSE
heading int FALSE FALSE FALSE
icon varchar(100) 100 FALSE FALSE FALSE
sref varchar(250) 250 FALSE FALSE FALSE
alert varchar(250) 250 FALSE FALSE FALSE
label varchar(250) 250 FALSE FALSE FALSE
translate varchar(250) 250 FALSE FALSE FALSE
parent_id int FALSE FALSE FALSE
priority int FALSE FALSE FALSE
estado int FALSE FALSE FALSE

Tabla 38: Tabla positivos_socios

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
filename varchar(255) 255 FALSE FALSE FALSE
tipo int FALSE FALSE FALSE
estado int FALSE FALSE FALSE

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

Tabla 39 Tabla socios

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
numero_nomina varchar(10) 10 FALSE FALSE FALSE
cedula varchar(10) 10 FALSE FALSE FALSE
nombres varchar(100) 100 FALSE FALSE FALSE
apellidos varchar(100) 100 FALSE FALSE FALSE
telefono varchar(10) 10 FALSE FALSE FALSE
celular varchar(10) 10 FALSE FALSE FALSE
email varchar(200) 200 FALSE FALSE FALSE
direccion varchar(500) 500 FALSE FALSE FALSE
estado int FALSE FALSE FALSE
created timestamp FALSE FALSE FALSE
modified timestamp FALSE FALSE FALSE

Tabla 40 Tabla users

Nombre Tipo de dato Tamaño Clave Clave Obligatorio


Primaria Foránea
id SERIAL TRUE FALSE TRUE
username varchar(40) 40 FALSE FALSE FALSE
password varchar(255) 255 FALSE FALSE 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

3.2.2.3. Diseño de la arquitectura del sistema

Figura 19: Arquitectura funcional del sistema


Fuente: Investigador

El sistema se encuentra constituido por los siguientes elementos para su funcionamiento:

Dispositivo de captura de imágenes los cuales poseen sensores ópticos que


1
captan color e intensidad de luz.

Tarjeta con sistema operativo embebido almacenado en una tarjeta microSD.


2

Dentro de la microSD se almacenará el sistema de reconocimiento facial que


realiza el procesamiento de las imágenes capturadas por la cámara para obtener
imágenes normalizadas en tamaño y color para su posterior comparación con
la base de datos.

En la computadora de administración se almacenarán los siguientes elementos:


3

54
Base de datos: almacena la información de los socios incluyendo sus fotos
para la posterior comparación.

Aplicación de administración: sistema usado por la secretaria o


administrador del sistema para administrar los datos de los socios.

Pantalla con entrada HDMI conectada a la tarjeta para visualizar la captura de


4
imágenes.

3.2.2.4. Diseño de interfaz gráfica de usuario

Se esquema las interfaces que compondrán el sistema proporcionando un entorno visual


de comunicación entre el usuario y la máquina. Se ha determinado que el sistema de
administración contará con las siguientes pantallas:

Inicio de sesión: formulario que permitirá el acceso al sistema.

Figura 20: Esquema de inicio de sesión


Fuente: Investigador

Ingreso de grupos: ingreso de grupos de usuarios

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.

Figura 22: Esquema de ingreso de usuarios


Fuente: Investigador

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

Figura 24: Esquema de captura de fotos de socio


Fuente: Investigador

57
3.2.3. Implementación

El proyecto consta de la siguiente estructura de carpetas:

Figura 25: Estructura de carpetas del proyecto


Fuente: Investigador

3.2.3.1.Aplicación de detección de imágenes

Para el desarrollo de la aplicación de detección de imágenes se establece el siguiente


esquema que detalla los tres procesos necesarios para que el sistema funcione:

Figura 26: Esquema de funcionamiento de aplicación de reconocimiento facial


Fuente: Investigador

58
Adquisición

Captura la imagen de entrada mediante la utilización de una cámara o dispositivo de de


captura de imágenes conectado a la aplicación por medio de interfaces provistas por la
librería OpenCV. Las imágenes capturadas son guardadas en la base de datos para el
posterior reconocimiento de los socios.

Detección de rostros

Es el proceso en el cual el ordenador determina la ubicación, tamaño y orientación de los


rostros presentes en la imagen o video.

Existen diversos métodos, en el presente proyecto se utiliza el algoritmo Viola y Jones


principalmente por la cantidad de documentación existente, la rapidez en detección y por
qué posee una alta probabilidad de éxito.

El algoritmo Viola y Jones, permite detectar por medio de la clasificación de


características extraídas de una imagen en escala de grises. Para ello sigue los siguientes
pasos:

1. Genera una integral de la imagen, una imagen representativa de la imagen original


en escala de grises que permite detectar rápidamente características.
2. Extrae características por medio de descriptores simples (Haar-like features), que
dividen la imagen en subregiones y aplican filtros representados por un rectángulo
sobre esa zona en particular. Cada región rectangular es considerada una ventana
de detección y en ella se suman las intensidades de los pixeles para calcular la
diferencia que es usada para clasificar las subsecciones de la imagen.

Figura 27: Ejemplo de características Haar


Fuente: (Krig, 2016)

3. Utiliza AdaBoost (AdaptiveBoost), un algoritmo de aprendizaje que utiliza


clasificadores en cascada (Cascade Classifier) para el reconocimiento de patrones
de rostros y generación de algoritmos que predicen el comportamiento de los

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.

Figura 28: Características Haar significativas seleccionadas por AdaBoost


Fuente: (Krig, 2016)

4. Combina características de manera eficiente mediante una cascada de decisión


para determinar si una subsección se trata de un rostro.

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.

Para la detección de rostros validos se hizo uso del clasificador


haarcascade_frontalface_alt.xml conjuntamente con la clase Cascade Classifer y su
función principal detectMultiScale dentro del módulo Object Detection (objdetect
module) de la librería OpenCV que permiten encontrar caras en posición frontal en una
imagen.

Preprocesamiento

Se realizan transformaciones geométricas a la imagen obtenida en la detección,


normalizándola, alineándola y preparándola para la extracción de sus características. Se
realizan las siguientes tareas:

1. Rotación a partir del cálculo de las coordenadas de los ojos.


2. Escalado para lograr que imágenes del mismo tamaño por medio del cálculo de la
distancia entre el centro de los ojos.
3. Recorte para obtener una región de interés que contiene los rostros detectados.
4. Normalización de la luminosidad y contraste.

60
Extracción de características

Se obtiene la información relevante del rostro para su posterior comparación. Los


métodos de extracción de características se dividen en tres grupos:

Figura 29: Métodos de extracción de características


Fuente: (Shah, Sharif, Raza, & Azeem, 2013)

En este proyecto se utilizan los métodos de subespacios lineales, más específicamente el


análisis discriminatorio lineal (linear discriminant analysis LDA) con el algoritmo
FisherFaces la cual considera como clases las imágenes de entrenamiento de una persona
existiendo tantas clases como personas a identificar.

Comparación y reconocimiento

Este proceso se encarga de comparar la imagen con las características detectadas y


encontrar su correspondiente almacenada en la base de datos. Para la comparación se
utiliza el método predict(face) del OpenCV.

En resumen la aplicación de reconocimiento facial consta de los siguientes archivos:

61
Figura 30: Archivos de la aplicación de reconocimiento facial
Fuente: Investigador

Tabla 41: Descripción de archivos

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.

3.2.3.2. Aplicación administrativa

La aplicación administrativa permitirá el ingreso y administración de la información de


las convocatorias, socios además de imprimir reportes de asistencias. En la siguiente
imagen se detalla el esquema de organización de los componentes de software:

62
Figura 31: Esquema de aplicación de administración
Fuente: Investigador

La aplicación de administración se desarrolla en dos partes, la parte del servidor (back-


end) y la parte del cliente (front-end).

Figura 32: Tecnologías usadas en back-end y front-end


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 realizan una serie de pruebas para determinar el correcto funcionamiento y corregir


errores para que el sistema que este cumpla con las necesidades del cliente.

3.2.4.1. Pruebas de Unidad

Se validaron las funciones del sistema de administración para verificar que el código
funcione de manera correcta.

64
 Ingreso al sistema

Se verifica que sólo los usuarios registrados puedan acceder al sistema.

Tabla 42: Prueba de unidad – Ingreso al sistema

Caso de uso: Ingreso al sistema Prueba


N°: 001
Escenario: aplicación funcionando en el navegador
Precondiciones Usuario debe tener una cuenta registrada en el sistema
Datos de entrada Nombre de Usuario
Contraseña
Descripción de pasos Ingreso de correo electrónico
Ingreso de contraseña
Presionar botón Iniciar sesión

Resultados Ingreso exitoso al sistema. Cumplimiento Si X


esperados
No

Errores: Fallas provocadas:


Observaciones y recomendaciones: si el nombre de usuario y/o contraseña
incorrectos, no puede ingresar a la aplicación.

 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.

Tabla 43: Prueba de unidad – Visualización socios

Caso de uso: Visualización de datos de socio Prueba


N°: 002
Escenario: aplicación funcionando en el navegador
Precondiciones Deben existir datos de socios ingresados en la tabla.
Datos de entrada
Descripción de pasos Seleccionar socios en el menú

65
Resultados Lista de los socios ingresados Cumplimiento Si X
esperados en el sistema
No

Errores: Fallas provocadas:


Observaciones y recomendaciones:

 Ingreso de datos

Se realiza el ingreso a la tabla socios y se verificó que los datos hayan sido almacenados
de manera correcta.

Tabla 44: Prueba de unidad – Ingreso de datos de socios

Caso de uso: Ingreso de datos de socios Prueba


N°: 003
Escenario: aplicación funcionando en el navegador
Precondiciones Usuario debe haber iniciado sesión
Datos de entrada
Descripción de pasos Seleccionar socios en el menú.
Seleccionar agregar.
Ingresar datos pedidos en el formulario.
Guardar.
Resultados Datos de socios ingresados Cumplimiento Si X
esperados correctamente
No

Errores: Fallas provocadas:


Observaciones y recomendaciones:

Tabla 45: Prueba de unidad – Ingreso de fotos de socios

Caso de uso: Ingreso de fotos de socios Prueba


N°: 004
Escenario: formulario de ingreso de fotos
Precondiciones Datos de socio ingresados previamente
Datos de entrada

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

Errores: Fallas provocadas:


Observaciones y recomendaciones:

 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.

Tabla 46: Prueba de unidad – Consultar socios

Caso de uso: Consulta de información detallada de socios Prueba


N°: 005
Escenario: aplicación funcionando en el navegador
Precondiciones Usuario debe haber iniciado sesión
Registro existente en la base de datos.
Datos de entrada
Descripción de pasos Seleccionar ver información detallada de socios
Resultados Visualización de la Cumplimiento Si X
esperados información completa del
No
socio con su respectiva foto.
Errores: Fallas provocadas:
Observaciones y recomendaciones:

 Eliminar datos

Se verificó que se realice correctamente la eliminación de un registro seleccionado de la


tabla socios.

67
Tabla 47: Prueba de unidad – Eliminar socios

Caso de uso: Eliminado de socios Prueba


N°: 006
Escenario: aplicación funcionando en el navegador
Precondiciones Usuario debe haber iniciado sesión
Registro existente en la base de datos.
Datos de entrada
Descripción de pasos Seleccionar socios en el menú
Seleccionar eliminar en el registro
Resultados Registro eliminado de la tabla Cumplimiento Si X
esperados
No

Errores: Fallas provocadas:


Observaciones y recomendaciones:

 Actualizar datos

Se verificó que se actualicen correctamente la información de los socios registrados en la


base de datos.

Tabla 48: Prueba de unidad – Actualizar socios

Caso de uso: Actualización de socios Prueba


N°: 007
Escenario: aplicación funcionando en el navegador
Precondiciones Usuario debe haber iniciado sesión
Registro existente en la base de datos.
Datos de entrada
Descripción de pasos Seleccionar socios en el menú
Seleccionar editare en el registro.
Editar campos.
Guardar.
Resultados Campos editados del registro Cumplimiento Si X
esperados seleccionado.
No

68
Errores: Fallas provocadas:
Observaciones y recomendaciones:

Tabla 49: Prueba de unidad – Actualizar fotos de socios

Caso de uso: Eliminar fotos de socios Prueba


N°: 008
Escenario: formulario de socios
Precondiciones Datos de socio ingresados previamente
Datos de entrada
Descripción de pasos Seleccionar foto
Seleccionar borrar en foto
Resultados Imagen de socio guardada en Cumplimiento Si X
esperados base de datos
No

Errores: Fallas provocadas:


Observaciones y recomendaciones:

3.2.4.2. Pruebas de Integración

Pruebas enfocadas a comprobar la correcta realización del proceso de registro de


asistencia, integrando a la aplicación de reconocimiento facial y la aplicación de
administración utilizando las tablas socios, convocatorias, asistencias. Se obtuvo el
siguiente resultado:

Tabla 50: Prueba de integración – Proceso de registro de asistencia de socios

Descripción: Una vez generada la convocatoria es posible generar el registro de


asistencia con los datos y fotos de los socios.

Módulos Módulo de reconocimiento facial


involucrados Módulo de administración
 Tabla convocatorias
 Tabla socios

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.

3.2.4.3. Pruebas de Validación

Se realizaron ingresos de datos al sistema de la manera como lo realizaría el cliente final


con sus propios errores y malinterpretaciones, para de esta manera verificar el
funcionamiento de las validaciones y el cumplimiento de los requerimientos:

 Ingreso al sistema

Se probó que el usuario ingrese al sistema, analizando los siguientes posibles errores

Tabla 51: Prueba de validación – Inicio de sesión

Errores Respuesta Respuesta obtenida


esperada

70
Contraseña o Notificación de
nombre de datos incorrectos,
usuario inhabilitación de
incorrectos (no ingreso
registrados)

Campos vacíos Notificación de


campo requerido

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.

Tabla 52: Prueba de validación – Ingreso de datos

Errores Respuesta esperada Respuesta obtenida

71
Numero de Notificación de error
Nomina

Cédula Notificación de tipo de


incorrectos dato erróneo

Notificación de longitud
errónea

Notificación Cédula
Incorrectos

Ingreso de Notificación ingreso de


números datos erróneo
cuando se
requiere letras
Correo Notificación de correo
electrónico incorrecto
incorrecto

3.2.5. Mantenimiento

Una vez finalizada la fase de verificación y de realizar las correcciones necesarias se


procede a las instalaciones del sistema.

3.2.5.1. Instalación del sistema de reconocimiento facial

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.

Se plantea que la aplicación de reconocimiento sea migrada en la tarjeta embebida. La


instalación y migración se encentran en el Anexo F.

3.3. Conclusiones parciales

En este capítulo, se describió el desarrollo de la propuesta, describiendo los cada uno de


los pasos en el ciclo de vida del software. De los resultados de este capítulo se concluye
lo siguiente:

 Dividir la implementación del sistema en una aplicación administrativa y una


aplicación de reconocimiento facial ha permitido mantener ordenado el código de
acuerdo a la funcionalidad permitiendo que el mantenimiento del sistema sea
llevado de manera sencilla.
 OpenCV constituye una poderosa herramienta y, conjuntamente con Python
facilitaron la codificación del sistema de reconocimiento facial ya que ambas
tecnologías se integran de manera sencilla y existe gran cantidad de documentación
que han aportado en la realización del proyecto.
 Para el reconocimiento facial se ha realizado un estudio de varios algoritmos de
detección, se decidió utilizar el método de Viola y Jones ya que presenta una alta
eficiencia en detección y rapidez de procesamiento de imágenes.

73
CONCLUSIONES

 La implementación de un sistema de reconocimiento facial para el registro de


asistencias se plantea como una propuesta tecnológica novedosa que reemplazaría
el proceso manual lo cual provoca pérdida de recursos y tiempo.
 El sistema que cumple con los requerimientos establecidos por la cooperativa de
taxis y camionetas Puyo registrando eficientemente la asistencia de los socios a
cada una de las convocatorias realizadas dentro de la institución.
 El sistema cuenta con una interfaz sencilla de administración que permite
administrar la información de cada uno de los socios que pertenecen a la
cooperativa.

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

Aguilera, P. (2015).Control de acceso en el entorno físico. España: Editex.

Benítez, M. Á., & Arias, Á. (2ª Ed). (2017). Curso de Introducción a la


Administración de Bases de Datos:. IT Campus Academy.

Biosys. (2018). Biometria de reconocimiento facial. Obtenido de Biosys web site:


http://www.biosys.es/sistemas-biometricos/facial/

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

Caballero Barriga, E. R. (2017). Aplicación práctica de la visión artificial para el


reconocimiento de rostros en una imagen, utilizando redes neuronales y
algoritmos de reconocimiento de objetos de la biblioteca Opencv. Bogota-
Colombia: Universidad Distrital Francisco José de Caldas.

Camuña Rodríguez, J. F. (2015). Lenguajes de definición y modificación de datos


SQL. España:IC Editorial.

Carrillo Paz, A. J. (2011). Sistemas Automáticos de Control Fundamentos Básicos de


Análisis y Modelado. Venezuela: UNERMB.

Cisneros González, J. L. (2013). Panorama sobre base de datos. Un enfoque práctico.


Mexico: Universidad Autónoma de Baja California.

Cuatro Ríos Tecnologías. ( 2018). OpenCV Librería de Visión por Computador.


https://www.edx.org/es/course/introduccion-la-vision-por-computador

Fernández Alarcón, V. (2015). Desarrollo de sistemas de información: una


metodología basada en el modelado.España- Catalunya: Edicions UPC.

Giachetti, R. E. (2016). Design of Enterprise Systems: Theory, Architecture.


https://nyupress.org/books/9780814732106/
Martínez López, Francisco Javier & Gallegos Ruiz. (2017). Programación de base de
datos relacionales. España :Editorial RA-MA.

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.

Kanade, T.(2013). Computer recognition of human faces.


https://Computer_recognition_of_human_faces.html

Martínez Perales, D. (2015). UNIX a base de ejemplos. Madrid: Lulu.com.

Osorio Rivera, F. L. (2018). Base de datos relacionales. Colombia- Medellín: ITM.

Paré, R. C. (2014). Bases de datos.Mexico: Editorial UOC.

Trujillo León, S. (2018). UF2213 - Modelos de datos y visión conceptual de una base
de datos. Madrid: Editorial Elearning S.L.

Universitat Politècnica de Catalunya. (2017). Portal de acceso abierto al conocimiento


de la UPC. España-Catalunya: Editorial RA-MA

Villalobos Castaldi, F. M. (2015). Uso de la red vascular de la retina como medio


biométrico de identificación. Centro de Investigación en Computación.
México DF, México: Instituto Politécnico Nacional de México.
ANEXOS
ANEXO A

ENCUESTAS

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES


UNIANDES
EXTENSIÓN PUYO

FACULTAD DE SISTEMAS MERCANTILES


CARRERA DE SISTEMAS E INFORMÁTICA

ENCUESTA DIRIGIDA A LOS SOCIOS DE LA COOPERATIVA DE TAXIS Y


CAMIONETAS PUYO

Objetivo: Conocer opiniones de los socios de la cooperativa acerca de la


implementación de un sistema de reconocimiento facial.

Referencia técnica, contextual y demográfica de la encuesta:

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:

Pregunta 1. ¿Considera usted que el sistema actual que dispone la institución


registra adecuadamente en la toma de asistencia en las reuniones organizadas por
la cooperativa?

( ) Si
( ) No

Pregunta 2. ¿Existe inconformidad con el proceso de registro actual de las reuniones


de los socios de la cooperativa?

( ) Si
( ) No

Pregunta 3. ¿Cree que es necesario establecer un sistema Informático de control


interno de asistencia a las reuniones de socios de la cooperativa?

( ) Si
( ) No

Pregunta 4. ¿Cree que el sistema informático de control interno de asistencia a


reuniones mejorará el tiempo de registro?

( ) 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

Gracias por su colaboración!


ANEXO B

ENTREVISTAS

UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES


UNIANDES
EXTENSIÓN PUYO

FACULTAD DE SISTEMAS MERCANTILES


CARRERA DE SISTEMAS E INFORMÁTICA

ENTREVISTAS DIRIGIDAS AL REPRESENTANTE LEGAL Y SECRETARIA


DE LA COOPERATIVA DE TAXIS Y CAMIONETAS PUYO

Objetivo: Recabar información relevante sobre el proceso de registro de asistencias


que maneja actualmente la Cooperativa de taxis y camionetas Puyo.

Referencia técnica, contextual y demográfica de las 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

1 ¿Cómo se realiza actualmente el registro de la asistencia en la institución?

2 ¿Cuál considera usted el principal inconveniente en la forma de control actual


de asistencia?

3 ¿Cuál es su opinión acerca de la tecnología de reconocimiento facial?

4 ¿Estaría usted de acuerdo en la implementación de un sistema informático para


mejorar el control de asistencia de los socios?

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

INSTALACIÓN DEL SERVIDOR WEB

Para el desarrollo del sistema se ha utilizo la plataforma de desarrollo WampServer en su


versión 3.0.6 la cual posee las siguientes herramientas:

 Apache 2.4.23
 MySQL 5.7.14
 PHP 5.6.25/7.0.10

Para su instalación se ha seguido los siguientes pasos:

1. Descargar archivo de instalación de la página oficial


http://www.wampserver.com/en/.

2. Iniciar el proceso de instalación


3. Aceptar los términos y condiciones

4. Seleccionar el directorio de instalación (normalmente c:/wamp).


5. Seleccionar el navegador y el editor de texto por defecto
6. Nos presenta un resumen de la instalación

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.

En la parte derecha de la barra de inicio nos aparecerá en verde un icono W mayúscula,


eso significa que el servidor se ha iniciado correctamente.
Abrimos un navegador, y vamos a la dirección tttp://localhost/. Se abre la pantalla de
inicio de WAMP.
ANEXO D

INSTALACIÓN Y CONFIGURACIÓN DE CAKEPHP

CakePHP es un framework de código abierto para el desarrollo rápido de aplicaciones


web en PHP. Constituye una estructura base para la programación y creación de
aplicaciones web. La instalación se realiza de manera sencilla y rápida necesitando los
siguientes requisitos mínimos:

 Servidor HTTP. Por ejemplo: Apache. mod_rewrite es recomendado, pero no


requerido.
 PHP 5.6.0 o mayor.
 Extensiónes mbstring e intl.
 Sistema de base de datos.

Para su instalación se ha seguido los siguientes pasos:

1. Descargar composer para Windows desde su página oficial


https://getcomposer.org/download/ o utilizar la línea de comandos con lo
siguiente:

php -r "copy ('https://getcomposer.org/installer', 'composer-setup.php');"


php -r "si (hash_file ( 'SHA384', 'compositor-setup.php') ===
'544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f
233e9b180f061') {echo 'instalador verifica';} else {echo 'Instalador corrupto';
desvincular ( 'compositor-configuración. php ');} echo PHP_EOL; "
php composer-setup.php
php -r "unlink ('composer-setup.php');"

2. Para el correcto funcionamiento de PHP es necesario modificar el archivo php.ini


de Wamp descomentando las siguientes líneas:

extension=php_intl.dll
extension=php_mbstring.dll

3. Crear el proyecto CakePHP ejecutando

php composer.phar create-project --prefer-dist cakephp/app [app_name]


En app-name escribimos el nombre del Proyecto.

4. Conectar la base de datos modificando el archivo config/app.php.


ANEXO E

INSTALACIÓN DE ANGULAR.JS

Angular.js es un framework para el desarrollo rápido de JavaScript cuya finbalidad es


separar el front-end del back-end en una aplicación y proveer herramientas para
programar la navegación, carga de datos de manera dinámica y asíncronamente entre la
aplicación y el servidor (back-end con un API REST).

Instalación de Node.js

Antes de instalar Angular.js como tal es necesario instalar Node.js, un lenguaje


programación que utiliza JavaScript para gestionar proyectos grandes con pocos recursos.
Para su instalación se ha seguido los siguientes pasos:

1. Descargar la versión más reciente de Node.js para Windows desde su página


oficial https://nodejs.org/es/:

2. Una vez descargado, ejecutar el archivo.


3. Ahora selecciona la casilla donde dice (I accept the terms in the License
Agreement) y luego clic en el botón Next.

4. Si se desea, cambiar la ruta de instalación.

5. Personalizar la instalación, si se desea y una vez culminado hacer clic en el botón


Next.
6. Proceder a la instalación

7. Finalmente se muestra un mensaje Node.js ha sido instalado exitosamente.

8. Para culminar verificamos si Node.js esta instado correctamente, para ellos


abrimos el terminal CMD de windows y escribimos node -v el cual mostrara la
versión del Node.js instalado v8.6.0
Instalación de Angular.js

1. Descargar el quickstart de Angular .


2. Descomprimir el zip en un directorio.
3. Entrar desde la consola de comandos al directorio donde hemos descomprimido
el zip: cd angular 4
4. Lanzar el comando para instalar las dependencias necesarias para el framework
con el comando: npm install
5. Actualizar el framework a Angular 4 usando el comando:
npm install@angular/{common,compiler,compilercli,core,forms,http,platform-
browser,platform-browser-dynamic,platform-server,router,animations}@next –
save
6. Ahora podemos revisar el fichero package.json y veremos que tenemos la versión
4 de Angular.
7. Lanzar el comando para arrancar el framework con el comando: npm start
ANEXO F

INSTALACIÓN Y MIGRACIÓN DEL SISTEMA DE RECONOCIMIENTO


FACIAL EN LA TARJETA EMBEBIDA.

Características de la tarjeta

Raspberry Pi 3 Model B + es un ordenador de placa reduciday es el último producto de


la gama Raspberry Pi 3. Sus características son las siguientes:

Procesador: Quad-core de 64 bits funciona a 1,4 GHz

Memoria RAM: 1 GB (compartidos con la GPU)


Puertos USB 2.0: 4
Almacenamiento: MicroSD.
Consumo energético: 800 mA, (4.0 W)
Puerto de cámara CSI para conectar una cámara Raspberry Pi

Preparación de la tarjeta SD para la Raspberry Pi

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

1. Descargue el sistema operativo para la Raspberry Pi, Raspbian:

http://downloads.raspberrypi.org/images/raspbian/2012-12-16-wheezyraspbian/2012- 12-
16-wheezy-raspbian.zip

2. Descomprimir el archivo que acabas de descargar


a. Haga clic con el botón derecho en el archivo y elija "Extraer todo".
b. Siga las instrucciones: terminará con un archivo que termina en .img
Este archivo .img solo se puede escribir en su tarjeta SD mediante un software
especial de imágenes de disco
3. Descargar el software Win32DiskImager
a. Descargue win32diskimager-binary.zip (actualmente versión 0.6) desde:
https://launchpad.net/win32-image-writer/+download
b. Descomprímelo de la misma manera que lo hizo con el archivo Raspbian
.zip
c. Ahora tiene una nueva carpeta llamada win32diskimager-binary
4. Escribir Raspbian en la tarjeta SD
a. Conectar la tarjeta SD a la PC
b. En la carpeta que creó en el paso 3 (b), ejecutar el archivo llamado
Win32DiskImager.exe

c. En el cuadro Archivo de imagen, elija el archivo Raspbian .img que


descargó

d. Haga clic en Escribir y después de unos minutos, tendrá una tarjeta SD


que puede usar en su Raspberry Pi.
ANEXO G

INSTALACIÓN DE OPENCV Y PYTHON

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.

1. Descargamos la versión correspondiente de 32 o 64 bits, ejecutamos el instalador


de Python y presionamos Customize installation.

2. Nos aparecerá la siguiente ventana con las opciones de instalación y además se


puede escoger la ruta donde se va a instalar. Luego hacemos click en Install
3. Finalmente nos presenta el resumen de la instalación.

4. Al terminar el proceso de instalación, abrimos la ventana de comandos CMD y


escribimos el comando: Python, si todo está correcto veremos algo como esto:

Instalación de Numpy

NumPy es un paquete utilizado por Python para la computación de datos científicos, es


requerido por OpenCV para el manejo de las matrices de datos, esta biblioteca
proporciona una manera eficiente de realizar las operaciones sobre matrices y arreglo de
datos.

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:

pip install numpy-1.12.1+mkl-cp36-cp36m-win32.whl

Instalación de OpenCV

1. Descargamos OpenCV en su versión más reciente desde su página oficial.

2. Ejecutar el archivo descargado como administrador y aparecerá la siguiente


ventana para extraer los archivos.

Se recomienda que la ruta de extracción sea C:

3. Empezará la extracción la cual durará algunos minutos.


4. Después de que finalice la extracción, es necesario indicar al sistema donde se
alojan las dll’s necesarias de la librería OpenCV para que los programas
desarrollados puedan encontrarlas.
ANEXO H

MANUAL DE USUARIO

Objetivos del manual

 Proporcionar información adecuada y detallada de una forma compresible.


 Mostrar las interfaces que conforman la aplicación con sus respectivos controles
y funcionales
 Identificar a los usuarios que pueden usar el sistema con sus respectivas funciones.
 Proporcionar instrucciones claras para la solución de posibles problemas que los
usuarios puedan encontrar.

Contenido del manual


INICIO DE SESIÓN
Descripción
Permite al usuario acceder a la aplicación ingresando su nombre de usuario y contraseña.
Componentes

1. Usuario: nombre de usuario registrado en la aplicación en formato de correo electrónico.


2. Contraseña: frase secreta conocida únicamente por el usuario para permitir su ingreso.
3. Botón de inicio de sesión: valida los datos ingresados y permite el ingreso del usuario a
la aplicación.

Advertencia: previamente el usuario debe encontrarse registrado en el sistema, caso


contrario el sistema notificará el error.

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:

 Nombre de usuario incorrecto.


 Contraseña incorrecta.
 Usuario inactivo en el sistema.

ADMINISTRACIÓN DEL PERFIL DE USUARIO

Descripción
Permite al usuario ver y modificar información de su cuenta.

1. Seleccionar la foto de perfil.

2.-Se despliega un menú con opciones como ver el perfil y editarlo.


Editar perfil

Escoger la opción en el menú de perfil de usuario


Y se muestra la siguiente pantalla:

1. Agregar o editar foto de perfil

Debe situarse en la pestaña


Para agregar una imagen del perfil damos clic en la foto de perfil
El sistema mostrará una pantalla modal para la carga de imágenes:

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

Debe situarse en la pestaña


Para editar la información de un proveedor se debe pulsar en el campo.
El campo se volverá editable, pidiendo datos como contraseña actual, nueva contraseña y su
confirmación.

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.

5. Acciones: opciones para realizar sobre el registro (editar: y eliminar: ).

Agregar un nuevo usuario

Para agregar un nuevo usuario se debe seleccionar la opción


El sistema mostrará una pantalla modal para que el usuario proporcione información:
1. Nombre de usuario en formato de correo electrónico
2. Contraseña
3. Confirmación de la contraseña
4. Lista de grupos para asignar al usuario
5. Activar o desactivar usuario

Advertencia: el botón de guardado no se activará si no se ingresan todos los datos


requeridos.

Editar información de un usuario

Para editar la información de un usuario se debe pulsar sobre el botón


Aparecerá una ventana modal en la que se podrán realizar las modificaciones deseadas:

Eliminar un usuario

Para eliminar un usuario pulsamos sobre el botón . Y nos aparece un modal de


confirmación:
ADMINISTRACIÓN DE SOCIOS

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.

Agregar un nuevo usuario

Para agregar un nuevo socio se debe seleccionar la opción


El sistema mostrará una pantalla modal para que el soscio proporcione información:
1 2

3 4

5 6

1. Identificador del socio, numero de nómina que identifica al socio


2. Cedula del socio
3. Nombres del socio
4. Apellidos del socios
5. Numero teléfono
6. Numero celular
7. Dirección de correo electrónico
8. Dirección del socio

Advertencia: el botón de guardado no se activará si no se ingresan todos los datos


requeridos.

Actualizar información de un socio

Para actualizar la información de un socio se debe pulsar sobre el botón Ver


Aparecerá una ventana modal en la que se podrán realizar las modificaciones deseadas:
Subir imagen del socio
Debe situarse en la pestaña Ver en la información del socio

Para agregar una imagen del socio damos clic en subir imagen

El sistema mostrará una pantalla modal para la carga de imágenes:


Dar clic en el botón y se desplegará una ventana para cargar imágenes desde el
computador.

Guardamos, y obtenemos la información correspondiente al socio actual


Eliminar un socio
Para eliminar un usuario pulsamos sobre el botón Elimina . Y nos aparece un modal de
confirmación:

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.

Agregar una nueva convocatoria

1. Para agregar una nueva convocatoria se debe seleccionar el día de la convocatoria en el


calendario. El sistema mostrará una pantalla modal para que el administrador escoja la
fecha la hora y duración de la convocatoria.

1 2

1. Fecha de convocatoria: Definimos la fecha meses, día y años.


2. Hora de convocatoria: Nos permite definir una hora exacta que asistan a la
convocatoria
3. Duración: definimos la hora de duración.
4. Motivo de convocatoria: describimos el motivo por el cual fue enviada la convocatoria.

Advertencia: el botón de guardado no se activará si no se ingresan todos los datos


requeridos.

Visualización de la convocatorio

Podemos visualizar por mes, semana y por día

En la parte izquierdacomo podemos observar tenemos el detalle de la convocatoria.

También podría gustarte