How our technology recognizes our CEO

Every day when our CEO, Dick Fens, walks (read: walked) into our office his face is shown on a screen and the software recognizes that it is him. But how does this work?

An image as input

When Dick is in the view of the camera, the software captures an image of a specified number of pixels of him and sends it to our deep neural network, 20faceNet.

Extracting the features

A simplified explanation of how the process continues is this: The deep neural network puts the input image of Dick through hundreds of layers of filters to obtain certain characteristics of Dick’s image, or ‘features’. These features are represented on so-called feature maps. Everyone’s face has different characteristics, so 20facenet will extract different features and thus different feature maps from the image of Dick’s face than from images of other people.

In the figure below you can find simple, visualized examples of feature maps. A small portion of these feature maps can be visualized in a way that is understandable for people, but most of them can only be understood by 20faceNet.

Creating vectors

All the information that is captured in the feature maps of Dick’s image, can be turned into strings of numbers, just as the language your computer uses consists of only 0’s and 1’s. When combining all the information of all the feature maps of Dick’s image into one big string of numbers, we have obtained the ‘vector’ of Dick’s image.

Matching vectors

The vector of Dick’s image that was retrieved when he passed the camera (as described above), is compared to all of the known vectors of the faces of people that have registered for 20faceNet before (when Dick enrolled in 20faceNet, his vector was retrieved, labeled with his name and stored in a big database).

If there is a match between the vector of the input image, and the vector of a person in the database, the software knows the name of the person that is in front of the camera. It’s really that ‘simple’! Our facial recognition experts made it possible to perform the whole process in real-time. 20faceNet can perform a million comparisons of vectors in less than a second!

Related articles