https://github.com/notorious0631/fast-track
Face Detection Attendance System A real-time face recognition attendance system built using OpenCV, Tkinter, and Arduino. This project detects and recognizes faces from a webcam feed, marks attendance with timestamps, and optionally triggers Arduino-based hardware (e.g., LED indicator).
https://github.com/notorious0631/fast-track
face face-detection face-recognition opencv opencv-python python
Last synced: about 1 month ago
JSON representation
Face Detection Attendance System A real-time face recognition attendance system built using OpenCV, Tkinter, and Arduino. This project detects and recognizes faces from a webcam feed, marks attendance with timestamps, and optionally triggers Arduino-based hardware (e.g., LED indicator).
- Host: GitHub
- URL: https://github.com/notorious0631/fast-track
- Owner: notorious0631
- Created: 2025-06-30T17:25:52.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-11T09:42:47.000Z (11 months ago)
- Last Synced: 2025-07-11T12:41:52.037Z (11 months ago)
- Topics: face, face-detection, face-recognition, opencv, opencv-python, python
- Language: Python
- Homepage:
- Size: 537 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Fast-Track.
# Face Detection Attendance System
A real-time face recognition attendance system built using **OpenCV**, **Tkinter**, and **Arduino**. This project detects and recognizes faces from a webcam feed, marks attendance with timestamps, and optionally triggers Arduino-based hardware (e.g., LED indicator)
---
## 🛠Features
- Real-time face detection and recognition
- New user registration with duplicate face prevention
- Attendance logging with date and time
- GUI interface using Tkinter
- View and manage attendance records
- Delete user data and retrain model
- Optional Arduino support for hardware triggers (e.g., LED blink)
---
## 📸 Technologies Used
- Python 3.x
- OpenCV (`opencv-contrib-python`)
- Tkinter (standard GUI library)
- Pillow (for image rendering)
- Pandas (CSV handling)
- Arduino (via `pyserial` for serial communication)
---
## 🧱 Directory Structure
Face-Attendance-System/
├── dataset/ # Captured face images
├── trainer/ # Trained model file (trainer.yml)
├── attendance.csv # Attendance records
├── names.pkl # Pickled dictionary of user IDs and names
├── user_id.pkl # Tracks next user ID
├── haarcascade_frontalface_default.xml # Haar Cascade for face detection
├── main.py # Main application script
└── README.md # Project documentation
👤 Adding a New User
>Enter the user's name in the text field.
>Click "Add New User".
>The system will capture 30 face images and train the model.
>Duplicates are detected using confidence scores and live validation.
📅 Viewing Attendance
>Click "Show Attendance" to view all records.
>You can delete individual or all records from within the GUI.
🗑 Deleting a User
>Select a name from the dropdown and click "Delete User".
>Their images and training data will be removed and the model will retrain automatically.
📌 Notes
>Face data and user names are stored using pickle.
>Attendance is stored in attendance.csv.
>The app locks repeated attendance marking for the same user within 30 seconds.
📷 Screenshots
>Add screenshots here showing:
>The GUI
>Real-time face recognition
>Attendance window
🧠Future Improvements
>Cloud database integration (Firebase / MongoDB)
>Mask detection support
>Role-based access
>Deploy as a desktop app with PyInstaller