/FaceLog

A webpage application that can record attendance using the attendee's face. This application provides essential tools to manage attendance during runtime conveniently.

Primary LanguagePythonMIT LicenseMIT

facelog thumbnail FaceLog facelog badge

A webpage application that can record attendance using the attendee's face. This application provides essential tools to manage attendance during runtime conveniently. Registering new attendees, training models and checking attendance can be done through the web app directly.

Table of Contents

Features

Main Features

facial recognition   face apturing

  • Start Facial Recognition - Start the real-time facial recognition to record the attendance.
  • Register User - Capture images of the attendee's face for the system to recognize the face.

chart   attendance table

  • Update Model - Train the model using the captured faces dataset. This can take some time depending on the size of the dataset.
  • Analyze Model - Generate a scatter plot chart in a 2D plane representing the current model data distribution.
  • View Attendance - Opens the attendance table and displays the existing attendance from the Excel files.

Additional Features

password change   camera selector   attendance selector

  • Change Password - Change the system's password to improve security.
  • Camera Selection - Switch between available cameras connected to the device.
  • Attendance File Selection - Switch between available attendance files.
  • Button Tooltips - Helps user understand the button's functionality.
  • Dynamic Buttons - Helps user identify the button and system state.
  • Protected Buttons - Prevent sensitive actions from being executed without permission.

Important

The default password is admin.

Note

The system performs facial recognition every 0.1 seconds to improve performance. It will recognize face at 30% probability but only record attendance if above 70% probability.

Guidelines

Dataset Capturing Guidelines

  1. Keep the background plain without patterns, movements and other people.
  2. It is recommended to take the face dataset capturing two times. One in a well-lit environment and another in a darker environment.
  3. During capturing, try to move the attendees' heads at different angles slowly. Move from left to right and try to write the letter O using their head.
  4. During capturing, try to mimic different common emotions, visible teeth and talking.
  5. Capturing 50 face variations is not required but it would be ideal as long as the attendees are still comfortable during the process. At least providing 30 images can be acceptable but can produce less desirable results.

Dataset Management Guidelines

  1. Datasets are stored in the faces folder. Each attendee's name is inside the folder and the system uses the folder name as the attendee's name.
  2. In case of capturing a dataset of the same attendees where there is a name conflict, you can temporarily add numbers to the attendee's name during registration and then move the images to the proper folder later.
  3. In case of gathering datasets from external sources like social media and personal photos, you can move those images directly to the proper attendee's folder.
  4. During training, the system automatically deletes datasets with no face or multiple faces.
  5. Sometimes, patterns in the background can be recognized as faces and the program cannot differentiate the error, that is why facefilter.py is created to manually review datasets, especially those which come from external sources.

Warning

Always have a backup of your dataset since training the model can delete invalid datasets.

Installation

  1. Download the latest version of LocalLoan.
  2. Install FaceLog-1.0.0-Beta.exe.
  3. Make sure to include pip during Python installation.
  4. Open 127.0.0.3:3000 using browser to access the web application.

License

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

Acknowledgments