SAS-demo.mp4
The Smart Attendance System is a face recognition-based attendance system that uses deep learning and computer vision techniques to recognize faces from images and video streams. This project uses face_recognition
for face detection, Keras for building the recognition model, and Flask for providing a web interface to monitor and manage attendance.
- Real-time Face Recognition: Detects and recognizes faces from live video feeds.
- Deep Learning Model: Uses Convolutional Neural Networks (CNN) for face recognition.
- Web Interface: Built using Flask, allowing users to view and manage attendance records.
- SQLite Database: Attendance data is stored in an SQLite database.
- Python 3.12 or higher
pip
(Python package installer)- Flask==3.0.3
- face_recognition==1.3.0
- Keras==3.5.0
- tensorflow==2.16.0rc0
- opencv-python==4.10.0.84
- dlib==19.24.2
- tqdm==4.66.1
- numpy==1.23.5
- scipy==1.12.0
- scikit-learn==1.4.2
- sqlite3==3.36.0
├── app.py ----------- # Flask app for the web interface
├── train.py ----------- # Script to train the model using a dataset
├── detection.py ----------- # Script for detecting faces and marking attendance
├── models/ ----------- # Contains saved models after training
├── dataset/ ----------- # Directory for storing face images for training
├── templates/ ----------- # HTML templates for the Flask app
├── static/ ----------- # Static files for the web app (CSS, JS)
├── README.md ----------- # Project documentation
To start the web interface, execute:
python app.py
Navigate to http://localhost:5000 in your browser to view the web interface.
To train the model using images in the dataset/ directory, run:
python train.py
Ensure the dataset is structured as follows:
dataset/
├── Person_1/
│ ├── img1.jpg
│ ├── img2.jpg
├── Person_2/
│ ├── img1.jpg
│ ├── img2.jpg
To begin recognizing faces and recording attendance, run:
python detection.py
This will activate your webcam, detect faces, and display recognized names.
Attendance is recorded in an SQLite database (attendance.db). You can view the attendance records via the web interface or query the database directly.