Skip to content

An intelligent attendance system that combines facial recognition with automated door access control. It uses computer vision to identify authorized personnel, maintains attendance records in real-time, and controls physical access through an Arduino-based door mechanism.

License

Notifications You must be signed in to change notification settings

agneya-1402/Secure-Attendance-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Secure-Attendance-System

An intelligent attendance system that combines facial recognition with automated door access control. It uses computer vision to identify authorized personnel, maintains attendance records in real-time, and controls physical access through an Arduino-based door mechanism.

 Demo

🌟 Features

  • Face Recognition: Automated personnel identification
  • Attendance Tracking: Real-time Excel-based attendance logging
  • Access Control: Automated door control via Arduino
  • User Management: Easy addition of new authorized personnel
  • Security: Prevents duplicate entries and unauthorized access

🔧 Hardware Requirements

  • Webcam/USB Camera
  • Arduino Uno/Nano
  • SG90 Servo Motor
  • USB Cable for Arduino
  • Basic wiring components

📝 Circuit Diagram

Arduino Circuit

The servo motor is connected to:

  • Pin 9 (PWM) for signal
  • 5V for power
  • GND for ground

🚀 Installation

  1. Clone the repository
git clone https://github.com/agneya-1402/Secure-Attendance-System.git
cd Secure-Attendance-System
  1. Create a virtual environment
python -m venv venv
source venv/bin/activate  
  1. Install dependencies
brew install cmake
brew install dlib
CFLAGS="-stdlib=libc++" 

📁 Project Structure

Secure-Attendance-System/
│
├── known_faces/          # Store authorized personnel images
├── circuit/             # Arduino circuit diagrams
├── src/                 # Source code
    ├── main.py         # Main Python script
    └── Attendance_1.ino # Arduino servo control code

⚙️ Setup

  1. Arduino Setup

    • Upload Attendance_1.ino to your Arduino board
    • Connect servo motor to Pin 9
    • Note down the COM port/device path
  2. System Configuration

    • Add authorized personnel photos to known_faces/ directory
    • Name photos as firstname_lastname.jpg
    • Update Arduino port in main.py if necessary
  3. Run the System

python src/main.py

🎮 Usage

  1. Adding New Users

    • Add clear face photos to known_faces/ directory
    • Format: firstname_lastname.jpg
    • System automatically loads new faces on startup
  2. Taking Attendance

    • Stand in front of camera
    • System automatically:
      • Recognizes face
      • Marks attendance
      • Opens door if authorized
  3. Viewing Attendance

    • Check attendance.xlsx for records
    • Contains name, date, and time of entry

📊 Sample Data Format

The attendance.xlsx file follows this structure:

Name Date Time
Agneya P. 2024-10-22 09:00:15
Jane Smith 2024-10-22 09:15:22

🔨 Troubleshooting

Common issues and solutions:

  1. Arduino Connection Error

    • Check USB connection
    • Verify correct COM port/device path
    • Ensure Arduino IDE isn't using the port
  2. Face Recognition Issues

    • Ensure good lighting
    • Maintain proper distance from camera
    • Check if photo in known_faces/ is clear

🤝 Contributing

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

📜 License

Distributed under the MIT License. See LICENSE for more information.

🙏 Acknowledgments

  • OpenCV for computer vision capabilities
  • DeepFace for facial recognition
  • Arduino community for hardware support
  • Anthropic's Claude for development assistance

About

An intelligent attendance system that combines facial recognition with automated door access control. It uses computer vision to identify authorized personnel, maintains attendance records in real-time, and controls physical access through an Arduino-based door mechanism.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published