FRAS is a facial recognition attendance system that aims at simplifying the process of attendance management with the help of state-of-art AI technologies like Tensorflow, Convolutional Neural Networks, etc.
- Python
- MySQL
- Laptop with a camera
- Automatically captures images of people for facial recognition.
- Integrated with MySQL database which enables this program to update records in real time.
- This program leverages Convolution Neural Networks, Tensorflow, Data Augmentation for the most accurate predictions.
- Model is saved after it's trained everytime which enables the user to re-run the saved model instead of training it again and again on images of all users.
- All the tables in MySQL are well connected and efforts are being taken constantly to reduce redundancies to max extent.
- Entity Relation diagram is also maintained.
- Fork the repository.
- Clone the forked repository.
- Move into the directory where you cloned to repository.
- Create a new file namely
connection_info.json
. - Put the following details into this file
{
"mysql_password": "your_mysql_password",
"mysql_host": "localhost",
"mysql_user": "root",
"master_database": "FRAS"
}
- Install the required packages by executing the following command
pip install -r requirements.txt
- Now execute face_recognition_attendance.py file.
- This program consists of 2 entities: namely
users
androles
. - Roles are the tags assigned to a particular user.
- Ex: If a user "A" belongs to grade 6th, then create a role "6th grade" which you can assign to the user.
- Before program learns to recognize the face of a user, it needs to generate a dataset of all users.
- So after you enter records of a new user,
Start FRAS
->Record new face
. - After this, just select the name of user, and program will start recording images of the user.
- Now you need to train the model. Option 5 is
Train model
which needs to be selected. - After the model is trained,
FRAS
->Start FRAS
- Support incremental learning so that recorded images may be deleted, and storage space may get saved.
- Make a website for this project.
- Make the model focus more on faces of people than their physical background, which sometimes cause model to behave incorrectly.
- Neural Networks (Learned this during my ML Specialization from Stanford Online, and Tensorflow Developer specialization from DeepLearning.AI)
- Database Management System (Learned in my 3rd semester, at NMIMS University)
- Project is licensed under MIT License
- This project is made by Sam Varghese to apply the concepts learned in my 3rd Semester, and AI courses that I completed from Coursera.