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.
- Host: GitHub
- URL: https://github.com/iamaindrik/face-attendance-system
- Owner: iamaindrik
- License: apache-2.0
- Created: 2024-11-03T03:51:37.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-11-06T04:23:59.000Z (6 months ago)
- Last Synced: 2025-02-14T02:24:57.693Z (2 months ago)
- Topics: flask, knn-algorithm, machine-learning, python
- Language: HTML
- Homepage: https://face-attendance-system-rho.vercel.app
- Size: 634 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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