This application has not been deployed yet. I do not have access to any hosting services like AWS or Azure that provide GPU support for free. For testing, I created a microservice using Flask and Ngrok in Google Colab, where the Facenet Model was run and served using a REST API. This application can only be deployed once I get access to a free GPU service.
This program authenticates people using their faces and stores the data in a database. This application is being developed using Django and React. React is set up manually using Webpack and rendered using Django templates.
- Clone the repo.
$ git clone https://github.com/Kaushal-Dhungel/Facial-authentication.git
- Install the dependencies
$ pip install -r requirements.txt
- Go to front directory.
$ cd front
- Install npm dependencies
$ npm i
- Run the program.
$ python3 manage.py runserver
- Deploy the Flask app from
facenet_api.py
on a cloud service provider like AWS or Azure that provides GPU support. - Copy the URL of the app and paste it in the
TrainView
andVerifyView
ofviews.py
inside themainapp
directory.
-
Register.
-
Create an event. An event holds the record of people belonging to a particular group or category. For example, in a school, an event can represent a particular grade, i.e., all the students from grade 1 will belong to one event, grade 2 to another event, and so on.
-
Train the model for each face belonging to a particular event. This can be done with a camera or by uploading a picture.
-
Create a subevent. Subevents are subsets of an event. A subevent will inherit all the records of its parent event. If January is an event, then each day of January can be a subevent. This way, the same record can be used for each day without the need to retrain the model.
-
Perform verification for each subevent.