Face Recognition with Raspberry Pi

About Us

  • Adam Shamsudeen & Soham Chatterjee
  • Undergraduate students at SRM University
  • Ex-CEO of MindHack
  • Deep Learning Researcher at Saama
  • B. Tech. Electrical and Electronics
  • Next Tech Lab
  • Saama Blog
  • Soham's Blog
  • FaceNet Applications
  • Legendary FaceNet Paper
    • Face Verification
    • Face Recognition
    • Face Clustering
  • 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

Movidus: 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

Steps to use Movidius 

  • 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​
  • We would love to hear from you and your responses will be Anonymous!
  • Contact us:
  • Archana Iyer:
    • varchanaiyer139@gmail.com
  • Soham Chatterjee:
    • 96soham96@gmail.com
    • csoham.wordpress.com 

TensorFlow Face Detection on the Edge

By Soham Chatterjee

TensorFlow Face Detection on the Edge

  • 1,029