Skip to content

Facial Recognition Attendance System using Python, OpenCV, face_recognition, and Firebase. It registers students, encodes their facial features, and marks attendance in real-time.

Notifications You must be signed in to change notification settings

H4ckN3rd/Attendify

Repository files navigation

Attendify 📸

Attendify is a Facial Recognition Attendance System built using Python, OpenCV (cv2), face_recognition, and Firebase for real-time database integration. This application allows the registration of students with their photos, encodes the facial features, and marks attendance by recognizing the student's face in real-time.

Features ✨

  • Add new students with their photos and details.
  • Encode and save facial features for recognition.
  • Real-time attendance marking using facial recognition.
  • Store and retrieve data using Firebase real-time database.
  • Upload and download student photos from Firebase storage.

Prerequisites 🛠️

Make sure you have the following installed:

  • Python 3.x
  • OpenCV
  • face_recognition
  • customtkinter
  • Pillow
  • firebase-admin
  • numpy
  • cvzone

You can install the required Python packages using the following command:

pip install -r requirements.txt

Installation ⚙️

  1. Clone the repository:
git clone https://github.com/H4ckN3rd/Attendify.git
cd attendify
  1. Set up Firebase:

    • Go to the Firebase Console and create a new project.
    • Navigate to the "Project settings" and click on "Service accounts".
    • Generate a new private key and download the serviceAccountKey.json file.
    • Place the serviceAccountKey.json file in the root directory of the project.
  2. Update Firebase configuration:

    • In attendify.py, encode_gen.py, and main.py, make sure the Firebase database URL and storage bucket URL match your Firebase project.

Usage 🚀

  1. Run the Attendify application:
python attendify.py
Attendify GUI
  1. Use the GUI to:
    • Add new student data and photos.
    • Run the encoding process by clicking "Run Encoding".
    • Launch the real-time attendance system by clicking "Launch Attendify".
Attendify GUI 2

Project Structure 📂

  • attendify.py: Main GUI application for adding student data, running encoding, and launching the attendance system.
  • encode_gen.py: Script to encode facial features of the students and save them for recognition.
  • main.py: Script to run the real-time facial recognition and mark attendance.
  • serviceAccountKey.json: Firebase service account key file.
  • images/: Directory where student photos are stored.
  • Resources/: Directory containing background and mode images for the GUI.

Contributing 🤝

Contributions are welcome! Please feel free to submit a Pull Request.

Feel free to customize the content further as per your project's specifics and preferences.

About

Facial Recognition Attendance System using Python, OpenCV, face_recognition, and Firebase. It registers students, encodes their facial features, and marks attendance in real-time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages