Produces Efficient Face Embeddings with greater representational efficiency with only 128 bytes per face
Uses Triplet Loss that minimizes the distance between same faces and maximizes the difference between different faces.
Transfer Learning
Instead of training large networks we can transfer the learning from previously trained networks.
By training only a small subset of layers we can use the previously trained model
Architecture
Raspberry Pi
Tiny Computer without the peripherals
ARM Compatible CPU
Onboard GPU card
Raspberry Pi 3 has Wifi and Bluetooth capabilities
Operating System-Linux, Raspbian
Good Open Source Community
Advantages of Raspberry Pi
Small and low power
Moderate computational power
It can be used to run small or medium-sized machine learning models on the edge
Edge Computing
The new era of IoT(Internet of Things) the number of devices connected to the web is increasing by the million.
The existence of such devices demands cloud-based services for data collection. But there is a higher need to get the data centers closer to the devices.
Why Face Recognition on the Raspberry Pi?
An application that needs to be on the edge for various purposes such as security purposes
No internet application- There is no need to use servers.
Easier to use Python on Raspberry Pi- making it better to deploy models
Process for Solving Our Problem
Data and Data Preprocessing
Data got from the PyCam; a simple program to obtain images
We used dlib filters to get the face
We took pictures of the office members of around 20 images at 1 second interval
Model Training and Accuracy
The model was trained on LFW dataset
Used SGD to train the network with AdaGrad optimiser
An initial Learning Rate of 0.05 was used
Our Model has 87.6% accuracy
Movidius: Accelerating Models in Inference
Movidius is the next generation of processor chips for inference training.
Some might say that this new technology puts Intel on the running for open source technology in the field of Machine Learning and thus putting them in parallel to several other competitors
c
Train and Save a Model
Save the same model, this time without any data-preprocessing or training operations
Transfer this saved model to the raspberry pi and compile it into a Movidius graph
Plug in the Neural Compute stick and perform inference on new data
Why Not Movidius?
Does not have the right open sources resources
Still in development
Open Source Community of Intel's open source hardware lacks.
Buggy in various aspects
Contact us
Feedback- A link to give us a feedback-https://tinyurl.com/facenet-talk
Wewould love to hear from you and your responses will be Anonymous!