The Face Recognition Attendance System is a Python-based application that utilizes face recognition technology to track and record attendance for students. The system stores user data, face images, and attendance records in an SQLite database.
- Face Recognition: Identify students using face recognition technology.
- Database Storage: Store user information, face images, and attendance records in an SQLite database.
- Attendance Records: Ensure attendance is recorded at most once per day per subject.
- Temporary Face Storage: Temporarily store face images before converting them to Base64 for database storage.
- Program and Subject Management: Manage different programs and subjects for accurate attendance tracking.
- Python 3.10+
- OpenCV
- SQLAlchemy
- scikit-learn
- joblib
- numpy
-
Clone the repository:
git clone https://github.com/codewithdark-git/Attendance-Management-System.git cd Attendance-Management-System
-
Install the required packages:
pip install -r requirements.txt
-
Initialize the database:
python -c "from models import create_tables; create_tables()"
Run the main application:
python -m AttendanceSystem.main
The application supports the following operations:
-
Add New User:
- Prompts for user details and captures face images to add a new user to the system.
-
Start Attendance:
- Initiates the attendance process for a specified program and subject. Captures face images and records attendance for identified users.
-
Get Attendance:
- Retrieves and displays attendance records for a specified program and subject.
-
Exit:
- Exits the application.
-
Add New User:
Enter operation ('add', 'start', 'get' or 'exit'): add Enter new user name (format: Firstname_Lastname): John_Doe Enter new user ID: JD123 Enter Your Program name: BSAI
The application will capture face images from the webcam and store them in the database.
-
Start Attendance:
Enter operation ('add', 'start', 'get' or 'exit'): start Enter Your Program name: BSAI Enter your Subject for Attendance: Maths
The application will use the webcam to identify users and record their attendance.
-
Get Attendance:
Enter operation ('add', 'start', 'get' or 'exit'): get Enter Your Program name: BSAI Enter your Subject: Maths
The application will display the attendance records for the specified program and subject.
AttendanceSystem/
__init__.py
attendance/
attendance_manager.py
config.py
face_recognition/
face_detection.py
face_identification.py
face_training.py
main.py
models.py
Contributions are welcome! Please fork the repository and create a pull request with your changes.
This project is licensed under the MIT License. See the LICENSE
file for details.
- This project uses OpenCV for image processing and face detection.
- Face recognition is implemented using the scikit-learn library.
This README file provides a comprehensive guide to understanding, installing, and using the face recognition attendance system. It covers the project's features, installation steps, usage instructions, and an example workflow.