Skip to content

huavinhkhang0405/face-authentication-system

Repository files navigation

AI Attendance System

Problem

Build a classroom attendance system that identifies students by face and validates liveness to reduce spoofing.

Approach

  1. Collect face images, align them, and generate embeddings.
  2. Train a KNN classifier with COA-based hyperparameter search.
  3. Serve a Flask app for capture, liveness checks, recognition, and attendance export.

Architecture diagram

flowchart LR
  UI[Flask Web UI] --> API[/api/process_frame/]
  API --> Detector[FaceDetector]
  API --> Liveness[Liveness Check]
  API --> Embed[FaceEmbedder]
  Embed --> KNN[Trained KNN Model]
  Data[(data/raw and data/faces_aligned)] --> Align[Align Faces]
  Align --> Embed
  KNN --> Attendance[attendance_YYYY-MM-DD.csv]
Loading

How to run

1) Install dependencies

python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt

2) Prepare data and train

python main.py

Follow menu options 1-5 in the CLI.

Or run steps directly:

python -m src.data.data_capture
python -m src.data.detect_align
python -m src.model.embedder
python -m src.model.find_hyperparams
python -m src.train

3) Run the web app

python api/app.py

Open http://127.0.0.1:5000 in your browser.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors