Sobre el proyecto

FaceAttend es una aplicación de asistencia en el aula que procesa videos cortos para reconocer a los estudiantes. Utiliza InsightFace para la detección y ArcFace para generar embeddings de 512 dimensiones, que luego se comparan mediante la búsqueda de similitud de FAISS. Las capacidades clave incluyen: - Matriculación de múltiples embeddings: Los estudiantes pueden ser matriculados utilizando múltiples imágenes para mejorar el reconocimiento en diferentes poses e iluminación. - Pipeline de procesamiento de video: Incluye muestreo de fotogramas, alineación facial y un sistema de votación de múltiples fotogramas para reducir los falsos positivos (requiere que un estudiante sea reconocido en varios fotogramas para marcarlo como presente). - Active Learning: Una interfaz de revisión para el profesor permite a los usuarios confirmar detecciones faciales inciertas y añadir esos embeddings a la galería del estudiante para mejorar la precisión futura. - Herramientas de gestión: Funciones para editar registros de estudiantes, anular el estado de asistencia y exportar informes de asistencia a Excel. - Métricas de evaluación: Herramientas integradas para calcular la precisión, el recall y las puntuaciones F1 frente a datos reales (ground-truth). El sistema está construido con un backend de FastAPI, un frontend de JavaScript vanilla y utiliza SQLite para el almacenamiento de datos. Soporta aceleración tanto de CPU como de GPU NVIDIA CUDA a través de ONNX Runtime.