A simple and intuitive attendance management system that uses facial recognition to automatically track and record student attendance.
- User-Friendly Interface: A clean and simple UI for easy navigation.
- Face Registration: Easily enroll new students by capturing their facial images.
- AI-Powered Training: Uses OpenCV to train a recognition model based on the registered faces.
- Automatic Attendance: Marks attendance automatically by recognizing faces from a live camera feed.
- Attendance Tracking: Records attendance in organized CSV files, categorized by subject.
- View Records: Allows users to view the attendance records in a clean, tabular format.
There are two ways to run this application:
This is the simplest way to use the application without any setup.
- Download the
ClassVision.exefile from the project's Releases page. - Run the executable file. The application is pre-trained and ready to use.
- Use the "Take Attendance" feature to start recognizing faces.
Note: The pre-built executable comes with a pre-trained model. The "Register" and "Train" features will not permanently save new faces in the executable version.
This method allows you to run, modify, and retrain the application.
-
Clone the Repository:
git clone https://github.com/your-username/Attendance-Management-system-using-face-recognition.git cd Attendance-Management-system-using-face-recognition -
Install Dependencies: Make sure you have Python 3.9+ installed, then run:
pip install -r requirements.txt
-
Run the Application:
python attendance.py
-
Train Your Own Model:
- Use the "Register a new student" button to capture images of a new person.
- Click the "Train Image" button to build the recognition model (
Trainner.yml). - Once training is complete, you can use the "Take Attendance" feature.
To create your own standalone executable (.exe) after making changes or training with new faces:
-
Ensure the Model is Trained: Follow step 4 above to ensure the
Trainner.ymlfile exists. -
Run PyInstaller: Use the following command to bundle the application and all its assets into a single executable file. The result will be in the
distfolder.pyinstaller --noconfirm --onefile --windowed --icon="AMS.ico" --add-data="AMS.ico;." --add-data="haarcascade_frontalface_default.xml;." --add-data="haarcascade_frontalface_alt.xml;." --add-data="StudentDetails;StudentDetails" --add-data="UI_Image;UI_Image" --add-data="TrainingImageLabel;TrainingImageLabel" attendance.py