프로젝트 소개
FaceAttend는 짧은 비디오를 처리하여 학생을 인식하는 강의 출석 애플리케이션입니다. 이 시스템은 검출을 위해 InsightFace를 사용하고, 512차원 임베딩 생성을 위해 ArcFace를 활용하며, 이후 FAISS 유사도 검색을 통해 매칭을 수행합니다.
주요 기능은 다음과 같습니다:
- 다중 임베딩 등록: 다양한 포즈와 조명 환경에서도 인식률을 높이기 위해 여러 장의 이미지를 사용하여 학생을 등록할 수 있습니다.
- 비디오 처리 파이프라인: 프레임 샘플링, 얼굴 정렬 및 다중 프레임 투표 시스템을 포함하여 오탐지(False Positive)를 줄입니다(학생이 출석으로 처리되려면 여러 프레임에서 인식되어야 함).
- 능동 학습(Active Learning): 교사 검토 인터페이스를 통해 사용자가 불확실한 얼굴 검출 결과를 확인하고, 해당 임베딩을 학생 갤러리에 추가하여 향후 정확도를 향상시킬 수 있습니다.
- 관리 도구: 학생 기록 수정, 출석 상태 강제 변경 및 출석 보고서의 Excel 내보내기 기능을 제공합니다.
- 평가 지표: 실제 데이터(ground-truth)를 바탕으로 정밀도(precision), 재현율(recall) 및 F1 스코어를 계산하는 내장 도구를 갖추고 있습니다.
이 시스템은 FastAPI 백엔드와 순수 JavaScript 프론트엔드로 구축되었으며, 데이터 저장소로는 SQLite를 사용합니다. 또한 ONNX Runtime을 통해 CPU 및 NVIDIA CUDA GPU 가속을 모두 지원합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.