3.5 Conclusion
4.4.5 Technical remarks
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.
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.
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.
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.
ANEXO A
ENCUESTASUNIVERSIDAD 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.
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
ANEXO B
ENTREVISTASUNIVERSIDAD 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 WEBPara 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/.
3. Aceptar los términos y condiciones
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
En app-name escribimos el nombre del Proyecto.
ANEXO E
INSTALACIÓN DE ANGULAR.JSAngular.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/:
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.
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 PYTHONOpenCV 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 USUARIOObjetivos 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
Componentes
1
2
3
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.
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
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
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.
1
2
3
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 4 2 5 3
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
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
ADMINISTRACIÓN DE SOCIOS
Descripción