Reconocimiento Facial para Exámenes
Presenciales
1. Descripción
Este sistema automatiza el reconocimiento de alumnos en exámenes
presenciales mediante el uso de visión artificial y reconocimiento de voz.
Incluye funciones para registrar usuarios, capturar imágenes faciales, entrenar un
modelo de reconocimiento y realizar identificación en tiempo real, todo
mediante una interfaz gráfica desarrollada con Tkinter.
2. Librerías utilizadas
cv2 (OpenCV): Usada para capturar video, detectar rostros con
clasificadores Haar y entrenar modelos de reconocimiento facial.
os: Manejo de rutas y archivos del sistema operativo.
numpy: Arreglos y operaciones numéricas para etiquetas del
entrenamiento.
imutils: Redimensionamiento eficiente de imágenes.
tkinter: Interfaz gráfica del usuario para las ventanas de inicio, registro y
acciones.
pyttsx3: Conversión de texto a voz para retroalimentación auditiva.
speech_recognition: Convierte voz del micrófono a texto mediante la
API de Google.
3. Explicación de archivos y funciones
3.1. [Link] - Captura de Rostros:
import cv2
1. **cv2**: Módulo principal de OpenCV.
2. **OpenCV**: Biblioteca de visión artificial para procesamiento de imágenes,
detección de rostros, captura de video, etc.
---
#### ```python
import os
Este módulo se encarga de capturar 500 imágenes del rostro de un usuario.
Primero solicita el nombre por voz:
persona = listen()
speak(f"Ha dicho el nombre: {persona}, comenzando la captura.")
Luego, accede a la cámara con:
cap = [Link](0, cv2.CAP_DSHOW)
Detecta rostros con:
faceClassif = [Link]([Link] +
'haarcascade_frontalface_default.xml')
Cada rostro detectado se recorta, redimensiona a 120x120 y se guarda
con:
rostro = [Link](rostro, (120, 120), interpolation=cv2.INTER_CUBIC)
[Link]([Link](personPath, f'rostro_{count}.jpg'), rostro)
3.2. [Link] – Entrenamiento de modelo:
Este script entrena un modelo de reconocimiento facial utilizando el algoritmo
LBPH (Local Binary Pattern Histogram). El modelo resultante se guarda como
'[Link]'. Muestra cada imagen leída para verificación visual.
3.3. [Link] - Reconocimiento de Rostros:
Carga el modelo entrenado y detecta rostros en tiempo real. Compara los rostros
captados con los datos entrenados y emite si fue reconocido o no. Si es
reconocido, se muestra su nombre y se emite un mensaje de voz.
3.4 [Link] - Módulo de Voz:
Contiene funciones para convertir texto a voz ('speak') y para reconocer voz
desde micrófono ('listen'). Se configura automáticamente para usar voz en
español.
3.5 [Link] - Gestión de Usuarios:
Verifica las credenciales de usuario usando un archivo '[Link]'. También
permite registrar nuevos usuarios mediante voz.
3.6 [Link] y [Link] - Interfaz Gráfica:
Crea la interfaz gráfica con Tkinter. Muestra ventanas para iniciar sesión (por
texto o por voz), registrar usuario, y acceder al panel principal con botones para
capturar, entrenar y reconocer rostros.
4. Beneficios del Sistema
Identificación confiable sin intervención humana.
Previene suplantaciones en ambientes educativos.
Interfaz hablada para mayor accesibilidad.
Modelo entrenable localmente, adaptable a nuevas personas.