Deep Learning based attendance tracker using visual capture
- DNN/"hog" - Face Tracker
- Dlib - Encoding Face with 26 landmarks to perform shearing and other relative image transformations.
- Dlib_Shape_Predictor - Model to predict Face Landmarks to generate 128 Vector Embeddings of a face.
- KNN/SVM - To predict Face_id when given an embedding (Face_id = Register Number).
- Front end for image capture and portal to save attendance records
-
embedding.py - Generates the face embeddings. Contains computation for face detector, face landmark identifier and embeddings generator models.
-
recognition.py - Has Training, Prediction and Compression functions. Imports embeddings.py. Contains Computation for SVM/KNN classifier models.
-
take_face.py - Responsible for hands-free automatic dataset creation for a new face based on face angle, mimics Face ID.
-
record.py - Temporary script for df manipulation, this serves as the DB for the time being
-
app.py - Main Streamlit script which integrates all the other scripts for a demo
The system can track attendance on a single face or on a group of faces in a single frame.
It requires 5 images of a person's face in various angles for effective training.
- Single face training and batch face trainings are available. A total retrain of the entire dataset can be done if needed.
- Records will be created automatically for each face as it is added to the dataset.
- Records will be updated automatically when the attendance for a face is marked.
- For every new face that is added, the model is trained is ready to take attendance for that face.
Containerize app