This project focuses on the development of Camera Based Attendance App for Multiple Faces as my fullfillment of my Major Project.This innovative project aimed at transforming traditional attendance management systems by leveraging advanced facial recognition technology. The primary objective of this project is to develop an automated image-based attendance recording solution, that eliminates the need for manual attendance recording,reduces the potential for errors, and provides real-time data
- Model creation and training
- Developing a Mobile App
- Facilating Communication between the app and the model using an API
Name | Type | Description |
---|---|---|
ML | Directory | Codefiles for the face detection and recognition model |
MobileApp | Directory | Codefiles for development of the mobile app |
Flask | Directory | Creation of API |
attendanceAppTrial.apk | APK file | The final apk file for installation on android |
- Navigate to the ML folder
-
- For using Haar-Cascade Classifier to extract faces for training:
Run
Haar_dataset_capture.py
- For using MTCNN to extract faces for training:
Run
mtcnn_capture.py
- For using Haar-Cascade Classifier to extract faces for training:
- The UI opens for the capture of the image files. The user needs to enter the name and roll number and then the camera automaticallly starts capturing the images for the dataset for that particular user.
- The extracted face are saved for the next step of model training
(Note: The facial data gets saved toHaar_Face_Dataset
folder orMTCNN_Face_Dataset
for Haar-Cascade or MTCNN respectively)
-
In the ML folder:
Run the
svm1.py
fileNotes:
1. Both the training and testing code for the model is present insvm1.py
.2. The default folder for training images is
Haar_Face_Dataset
but can be changed in themain()
method by changing the variabletrain_data_folder
.3. The test image is given by the variable
test_image_path
in themain()
method. -
The model gets saved as a
.pkl
file.Note: The default name for the
.pkl
file isFaceRecognition.pkl
an can be changed by changing the variablemodel_filename
in the train_face_recognizer() method
-
The
Flask
directory contains the code for the creation of api for the model. This api shall help in the communication between the app and the model and thus as long as the api is running the app can provide results. This also makes changing or updating the model easier. -
The mobile app is created using Flutter the code files of which are present in the
MobileApp
directory. The app is then exported as an apk file namedattendanceAppTrial.apk
which can be found in the root of this repo