Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AUTORES:
DOCENTE:
LÍNEA DE INVESTIGACIÓN:
PIURA- PERÚ
2023
DEDICATORIA
DEDICATORIA
El presente trabajo de
investigación va dedicado a
nuestros padres por habernos
forjado como las personas que
somos actualmente y a Dios.
ii
AGRADECIMIENTO
AGRADECIMIENTO
iii
ÍNDICE
DEDICATORIA ...................................................................................................... ii
RESUMEN ............................................................................................................ xi
I. INTRODUCCIÓN ............................................................................................. 1
iv
5.1.1. Inteligencia artificial ............................................................................ 7
VII. METODOLOGÍA......................................................................................... 20
v
7.2.1. Requerimientos ................................................................................ 21
X. REFERENCIAS BIBLIOGRÁFICAS............................................................... 48
ANEXOS .............................................................................................................. 55
vi
ÍNDICE DE TABLAS
vii
ÍNDICE DE IMÁGENES
viii
Ilustración 28: Función entrada() .......................................................................... 37
Ilustración 29: Código de función pantalla_principal() .......................................... 38
Ilustración 30: Interfaz de registro de asistencia................................................... 38
Ilustración 31: Interfaz de registro de entrada ...................................................... 39
Ilustración 32: Interfaz de registro de rostros para compatibilidad – Registro de
entrada ................................................................................................................. 39
Ilustración 33: Mensaje ........................................................................................ 40
Ilustración 34: Interfaz de registro de salida ......................................................... 40
Ilustración 35:Interfaz de registro de rostros para compatibilidad – Registro de salida
............................................................................................................................. 41
Ilustración 36: Mensaje ........................................................................................ 41
Ilustración 37: Muestra de registro de rostros cuando se confirma la asistencia .. 41
Ilustración 38: Muestra del Excel (BD) donde se encuentra almacenado el registro
de entrada ............................................................................................................ 42
Ilustración 39: Muestra del Excel (BD) donde se encuentra almacenado el registro
de salida .............................................................................................................. 42
Ilustración 40: Testeo – Registro de empleados ................................................... 43
Ilustración 41: Testeo – Registro de asistencia .................................................... 43
Ilustración 42: Demostración del código e interfaz del programa ......................... 44
Ilustración 43: Apreciación del beneficiario sobre el producto del proyecto .......... 44
Ilustración 44: Gráfico circular de la Pregunta 1 ................................................... 55
Ilustración 45: Gráfico circular de la Pregunta 2 ................................................... 55
Ilustración 46: Gráfico circular de la Pregunta 3 ................................................... 56
Ilustración 47: Gráfico circular de la Pregunta 4 ................................................... 56
Ilustración 48: Gráfico circular de la Pregunta 5 ................................................... 57
Ilustración 49: Gráfico circular de la Pregunta 6 ................................................... 57
Ilustración 50: Gráfico circular de la Pregunta 7 ................................................... 58
Ilustración 51: Gráfico circular de la Pregunta 8 ................................................... 58
Ilustración 52: Gráfico circular de la Pregunta 9 ................................................... 59
Ilustración 53: Gráfico circular de la Pregunta 10 ................................................. 59
Ilustración 54: Estructuración del código del proyecto .......................................... 60
Ilustración 55: Interfaz del registro ....................................................................... 60
Ilustración 56: Acceso a la cámara para el reconocimiento facial ......................... 61
ix
Ilustración 57: Registro Exitoso ............................................................................ 61
Ilustración 58: Registro de asistencia a base del registro de usuario ................... 62
Ilustración 59: Registro Exitoso ............................................................................ 62
Ilustración 60: Presentación del registro de usuario ............................................. 63
Ilustración 61: Nuevo interfaz del registro ............................................................ 64
Ilustración 62: Verificación del acceso a la WebCam ........................................... 64
Ilustración 63: Registro exitoso del empleado ...................................................... 65
Ilustración 64: Interfaz de registro de entrada ...................................................... 65
Ilustración 65: Registro de entrada exitoso .......................................................... 66
Ilustración 66: Registro de salida exitoso ............................................................. 66
Ilustración 67: Archivos de extensión xlsx como BD para el almacén de los registros
de asistencia ........................................................................................................ 67
x
RESUMEN
En el presente trabajo de investigación se realizó un modelo inteligente de
reconocimiento facial para la búsqueda automatizada de los trabajadores de la
empresa “CompuGames”, tratándose de un negocio destinado a la venta de
hardware y software, como se especifica es una empresa tecnológica, en donde se
usará la búsqueda automatizada de los trabajadores para generar principalmente
un registro de asistencia de los mismos, esto claro, a través del reconocimiento
facial.
El objetivo de la investigación fue proponer un modelo inteligente de
reconocimiento facial para la búsqueda automatizada de los trabajadores de la
empresa CompuGames - Piura - 2023, para ello se planteó los objetivos específicos
tales como crear procesos correspondientes al control de asistencia empleando el
reconocimiento facial en la empresa CompuGames, lograr que la inteligencia
artificial reconozca sin margen de error los rostros de los trabajadores de la
empresa CompuGames y verificar que el registro de asistencia se complete con
éxito dentro de la empresa CompuGames. La metodología empleada fue Scrum y
la técnica de recolección de datos fue la encuesta. Cabe destacar que se aplicó el
testeo en la funcionalidad del producto del proyecto y a su vez se encontró que el
producto del proyecto es aplicable y está sujeto a futuras modificaciones.
Como resultados se obtuvo que el dueño presenta un nivel de satisfacción
aceptable para hacerle entrega del producto del proyecto respecto a las
modificaciones que él mismo sugirió en las constantes comunicaciones con él,
además precisó estar bastante satisfecho con la adaptabilidad del producto.
Finalmente se tiene que se logró desarrollar el modelo inteligente de
reconocimiento facial para la búsqueda automatizada de los trabajadores
CompuGames, este modelo inteligente fue creado con el lenguaje de programación
python y con librerías como OpenCV, MTCNN, los cuales eran complementos para
la realización exitosa de este.
xi
ABSTRACT
In this research work an intelligent model of facial recognition for the automated
search of the workers of the company "CompuGames" was made, being a business
dedicated to the sale of hardware and software, as specified is a technology
company, where the automated search of workers will be used to generate mainly
a record of attendance of the same, this of course, through facial recognition.
xii
I. INTRODUCCIÓN
Inteligencia artificial (IA) hace referencia al comportamiento similar que tienen las
máquinas al comportamiento humano. Así mismo, se admite que la inteligencia
artificial pertenece a las Ciencias de la computación que se encarga de los diseños
de sistemas inteligentes. (Inteligencia artificial y sus implicaciones en la educación
superior, 2019)
1
II. DESCRIPCIÓN DEL PROYECTO
2.1. Descripción del lugar donde se realiza el proyecto
2.1.1. Razón social
Sin razón social
2.1.2. Nombre de la empresa
CompuGames
2.1.3. Tipo de empresa
Empresa de base tecnológica
2.1.4. Naturaleza de la empresa
“CompuGames” es una empresa que se dedica a la venta
minoritaria y mayoritaria de hardware y software, que a su vez
está pensada para brindar servicios de ciberseguridad más
adelante, empresa que es administrada por el Sr. Tomás
Monteza Mogollon.
2.1.5. Localización geográfica
Se ubica en las coordenadas geográficas 3°38'14.6"S
80°35'20.3"W en la que comprende como ubicación local al C.p
la Cruz, Caleta Cruz 24521 - Tumbes.
2
III. SITUACIÓN PROBLEMÁTICA
Los sistemas inteligentes son algunas de las novedosas tecnologías que se quiere
implementar en los negocios actuales, obviamente según la necesidad o rubro de
la empresa, pero sea cual sea la necesidad de ser aplicada se puede asegurar que
agiliza los procesos, atiende los procesos frecuentes, que resultan repetitivos para
el ser humano, de forma automática, además reduce los márgenes de error que es
propio del ser humano, asegurando así su confiabilidad.
3
redactan las causas del por qué y/o para evitar qué, se implementa la validación de
asistencia con reconocimiento facial:
En el registro de asistencia convencional, existe poca confiabilidad.
No hay forma de validar la asistencia del personal, pues los datos de la
asistencia podrían no ser del todo ciertos.
Sin embargo, teniendo en cuenta lo anterior, el efecto que tendrá si no se procede
con la implementación del reconocimiento facial en este servicio será lo siguiente:
Se vulnera la seguridad del registro de la asistencia, al no haber forma de
verificar una posible suplantación de identidad.
Al no poder validar si la persona que está firmando la asistencia es la
correcta, el registro de la asistencia estaría erróneo y se puede dejar pasar
esta falla si no se tiene control sobre la asistencia.
4
IV. OBJETIVOS Y JUSTIFICACIÓN DEL PROYECTO
4.1. Objetivos del proyecto
4.1.1. Objetivo general
Proponer un modelo inteligente de reconocimiento facial para la búsqueda
automatizada de los trabajadores de la empresa CompuGames, Tumbes - 2023.
4.1.2. Objetivos específicos
Crear procesos correspondientes al control de asistencia empleando el
reconocimiento facial en la empresa CompuGames.
Lograr que la inteligencia artificial reconozca sin margen de error los rostros
de los trabajadores de la empresa CompuGames.
Verificar que el registro de asistencia se complete con éxito dentro de la
empresa CompuGames.
4.2. Justificación e Impacto
Este estudio se elabora con justificaciones de carácter académico, tecnológico y
práctico que se detallan a continuación:
4.2.1. Académico
En los años académicos que tiene la Universidad César Vallejo filial Piura ha venido
brindando apoyo a sus estudiantes en la ejecución del proyecto de investigación, lo
cual es de mayor utilidad en la formación académica.
4.2.2. Tecnológico
Mediante el constante uso de las tecnologías siempre es indispensable mantenerse
actualizado, además éstas ofrecen aspectos de seguridad muy importantes hoy en
día, por ello es que el proyecto se justifica de manera tecnológica al aplicar sistemas
inteligentes para el reconocimiento facial, según lo requiera la empresa.
4.2.3. Práctico
Este proyecto se justifica de manera práctico ya que se propone un modelo
inteligente de reconocimiento facial para la búsqueda automatizada de los
trabajadores de la empresa CompuGames y así poder validar la asistencia de sus
empleadores y tener un control de ella.
5
El impacto que tendrá este proyecto en la empresa será la seguridad en sus
procesos de validación de identidad en aspectos de acceso a la información y
validación de asistencia.
6
V. FUNDAMENTACION TEORICA DEL PROYECTO
5.1. Marco Teórico
5.1.1. Inteligencia artificial
Según (Frankenfield, 2022) se refiere a la imitación de la inteligencia humana en
las máquinas, las cuales son creadas para tener un pensamiento humano e imitar
sus acciones. También se puede llamar inteligencia artificial a aquellas máquinas
que tengan rasgos relacionados a la mente humana, como por ejemplo el de
resolver ejercicios, aprender, etc.
Cuando decimos “Inteligencia artificial”, hay veces que las personas se ponen
incómodas ante este término así que Sebastián Thrun propuso llamarla “Ciencia de
datos”, un término menos intimidante para el público. (Rouhiainen, 2018)
7
Según lo sostiene (Reyes Ortiz, y otros, 2019) entre las distintas técnicas que
existen, las que usualmente se emplean para el procesamiento de imágenes son:
redes neuronales, sistemas difusos, sistemas inmunes artificiales y además la
inteligencia de enjambre.
5.1.3. Biometría
La biometría es una disciplina que se enfoca en el uso de características únicas de
una persona, ya sea físicas o de comportamiento, para identificarlos. Estas
características incluyen huellas dactilares, iris, venas de la mano, firma, forma de
caminar, entre otras. (Cienfuegos Solís, 2017)
8
identificar a la persona mediante sus rasgos faciales. (Valencia
Martínez, 2021)
o Ocular: para este tipo de reconocimiento usa el iris de la persona ya
que esta tiende a ser única en cada ser humano, o también usa la
esclerótica del globo ocular. (Valencia Martínez, 2021)
o Voz: este tipo de reconocimiento convierte la voz en un identificador
biométrico crucial, usa los rasgos fisiológicos que necesita de la
anatomía de la garganta y boca. (Valencia Martínez, 2021)
9
Una búsqueda automatizada es un proceso en el que un software o un sistema
realiza una búsqueda en línea o en una base de datos de forma automática, sin la
intervención manual de un usuario. Esto permite ahorrar tiempo y recursos, y puede
ser utilizado en una variedad de aplicaciones, como la búsqueda de información en
la web, la búsqueda de información en bases de datos empresariales, y más.
(Botkers | Blog, 2022)
5.1.7. Python
Según (Londoño, 2022) Python es un lenguaje de programación de un alto nivel
interpretado, fue creado en 1991 por Guido van Rossum. Este lenguaje de
programación puede implementarse en varias plataformas y software. Python es
popular porque es fácil de aprender.
Python es un lenguaje de programación de alto nivel y propósito general. Fue
creado a principios de los años 90 por Guido van Rossum. Se caracteriza por su
sintaxis clara y legible, lo que lo hace fácil de aprender y usar para personas sin
experiencia previa en programación. Python se utiliza ampliamente en aplicaciones
web, científicas, de inteligencia artificial y en muchas otras áreas. (Robledano,
2019) (Cristancho, 2022)
10
5.1.8. Algoritmo ORB
Es una fusión entre el detector FAST y el descriptor BRIEF, este utiliza una medida
de orientación, que es calculada entre la esquina de una región en la imagen y el
centroide de intensidad de aquella región calculada, esto es asumiendo que la
orientación hacia una esquina de la región es el desplazamiento desde el centroide.
(Taquía Gutiérrez, 2017)
ORB fue publicado en 2011 en el ICCV como alternativa a SIFT y SURF, al ser este
una fusión entre FAST y BRIEF es que ORB agrega en FAST un componente de
orientación para los keypoints detectados, mientras que para BRIEF agrega
invarianza a la rotación y presenta además una mejora en la velocidad de cálculo.
(Ilbay, y otros, 2013)
5.1.9. Open CV
Open CV es una biblioteca de Python el cual va a permitir realizar tareas de
procesamiento de imágenes y visión artificial. Tiene una amplia gama de funciones,
entre las cuales están la detección de objetos, seguimiento y reconocimiento facial.
(Great Learning, 2022)
OpenCV es una biblioteca de visión por computadora de código abierto, que
proporciona algoritmos y herramientas para el procesamiento y análisis de
imágenes y videos. Se utiliza en una amplia gama de aplicaciones, incluyendo la
robótica, la visión artificial, la seguridad y la inteligencia artificial. OpenCV está
escrito en lenguaje C++ y es compatible con diferentes sistemas operativos,
incluyendo Windows, Linux y macOS. (Viera Maza, 2017)
OpenCV es una biblioteca de visión por computadora de código abierto que permite
el desarrollo de aplicaciones relacionadas con el procesamiento de imágenes y
videos en tiempo real. Está diseñada para ser rápida y eficiente y ofrece una amplia
variedad de funciones que incluyen detección de objetos, reconocimiento de
formas, seguimiento de movimiento, filtrado de imágenes, entre otros. OpenCV es
una herramienta popular en la industria y en la investigación debido a su flexibilidad
y rendimiento. (Ruiz León, y otros, 2021)
5.1.10. Tkinter
Tkinter es una biblioteca de Python que permite crear interfaces gráficas de usuario
para programas en Python. Tkinter se basa en la biblioteca Tcl/Tk, que proporciona
11
una colección de herramientas para crear interfaces gráficas de usuario en varios
lenguajes de programación. (Python, 2022)
Tkinter proporciona un conjunto de widgets (elementos de la interfaz de usuario)
que se pueden utilizar para crear interfaces gráficas de usuario de manera fácil y
rápida. También proporciona una serie de métodos y funciones que permiten
controlar la apariencia y el comportamiento de estos widgets. Con Tkinter, los
programadores pueden crear aplicaciones con una interfaz de usuario atractiva y
fácil de usar. (KeepCoding, 2022)
5.1.11. MTCNN
MTCNN (Multi-Task Cascaded Convolutional Neural Network) es una biblioteca de
Python que se usa para la detección de rostros en imágenes. Es una red neuronal
convolucional en cascada que utiliza múltiples tareas para detectar y localizar
rostros en imágenes. (Guse, 2020)
MTCNN es usado en el procesamiento de imágenes y el análisis de video, y puede
ser útil en aplicaciones de reconocimiento facial, detección de emociones,
seguimiento de objetos y otras aplicaciones de visión por computadora. (Amat
Rodrigo, 2021)
MTCNN se puede utilizar en una variedad de aplicaciones, como la detección de
rostros en imágenes de redes sociales, la seguridad en la vigilancia y la
identificación de personas en videos. Es una biblioteca popular en la comunidad de
aprendizaje profundo debido a su precisión y capacidad para detectar rostros en
diferentes ángulos y posiciones. (Vega, 2021)
5.1.12. Datetime
La biblioteca datetime de Python proporciona clases para trabajar con fechas y
horas. Las clases datetime, date y time se utilizan para trabajar con fechas y horas
juntas o por separado. La clase timedelta se utiliza para representar una duración
de tiempo, y la clase tzinfo se utiliza para trabajar con zonas horarias. (Python,
2022)
5.1.13. Librería Pandas
Esta librería proporciona estructuras de datos y herramientas de análisis de datos
para trabajar con datos estructurados y tabulares. La estructura de datos principal
es el DataFrame, que es una tabla de datos bidimensional, y la Serie, que es una
estructura de datos unidimensional. (Chacón, 2021)
12
La librería pandas incluye funciones y herramientas para la importación y
exportación de datos en varios formatos, como CSV, Excel, SQL, JSON y otros
formatos populares. También proporciona funciones para limpiar y transformar
datos, como la eliminación de valores faltantes, la selección de columnas y filas, la
agregación de datos y el análisis estadístico. (Data Scientest, 2022)
5.1.14. Modulo OS
El módulo "os" de Python proporciona una forma de interactuar con el sistema
operativo subyacente, lo que permite realizar tareas comunes del sistema
operativo, como manipulación de archivos, navegación de directorios y
administración de procesos. (Python, 2022)
5.1.15. Empresa
Es una entidad legal natural formada por un grupo de personas que trabajan juntas
para lograr un objetivo común. La línea de negocio que tiene la empresa determina
que estructura comercial elige, como una empresa individual, colectiva o sociedad
anónima. Además, se puede diferenciar como empresa pública o privada, ambos
tienen una estructura de propiedad, normativas y requisitos de información
financiera diferentes. (Hayes, 2022)
5.1.16. Trabajador
Un trabajador es una persona contratada por un empleador para realizar un trabajo
específico después de haber pasado por un proceso de solicitud y entrevista.
(Heathfield, 2022)
Un trabajador es una persona que realiza una actividad laboral a cambio de un
salario o pago. Pueden ser empleados por una empresa o trabajar por cuenta
propia. El trabajo puede ser en una variedad de industrias, incluyendo la
producción, la construcción, los servicios y el sector gubernamental. El trabajo
puede ser a tiempo completo o parcial, permanente o temporal. (Westreicher,
2021) (Radley, 2022)
13
mayormente es usado para hacer videoconferencias, cámara de vigilancia,
reconocimiento facial, etc. (Johnson, 2021)
5.2. Antecedentes
5.2.1. Antecedentes Internacionales:
Según (Gavilánez Mariño, 2022) en su proyecto de investigación titulada “Sistema
automatizado para la gestión de asistencia y control de temperatura con
reconocimiento facial de los empleados de la empresa eléctrica Ambato EEASA”
sustentada en Ambato, Ecuador, tuvo como objetivo el desarrollar un sistema
automatizado para la gestión de asistencia y control de temperatura con
reconocimiento facial de los empleados de la Empresa Eléctrica Ambato EEASA, y
con el tema de pandemia de COVID-19, el contacto entre los empleados era
riesgoso por contagio. La modalidad de la investigación fue bibliográfica y de
campo. Para la recolección de datos se usó la técnica de la entrevista y como
instrumento el cuestionario. Su población y muestra fue de 4 personas
pertenecientes al departamento de relaciones industriales.
Como resultado de la entrevista realizada se obtuvo que si se estaban de acuerdo
con la realización de este software para la asistencia de los empleados ya que fue
analizada y planteada de manera clara y concisa. Se concluyó que, con la
implementación de este software, los empleados tendrían un mínimo contacto entre
ellos y el dispositivo dactilar como también la asistencia tendría un mayor control.
14
verificó en la página web donde quedan almacenados todos los registros de
asistencia.
15
concluyendo que se realizó la implantación del sistema de reconocimiento facial
planeado para la institución educativa, así mismo se logró desplegar dicho sistema,
además de que se evaluó el margen de error en el proceso de reconocimiento de
rostros con el desarrollo de un sistema de identificación facial con visión
computacional.
16
informático con reconocimiento facial. Para este proyecto de investigación se una
como metodología RUP para la realización del software.
Los resultados de la encuesta de satisfacción del ciudadano – atención oportuna
en sede y campo al poblador rural, en el año 2018 se tuvo una aprobación del 57%
y una desaprobación de 38% junto con 5% para el Item No opina.
17
VI. PLANIFICACIÓN DEL PROYECTO
6.1. Cronograma de actividades
18
6.2. Presupuesto
A continuación, se muestra el presupuesto para la realización del proyecto:
Descripción Unidad Precio Unidad Precio Total
Laptops 2 S/ 1 600 S/ 3 200.00
WebCam 1 S/ 98.00 S/ 98.00
Visual Studio Code 1 S/ 0.00 S/ 0.00
Electricidad 2 S/ 150.00 S/. 300.00
Internet 2 S/40.00 S/ 80.00
TOTAL S/ 3 678.00
Tabla 1: Presupuesto
19
VII. METODOLOGÍA
7.1. Iniciación
7.1.1. Visión del Proyecto
Permitir a la empresa “CompuGame” mantenerse al margen de la tecnología,
más aún porque se trata del rubro tecnológico, además este servicio se
podría ofrecer a los clientes que lo requieran, y así generar otra fuente de
ingresos.
En este proyecto los Scrum Master somos los integrantes del proyecto con
el objetivo de facilitar soluciones a través de tecnología y con la capacidad
de documentar y desarrollar cada proceso del sistema. Los Stakerholder de
este proyecto son:
Empresa CompuGames.
Gerente de la empresa CompuGames.
7.1.3. Sprints:
El sprint es un elemento fundamental de la metodología Scrum porque este
permite al equipo de trabajo centrarse en entregables concretos, lo que
20
facilita el monitoreo del progreso del proyecto y permite ajustar el enfoque y
las prioridades a medida que el equipo aprende y avanza. (Requena Mesa,
2018)
21
7.2.3. Sprint backlog
Esto hace referencia a la lista de tareas que se consideran para realizar a lo
largo del sprint, estás tareas están medidas por un promedio de duración de
5 (cinco) horas por día, dando como total de horas 65hr y 15min, lo que nos
lleva a 13 (trece) días laborables del sprint. A continuación, se presenta la
imagen de una parte del sprint backlog.
22
Ilustración 5: Boceto de Interfaz 1 Registro de trabajadores
23
Ilustración 7: Boceto de Interfaz 3 Registro facial
24
usuario, debe de dar escape para capturar imagen, después el sistema va a
comprobar si es o no es el empleado ingresado, si es se registrar en un
archivo de Excel en el cual estarán los registros de asistencias, si no
entonces le saldrá un mensaje de usuario no ingresado o que debe de ser
registrado antes de registrar su asistencia.
25
es o no es el empleado ingresado, si es se registrar en un archivo de Excel
en el cual estarán los registros de asistencias, si no entonces le saldrá un
mensaje de usuario no ingresado o que debe de ser registrado antes de
registrar su asistencia.
26
7.2.5. Estructura de desarrollo
27
mismo nombre del usuario. Luego, el campo de texto se borra (ósea se
establece en blanco).
28
Ilustración 15: Función reg_rostro()
29
Ilustración 16: Función registro()
30
7.3.2. Interfaz de registro de empleados
En nuestra primera interfaz será usada únicamente por el administrador para
el registro de los trabajadores, esta interfaz cuenta con un texto de
bienvenida “Bienvenido al registro de trabajadores” y un Botón que lleva
como nombre “Registrar Usuario”, cuando el administrador hace clic en el
botón, lo llevará a la siguiente interfaz.
31
Ilustración 19: Registro de trabajadores
Al hacer clic al botón lo llevara a otra interfaz donde se mostrará el inicio del
video para que la cámara pueda captar el rostro del empleado, debe de darle
en la tecla escape para que el video se detenga y guarde el rostro del
empleado.
32
Ilustración 22: Muestra de los registros de rostros almacenados en la Carpeta
Rostros
33
Creamos la función getEnter() para separar elementos en la pantalla y
mejorar la legibilidad.
La segunda función, verificacion_entrada(), se encarga de verificar si un
archivo existe en un directorio (path1) y luego abrirlo para leer su contenido.
Para hacer esto, primero toma el valor de entrada del usuario desde un objeto
llamado verificacion_usuario_entrada. Luego, elimina el contenido de un
objeto de entrada de usuario llamado usuario_entr.
A continuación, el código verifica si el valor de entrada del usuario
(entr_usuario) está en la lista de archivos en el directorio especificado
(list_archiv). Si es así, abre el archivo con el nombre correspondiente y lee
su contenido en una variable llamada verificacion. Si el archivo no existe, el
código imprimirá "Usuario no encontrado" y agregará una etiqueta roja en una
pantalla llamada pantalla2.
34
Después, la función orb_sim() utiliza el algoritmo ORB para comparar la
imagen recién capturada con la imagen de registro del usuario. Si la similitud
entre las dos imágenes es mayor o igual a 0.95, se registra el usuario en un
archivo de Excel y se muestra un mensaje de éxito en la pantalla. Si la
similitud es menor a 0.95, se muestra un mensaje de error y se solicita que
el usuario verifique su identidad.
35
Ilustración 26:Función orb_sim()
36
A continuación, se agrega otro texto "USUARIO:" y se utiliza la función
getEnter() nuevamente. Luego, se crea un widget Entry llamado
usuario_entr donde el usuario puede ingresar su nombre de usuario y su
valor se guarda en la variable de control de cadena
verificacion_usuario_entrada.
Finalmente, se agrega un botón con el texto "Registrar Entrada" (que
probablemente sea una variable global) que llama a la función
registro_entrada() cuando se hace clic en él. El botón se agrega utilizando
el widget Button().
37
dos botones, una para la entrada el cual llamara a la función entrada() y el
de salida que llamara a la función de salida().
La función pantalla_principal() tiene una llamada a la función mainloop al
final, que se encarga de mantener la ventana abierta y esperando eventos
de entrada del usuario hasta que se cierre la ventana.
38
debe de ingresar en el campo de texto, en este caso seria “Ingrese un 1er
nombre y sus apellidos”, después de ingresarlos, debe de hacer clic al botón
“Registrar entrada”, seguidamente se iniciara el video para registrar el rostro
del usuario, este debe seleccionar la tecla “Esc” del teclado para que se
pueda capturar la imagen, después el sistema va a comprobar si es o no es
el empleado ingresado, si es se registrar en un archivo de Excel en el cual
estarán los registros de asistencias, si no entonces le saldrá un mensaje de
usuario no ingresado o que debe de ser registrado antes de registrar su
asistencia.
39
Ilustración 33: Mensaje
Lo casi lo mismo pasara con el botón “Registrar Salida”, nos llevara a otra
interfaz, donde nos mostrará un texto indicándole al empleador que datos
debe de ingresar en el campo de texto, después de ingresarlos, al hacer clic
al botón “Registrar Salida”, iniciara el video para registrar el rostro del
usuario, debe de dar escape para capturar imagen, después el sistema va a
comprobar si es o no es el empleado ingresado, si es se registrar en un
archivo de Excel en el cual estarán los registros de asistencias, si no
entonces le saldrá un mensaje de usuario no ingresado o que debe de ser
registrado antes de registrar su asistencia.
40
Ilustración 35:Interfaz de registro de rostros para compatibilidad – Registro de
salida
41
Ilustración 38: Muestra del Excel (BD) donde se encuentra almacenado el registro
de entrada
Ilustración 39: Muestra del Excel (BD) donde se encuentra almacenado el registro
de salida
42
7.5. Verificación de eficiencia
7.5.1. Testeo
Se comprueba el funcionamiento del programa a través del testeo plasmado
en Microsoft Excel, empleando los sprint, como se muestra a continuación:
43
7.5.2. Lanzamiento
Se presenta el programa en su versión final tras las modificaciones
correspondientes según el criterio del representante de la empresa mediante
una reunión empleando la herramienta de zoom, a su vez se hizo una serie
de preguntas en cuanto al nivel de satisfacción, mismas que están
plasmadas en el formulario de google y que posteriormente se mostrará en
anexos, a continuación, se presentan algunas evidencias de la reunión final.
44
VIII. RESULTADOS
8.1. Técnica e instrumento de recolección de datos
La técnica que se emplea es la encuesta, mediante la cual se tiene como
instrumento de recolección de datos al cuestionario, mismo que tiene un total
de 10 ítem, los cuales tienen el objetivo de medir o evaluar la satisfacción del
dueño de la empresa “CompuGames” con respecto al producto de la
investigación y a su vez el servicio para el beneficiario.
N° ÍTEM MEDIDA
3 ¿En qué medida se encuentra con la adaptación final que cumple sus
observaciones sobre el producto?
45
Para la aplicación de la encuesta, se usó la herramienta de google form, que
nos permite tener una mejor visualización de resultados, los cuales se
plasman a continuación:
N° ÍTEM MEDIDA
46
IX. CONCLUSIONES Y RECOMENDACIONES
9.1. Conclusiones
En conclusión, se logró desarrollar el modelo inteligente de reconocimiento
facial para la búsqueda automatizada de los trabajadores CompuGames,
este modelo inteligente fue creado con el lenguaje de programación python
y con librerías como OpenCV, MTCNN, los cuales eran complementos para
la realización exitosa de este.
Tratándose de los procesos del control de asistencia se logró generar una
base de datos en Excel para registrar con fecha y hora la entrada y salida
de los trabajadores que firmaron la asistencia a través de la biometría
Con respecto al segundo objetivo específico, se concluyó que el modelo
inteligente si logra reconocer los rostros registrados de los trabajadores de
la empresa CompuGames.
Además, se concluyó que cuando el modelo inteligente es ejecutado para
la realización de las asistencias, este reconoce exitosamente los rostros de
los empleados para su respectiva asistencia, adicionalmente a esto, a la
hora de realizar la comprobación de reconocimiento facial, si el usuario
ingresado no existe aparecerá un mensaje de Usuario no encontrado,
seguido de eso no se realiza ningún registro en el archivo de asistencia y
se guarda una imagen del usuario con el nombre ingresado, así mismo, si
el usuario ingresa otro nombre de los trabajadores y realiza su
reconocimiento facial, se mostrará un texto que dice rostro incorrecto, y al
igual que el anterior caso, no se registra ningún dato en el archivo de
asistencia.
9.2. Recomendaciones
Considerar una base de datos que se adapte a la conveniencia de cada
usuario/empresa.
Considerar límites en cada proceso, ya sea por espacio de almacenamiento
o por requerimientos.
Siempre dejar el producto sujeto a futuras modificaciones.
47
X. REFERENCIAS BIBLIOGRÁFICAS
48
Data Scientest. 2022. Data Scientest. Data Scientest. [Online] 19 Diciembre 2022.
[Cited: 10 Febrero 2023.] https://datascientest.com/es/pandas-python.
Frankenfield, . 2022. Investopedia. Investopedia. [Online] 6 Julio 2022. [Cited: 25
Enero 2023.] https://www.investopedia.com/terms/a/artificial-intelligence-ai.asp.
Gavilánez Mariño, . 2022. Sistema automatizado para la gestión de asistencia y
control de temperatura con reconocimiento facial de los empleados de la empresa
eléctrica Ambato EEASA. FACULTAD DE INGENIERÍA EN SISTEMAS,
ELECTRÓNICA E INDUSTRIAL, UNIVERSIDAD TÉCNICA DE AMBATO.
Ambato,Ecuador : UNIVERSIDAD TÉCNICA DE AMBATO, 2022. p. 130, Tesis.
Google Trends. 2023. Google Trends. Google Trends. [Online] 2023. [Cited: 29
Enero 2023.] https://trends.google.es/trends/explore?date=today%205-
y&geo=PE&q=sistemas%20inteligentes.
Great Learning. 2022. Blog | Great Learning. Blog | Great Learning. [Online] 24
Octubre 2022. [Cited: 25 Enero 2023.]
https://www.mygreatlearning.com/blog/opencv-tutorial-in-
python/#:~:text=OpenCV%20is%20a%20Python%20library,%2C%20face%20reco
gnition%2C%20and%20tracking...
Guse, . 2020. Towards Data Science. Towards Data Science. [Online] 27 Abril
2020. [Cited: Febrero 10 2023.] https://towardsdatascience.com/face-detection-
using-mtcnn-a-guide-for-face-extraction-with-a-focus-on-speed-c6d59f82d49.
Gutiérrez Pizarro, Ronald Jansh. 2019. Sistema de reconocimiento facial para el
control de asistencia de la I.E. “juan pablo ii” basado en visión computacional, 2019.
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS, UNIVERSIDAD
NACIONAL JOSÉ MARÍA ARGUEDAS. ANDAHUAYLAS : UNIVERSIDAD
NACIONAL JOSÉ MARÍA ARGUEDAS, 2019. p. 127, Tesis.
Hayes, . 2022. Investopedia. Investopedia. [Online] 28 Junio 2022. [Cited: 29 Enero
2023.] https://www.investopedia.com/terms/c/company.asp.
Heathfield, Susan M. 2022. The Balance. The Balance. [Online] 15 Agosto 2022.
[Cited: 29 Enero 2023.] https://www.thebalancemoney.com/what-is-an-employee-
1918111.
Ibarra, . 2017. Linkedin. Linkedin. [Online] 22 Mayo 2017. [Cited: 15 Febrero 2023.]
https://www.linkedin.com/pulse/c%C3%B3mo-seleccionar-al-scrum-master-y-los-
stakeholders-ernesto-ibarra/?originalSubdomain=es.
49
Ilbay, Miguel Fabricio Ñauñay and Córdova, Luis Gonzalo Tipantuña. 2013.
Análisis de eficiencia en algoritmos de reconocimiento de imágenes digitales
aplicables a dispositivos móviles bajo la plataforma Android. [Online] 2013. [Cited:
3 3 2023.] http://repositorio.espe.edu.ec/bitstream/21000/7770/1/ac-si-espe-
047430.pdf.
Inteligencia artificial y sus implicaciones en la educación superior. Ocaña-
Fernández, , Valenzuela Fernández, and Garro-Aburto, . 2019. Lima : Propósitos
y Representaciones, Agosto 2019, Propósitos y Representaciones, Vol. 7. 2310-
4635.
Johnson, . 2021. INSIDER. INSIDER. [Online] 19 Marzo 2021. [Cited: 25 Enero
2023.] https://www.businessinsider.com/guides/tech/what-is-a-webcam.
KeepCoding. 2022. KeepCoding. KeepCoding. [Online] 5 Septiembre 2022. [Cited:
10 Febrero 2023.] https://keepcoding.io/blog/que-es-tkinter/.
Kurama, . 2021. Blog | Nanonets. Blog | Nanonets. [Online] 2021. [Cited: 25 Enero
2023.] https://nanonets.com/blog/machine-learning-image-processing/.
Lara Jacho, Steven Bryan. 2020. Prototipo de reconocimiento facial para mejorar
el control de asistencia de estudiantes en el laboratorio de cómputo, UNIANDES-
QUEVEDO. FACULTAD DE SISTEMAS MERCANTILES, UNIVERSIDAD
REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES”. Quevedo, Ecuador :
UNIVERSIDAD REGIONAL AUTÓNOMA DE LOS ANDES “UNIANDES”, 2020.
Tesis.
Law Insider. 2022. Law Insider. Law Insider. [Online] 2022. [Cited: 29 Enero 2023.]
https://www.lawinsider.com/dictionary/automated-
search#:~:text=automated%20search%20means%20direct%20on,Sample%201S
ample%202.
Leonardo Paredes, . 2019. Mejora del control de asistencia de personal a través
de un sistema de información con reconocimiento facial geolocalizado en Agro
Rural. Facultad de Ingeniería, Universidad Tecnológica del Perú. Lima, Perú :
Universidad Tecnológica del Perú, 2019. Tesis.
Londoño, . 2022. Blog | Hubspot. Blog | Hubspot. [Online] 22 Agosto 2022. [Cited:
25 Enero 2023.] https://blog.hubspot.es/website/que-es-python.
Martinez, . 2019. IEBSchool. IEBSchool. [Online] 4 Julio 2019. [Cited: 15 Febrero
2023.] https://www.iebschool.com/blog/reconocimiento-facial-tecnologia/.
50
Nettleton, . 2015. Look Forward Blog. Look Forward Blog. [Online] 3 Abril 2015.
[Cited: 15 Febrero 2023.] https://lookforwardconsulting.com/2015/04/03/roles-de-
scrum-
definidos/#:~:text=Scrum%20Master%3A%20persona%20dedicada%20responsab
le,en%20el%20trabajo%20del%20Equipo..
peopleHum. 2022. peopleHum. peopleHum. [Online] 2022. [Cited: 29 Enero 2023.]
https://www.peoplehum.com/glossary/attendance-
management#:~:text=Attendance%20Management%20keeps%20track%20of,atte
ndance%20software%20for%20your%20company..
Pillaca Cerdán, . 2019. Sistema de reconocimiento facial para el control del
personal en la consultora LANIU S.A.C. FACULTAD DE INGENIERÍA Y
ARQUITECTURA, Universidad César Vallejo. Lima, Perú : Universidad César
Vallejo, 2019. p. 200, Tesis.
Python. 2022. Python. Python. [Online] 2022. [Cited: 10 Febrero 2023.]
https://docs.python.org/es/3/library/tkinter.html.
—. 2022. Python. Python. [Online] 2022. [Cited: 10 Febrero 2023.]
https://docs.python.org/es/3/library/datetime.html#:~:text=El%20m%C3%B3dulo%
20datetime%20proporciona%20clases,su%20posterior%20manipulaci%C3%B3n
%20o%20formateo..
—. 2022. Python. Python. [Online] 2022. [Cited: 10 Febrero 2023.]
https://docs.python.org/es/3.10/library/os.html#:~:text=Este%20m%C3%B3dulo%2
0provee%20una%20manera,rutas%2C%20mira%20el%20m%C3%B3dulo%20os.
.
Radley, . 2022. WorkDay. WorkDay. [Online] 29 Marzo 2022. [Cited: 5 Febrero
2023.] https://blog.workday.com/es-es/2022/understanding-the-basics-what-
employee-engagement.html.
Raga, . 2021. Sesame | Blog. Sesame | Blog. [Online] 28 Septiembre 2021. [Cited:
3 Febrero 2023.] https://www.sesamehr.co/blog/que-es-el-control-de-asistencia-
laboral-y-para-que-sirve/.
Ramírez Ramírez, , et al. 2019. Revista Ibérica de Sistemas e Tecnologias de
Informação. Revista Ibérica de Sistemas e Tecnologias de Informação. [Online]
2019. [Cited: 15 Febrero 2023.]
51
https://www.proquest.com/openview/7635ce5360bdb82d0c42c815e17f8323/1?pq-
origsite=gscholar&cbl=1006393.
Redacción ContentLab. 2019. Gestíon | Diario Noticias. Gestíon | Diario Noticias.
[Online] 12 Agosto 2019. [Cited: 25 Enero 2023.]
https://gestion.pe/especial/businessstyle/zona-habitat/afp-habitat-unica-empresa-
peru-reconocimiento-facial-noticia-1994515.
Requena Mesa, . 2018. OpenWebinars. OpenWebinars. [Online] 19 Diciembre
2018. [Cited: 15 Febrero 2023.] https://openwebinars.net/blog/que-es-un-sprint-
scrum/.
Reyes Ortiz, Oscar Javier, Mejia, and Useche Castelblanco, Juan Sebastían.
2019. Técnicas de inteligencia artificial utilizadas en el procesamiento de imágenes
y su aplicación en el análisis de pavimentos. Colombia : Universidad EIA, 2019, Vol.
16, pp. 189-207.
Robledano, . 2019. OpenWebinars | Blog. OpenWebinars | Blog. [Online] 23
Septiembre 2019. [Cited: 3 Febrero 2023.] https://openwebinars.net/blog/que-es-
python/.
Rosero Vásquez, Shendry Balmore. 2019. Reconocimiento facial: técnicas
tradicionales y técnicas de aprendizaje profundo un análisis. Facultad de Ingeniería
en Electricidad y Computación, ESCUELA SUPERIOR POLITÉCNICA DEL
LITORAL. Ecuador : FIEC, 2019. p. 98, Tesis de Maestría en Ciencias de la
Computación.
Rouhiainen, . 2018. Inteligencia artificial 101 cosas que debes saber hoy sobre
nuestro futuro. Primera. Madrid : Alienta Editorial, 2018. p. 22. 978-84-17568-08-5.
Ruiz León, Sebastián Fernando and Suárez Mahecha, Gregorio Esteban. 2021.
Herramienta didáctica de realidad aumentada con Python y OpenCV, para la
visualización y despiece en 3D de un brazo robótico. Ingeniería de Control y
Automatización, UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS.
Bogotá : UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS, 2021. pp.
13 - 14, Tesis.
Sanchez Rios, . 2021. YouTube. YuTube. [Online] 23 Abril 2021. [Cited: 10 Febrero
2023.] https://youtu.be/Hy3DAxgTSu0.
Sistemas Sintel. 2022. Sistemas Sintel. Sistemas Sintel. [Online] 2022. [Cited: 29
Enero 2023.] https://sintel.com.mx/control-de-
52
asistencia#:~:text=Un%20Control%20de%20Asistencia%20es,y%20mejora%20de
%20la%20productividad..
Symanovich, . 2021. Norton Life Lock. Norton Life Lock. [Online] 20 Agosto 2021.
[Cited: 25 Enero 2023.] https://us.norton.com/blog/iot/how-facial-recognition-
software-works#.
Taquía Gutiérrez, José Antonio. 2017. El procesamiento de imágenes y su
potencial aplicación en empresas con estrategia digital. Dialnet. [Online] 15 Octubre
2017. [Cited: 28 Febrero 2023.]
https://dialnet.unirioja.es/servlet/articulo?codigo=6230450.
Valencia Martínez, . 2021. Academia Pragma | Blog. Academia Pragma | Blog.
[Online] 19 Enero 2021. [Cited: 1 Febrero 2023.]
https://www.pragma.com.co/blog/que-es-biometria.
Vega, . 2021. Medium | Blog. Medium | Blog. [Online] 12 Mayo 2021. [Cited: 10
Febrero 2023.] https://medium.com/lcc-unison/aplicaci%C3%B3n-de-
reconocimiento-facial-en-tiempo-real-para-identificar-a-alumnos-de-la-licenciatura-
en-
2e2b53870995#:~:text=Implementamos%20la%20utilizaci%C3%B3n%20de%20M
TCNN,m%C3%A1s%20precisas%20en%20la%20actualidad..
Viera Maza, Gabriela Isamar. 2018. Aplicación de procesamiento de imágenes
para clasificación de granos de cacao según su color interno. Facultad de
Ingeniería, Universidad de Piura. Piura : Universidad de Piura, 2018. p. 133, Tesis
de Máster en Ingeniería Mecánico-Eléctrica con Mención en Automática y
Optimización.
—. 2017. Procesamiento de imágenes usando OpenCV aplicado en Raspberry Pi
para la clasificación del cacao. Departamento de Ingeniería Mecánico-Eléctrica,
Universidad de Piura. Piura : Universidad de Piura, 2017. pp. 49-49, Tesis.
VM, . 2021. YouTube. YouTube. [Online] 28 Mayo 2021. [Cited: 10 Febrero 2023.]
https://youtu.be/cTSVYwxHn9g.
Westreicher, . 2021. Economipedia. Economipedia. [Online] 20 Mayo 2021. [Cited:
3 Febrero 2023.] https://economipedia.com/definiciones/empleado.html.
Yañez Neyra, Margarita Lucero. 2019. Sistema de reconocimiento facial para el
control de acceso de estudiantes a los laboratorios de la FIIS-UNAC, 2019. Facultad
53
de Ingeniería y Arquitectura, Universidad Cesar Vallejo. Callao : Universidad Cesar
Vallejo, 2019. p. 220, Tesis.
54
ANEXOS
ANEXO 01
Gráficos de los resultados de la encuesta aplicada:
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Satisfechos con
la realización del producto.
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Muy Satisfechos
con las modificaciones continuas del producto.
55
Ilustración 46: Gráfico circular de la Pregunta 3
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Muy Satisfechos
con la adaptación final que cumple las observaciones sobre el producto.
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Muy Satisfechos
tras la funcionalidad de los procesos.
56
Ilustración 48: Gráfico circular de la Pregunta 5
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Satisfechos con
el tipo de almacenamiento de datos del registro de asistencia.
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Bastantes
Satisfechos con respecto que el producto esté sujeto a modificaciones futuras.
57
Ilustración 50: Gráfico circular de la Pregunta 7
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Satisfechos con
la comunicación profesional y no profesional respecto al seguimiento de cambios
para el producto.
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Muy Satisfechos
con la explicación del funcionamiento del producto.
58
Ilustración 52: Gráfico circular de la Pregunta 9
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Satisfechos con
la calidad del producto.
Interpretación:
El 100% de los encuestados de la empresa CompuGames están Bastante
Satisfechos con haber confiado su ida de negocio con los integrantes de este
proyecto.
59
ANEXO 02
60
Ilustración 56: Acceso a la cámara para el reconocimiento facial
61
Ilustración 58: Registro de asistencia a base del registro de usuario
62
ANEXO 03:
63
ANEXO 04
64
Ilustración 63: Registro exitoso del empleado
65
Ilustración 65: Registro de entrada exitoso
66
Ilustración 67: Archivos de extensión xlsx como BD para el almacén de los
registros de asistencia
67