AttendanceSystem

Smart Attendance Management System

A real-time face recognition-based attendance system that automates the process of marking student attendance using live video streams and facial recognition technology.

Overview

The Smart Attendance Management System eliminates the traditional burden of manual attendance tracking by leveraging computer vision and machine learning technologies. This system automatically detects and recognizes faces from live video feeds, compares them against a pre-stored database of student faces, and marks attendance accordingly. This approach effectively prevents proxy attendance and ensures accurate attendance records.

Features

Technology Stack

System Architecture

The system follows these main implementation steps:

  1. Video Capture: Captures live video stream from webcam/camera
  2. Frame Extraction: Extracts individual frames from video using OpenCV
  3. Face Detection: Detects faces in extracted frames using dlib
  4. Face Recognition: Recognizes detected faces using facial recognition algorithms
  5. Database Comparison: Compares recognized faces with stored student database
  6. Attendance Marking: Automatically marks attendance for matched faces

Installation

Prerequisites

Python 3.7 or higher
pip package manager
Webcam or digital camera

Required Libraries

pip install opencv-python
pip install dlib
pip install face-recognition
pip install pandas
pip install numpy

Setup Instructions

  1. Clone the repository:
    git clone https://github.com/yourusername/attendance-system.git
    cd attendance-system
    
  2. Install dependencies:
    pip install -r requirements.txt
    
  3. Set up the student database:
    • Add student photos to the student_images/ directory
    • Run the database setup script to encode faces
    • Ensure images are clear and well-lit for better recognition

Usage

Running the System

  1. Start the attendance system:
    python attendance_system.py
    
  2. Position yourself in front of the camera
  3. The system will automatically detect and recognize faces
  4. Attendance will be marked for recognized students
  5. View attendance records in the generated CSV files

Adding New Students

  1. Place student photos in the student_images/ folder
  2. Run the encoding script:
    python encode_faces.py
    
  3. The system will update the face database automatically

Project Structure

attendance-system/
│
├── attendance_system.py      # Main application file
├── encode_faces.py           # Face encoding script
├── requirements.txt          # Required dependencies
├── README.md                # Project documentation
│
├── student_images/          # Directory for student photos
├── encodings/              # Encoded face data
├── attendance_records/     # Generated attendance CSV files
└── utils/                 # Utility functions and helpers

Configuration

Camera Settings

Database Management

Advantages

Limitations

Future Enhancements

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -am 'Add new feature')
  4. Push to the branch (git push origin feature/new-feature)
  5. Create a Pull Request

License

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

Support

For support and questions, please contact:

Acknowledgments


Note: This system is designed for educational and institutional use. Ensure compliance with privacy regulations and obtain necessary permissions before implementation. ```