Untitled
Untitled
Untitled
Tesis
Huancayo, 2021
Esta obra está bajo una Licencia "Creative Commons Atribución 4.0 Internacional" .
AGRADECIMIENTOS
II
DEDICATORIA
III
ÍNDICE DE CONTENIDO
AGRADECIMIENTOS……………………………………………………………… II
DEDICATORIA……………………………………………………………………... III
ÍNDICE DE CONTENIDO………………………………………………………… IV
ÍNDICE DE FIGURAS…………………………………………………………….. XI
RESUMEN………………………………………………………………………... XIV
ABSTRACT……………………………………………………………………….. XV
INTRODUCCIÓN………………………………………………………………… XVI
CAPÍTULO I PLANTEAMIENTO DEL ESTUDIO……………………………… 18
1.1. Planteamiento y formulación del problema .......................................... 18
1.2. Formulación del problema .................................................................... 21
1.3. Objetivo general y objetivos específicos .............................................. 22
1.4. Justificación e importancia ................................................................... 22
1.5. Limitaciones y alcance del proyecto ..................................................... 23
CAPÍTULO II 25
MARCO TEÓRICO 25
2.1. Antecedentes del problema ................................................................. 25
2.1.1. Antecedentes internacionales ............................................................ 25
2.1.2. Antecedentes nacionales ................................................................... 28
2.2. Bases teóricas ..................................................................................... 30
2.2.1. Suplantación de identidad .................................................................. 30
2.2.2. Tipos de suplantación ........................................................................ 30
2.2.3. Identidad ............................................................................................ 31
2.2.4. Identificación ...................................................................................... 31
2.2.5. Casos de suplantación de identidad .................................................. 31
2.2.6. Inteligencia artificial............................................................................ 31
2.2.7. Áreas de aplicación de la IA ............................................................... 32
2.2.8. Aprendizaje automático (Machine Learning) ...................................... 34
2.2.9. Aprendizaje profundo ......................................................................... 36
2.2.10. Reconocimiento facial ...................................................................... 36
2.2.11. Como se inició el reconocimiento facial ........................................... 37
2.2.12. Como funciona el reconocimiento facial ........................................... 38
IV
2.2.13. Redes neuronales convolucionales (CNN) ...................................... 39
2.2.14. Estructura de las redes neuronales convolucionales ....................... 40
2.2.15. Deep Learning o aprendizaje profundo ............................................ 40
2.2.16. Sistema de reconocimiento facial .................................................... 41
2.2.17. Instalación de cámara para reconocimiento facial............................ 42
2.3. Definición de términos básicos............................................................. 42
CAPÍTULO III METODOLOGÍA………………………………………………….. 45
3.1. Metodología aplicada para el desarrollo de la solución ........................ 45
2.3.1. Flujo de trabajo .................................................................................. 45
3.1.1. Realizar explícitas las políticas de proceso ........................................ 48
3.2. Desarrollo del sistema de escritorio mediante Kanban ......................... 49
3.2.1. Visualizar el flujo de trabajo ............................................................... 49
3.2.2. Limitar el trabajo en progreso (WIP) .................................................. 49
3.2.3. Gestionar el flujo ................................................................................ 50
3.2.4. Hacer políticas explicitas.................................................................... 50
3.2.5. Implementar circuitos de retroalimentación ........................................ 51
3.2.6. Mejorar colaborativamente ................................................................. 51
3.2.7. Roles de Kanban ............................................................................... 51
3.3. Metodología del reconocimiento facial ................................................. 51
3.3.1. Fase del entrenamiento ..................................................................... 52
3.3.2. La fase de ejecución .......................................................................... 56
3.4. La matriz de confusión ......................................................................... 59
3.4.1. Verdadero positivo (TP) ..................................................................... 61
3.4.2. Verdadero negativo (TN).................................................................... 61
3.4.3. Falso positivo (FP): error de tipo 1 ..................................................... 61
3.4.4. Falso negativo (FN): error de tipo 2 ................................................... 61
3.4.5. Métricas de la matriz de confusión ..................................................... 62
3.5. Alcance del proyecto ............................................................................ 62
CAPÍTULO IV ANÁLISIS Y DISEÑO DE LA SOLUCIÓN……………………. 63
4.1. Identificación de los requerimientos ..................................................... 63
4.1.1. Usuarios que intervienen en el sistema.............................................. 63
4.1.2. Historias de usuarios ......................................................................... 64
4.1.3. Requerimientos funcionales ............................................................... 65
4.1.4. Especificaciones de los requerimientos ............................................. 71
V
4.1.5. Requerimientos no funcionales .......................................................... 73
4.1.6. Requerimientos no funcionales del software ...................................... 74
4.1.7. Requerimientos no funcionales de la organización ............................ 76
4.2. Análisis de la solución .......................................................................... 77
4.2.1. Propuesta de la solución .................................................................... 77
4.2.2. Análisis de las especificaciones de los requerimientos funcionales ... 78
4.2.3. Análisis técnico y económico ............................................................. 81
4.2.4. Viabilidad de la propuesta .................................................................. 84
4.3. Diseño ................................................................................................. 86
4.3.1. Diseño de la arquitectura del sistema ................................................ 86
4.3.2. Herramientas ..................................................................................... 88
4.3.3. Diseño del reconocimiento facial........................................................ 89
4.3.4. Diseño de interfaz y navegación ........................................................ 90
4.3.5. Interfaz de login ................................................................................. 90
4.3.6. Pantalla de principal ........................................................................... 91
4.3.7. Pantalla administrar usuarios ............................................................. 92
4.3.8. Formulario registrar usuario ............................................................... 92
4.3.9. Pantalla administrar estudiantes ........................................................ 93
4.3.10. Formulario registrar estudiante ........................................................ 93
4.3.11. Formulario reconocimiento facial ..................................................... 94
4.3.12. Formulario de asistencia .................................................................. 94
4.3.13. Diseño de la base de datos ............................................................. 95
CAPÍTULO V CONSTRUCCIÓN………………………………………………… 97
5.1. Construcción ........................................................................................ 97
5.5.1. Modelamiento de la red neuronal artificial y el Machine Learning ...... 97
5.5.2. Creando una imagen integral ............................................................. 98
5.5.3. Extracción de características ........................................................... 100
5.5.4. Escritura de código de red neuronal ................................................ 101
5.5.5. Interfaz de inicio de sesión ............................................................... 104
5.5.6. Interfaz de la pantalla principal ........................................................ 107
5.5.7. Interfaz administrar usuarios ............................................................ 108
5.5.8. Interfaz registrar usuario .................................................................. 108
5.5.9. Interfaz administrar estudiantes ....................................................... 109
5.5.10. Formulario registrar estudiante ...................................................... 109
VI
5.5.11. Formulario reconocimiento facial ................................................... 110
5.5.12. Diagrama de clases ....................................................................... 112
5.5.13. Construcción de la base de datos .................................................. 113
CAPÍTULO VI 117
PRUEBAS Y RESULTADOS 117
6.1. Pruebas y resultados ......................................................................... 117
6.1.1. Pruebas del modelo de reconocimiento facial .................................. 117
6.2. Pruebas y resultados del modelo de reconocimiento facial ................ 118
6.2.1. Prueba 01: Gladys Samaniego ........................................................ 118
6.2.2. Prueba 02: Doris Galindo ................................................................. 121
6.2.3. Prueba 03: Sandy Huaringa ............................................................. 124
6.2.4. Prueba 04: Joel Cuadros ................................................................. 127
6.2.5. Prueba 05: Jorge Bizarro ................................................................. 129
6.2.6. Resultados ....................................................................................... 131
6.2.7. Pruebas de software ........................................................................ 132
6.2.8. Pruebas de aceptación .................................................................... 132
6.2.9. Plan de pruebas de aceptación ........................................................ 133
6.2.10. Ejecución de resultados ................................................................. 134
6.2.11. Aplicación de la matriz de confusión .............................................. 142
6.2.12. Aplicación de las métricas de evaluación ....................................... 143
6.3. Discusión de resultados ..................................................................... 145
CONCLUSIONES 148
RECOMENDACIONES 149
REFERENCIAS BIBLIOGRÁFICAS 150
ANEXOS 157
VII
ÍNDICE DE TABLAS
VIII
Tabla 27. Requerimientos no funcionales – Requerimientos
de seguridad ................................................................................ 75
Tabla 28. Requerimientos no funcionales – Requerimientos de eficiencia ... 75
Tabla 29. Requerimientos no funcionales – Requerimientos de
confidencialidad ........................................................................... 75
Tabla 30. Requerimientos no funcionales – Requerimientos
de integridad ................................................................................ 76
Tabla 31. Requerimientos no funcionales – Requerimientos
de disponibilidad .......................................................................... 76
Tabla 32. Requerimientos no funcionales de la organización ....................... 76
Tabla 33. Requerimiento funcional 001, Iniciar Sesión ................................. 78
Tabla 34. Requerimiento funcional 002, Registrar usuario ........................... 79
Tabla 35. Requerimiento funcional 003, Registrar estudiante ....................... 79
Tabla 36. Requerimiento funcional 004, Capturar rostro del estudiante........ 79
Tabla 37. Requerimiento funcional 005, Reconocimiento facial .................... 80
Tabla 38: Requerimiento funcional 005, Registro de asistencia ................... 80
Tabla 39. Requerimientos de hardware ........................................................ 81
Tabla 40. Herramientas utilizadas en el desarrollo ....................................... 82
Tabla 41. Costos de hardware ..................................................................... 82
Tabla 42. Costos de software ....................................................................... 83
Tabla 43. Costos de personal ....................................................................... 83
Tabla 44: Costos operativos ......................................................................... 83
Tabla 45. Costo total .................................................................................... 84
Tabla 46. Tensor Flow vs OpenCV ............................................................... 84
Tabla 47. Restricciones técnicas .................................................................. 86
Tabla 48. Tablas de la base de datos ........................................................... 96
Tabla 49. Clase tipo de usuario .................................................................. 112
Tabla 50. Clase Usuario ............................................................................. 112
Tabla 51.Clase estudiante .......................................................................... 113
Tabla 52. Clase asistencia ......................................................................... 113
Tabla 53. Descripción de la tabla Tipo de Usuario ..................................... 114
Tabla 54. Descripción de la tabla Usuario .................................................. 114
Tabla 55: Descripción de la tabla Estudiante .............................................. 115
Tabla 56. Descripción de la tabla Asistencia-Estudiante ............................ 115
IX
Tabla 57. Resultados de las pruebas ......................................................... 132
Tabla 58. Plan de pruebas de aceptación .................................................. 133
Tabla 59: Ejecución del plan de pruebas .................................................... 134
Tabla 60. Caso de prueba - Registrar estudiante ....................................... 135
Tabla 61. Caso de prueba - Capturar rostro ............................................... 136
Tabla 62. Caso de prueba - Capturar rostro con lentes .............................. 138
Tabla 63. Caso de prueba - Capturar rostro con lentes .............................. 139
Tabla 64. Caso de prueba realizar reconocimiento .................................... 140
Tabla 65. Caso de prueba – Registrar asistencia ....................................... 141
X
ÍNDICE DE FIGURAS
XI
Figura 27. Entendiendo el verdadero positivo, el verdadero negativo,el
falso positivo y el falso negativo en una matriz de confusión ------ 61
Figura 28. Interpretación de la matriz de confusión --------------------------------- 62
Figura 29. Requerimientos no funcionales -------------------------------------------- 73
Figura 30. Modelo conceptual de la Solución ---------------------------------------- 78
Figura 31. Arquitectura del software ---------------------------------------------------- 87
Figura 32. Arquitectura del hardware --------------------------------------------------- 88
Figura 33. Pasos para el reconocimiento facial -------------------------------------- 90
Figura 34. Mockup de inicio sesión----------------------------------------------------- 91
Figura 35. Mockup de la pantalla principal -------------------------------------------- 91
Figura 36. Mockup Pantalla administrar usuarios ----------------------------------- 92
Figura 37. Mockup registrar usuario ---------------------------------------------------- 92
Figura 38. Mockup pantalla administrar estudiante --------------------------------- 93
Figura 39. Mockup formulario registrar estudiante ---------------------------------- 93
Figura 40. Mockup reconocimiento facial ---------------------------------------------- 94
Figura 41. Mockup registro de asistencia --------------------------------------------- 94
Figura 42. Diseño lógico ------------------------------------------------------------------- 95
Figura 43. Tabla de la base de datos --------------------------------------------------- 96
Figura 44. Núcleos utilizados en Haar Cascade ------------------------------------- 98
Figura 45. Imagen de entrada – imagen integral ------------------------------------ 98
Figura 46. Imagen de entrada – imagen integral ------------------------------------ 99
Figura 47. Imagen integral en posición (x, y) ----------------------------------------- 99
Figura 48. Filtros Haar rotados, trasladados y con cambios de escala ------ 100
Figura 49. Convolución del filtro Haar con una imagen integral --------------- 100
Figura 50. Importación de módulos cv2, face_recognition y os ---------------- 101
Figura 51. Importación de módulos numpy, sys y mysql ------------------------ 101
Figura 52. Carga de imagen ------------------------------------------------------------ 101
Figura 53. Carga de imagen ------------------------------------------------------------ 102
Figura 54. Especificaciones del módulo DetectMultiScale en OpenCV ----- 102
Figura 55. Argumentos del módulo DetectMultiScale en OpenCV ------------ 103
Figura 56. Resultado del módulo DetectMultiScale en OpenCV -------------- 103
Figura 57: Estructura del directorio---------------------------------------------------- 104
Figura 58. Interfaz inicio de sesión ---------------------------------------------------- 104
Figura 59. Código de inicio de sesión -1 --------------------------------------------- 105
XII
Figura 60. Código de inicio de sesión -2 --------------------------------------------- 106
Figura 61: Clase de la tabla usuario -------------------------------------------------- 106
Figura 62. Menú principal ---------------------------------------------------------------- 107
Figura 63. Código de menú principal ------------------------------------------------- 107
Figura 64: interfaz administrar usuarios---------------------------------------------- 108
Figura 65. Interfaz registrar usuario --------------------------------------------------- 108
Figura 66. Interfaz administrar estudiante, construcción de la interfaz ------ 109
Figura 67. interfaz registrar estudiantes --------------------------------------------- 109
Figura 68. Código del registro estudiantes ------------------------------------------ 110
Figura 69. Interfaz de reconocimiento facial ---------------------------------------- 110
Figura 70. Código de reconocimiento facial en C# -------------------------------- 111
Figura 71. Código de reconocimiento facial en JavaScript --------------------- 111
Figura 72. Creación del DataSet ------------------------------------------------------- 111
Figura 73. Diagrama de clases --------------------------------------------------------- 112
Figura 74. Matriz de confusión --------------------------------------------------------- 143
Figura 75. Aplicación de la matriz de confusión ----------------------------------- 143
Figura 76. Valores de la matriz de confusión --------------------------------------- 144
Figura 77. Formulas para calcular las métricas de la matriz de
confusión----------------------------------------------------------------------- 144
Figura 78. Pregunta Nª1 de la encuesta --------------------------------------------- 158
Figura 79. Pregunta Nª2 de la encuesta --------------------------------------------- 158
Figura 80. Pregunta Nª3 de la encuesta --------------------------------------------- 158
Figura 81. Pregunta Nª4 de la encuesta --------------------------------------------- 159
Figura 82. Pregunta Nª5 de la encuesta --------------------------------------------- 159
Figura 83. Pregunta Nª6 de la encuesta --------------------------------------------- 159
Figura 84. Pregunta Nª7 de la encuesta --------------------------------------------- 160
Figura 85. Pregunta Nª8 de la encuesta --------------------------------------------- 160
XIII
RESUMEN
XIV
ABSTRACT
At the Continental University we observe that identity theft during final exam
dates is frequent, and this occurs mostly in general subjects, this problem has
been occurring every year, which generates a state of concern, for them the
objective of The present investigation is to develop a desktop system using the
Kanban methodology for facial recognition for the identification of students in
final exams in the face-to-face modality of the Continental University in the city
of Huancayo; considering the great importance of developing such research,
since it helps to reduce the problem presented.
The methodology that has been used for the development of the system is
Kanban, managed with the Trello tool, which helped to have a better control of
the activities that were developed and for the collection of data, the survey of
both students and teachers was used.
After the respective construction of the facial recognition model, tests were
carried out with a sample of 5 students each with 50 photographs, objective
faces were captured in different scenarios such as: without mask-without
glasses, with mask-without glasses, without mask-with lenses, from which an
image database was built.
The results found in the evaluation of the facial recognition model through
the confusion matrix is 93% before the probability of similarity.
XV
INTRODUCCIÓN
XVI
estudiante con 10 imágenes respectivamente para el entrenamiento, validación
del modelo.
XVII
CAPÍTULO I
PLANTEAMIENTO DEL ESTUDIO
18
amigos y/o familiares con la condición de que les hagan préstamos o les
depositen por temas de salud u alguna otra necesidad. En la figura 1, se
muestran el número de casos frecuentes de fraude informática.
19
elaborar el sistema de reconocimiento facial para la identificación de los
estudiantes y poder reducir la estadística de suplantación.
20
conocerlos, esto sucede mayormente cuando los estudiantes se encuentran
entre el primero a quinto semestre. También se identificó las acciones más
sospechosas de una suplantación en los exámenes finales que es el 48,8 %
por nerviosismo, el 22,1 % por desconocimiento de datos personales, el
20,9 % por mirada temerosa y el 4,7 % muestra inquietud. Por lo tanto, las
acciones que realiza el docente para concretar la suplantación, el 57 % de
preguntan los datos personales al estudiante, el 32,1 % realiza la verificación
de identidad con su DNI física y el 10,9 % pide datos generales de su familia.
Seguidamente el docente después de encontrar una suplantación dentro del
aula el 84,9 % anulan el examen al estudiante, el 10,5 % realizan una sanción
ejemplar según el reglamento interno de la universidad Continental y el 4,6 %
de docentes deciden darle la oportunidad de rendir otro examen.
21
1.3. Objetivo general y objetivos específicos
1.3.1. Objetivo general
Desarrollar el sistema de escritorio para el reconocimiento facial mediante
la metodología Kanban para identificar la suplantación de identidad de los
alumnos en los exámenes finales de la universidad Continental de la ciudad de
Huancayo.
22
Comparando Kanban con Scrum, Kanban se basa en el desarrollo, define el
flujo de trabajo y el tiempo de entrega, aborda los números de tareas de forma
fluida y simultánea y Scrum opta por dividir tareas complejas en varias historias
de usuarios y lo controlan en un flujo de trabajo más visual. (3)
23
• Para el reconocimiento facial, el ambiente debe de estar bien iluminado
(preferiblemente luz natural).
24
CAPÍTULO II
MARCO TEÓRICO
25
b) Tesis titulada: “Reconocimiento facial basado en redes neuronales
convolucionales”, la investigación tuvo como objetivo implementar un
sistema de reconocimiento facial que haga uso de redes neuronales
artificiales y luego evaluar su funcionamiento, el algoritmo utilizado para la
detección ha sido el de histogramas de gradientes orientes (HOG), para
ajustar la imagen se utilizó un algoritmo llamado estimación de punto de
referencia que ha sido implementado en la librería Face Recognition, así
mismo para la extracción de características se utilizó una red neuronal
convolucional profunda. Este modelo presenta una precisión del 99,38 %. Y
por último para comparación y clasificación se realizó haciendo uso de un
Perceptrón Multicapa (MLP) que, a diferencia de las redes neuronales
artificiales usadas en los pasos anteriores, esta sí que va a ser configurada
y entrenada personalmente, Para realizar experimentos con la red neuronal
y evaluar sus resultados, se utilizó la técnica validación cruzada o cross-
validation. En las pruebas se ha obtenido aproximadamente un total del
99,40% de aciertos, por lo que se podría afirmar que el sistema, en general,
reconoce rostros con una considerable efectividad. (5)
26
personalizada. Esto se lo realizo utilizando la librería de Tensor Flow y
Keras. El modelo consta de la primera convolución con una matriz de 94 x
94. Como resultados el modelo FaceNet, permitió obtener vectores de 128
posiciones que caracterizan a una imagen, con el que se obtuvo lo mejores
resultados. (6)
27
Esta tesis es muy importante para nuestra investigación ya que se toma
como referencia la aplicación de los algoritmos y su porcentaje de efectividad
de cada uno para el reconocimiento facial.
28
que el proyecto logra detectar a personas cuando estas utilizan mascarilla,
lentes, ambos o sin el uso de estos; con el porcentaje de acierto. (10)
29
e) Tesis titulada: “Sistema Inteligente Basado en Redes Neuronales para
mejorar la identificación de rostros de delincuentes en el distrito de Laredo”
Este sistema inteligente basado en RNA para mejorar la identificación de
rostros de delincuentes en el distrito de Laredo, para tal efecto se desarrolló
la metodología Jhon Durkin. Tuvo como objetivo mejorar la identificación de
rostros delictivos en el distrito de Laredo en apoyo a la policía nacional;
Mediante la instalación de un sistema inteligente basado en redes
neuronales artificiales, realizó las pruebas para determinar la normalidad en
datos estadísticos a través de Shapiro-Wilk, aplicando T de estudiantes
muestras bajo 30 para los indicadores, la población es de 2553 delincuentes;
tomando 334. Como muestra, es concluyó en el primer indicador que el
tiempo promedio en la identificación de rostros de delincuentes se redujo en
un 91,66% con una disminución de 414,85 segundos, en el segundo
indicador el número de identificaciones de delincuentes se incrementó
recientemente el número de delincuentes identificados en un 68.82 y en el
tercer indicador el tiempo promedio en alerta sobre los delincuentes
identificados ante la policía se reducen en un 77,31%. (13)
30
2.2.3. Identidad
Identidad es una palabra de origen latino (Identitas) que puede utilizarse
para referirse a un conjunto de características de un sujeto o de una
comunidad. Distinguir a un individuo o grupo de los demás. La identidad
también está relacionada con la percepción que una persona tiene de sí
misma. (15)
2.2.4. Identificación
El concepto más sencillo es de reconocer o comprobar que la persona es la
misma que se busca. La única manera de comprobar que sea la persona es
con el DNI. (15)
31
También Escolano, Cazorla, Alfonso, Colomina y Lozano definen de manera
similar que: “LA inteligencia artificial es la ciencia de construir máquinas para
que hagan cosas que, si las hicieran los humanos, requerirían inteligencia”.
(18)
Por otro lado, Benítez, Escudero, Kanaan y Masip dicen: “La inteligencia
artificial es una disciplina académica relacionada con la teoría de la
computación cuyo objetivo es emular algunas de las facultades intelectuales
humanas en sistemas artificiales” (19)
32
Tabla 3. Principales ámbitos de aplicación de los sistemas de inteligencia artificial
Área Aplicaciones
Medicina Ayuda al diagnostico
Análisis de imágenes biomédicas
Procesado de señales fisiológicas
Ingeniería Organización de la producción
Optimización de procesos
Cálculo de estructuras
Planificación y logística
Diagnóstico de fallas
Toma de decisiones
Economía Análisis financiero y bursátil
Análisis de riesgo
Estimación de precios en productos derivados
Minería de datos
Marketing y fidelización de clientes
Biología Análisis de estructura biológicas
Genética médica y molecular
Informática Procesado de lenguaje natural
Criptografía
Teoría de juegos
Lingüística computacional
Robótica y Sistemas adaptativos de rehabilitación
automática Interfaces cerebro-computadora
Sistemas de visión artificial
Sistemas de navegación automática
Tomada de Benítez (19)
De igual manera (18) explican las diversas áreas donde las IA se presenta
en mayor a menor medida, a continuación, se describen brevemente:
33
• Sistemas expertos: se encuentran los sistemas donde la experiencia de
personal calificado se incorpora a dichos sistemas para conseguir
deducciones más cercanas a la realidad.
Por otro lado, Rouhiainen menciona que “la IA se puede aplicar en casi
todas las situaciones. Éstas son sólo algunas de las aplicaciones técnicas de
la IA que están creciendo rápidamente en la actualidad: Reconocimiento de
imágenes estáticas, clasificación y etiquetado: estas herramientas son útiles
para una amplia gama de industrias” (17)
34
Para Rouhiainen, (17), menciona que: “el aprendizaje automático utiliza
algoritmos para aprender de los patrones de datos.”
35
intervención humana. (22) En el ejemplo, los algoritmos tendrían que
clasificar ellos mismos todas las fotos en las que apareciera un gato en una
categoría.
36
La finalidad de un sistema de reconocimiento facial suele ser la siguiente:
obtener una imagen o imagen de prueba de un rostro “desconocido”, encontrar
una imagen de ese mismo rostro en un conjunto de imágenes “conocidas” o
imagen de entrenamiento. La mayor dificultad añadida es que este proceso se
pueda hacer en tiempo real, el sistema reconocerá automáticamente el rostro
presente en la imagen o video. Por lo tanto, el reconocimiento facial es la
versión más avanzada de la tecnología que un teléfono o una computadora
para reconocer los amigos en las fotos.
37
En 1991 Kirby & Sirobich, utilizó la técnica PCA llamada EigenFace y se
convirtió en el estándar para comparar el rendimiento de los algoritmos de
reconocimiento facial más nuevos. Entre todos los algoritmos utilizados del
reconocimiento facial 2D, tres son los mejor estudiados y utilizados: Análisis
de Componentes Principales (PCA), Análisis Discriminante Lineal (LDA) y
coincidencia de gráficos de paquetes flexibles (EBGM).
38
✓ Conversión de imagen a datos: la captura de rostros convierte la
información analógica (rostros) en un conjunto de información digital (datos)
en función de los rasgos faciales de la persona. Los códigos digitales se
denominan impresión de rostros.
39
2.2.14. Estructura de las redes neuronales convolucionales
IBM describe las redes neuronales convolucionales cuentan con capas de
entrada, capas ocultas y capas de salida. Los cuales se describen a
continuación y se evidencia en la figura 4. (27)
Capa de entrada: se encarga de recibir todos los píxeles de nuestra imagen
de entrada, luego pasa toda la información a la primera capa oculta.
40
las dos fases principales que compone el aprendizaje profundo que son fase
de entrenamiento y fase de predicción.
41
2.2.17. Instalación de cámara para reconocimiento facial
Al momento de instalar la cámara es muy importante tener en cuenta el
ángulo de inclinación que debe tener esta, para poder visualizar desde una
mejor perspectiva del rostro el cual se quiere reconocer, y por otro lado evita
los objetos obstructores que puede haber dentro del espacio o del pasillo.
42
● Haar Cascade: es un algoritmo en forma de cascada para la detección de
rostros más antiguos, no solo se utiliza para identificar rostros, sino que
también ojos, labios, etc. La detección de objetos mediante clasificadores
en cascada basados en funciones Haar es un método eficaz de detección
de objetos propuesto por Paul Viola y Michael Jones en su documento,
“Rapid Object Detection using a Boosted Cascade of Simple Features” en
2001. Se trata de un enfoque basado en el aprendizaje automático en el que
la función en cascada se entrena a partir de muchas imágenes positivas y
negativas. Luego se utiliza para detectar objetos en otras imágenes. (37)
44
CAPÍTULO III
METODOLOGÍA
45
En la figura 7, se evidencia que, en la herramienta Trello se organizó las 3
fases del proyecto las cuales son: por hacer, haciendo y hecho. Así tener una
buena gestión del desarrollo del sistema.
• Por hacer (To Do): en esta fase se detallan las actividades que se
desarrollarán y que serán clasificados cada uno por su prioridad y la
necesidad de iniciar con el desarrollo.
46
Figura 9. Actividades en proceso
Tomada y adaptada de Trello
• Hecho (Done): Las actividades que pasaron por los 2 ciclos y que cumplirán
con las funcionalidades previstas.
47
En la figura 10, se evidencia que las actividades ya se desarrollaron en su
totalidad y en las fechas propuestas, y así se pueda proceder con la siguiente
actividad.
Figura 11. Fechas de entrega de cada una de las tarjetas del tablero Kanban
Tomada y adaptada de Trello
48
3.2. Desarrollo del sistema de escritorio mediante Kanban
Para el desarrollo del sistema se aplicó Kanban, el cual ayudó a minimizar
los trabajos en progreso y por ello se siguió con las prácticas generales de
Kanban:
En la figura 12, se evidencia las prácticas Core Kanban que se tiene que
seguir para un buen desarrollo del sistema.
49
3.2.3. Gestionar el flujo
Para avanzar con fluidez el desarrollo del sistema, cada uno de los
miembros de trabajo tiene que priorizar los requerimientos más importantes.
En la tabla 4, se observa las políticas que se tienen que cumplir para pasar
una actividad de un flujo a otro.
50
En la figura 13, se observa las actividades que están en curso y las
actividades que están listos para pasar al siguiente flujo cumpliendo las
políticas establecidas.
51
siguen actividades cronológicamente, en la figura 14, se evidencia las fases
que se realizaran.
52
oclusiones como lentes y mascarilla, sin perder los rasgos que caracteriza a
cada persona, como los ojos, nariz y boca.
Para que una red neuronal artificial sea capaz de identificar un rostro de una
persona en cualquier imagen, es importante utilizar un elevado número de
imágenes durante el entrenamiento, tanto con imágenes positivas que son
rostros y con imágenes negativas que no sean rostros, con diferentes
escenarios y variabilidad. Con esto la red neuronal será capaz de ajustar sus
parámetros para extraer de manera precisa las características que identifican
la presencia de un rostro en una imagen. (47)
53
Figura 17. Formato de presentación de la fotografía para entrenamiento de los
algoritmos
54
Figura 19. Entrenamiento de la red neuronal en Python -1
55
Figura 21. Entrenamiento del modelo en Python utilizando el editor de código visual
studio code
56
Figura 22. Proceso para crear un clasificador de rostros
57
rostros, y seguirá analizando los posibles candidatos a ser un rostro.
Obteniendo finalmente el detector de rostros.
58
Figura 25. Reconocimiento facial
59
La matriz realiza una comparación de los valores reales con los predichos
por el modelo de aprendizaje, esto también nos ayuda a comprender que tan
bien está funcionando el modelo.
60
Figura 27. Entendiendo el verdadero positivo, el verdadero negativo, el falso positivo y
el falso negativo en una matriz de confusión
Tomada de TechTarget (33)
61
De forma resumida se explica e interpreta en la figura 28, de la siguiente
manera:
62
CAPÍTULO IV
ANÁLISIS Y DISEÑO DE LA SOLUCIÓN
63
estudiantes, es por ello por lo que se define los principales usuarios que
intervienen en el sistema, a continuación, se detalla en la tabla 5:
64
HU08 Como usuario final requiero que el sistema compare la foto de entrada con la
imagen almacenada en la base de datos. Con el fin de encontrar un porcentaje de
similitud.
HU09 Como usuario final requiero que el sistema realice el reconocimiento facial en
tiempo real, con la finalidad de disminuir el número de suplantaciones de identidad.
HU10 Como estudiante requiero que el sistema valide mi identificación con el fin de poder
ingresar al salón de clases.
HU11 Como usuario final requiero que el sistema me brinde un porcentaje de similitud
del estudiante que realice la identificación de identidad.
HU12 Como administrador requiero listar los usuarios que usan el sistema.
HU13 Como docente requiero listar los estudiantes ingresados a la clase.
HU14 Como usuario final requiero un manual de uso con el objetivo de conocer las
funcionalidades del sistema.
Nota: Historias de usuarios
65
Asimismo, en la tabla 8, tabla 9, tabla 10, tabla 11, tabla 12, tabla 13, tabla
14, tabla 15, tabla 16, tabla 17, tabla 18, tabla 19, tabla 20 y tabla 21, se
describen a detalle cada requerimiento funcional, especificando el nombre,
descripción, indicador, prioridad, tipo de usuario, datos de entrada y salida.
66
Tabla 10. Requerimientos funcionales – Registrar estudiante
Nombre de
Registrar estudiante
requerimiento
El sistema debe registrar los estudiantes con el objetivo de
verificar su identidad mediante el reconocimiento facial al
Descripción
momento de ingresar al salón de clases y evitar cualquier tipo de
suplantación.
Indicador RF03 Prioridad Alta
Tipo de
Funcional Usuario Docente
requerimiento
• DNI del
estudiante. • Ingreso al salón de
Datos de • Nombre del clases.
Datos de Salida
entrada estudiante. • No ingresa al salón
• Apellido del de clases.
estudiante
67
Tabla 13. Requerimientos funcionales – Registrar asistencia
Nombre de
Registrar asistencia
requerimiento
El sistema registra la asistencia con la identificación del rostro
Descripción
para obtener reportes de consolidado.
Indicador RF06 Prioridad Alta
Tipo de
Funcional Usuario Estudiante
requerimiento
• Nombre del estudiante • Registro de
Datos de • Apellido del estudiante Datos de asistencia.
entrada • Captura del rostro del Salida • No registra la
estudiante. asistencia
68
Tabla 16. Requerimientos funcionales – Reconocimiento facial en tiempo real
Nombre de El reconocimiento facial permitirá reconocer en tiempo real al
requerimiento estudiante
El sistema realiza el reconocimiento facial en tiempo real, con la
Descripción
finalidad de disminuir el número de suplantaciones de identidad.
Indicador RF09 Prioridad Alta
Tipo de
Funcional Usuario Estudiante
requerimiento
• Imágenes
Datos de • Estudiantes
almacenadas Datos de Salida
entrada suplantados
del estudiante
69
Tabla 19. Requerimientos funcionales – Listar usuarios
Nombre de
Listar usuarios
requerimiento
El sistema muestra la visualización de los usuarios existentes con
Descripción el objetivo de garantizar que no existan usuarios no permitidos al
acceso del sistema.
Indicador RF12 Prioridad Media
Tipo de
Funcional Usuario Administrador
requerimiento
• Lista de • Rol de usuario
Datos de
usuarios Datos de Salida • Nombre de usuario
entrada
registrados. • Apellido de usuario
70
4.1.4. Especificaciones de los requerimientos
La especificación de requerimientos sirve como medio de comunicación
entre cliente, usuario y desarrolladores. En las especificaciones se recogen
tanto necesidades de clientes y usuarios, como los requisitos que debe cumplir
el sistema a desarrollar para satisfacer dichas necesidades. En la tabla 22, se
describen estas especificaciones de los requerimientos funcionales.
71
finalidad de realizar análisis y
comparaciones
Como usuario final requiero
que se registre la asistencia
Registrar
RF_006 con la identificación del rostro Alta
Asistencia
para obtener reportes de
consolidado.
Como usuario administrador
requiero almacenar las
Guardar la imágenes capturadas en un
RF_007 imagen en una Dataset con la finalidad de Alta 48h
DataSet utilizar para el entrenamiento
del modelo de reconocimiento
facial.
Como usuario final requiero
que el sistema compare la foto
Realizar
de entrada con la imagen
RF_008 comparaciones Alta 72h
almacenada en la base de
de rostros
datos. Con el fin de encontrar
un porcentaje de similitud.
Como usuario final requiero
que el sistema realice el
Determinar la
reconocimiento facial en
RF_009 identidad de Alta 64h
tiempo real, con la finalidad de
un estudiante
disminuir el número de
suplantaciones de identidad.
Como estudiante requiero que
el sistema valide mi
Validar el
RF_010 identificación con el fin de Alta 48h
estudiante
poder ingresar al salón de
clases.
Permitir el
Como usuario final requiero
ingreso del
que el sistema me brinde un
estudiante
RF_011 porcentaje de similitud del Alta 56h
según el
estudiante que realice la
porcentaje de
identificación de identidad
similitud.
Como usuario final requiero
Listar
RF_012 . visualizar los estudiantes Media 16h
Estudiantes
existentes en el sistema para
72
garantizar que no existan
estudiantes duplicados
Como usuario final requiero
visualizar los usuarios
RF_013 existentes en el sistema para
Listar usuario Media 16h
garantizar que no existan
usuarios no permitidos al
acceso del sistema.
Como usuario final requiero un
Generar un
manual de uso con el objetivo
RF_014 manual de Media 8h
de conocer las funcionalidades
usuario
del sistema.
73
relacionados con la capacidad, experiencia de usuario, disponibilidad,
velocidad, seguridad y arquitectura de la información.
De igual manera, en la tabla 24, tabla 25, tabla 26, tabla 27, tabla 28, tabla
29, tabla 30 y tabla 31, se describen a detalle cada requerimiento no funcional,
especificando el nombre, descripción, indicador y prioridad.
74
Tabla 25. Requerimientos no funcionales – Requerimientos de usabilidad
Nombre de
Requerimientos de usabilidad
requerimiento
Como usuario final requiero que el software de
Descripción
reconocimiento facial sea de uso fácil y sencillo.
Indicador RNF02 Prioridad Alta
75
Tabla 30. Requerimientos no funcionales – Requerimientos de integridad
Nombre de
Requerimientos de integridad
requerimiento
Como usuario administrador requiero que cualquier
Descripción modificación o mantenimiento en el sistema, se realizara
previa autorización al usuario encargado.
Indicador RNF07 Prioridad Alta
Lenguaje de programación en
Python para la parte del servidor y ALTA
Requerimientos
RNF11 C# para el cliente.
de desarrollo
El entorno de desarrollo de la base ALTA
de datos en MySQL.
76
4.2. Análisis de la solución
4.2.1. Propuesta de la solución
El presente proyecto propone una solución informática de bajo costo, donde
se permitirá el reconocimiento facial para identificar a estudiantes durante los
exámenes finales en clase de manera presencial, esta solución hará uso de
diversas tecnologías Open Source como los algoritmos de Haar-Cascade,
Face-recognition y las librerías OpenCV, Numpy, Cmake y pip. Estas
herramientas permiten el análisis, detección y reconocimiento facial, en este
sentido, cabe mencionar que de esta manera se pretende disminuir la cantidad
de suplantación de identidad durante los exámenes finales, mayormente en los
cursos generales.
77
Figura 30. Modelo conceptual de la Solución
Tomada de Solano (34)
En la tabla 33, tabla 34, tabla 35, tabla 36, tabla 37 y tabla 38, se realiza el
análisis de las especificaciones de cada uno de los requerimientos funcionales.
Nota: Los requerimientos que se identificaron con una prioridad alta para el
proceso del desarrollo del sistema de reconocimiento facial.
78
Tabla 34. Requerimiento funcional 002, Registrar usuario
Código RF_002
Nombre Registrar Usuario
Prioridad Alta
Descripción Se debe permitir registrar un usuario nuevo en la base de
datos. Se debe contar con un formulario de registro de datos.
Usuario Administrador
Entradas • Nombres del usuario a registrar
• Un único nombre de usuario
• Contraseña
Proceso Una vez registrados los datos del usuario y ejecutado el
proceso, se debe permitir la autentificación del usuario
nuevo.
Salidas Creación de usuarios
79
Entradas • La persona debe encontrarse ubicado al frente de la
cámara web que está conectada al sistema durante 10
segundos.
Proceso Se realiza la captura de las imágenes de forma
automática.
Salidas El sistema deberá guardar las imágenes capturadas en la
carpeta que se encuentra en el disco local del ordenador.
80
4.2.3. Análisis técnico y económico
4.2.3.1. Análisis técnico
Actualmente la universidad cuenta con una herramienta llamada Proctorizer
que sirve para la supervisión remota de exámenes para sus evaluaciones
digitales. Su función es eliminar el riesgo de fraudes, exámenes en grupo,
plagio, el uso de internet para buscar las alternativas, entre otras faltas a la
integridad académica, su enfoque es más para exámenes en línea.
81
4.2.3.3. Herramientas para la construcción del modelo de reconocimiento
facial
A continuación, en la tabla 40, se detallan los materiales y herramientas
utilizados para la detección y el reconocimiento facial.
• Costos de hardware
82
• Costos del software
Total S/.00.00
• Costos operativos
83
• Costo total del proyecto – piloto
La tabla 45, se hace un resumen del costo total que tendría el proyecto
Piloto.
Tabla 45. Costo total
Hardware S/. 2,500.00
84
TensorFlow es un marco (base OpenCV es una biblioteca para la
donde se desarrolla el visión por computadora.
software) para la inteligencia
de las máquinas.
Las aplicaciones son Las aplicaciones son
detección de patrones, procesamiento de imágenes,
cerraduras inteligentes, autos detección de rostros,
sin conductor. reconocimiento de gestos.
Admite lenguaje C, C++, Java Admite lenguaje C++ y Python
y Python
Aplicaciones
Aplicaciones basadas en texto, Detección y reconocimiento de
que son casos de uso de redes rostros
neuronales profundas Reconocimiento de gestos
Detección de idioma, correo Detección de imágenes y objetos
electrónico no deseado y Procesamiento de imágenes
detección de amenazas.
El traductor de Google -
aplicaciones basadas en texto.
Tomado y adaptado de Code (48)
85
Tabla 47. Restricciones técnicas
Restricción Área de desarrollo Descripción
Lenguaje de Entrenamiento del Se deberá implementar el
programación - modelo de modelo de reconocimiento
Python reconocimiento facial facial en el lenguaje de
programación Python.
Implementación de la La programación de interfaces
Lenguaje de funcionalidad del y funcionalidades del sistema
programación – sistema. em el lenguaje C# con
C# Implementación de Microsoft visual studio 2019
interfaces de usuario.
Sistema de gestión de El sistema de gestión de base
Servidor de
base de datos - de datos será MySQL, dado
Gestor de Base
MySQL que es muy eficiente,
de datos
permitiendo conexiones
seguras y consultas eficientes.
Api rest – Node JS, Para la programación de la API
Servidor API Api del modelo de se desarrollará en el lenguaje
REST - Nodejs reconocimiento facial JavaScript con el servidor
NODEJS.
Gestión de La planificación del proyecto se
planificación del realizará en el software de
Planificación -
proyecto trello, el cual nos permite tener
Trello
un trabajo eficiente y
controlado.
Editor de lenguaje de La edición de código del
Edición de programación modelo de reconocimiento se
código realizará en el software visual
Code.
4.3. Diseño
Durante esta etapa se busca conseguir una estructura de software que
funcione eficientemente, operando siempre en base a los requerimientos
definidos anteriormente.
86
4.3.1.1. Arquitectura del software
Para tener una visión general es muy importante ver la funcionalidad del
modelo de reconocimiento facial a modo general, la solución del problema se
crea en un servicio con NodeJS, para la detección y reconocimiento facial se
realiza usando la librería de face-recognition con el algoritmo Haarcascade, la
interfaz se realiza con visual Basic en el lenguaje de programación C#,
finalmente para la base de datos se usará MySQL WorkBench. En la Figura 31
se observa la arquitectura implementada.
87
Figura 32. Arquitectura del hardware
4.3.2. Herramientas
● Python: es un lenguaje de programación muy usado en aprendizaje
automático y aprendizaje profundo, gracias a Python la librería de OpenCV
es más sencilla de funcionar.
88
● Cmake: se utilizó esta librería para controlar el proceso de compilación y
administrar.
● Dlib: es una librería que ayuda en la extracción de los puntos del rostro y
extrae 68 puntos aproximados para el reconocimiento facial.
89
Figura 33. Pasos para el reconocimiento facial
Tal como se muestra en la figura 33, los pasos que se siguen para realizar
el reconocimiento facial son: Paso 1, encontrar el rostro, paso 2, encontrar los
puntos de referencia, paso 3, aplicación de red neuronal, paso 4,
reconocimiento de la persona.
90
Figura 34. Mockup de inicio sesión
91
4.3.7. Pantalla administrar usuarios
La pantalla administrar usuarios está compuesto por un menú superior,
cuerpo y pie de página. En el menú principal se encuentra opciones básicas,
donde se podrá regresar a la pantalla principal, ver la lista de usuarios y
registrar uno nuevo, en el pie de página se muestra información básica acerca
del sistema. En la figura 36, se evidencia diseño del mockup.
92
4.3.9. Pantalla administrar estudiantes
La pantalla administrar estudiantes contiene un menú superior, cuerpo y pie
de página. En el menú superior se encuentra opciones básicas, donde se podrá
regresar a la pantalla principal, ver la lista de estudiantes, registrar estudiante
y realizar el reconocimiento facial, en el pie de página se muestra información
básica acerca del sistema. En la figura 38, se evidencia diseño del mockup.
93
4.3.11. Formulario reconocimiento facial
En el formulario de reconocimiento facial, tenemos el menú superior con
opciones de regresar al menú principal y realizar el reconocimiento, en esta
sección se pide dos campos tipo input como son nombre y apellido. Y como
salida se obtiene un label con el nombre del estudiante en caso de halla
coincidencias, caso contrario un label con la descripción de desconocido. En
la figura 40, se plasma el mockup.
94
4.3.13. Diseño de la base de datos
El motor de la base de datos que fue elegido fue MySQL workbench, por la
factibilidad y facilidad de entendimiento para ejecutar todo tipo de información.
Para evaluar el algoritmo de reconocimiento facial es necesario una base de
datos por esta razón se realiza el diseño de la base de datos para responder
con las características de la solución propuesta.
95
Con los requerimientos obtenidos y el diseño desarrollado en la figura 42 del
modelo Entidad relación de la base de datos, se procedió a elaborar la base
de datos en el entorno MySQL Workbench, para almacenar los registros que
se necesitan en la solución del sistema. Esta base de datos está compuesta
por tablas, las cuales se describen a la tabla 48.
01 TblUsuario
02 TblTipoUsuario
03 TblEstudiante
04 TblAsistenciaEstudiante
96
CAPÍTULO V
CONSTRUCCIÓN
5.1. Construcción
Para la etapa de construcción, todos los componentes y características se
integran y desarrollan como un solo producto. También se van haciendo
pruebas de validación durante la codificación.
97
Figura 44. Núcleos utilizados en Haar Cascade
Tomado y adaptado de Mordvintsev (51)
Para entender partimos de una imagen con los siguientes pixeles que se
muestran en la figura 45:
98
La figura 46 muestra que cada píxel en la imagen integral es la suma de
todos los píxeles vecinos que están arriba y a la izquierda de ese píxel, incluido
ese píxel mismo. Con este método podemos calcular fácil y rápidamente
cualquier área de la imagen que queramos.
99
5.5.3. Extracción de características
En las imágenes, las características de cada objeto son aplicando ciertas
funciones que permiten la representación y descripción de los objetos de
interés en la imagen.
Figura 49. Convolución del filtro Haar con una imagen integral
100
Donde 1, 2, 3, 4, son los valores dados en la imagen integral en dichas
localizaciones.
101
Figura 53. Carga de imagen
Tomada y adaptada de Visual Studio Code
103
Figura 57: Estructura del directorio
Tomada de Solano (34)
104
En la figura 58, esta interfaz corresponde para el inicio de sesión del usuario
en el sistema, donde el usuario docente tiene la opción de ingresar su nombre
de usuario y contraseña para acceder. Y en la figura 58 se evidencia la parte
del código del desarrollo.
105
Figura 60. Código de inicio de sesión -2
Tomada del código de programación en C#
106
5.5.6. Interfaz de la pantalla principal
La figura 62, corresponde a la interfaz del menú principal del sistema donde
se muestran las opciones de navegación, donde se tiene las opciones de
administrar usuario, estudiantes y asistencia.
107
5.5.7. Interfaz administrar usuarios
108
5.5.9. Interfaz administrar estudiantes
109
Figura 68. Código del registro estudiantes
Tomada del código de programación en C#
110
Figura 70. Código de reconocimiento facial en C#
Tomada del código de programación en C#
111
5.5.12. Diagrama de clases
Se describen cada una de las clases consideradas en el diagrama respecto
a: nombre, descripción, atributos, métodos y relaciones. Como se muestra en
la figura 73.
112
Tabla 51.Clase estudiante
Nombre de la Estudiante
clase:
113
Tabla 53. Descripción de la tabla Tipo de Usuario
Nombre de la tabla: tblTipoUsuario
Campo Tamaño Tipo de dato Descripción
idTipoUsuario Int Clave única de tipo de
usuario
tipoUsuario 100 Varchar Nombre del tipo de usuario
114
cada campo para el registro de nuevos estudiantes de nuestro sistema para
posterior usar esos datos para el reconocimiento facial.
115
Una vez concluida la implementación, se realizan las respectivas pruebas y
evaluación de los módulos del sistema.
116
CAPÍTULO VI
PRUEBAS Y RESULTADOS
117
Postman es una aplicación que nos permite realizar pruebas API, es un
cliente HTTP que nos da la posibilidad de testear “HTTP requests” a través de
una interfaz gráfica de usuario, por medio de la cual obtendremos diferentes
tipos de respuesta que posteriormente deberán validarse. (52)
118
Escenario 02: Sin mascarilla - sin lentes
119
Escenario 03: Con lentes- sin mascarilla
120
Escenario 04: Otra Persona - Desconocido
121
Escenario 02: sin mascarilla - sin lentes
122
Escenario 03: Con lentes- sin mascarilla
123
Escenario 04: Otra persona - Desconocido
124
Escenario 02: sin mascarilla - sin lentes
125
Escenario 03: Con lentes- sin mascarilla
126
6.2.4. Prueba 04: Joel Cuadros
127
Escenario 02: sin mascarilla - sin lentes
128
6.2.5. Prueba 05: Jorge Bizarro
129
Escenario 02: sin mascarilla - sin lentes
130
Escenario 03: Con lentes- sin mascarilla
6.2.6. Resultados
Como resultado de las 05 pruebas que se usaron como muestras en
diferentes escenarios, se obtuvo una identificación correcta según la
131
clasificación de estos casos como se muestra en la tabla 57, y al realizarse
pruebas con personas no registradas se identifican como desconocidas.
132
6.2.9. Plan de pruebas de aceptación
Este documento nos sirve para definir las pruebas del sistema, también nos
ayuda a efectuar una trazabilidad entre los requisitos y el sistema, validando
de esta forma las necesidades del usuario.
133
6.2.10. Ejecución de resultados
Una vez concluida la implementación se pasa a realizar la ejecución del plan
de pruebas de la tabla 59. Para probar cada módulo del sistema, se identifica
el caso de prueba, un responsable de la ejecución, las precondiciones, el
propósito y el escenario en el que se ejecutaran las pruebas.
134
Actividades:
01. El usuario administrador completa los campos de “usuario” y “contraseña”.
02. Presiona el botón ingresar.
03. Ingreso al Menú principal del sistema.
PASO 1 PASO 2 PASO 3
RESULTADO: ACEPTADO
135
PASO 1 PASO 2
RESULTADO:
136
Haciendo uso de la cámara web se realiza la captura de rostro,
Escenario
sin ninguna oclusión.
Captura de Imagen de estudiante Doris Galindo.
Resultado esperado la imagen capturada se almacena en directorio DataSet con el
nombre de (Doris Galindo).
PASO 1 PASO 2
Estructura Del
Directorio De
Almacenamiento
De Rostros.
Actividades:
01. El usuario selecciona la opción de capturar rostro.
02. Muestra un mensaje de “presiona ENTER para captura la imagen”.
03. Inicio de la cámara con un tiempo de 10 segundos
04. Se realiza 3 capturas mínimas del rostro
137
Tabla 62. Caso de prueba - Capturar rostro con lentes
Caso de Prueba PA04 – Capturar Rostro Con lentes
Responsable Doris Galindo
• El usuario debe estar logueado en el sistema
Precondiciones • El estudiante debe ingresar sus datos
• Posición frontal del estudiante usando lentes
Probar la captura de rostro de un estudiante con lentes en el
Propósito
sistema.
Haciendo uso de la cámara web se realiza la captura de rostro,
Escenario
con la presencia de lentes.
Captura de Imagen de estudiante Sandy Huaringa.
Resultado esperado La imagen capturada se almacena en el mismo directorio DataSet
con el nombre de (Sandy Huaringa).
Actividades:
01. El usuario selecciona la opción de capturar rostro.
02. Muestra un mensaje de “presiona ENTER para captura la imagen”.
03. Inicio de la cámara con un tiempo de 10 segundos
04. Se realiza 3 capturas mínimas con la presencia de lentes en el rostro.
138
PASO 1 PASO 2
RESULTADO: En el directorio creado con nombre y apellido del estudiante, para este
caso (Sandy Huaringa) se almacena las imágenes capturadas.
Estructura Del
Directorio De
Almacenamiento
De Rostros.
139
PASO 1 PASO 2
140
Reconocimiento facial de estudiante Doris Galindo.
Resultado esperado la imagen capturada se almacena en directorio DataSet con el
nombre de (Doris Galindo).
Actividades:
01. El usuario elige el menú “Realizar reconocimiento facial”
02. El usuario debe completar los campos “nombre” y “apellido”. Al presionar el botón de
reconocimiento facial.
03. Muestra un mensaje de “El reconocimiento empezara en segundos”.
PASO 1 PASO 2
141
al momento de realizar la identificación del estudiante mediante
Resultado esperado el reconocimiento facial se registra la asistencia de forma
automática en el sistema
Actividades:
01. El usuario elige el menú “Realizar reconocimiento facial”
02. El usuario debe completar los campos “nombre” y “apellido”. Al presionar el botón de
PASO 1
reconocimiento facial.
03. Muestra un mensaje de “El reconocimiento empezara en segundos”.
04. Activación de la cámara en tiempo real.
05. Muestra el nombre completo del estudiante en un label.
06. Se registra la asistencia al momento de realizar el reconocimiento.
142
Figura 74. Matriz de confusión
Tomada de Zelada (54)
0 Doris | 1 Gladys
Valor Real:
Valor Predicho:
143
Figura 76. Valores de la matriz de confusión
Tomada y adaptada de TechTarget (33)
𝑉𝑃 + 𝑉𝑁 18 + 10 28
𝐴𝑐𝑐𝑢𝑟𝑎𝑐𝑦 = = = = 0.903 = 90%
𝑡𝑜𝑡𝑎𝑙 18 + 2 + 10 + 1 31
144
• Precisión: de todos los positivos que se han predicho con corrección
cuantas son realmente positivas.
𝑉𝑃 18 18
𝑃𝑟𝑒𝑐𝑖𝑠𝑖ó𝑛 = = = = 0.90 = 90%
𝑉𝑃 + 𝐹𝑃 18 + 2 20
145
profundo para el reconocimiento de los rostros y para la extracción de
características se utilizó una red neuronal convolucional profunda con una
precisión de 99,38%. Estos resultados guardan relación con el antecedente
internacional de la investigación “Reconocimiento facial basado en redes
neuronales convolucionales” quienes señalan de como implementaron su
sistema de reconocimiento facial haciendo uso de las redes neuronales
artificiales y como realizaron su evaluación para su respectivo funcionamiento,
ello es acorde con lo que en este estudio se halla.
146
reconocimiento facial arroja un elevado rendimiento en cuanto a identificación
facial se refiere, con valores aproximados al 97 % y además esto se logró con
tan solo 2 fotos por cada usuario registrado. También en otro antecedente
Internacional “Sistema de reconocimiento facial con redes neuronales para la
toma de asistencia en aulas de clase“ (7) obtuvieron resultados positivos al
hacer uso del modelo para detectar a los estudiantes y al profesor, el sistema
detectó a los 9 estudiantes y al profesor, todos con una precisión superior al
89 %.
147
CONCLUSIONES
148
RECOMENDACIONES
2. Se sugiere realizar más pruebas con una mayor cantidad estudiantes para
tener una mayor precisión en el reconocimiento facial, ya que las pruebas
que se hizo fueron con una muestra pequeña de 5 estudiantes.
149
REFERENCIAS BIBLIOGRÁFICAS
1. VALORA ANALITIK. Valora Analitik. [En línea] 20 de Agosto de 2021.
https://www.valoraanalitik.com/2021/08/20/colombia-cuarto-en-america-
mas-amenazado-por-robo-de-identidad/#:~:text=El%20robo%20de%20
identidad%20se,en%20todo%20el%20continente%20americano..
150
(Título de Ingeniero de Sistemas). Colombia: Universidad Autonoma de
Bucaramanga, 2018, 67pp.
10. MUCHA, Elias, y otros. Aplicación del deep learning para el reconocimiento
facial con la presencia de oclusiones en el contexto de la pandemia COVID
2021. Revista ECIPerú. Julio - 2021, 18(1), 17-24.
151
14. MARTÍNEZ, Ricard. Técnologia de verificacion de identidad y control en
examenes online. [En línea] 30 de Septiembre de 2020.
https://doi.org/10.1344/REYD2020.22.32357.
17. ROUHIAINEN, Lasse. Inteligencia artificial: 101 cosas que debes saber
hoy sobre nuestro futuro. Barcelona : © Editorial Planeta, S.A., 2018, 2018.
978-84-17568-08-5.
22. GERSHGORN, Dave. The Quartz guide to artificial intelligence: What is it,
why is it important, and should we be afraid? QUARTZ. 10 de setiembre de
2017.
152
23. KDnuggets. Machine Learning Key Terms, Explained. 2017.
27. IBM CLOUD EDUCATION. IBM. [En línea] 17 de Agosto de 2020. [Citado
el: 19 de enero de 2022.] https://www.ibm.com/pe-es/cloud/learn/neural-
networks.
153
31. NARAG, Jitin. Facial Recognition: leverage the power of tech in your
industry. [En línea] 26 de noviembre de 2019. [Citado el: 19 de enero de
2022.] https://www.techaheadcorp.com/blog/facial-recognition/
34. SOLANO, Gabriela. OMES. [En línea] 21 de ENERO de 2020. [Citado el:
15 de Febrero de 2022.] https://omes-va.com/deteccion-de-rostros-con-
haar-cascades-python-opencv/.
37. VIOLA, Paul y JONES, Michael. Rapid object detection using a boosted
cascade of simple features. Proceedings of the 2001 IEEE Computer
Society Conference on Computer Vision and Pattern Recognition, 2001,
1-9.
38. JIMÉNEZ, Fernando. Formados para formar. s.l. : Editorial Cultiva Libros
S.L., 2014. ISBN: 8416162271.
154
39. MIRANDA, Miguel. La imagen digital. Gen [online]. 2009, vol.63, 2 [citado
6 d enero 20222], pp.134-136. <http://ve.scielo.org/scielo.php?script=sci
_arttext&pid=S0016-35032009000200016&lng=es&nrm=iso>. ISSN 0016-
3503.
43. ESQUEDA, Josè Jaime y Palafox Maestre, Luis Enrique. No hay ningún
eBook disponible. California : UABC. 9707350164.
155
47. XERIDIA. [En línea] 01 de septiembre de 2019. [Citado el: 12 de diciembre
de 2021.]
52. ROMERO, Gustavo. Encora. [En línea] 29 de junio de 2021. [Citado el: 20
de enero de 2022.] https://www.encora.com/es/blog/como-realizar-
pruebas-automatizadas-con-postman.
156
ANEXOS
157
Anexo A
Instrumento de recolección de datos
158
Figura 81. Pregunta Nª4 de la encuesta
159
Figura 84. Pregunta Nª7 de la encuesta
160
Anexo B
Matriz de consistencia
161
Anexo C
Código del proyecto
Código de reconocimiento
162
163
164
165
166