Fluxmux / securefacematching

Privacy preserving face matching using Secure Multiparty Computation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Secure Face Matching

To read my thesis download this pdf

We are affected with machine learning in many aspects of our daily lives, applications ranges from facial recognition to enhanced healthcare to self-driving cars. As companies outsource image classification tasks to cloud computing service providers, we see a rise in privacy concerns for both the users wishing to keep their data confidential, as for the company wishing to keep their classifier obfuscated.

In this thesis we study the applicability of secure multiparty computation protocols on deep learning-based face matching and try to implement a privacy-preserving face matching algorithm.

Workflow

The workflow commences by acquiring an image of the clients face, this can be done by taking a photograph with the front-facing camera of the clients smartphone. The client then performs secret sharing on the image and sends the shared secret to the participating parties. The parties receive their shares and jointly compute the output of the face recognition model on the given shared image of the face.

Following software was used in this project:

Installation

Make sure following dependencies are installed

To install Pytorch go to their website (pytorch.com)

To install MPyC (the secure multiparty computation framework):

pip install mpyc

Run demo

  • First of all make sure the correct hostnames and ports are set in the environment files and the config files.
  • Launch the 3 Docker containers by running the "build_and_launch_servers.bat" files.
  • Execute a python script from the "device/mpyc/demo" folder.
  • The Docker containers should begin computing and some time later an output should be returned to the devices prompt.
  • If no output is returned or a status other than 200 is returned the application has crashed and you should try to set the allocated memory for the Docker containers higher (default is too low for bigger demos).

Commands

Launch the 3 mpc parties:

server/build_and_launch_servers.bat

Execute the secure algorithm:

python device/mpyc/demos/cnn.py

About

Privacy preserving face matching using Secure Multiparty Computation


Languages

Language:Python 66.9%Language:HTML 32.7%Language:Batchfile 0.2%Language:Dockerfile 0.2%