SINGHxTUSHAR / AutoMark

This is a Smart Attendance System designed using a pre-trained model called Haar-Cascade Classifier, OpenCV and other various Dependencies to mark the attendance in a smarter way and saves the lecture time.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GitHub license GitHub contributors GitHub issues GitHub pull-requests PRs Welcome

GitHub watchers GitHub forks GitHub stars

Open in Visual Studio Code

AutoMark ๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ๐Ÿ“‹:

AutoMark is a smart Attendance system that uses the OpenCV and Haar-Cascade Classifier to mark the attendance of the students. Designer (1)

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:

System Components:

  • 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.

Working Process:

  • 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.

Benefits:

  • 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.

Limitations:

  • 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.

Commands โœ๏ธ:

  • 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

Output ๐Ÿ“:

For more output images visit: Link out_1 out_2 out_6

Reference ๐Ÿงง:

Requirements๐Ÿ’ป :

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

Setup ๐Ÿ’ฟ:

  • 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

Contributing ๐Ÿ“Œ:

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!

Suggestion ๐Ÿš€:

If you have any suggestions for me related to this project, feel free to contact me at tusharsinghrawat.delhi@gmail.com or LinkedIn.

License ๐Ÿ“:

This project is licensed under the MIT License - see the LICENSE file for details.

About

This is a Smart Attendance System designed using a pre-trained model called Haar-Cascade Classifier, OpenCV and other various Dependencies to mark the attendance in a smarter way and saves the lecture time.

License:MIT License


Languages

Language:Python 100.0%