Skip to content

An automated attendance system using Python and a webcam to replace manual methods in colleges. It marks and records attendance in real-time, increasing accuracy and efficiency while reducing errors and class time wasted on roll-calls.

Notifications You must be signed in to change notification settings

RUDEKID6/My-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

My-project

An automated attendance system using Python and a webcam to replace manual methods in colleges. It marks and records attendance in real-time, increasing accuracy and efficiency while reducing errors and class time wasted on roll-calls.

This is a detailed report

Automated Attendance System Using Python and Webcam

This project introduces an innovative approach to college attendance management by automating the process using Python and a webcam. Traditional attendance methods are often time-consuming, prone to error, and susceptible to manipulation. By leveraging facial recognition and modern programming tools, this system streamlines attendance recording, providing a robust, efficient, and scalable solution for educational institutions.


Features

  • Automated Attendance: Marks and records attendance as students’ faces are detected by the webcam.
  • Facial Recognition: Uses powerful libraries to accurately identify registered individuals.
  • Real-Time Operations: Attendance is logged instantly, minimizing loss of class time.
  • CSV Logging: Attendance records are automatically saved to a CSV file for easy tracking and reporting.
  • Modular Design: Easily adaptable and scalable for various environments.

Technologies and Libraries Used

  • Python: Core programming language for the application logic.
  • OpenCV (cv2): Used for image processing, webcam access, frame capture, and drawing rectangles around detected faces.
  • NumPy (numpy): Supports array operations and efficient numerical computations.
  • face_recognition: Provides facial detection and recognition functionalities based on deep learning.
  • os: Used for file and directory operations, including listing student images.
  • datetime: Needed for timestamping attendance events.
  • pathlib: Facilitates path and file handling in a cross-platform manner.

How It Works

  1. Setup and Initialization:

    • The system scans a designated folder (e.g., Attendence) for registered student images.
    • Each image is loaded and stored with the associated student’s name for encoding.
  2. Encoding Faces:

    • All available student images are processed to extract facial encodings using face_recognition.
    • Encodings are saved to match faces captured during attendance.
  3. Marking Attendance:

    • When the system is running, the webcam continuously captures video frames.
    • Each frame is resized and processed to detect faces using the facial recognition library.
    • If a known face is detected (i.e., a match with registered encodings), the student’s name is written (once per session) to the attendance CSV file alongside a timestamp.
  4. Visual Feedback:

    • Detected faces are highlighted with rectangles and names over the video feed for easy verification.

Repository Contents

  • attendance.py: Main Python script containing all functions and logic.
  • Attendence/: Folder holding registered student images (not always pushed to GitHub).
  • Attendance.csv: File where attendance logs are saved.
  • README.md: Overview and usage instructions.
  • .gitignore: Configured to ignore logs, image folders, and other unnecessary files.

Instructions for Use

  1. Install Python 3.x
  2. Install Required Libraries
    pip install opencv-python face_recognition numpy
  3. Add Student Images
    • Place individual JPG/PNG images of students in the Attendence folder. File names should reflect student names.
  4. Run the Application
    • Execute python attendance.py to start webcam-based attendance capture.
  5. Review Attendance Logs
    • Open Attendance.csv to view attendance records with timestamps.

Advantages

  • Efficiency: Reduces time and manual effort required for attendance.
  • Accuracy: Minimizes risk of errors and fraudulent entries.
  • Scalability: Can easily be adapted to larger groups or different institutions.
  • Data Management: Attendance data is stored digitally and securely for reporting.

Future Enhancements

  • Integration with student databases.
  • Addition of a user-friendly GUI.
  • Support for multiple cameras or remote classroom attendance.
  • Customizable reports and analytics.

This project transforms attendance management, using Python and facial recognition to deliver an automated, accurate, and user-friendly solution for modern classrooms.

About

An automated attendance system using Python and a webcam to replace manual methods in colleges. It marks and records attendance in real-time, increasing accuracy and efficiency while reducing errors and class time wasted on roll-calls.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages