In recent times face biometric security systems are rapidly increasing for both web and mobile applications. This has also led to an increase in cyber attacks where attackers use certain presentation attacks and instruments to gain unauthorized access into a user's account. To counter this, we bring before you Zillion Utility purpose Neural authenticatin Interface or as we like to call it ZUNI. Our interface comes with a face spoof detection system, which can recognize:
- Printed face attack
- Face being shown on a device's screen
- Multiple faces
Given the size of model, deploying it on free web services was not possible. So we demonstrate how to deploy the service on a local machine. You can also check how to deploy deep learning models built using PyTorch in this repository Transfer Learning Model hosted on Heroku using React & Flask. To reproduce this respository's result on a local machine, follow the given instructions:
python3 -m venv zuni
source zuni/bin/activate
git clone https://github.com/m3rashid/ZUNI
cd ZUNI
sudo pip install -r requirements.txt
python3 app.py
The above set of commands initiates the Flask application. We now need to initiate the React Frontend, make sure you have node installed on your local machine before proceeding. To do this, open a new terminal in the ZUNI folder, and follow these instructions:
cd react-frontend
npm i
npm start
This will open a browser window in your default web browser. You can view a sample demonstration in the Demo tab.
We would like to thank the Meta Platforms Inc. for their open source libraries PyTorch and React which helped us to create this project. We would also love to thank Tim Esler and his team for open-sourcing the facenet-pytorch repository which helped us to get a facial matcher and facial extraction neural network.