AutoMark is a smart Attendance system that uses the OpenCV and Haar-Cascade Classifier to mark the attendance of the students.
This project implements a smart attendance system for students using OpenCV (Open Source Computer Vision Library) and a pre-trained Haar cascade classifier. Here's a breakdown of the functionalities:
- Camera: Captures real-time video feed of the students.
- OpenCV Libraries: Used for image processing tasks like frame grabbing, face detection, and drawing bounding boxes.
- Haar Cascade Classifier: A pre-trained model that efficiently detects frontal human faces within the video frames.
- Student Database: Stores student information like IDs, names, and potentially facial images (optional for enhanced recognition).
- Attendance Marking System: Logs attendance data, typically with timestamps and student IDs. This can be a simple text file, a spreadsheet, or integrated with existing attendance management software.
- Real-time Video Capture: The system continuously captures video frames from the camera.
- Face Detection: OpenCV utilizes the Haar cascade classifier to identify and locate faces within each frame.
- Student Recognition (Optional): If the system stores student facial data, additional algorithms (not necessarily Haar cascade) might be used to recognize specific students within the detected faces.
- Attendance Marking: Based on detected faces (and potentially recognized students), the system marks attendance in the database. This might involve recording timestamps and student IDs (or names).
- Visualization (Optional): The system can display the video feed with bounding boxes around the detected faces for real-time monitoring purposes.
- Automated Attendance: Eliminates the need for manual attendance checks, saving time and reducing errors.
- Scalability: The system can handle multiple students simultaneously.
- Reduced Contact (Optional): If facial recognition is implemented, students might not need to physically interact with a device to register attendance.
- Cost-effective: Leverages open-source libraries like OpenCV, making it a budget-friendly solution.
- Haar cascade limitations: The pre-trained model might struggle with angled faces, poor lighting conditions, or occlusions (e.g., hats, masks).
- Privacy Concerns: Storing student facial data raises privacy considerations that need to be addressed with proper security measures and user consent.
- This will be used to add face to dataset and face will be recorded via webcam.
python Add_faces.py
- Record attendance of added face , press 'o' to record attendance and it will create csv file corresponding to date present , name and timestamp will be recorded.
python test.py
- Attendance will be displayed here and can be downloaded in csv format.
streamlit run app.py
For more output images visit: Link
- Classifier Documentation
- Streamlit Documentation
- Research Paper Documentation
Ensure you have the following dependencies installed:
- Python (version 3.9.x || 3.12.x)
- IDE: VS-CODE or collab
- Virtual-environment(venv)
- Other dependencies (refer to the requirements.txt)
You can install the required Python packages using:
pip install -r requirements.txt
- Clone the repository:
git clone https://github.com/SINGHxTUSHAR/AutoMark.git
cd AutoMark
- Create a virtual environment (optional but recommended):
python -m venv venv
- Activate the virtual environment:
- On Windows:
venv\Scripts\activate
- On macOS/Linux:
source venv/bin/activate
If you'd like to contribute to this project, please follow the standard GitHub fork and pull request process. Contributions, issues, and feature requests are welcome!
If you have any suggestions for me related to this project, feel free to contact me at tusharsinghrawat.delhi@gmail.com or LinkedIn.
This project is licensed under the MIT License - see the LICENSE file for details.