Welcome to the GitHub repository for the project: a Facial Recognition-Based Attendance System designed for teachers and students. This project was developed in collaboration with a local non-profit organization aiming to bring sustainable, low computational cost solutions for automatic attendance systems to resource-limited schools in Pakistan.
Our system leverages facial recognition technology to streamline the attendance process, making it more efficient and less time-consuming. By employing machine learning algorithms Haar cascade classifiers for face detection and k-Nearest Neighbors (k-NN) for face recognition, we've created a cost-effective and lightweight architecture. This ensures optimal performance across various devices, including both phones and PCs, making it accessible to schools with limited resources.
- Low Computational Cost: Designed with resource constraints in mind, ensuring it runs smoothly on minimal hardware.
- Cross-Platform Compatibility: Works seamlessly on both phones and PCs, providing flexibility in usage.
- Sustainable Solution: A collaboration with local non-profits to support educational institutions in Pakistan.
- User-Friendly Interface: Implemented using HTML, Bootstrap, and JavaScript for a smooth user experience.
- Efficient Backend: Powered by Flask, ensuring a robust and scalable application.
To get started, please follow the instructions below:
Ensure you have the following installed:
- Python 3.x
- Flask
- OpenCV
- A suitable web browser (Chrome/Firefox)
- Clone the repository to your local machine:
git clone https://github.com/taexj/Facial-Recognition-Based-Attendance-System-For-Teachers-and-Students-Using-Machine-Learning.git
- Navigate to the cloned repository:
cd Facial-Recognition-Based-Attendance-System-For-Teachers-and-Students-Using-Machine-Learning
- Install the required dependencies:
pip install -r requirements.txt
- Run the Flask application:
flask run
The current iteration of our system leverages traditional Machine Learning algorithms for facial detection and identification tasks. Moving forward, we aim to explore and integrate Deep Learning techniques to enhance the system's accuracy and efficiency.