Marauders-9998 / Attendance-Management-using-Face-Recognition

A Desktop App made in Python to handle tasks related to Attendance Management of an Institute
GNU General Public License v3.0
31 stars 29 forks source link
face-detection face-recognition lbph opencv openpyxl python python3 tkinter

Attendance-Management-using-Face-Recognition

Open Issues Forks Stars Made with Python Code style: black Slack

Objective

This desktop application aims to simplify the process of Attendance Management of different classes and batches using Face Recognition and user-friendly GUI. The management of data and marking of attendance is carried out in Excel files.

About the Project

This python based app uses OpenCV libraries: face detection using Haar feature-based cascade classifier and face recognition using Local Binary Patterns Histograms (LBPH) and openpyxl library to manage excel sheet through python scripts. GUI features are implemented using tkinter library.

About the app

The app has two main Panels: Students' and Manager's

Students' panel has one main feature in marking the attendance

Manager's panel has various features in adding a new class, adding a student to logged-in class, training the recognizer and viewing the attendance register

Captured photo after marking attendance automatically gets added to training data images. If the app somehow fails to recognize a student, the Manager can manually mark a student's attendance in attendance register by looking at the images in unrecognized students directory.
Directory Structure:
./extras - contains the attendance register of different classes and the file containing names of all classes
./images - contains the training data images and unrecognized student's directory
./student's list - contains the files containing the information of all students of a class

Usage

python Attendance_app.py

Contribution

Your contributions are always welcome and appreciated. Following are the things you can do to contribute to this project.

  1. Report a bug
    If you think you have encountered an issue, and we should know about it, feel free to report it here and we will take care of it.

  2. Create a pull request
    It can't get better then this, your pull request will be appreciated by the community. You can get started by picking up any open issues from here and make a pull request.

Label Description
good first issue Issues, good for newcomers
easy Issues with relatively easy difficulty
tkinter Issues related to tkinter functionalities
openCV Issues related to openCV functionalities
Discussion Issues which demands throrough discussion with community

If you are new to open-source, make sure to check read more about it here and learn more about creating a pull request here.