Face Identification on mW power budget using GAP8

Face Identification has attracted a lot of press relating to uses in security applications. It is, however, an interesting feature in many applications. Identifying the owner of a device versus another person can have many uses in creating user experiences. What if one could add face detection to a product at an extra cost of a few euros and at a power consumption compatible with many years of operation on a battery. The GAP8, IoT Application Processor makes this possible!

A full open-source Face Identification stack is available for GAP8. The Face Identification algorithm is a combination of a face detector and then a face reidentification engine. The Face Detection algorithm is an implementation of the classical Viola-Jones face detector. Face Reidentification is implemented using a SqueezeNet based Convolutional Neural Network (CNN). This software stack is a perfect demonstration of GAP8’s flexibility in running different algorithms at extremely low power levels.

First, the application looks for a face in the image using the Face Detection algorithm. Until a face is detected the Face Reidenfication Network is not run. Face Detection can be triggered by an external signal such as a Passive Infrared Sensor (PIR) to further reduce power consumption when no face is present. Once a face is detected the Face Detection algorithm outputs the coordinates of the detected face in the image. This area of the image is extracted and scaled to a 128 x 128-pixel image. This extracted portion of the image is provided as input to the Face Reidentification CNN. The output of the CNN is 512 parameters (16-bit size) signature of the detected face.

Signature of a face to be recognised is stored in the database. Presenting another image of the same person to the Face Reidentification network will result in a set of parameters that are closely related to the stored signature. So to ‘learn’ a face one or more images are taken and the sets of resulting parameters stored into the database. Once a face is learned the values in output by the Face Reidentification CNN are compared with the database and if close a match is made.

The input image is taken at Quarter VGA (QVGA) resolution (320 x 240 pixels). The Face Detection algorithm consumes around 1 mW per frame per second and frame rate of 10 frames per second consumes 1/7th fraction of GAP8’s compute power.

In its best power performance Face Reidentification CNN consumes 22mW per frame per second. This is only run when a face is detected and takes approximately 400mSec to evaluate. The CNN evaluated on the Labelled Faces in the Wild dataset (LFW) reaches 96% accuracy.

At these power levels, face identification can be integrated into a wide range of different devices with a very small effect on their battery life.

GreenWaves has released the full face identification stack including the training scripts and the GAP AutoTiler model under Apache 2.0 license. You can access it at  https://github.com/GreenWaves-Technologies/FaceReID

Disruptive technology for intelligent IoT devices

GAP8 industrial applications

GAP8 enables tasks such as interpretation of vibration and other inputs to be carried out at the sensor. Low power long range wireless networks can be used to collect pre-analysed sensor feedback. This gets rid of cables allowing more sensors to be installed cost-effectively.

Download GAP8 Product Brief

Industrial Use Cases

  • Automation maintenance
  • Low power /self-powered embedded control systems
  • Security/ Safety & Access Control
  • Manufacturing automation robots

GAP8 – uniquely designed to adapt the power consumption to the needs of the application

GAP8 in consumer devices

GAP8 can bring new functionality to battery operated consumer devices while controlling product cost.
GAP8 can act as an integrated controller and sensor hub. It enables consumer products to be controlled with fusions of voice, facial and emotion recognition.
It’s highly integrated design enables low overall system cost.

Consumer markets

  • Drones
  • Smart Toys
  • Robotics / Appliances
  • Smart Homes
  • Intelligent Alarms
  • Wearables

GAP8 delivers significant compute ability at absolute low energy usage

GAP8 in retail/ enterprise

GAP8 embedded vision processing enables applications such as people counting to be carried out by low cost, wireless devices that can operate for months or even years on a battery.

Retail/ Enterprise use cases

  • Retail marketing / Store efficiency
  • People / object monitoring
  • Security / Safety & Access Control

GAP8 enables to execute machine learning algorithms working years on a battery

GAP8 in Urban Security & Safety

GAP8 can enable solutions requiring sophisticated embedded vision applications to be deployed in situations and at cost levels that enable new applications.

Security/ Safety applications

  • Road / Traffic monitoring
  • People Tracking
  • Supervision Systems
  • Signalling Solutions