An open API service indexing awesome lists of open source software.

https://github.com/iamaindrik/face-attendance-system

This project implements a face recognition system to automate attendance tracking, allowing for efficient management of attendance records in educational and professional environments.
https://github.com/iamaindrik/face-attendance-system

flask knn-algorithm machine-learning python

Last synced: 19 days ago
JSON representation

This project implements a face recognition system to automate attendance tracking, allowing for efficient management of attendance records in educational and professional environments.

Awesome Lists containing this project

README

        

# Face Recognition Based Attendance System

## Table of Contents
- [Introduction](#introduction)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Algorithm Overview](#algorithm-overview)

## Introduction
The Face Recognition Based Attendance System is a robust and efficient application designed to automate the attendance process using facial recognition technology. Leveraging the K-Nearest Neighbors (KNN) algorithm, this system provides an accurate and user-friendly method to track attendance, minimizing manual input and maximizing efficiency.

## Features
- **Automated Attendance**: Automatically marks attendance based on facial recognition.
- **Real-time Processing**: Uses a live video feed to detect faces in real time.
- **User-Friendly Interface**: Simple and intuitive interface for both teachers and students.
- **Customizable**: Easy to modify and extend according to specific requirements.
- **Data Management**: Store and manage attendance records efficiently.

## Technologies Used
- Python
- OpenCV
- scikit-learn
- Flask (for web framework)
- NumPy
- Pandas
- Matplotlib (for data visualization)

## Algorithm Overview
### K-Nearest Neighbors (KNN)
KNN is a simple yet effective algorithm used for classification tasks. In this project, KNN is utilized to classify the faces of users based on their features. The algorithm works as follows:
1. **Feature Extraction**: Faces are pre-processed and features are extracted using techniques like Histogram of Oriented Gradients (HOG).
2. **Training**: The KNN algorithm is trained with labeled data (images of users).
3. **Classification**: When a new face is detected, the algorithm compares it to the existing data and identifies the closest match based on distance metrics.

Setup and Running Instructions


Step 1: Clone the Repository


Open your terminal or command prompt and run the following command:


git clone https://github.com/iamaindrik/face-attendance-system.git

Step 2: Navigate to the Project Directory


cd face-attendance-system

Step 3: Set Up a Virtual Environment (Optional but Recommended)


Install virtualenv if you haven't:


pip install virtualenv

Create a virtual environment:


virtualenv venv

Activate the virtual environment:



  • On Windows:
    venv\Scripts\activate


  • On macOS/Linux:
    source venv/bin/activate



Step 4: Install Dependencies


Run the following command to install all required packages:


pip install -r requirements.txt

Step 5: Run the Application


Use the following command to start the Flask application:


python app.py

Step 6: Access the Application


Open your web browser and go to the URL displayed in the terminal, typically:


http://127.0.0.1:5000

Typing SVG