Abstract
Face ID Attendance System is an open-source AI & Machine Learning project. This repository contains a real-time Face Recognition Attendance System that uses a webcam to identify known faces and automatically log attendance. It prevents duplicate entries, stores data locally in CSV, and uses Supabase for remote storage. An automated real-time face recognition attendance management system built with Python, OpenCV, face_recognition (dlib), MediaPipe, and Supabase. The system detects and recognizes faces via a live camera feed, compares 128-dimensional encodings against pre-computed local data, displays student information on a graphical user interface, records attendance in a local CSV log with session-level deduplication, and updates cloud records with a 30-second cooldown mechanism. It is built using Python. Key capabilities include: Real-Time Detection and Recognition: High-accuracy face detection and 128-dimensional encoding extraction powered by dlib and face_recognition; Local CSV Attendance Logging: Reliable local CSV logging (attendance.csv) with automatic header generation (Name, Date, Time) and robust error handling; Session-Level Deduplication: In-memory set tracking ensuring students are logged only once per session without redundant file I/O operations across continuous frames. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.
1. Introduction
An automated real-time face recognition attendance management system built with Python, OpenCV, face_recognition (dlib), MediaPipe, and Supabase. The system detects and recognizes faces via a live camera feed, compares 128-dimensional encodings against pre-computed local data, displays student information on a graphical user interface, records attendance in a local CSV log with session-level deduplication, and updates cloud records with a 30-second cooldown mechanism.
2. Objective
This repository contains a real-time Face Recognition Attendance System that uses a webcam to identify known faces and automatically log attendance. It prevents duplicate entries, stores data locally in CSV, and uses Supabase for remote storage.
This project demonstrates how Python can be applied to a real-world AI & Machine Learning problem.
3. Key Features / Modules
- Real-Time Detection and Recognition: High-accuracy face detection and 128-dimensional encoding extraction powered by dlib and face_recognition.
- Local CSV Attendance Logging: Reliable local CSV logging (attendance.csv) with automatic header generation (Name, Date, Time) and robust error handling.
- Session-Level Deduplication: In-memory set tracking ensuring students are logged only once per session without redundant file I/O operations across continuous frames.
- Database Integration: Cloud storage and database synchronization using Supabase for student metadata and profile assets.
- Cooldown Verification: Automated timestamp validation ensuring cloud student attendance records are updated cleanly.
- Graphical User Interface: Real-time canvas overlay rendering system states, student details, and status indicators onto a custom background layout.
- 3D Landmark Triangulation: Standalone MediaPipe module for real-time 468-point 3D face mesh visualization.
4. Technology Stack
- Auto-Creation: If attendance.csv does not exist or is empty, the header row Name,Date,Time is created automatically.
- Session Deduplication: An in-memory set (session_marked_students) tracks IDs during application execution. Duplicate CSV entries are prevented even if a person remains detected over hundreds of consecutive frames.
- Error Resilience: Validates non-empty input strings, catches file write/permission exceptions without interrupting webcam capture or display loops.
- Programming Language: Python 3.8+
- Computer Vision: OpenCV, cvzone, MediaPipe
- Facial Recognition: face_recognition (dlib)
- Local Storage: Built-in csv module
- Backend / Database: Supabase (Database & Object Storage)
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Python 3.8 or later
- pip / virtualenv for dependencies
- VS Code, PyCharm or Jupyter Notebook
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/290Priyansh/FaceID-Attendance-System.git
cd FaceID-Attendance-Systempip install opencv-python face-recognition cvzone numpy supabase python-dotenv mediapipeFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Deploy the model as a web app with Streamlit, Flask or FastAPI
- Compare against an additional model and report the metric difference
- Add explainability (SHAP / Grad-CAM)
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- What dataset does the project use and how was it pre-processed?
- Which algorithm / model architecture is used and why was it chosen over alternatives?
- How are training and testing data split, and how is overfitting avoided?
- Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
- How would you deploy this model for real users?
9. Source Code & License
This project is developed by 290Priyansh and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for AI & Machine Learning Internship