Sobre o projeto

FaceAttend é um aplicativo de presença em sala de aula que processa vídeos curtos para reconhecer alunos. Ele utiliza InsightFace para detecção e ArcFace para gerar embeddings de 512 dimensões, que são então correspondidos usando a busca de similaridade FAISS. As principais capacidades incluem: - Matrícula de múltiplos embeddings: Os alunos podem ser matriculados usando múltiplas imagens para melhorar o reconhecimento em diferentes poses e iluminação. - Pipeline de processamento de vídeo: Inclui amostragem de quadros, alinhamento facial e um sistema de votação de múltiplos quadros para reduzir falsos positivos (exigindo que um aluno seja reconhecido em vários quadros para ser marcado como presente). - Active Learning: Uma interface de revisão do professor permite que os usuários confirmem detecções faciais incertas e anexem esses embeddings à galeria do aluno para melhorar a precisão futura. - Ferramentas de gerenciamento: Recursos para editar registros de alunos, anular o status de presença e exportar relatórios de presença para Excel. - Métricas de avaliação: Ferramentas integradas para calcular precisão, recall e scores F1 em relação a dados de ground-truth. O sistema é construído com um backend FastAPI, um frontend em JavaScript puro e utiliza SQLite para armazenamento de dados. Ele suporta aceleração tanto por CPU quanto por GPU NVIDIA CUDA via ONNX Runtime.