Face recognition demo for Ubuntu Core, Juju and Docker.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
lib
models
www/cv_api
.gitignore
Dockerfile.amd64
README.md

README.md

Face Recognition on the edges

Intro

Face Recognition is not a new technology. It's been around for a long time. However, when it happens at scale, using millions of cameras spread across a city or a country, bandwidth requirements can be pretty intensive. At some point, there is a limit in scale, as the cloud would not be able to sustain the rate of images and the number of feeds.

To solve this problem, a solution is to move compute where it can first happen: on the edges. Providing each camera with a locally adapted model of what it should or should not see allows to offload the cloud from 90% of computation tasks, and reduces the requirements on the bandwidth.

To make this possible, a new paradigm of applications is necessary, that combine a training part in the cloud with the ability to run pre-trained models locally on cameras.

Our application is a demonstration of such a workflow.

Training in the cloud

The first part of the model is an app that takes a number of pictures of people we want to recognize, under different conditions: happiness, sadness, winking, wearing glasses... The more pictures are available the better.

The output of that process is a XML file that contains vectors of the neural network, based on HAAS cascades.

Shipping the model to the edges