An open API service indexing awesome lists of open source software.

https://github.com/xharshit/face-recognition-based-student-attendance-system-using-ml

Automated attendance system using face recognition with Python, OpenCV, and machine learning. Real-time detection, logging, and GUI support.
https://github.com/xharshit/face-recognition-based-student-attendance-system-using-ml

attendance-system computer-vision face-detection face-recognition keras machine-learning mtcnn-face-detection opnecv python tensorflow

Last synced: 3 months ago
JSON representation

Automated attendance system using face recognition with Python, OpenCV, and machine learning. Real-time detection, logging, and GUI support.

Awesome Lists containing this project

README

          

# ๐Ÿ“ธ Face Recognition Based Student Attendance System Using ML

An AI-powered attendance system that uses face recognition to automatically mark students' attendance. Built with Python and Machine Learning, the system integrates face detection, encoding, and classification models to log attendance securely and efficiently.

---

## ๐Ÿง  Technologies Used

- Python
- OpenCV
- TensorFlow / Keras
- MTCNN for face detection
- FaceNet for face embeddings
- Support Vector Machine (SVM) for classification
- Tkinter (GUI)
- Firebase (optional)
- Pandas, NumPy

---

## ๐Ÿš€ Features

- ๐ŸŽฏ Real-time face detection and recognition
- ๐Ÿง‘โ€๐ŸŽ“ Auto-attendance logging with name and timestamp
- ๐Ÿ“ Dataset creation and embedding generation
- ๐Ÿ—ƒ๏ธ Secure model training and classification using SVM
- ๐Ÿ“ค Export attendance logs to Excel
- ๐Ÿ–ฅ๏ธ GUI interface using Tkinter

---

## ๐Ÿ“ Folder Structure

```
.
โ”œโ”€โ”€ Dataset/ # Student face images
โ”œโ”€โ”€ Images_GUI/ # UI and app icons
โ”œโ”€โ”€ classifier/ # Trained SVM models
โ”œโ”€โ”€ encodings/ # Face embeddings
โ”œโ”€โ”€ architecture.py # FaceNet model structure
โ”œโ”€โ”€ facenet_keras_weights.h5 # Pre-trained FaceNet weights
โ”œโ”€โ”€ generateDataset.py # Script to capture student images
โ”œโ”€โ”€ homepage.py # GUI application
โ”œโ”€โ”€ recognizer.py # Face recognition and attendance logging
โ”œโ”€โ”€ train_v2.py # Train SVM on embeddings
โ”œโ”€โ”€ requirements.txt # Dependencies
```

---

## โš™๏ธ Installation

1. Clone the repository:

```bash
git clone https://github.com/xHarshit/Face-Recognition-Based-Student-Attendance-System-Using-ML.git
cd Face-Recognition-Based-Student-Attendance-System-Using-ML
```

2. Install the dependencies:

```bash
pip install -r requirements.txt
```

3. Run the GUI application:

```bash
python homepage.py
```

---

## ๐Ÿ–ผ๏ธ Screenshots

1. Homepage
![Homepage](./screenshots/1.png)

2. Face Recognition
![Face Recognition](./screenshots/2.png)

3. Attendance Logging
![Attendance Logging](./screenshots/3.png)

---

## ๐Ÿงช How It Works

1. Use generateDataset.py to capture images of each student.
2. Train the classifier using train_v2.py.
3. Launch the GUI with homepage.py.
4. Recognizer detects faces from webcam and marks attendance in Excel.

---

## ๐Ÿ“ˆ Future Enhancements

- Add liveness detection to prevent spoofing
- Create dashboard for admin analytics
- Add notification system for parents
- Mobile/web app integration for real-time access

---

## ๐Ÿ“„ License

This project is licensed under the [MIT License](LICENSE). Feel free to use and modify it for your own learning or projects.