Face Matching

Image for illustrative purposes only.In real life fancy visuals are not necessary

What is it?

Face matching is that cool thing they do to ID the perpetrator with a face or fingerprint, that's a real thing you can actually use for a variety of applications.

When most people say "Face Recognition" they actually mean "Face Matching" or "Face Correlation". Technically speaking "Face Recognition" is just the first step of determining that an image contains a face.

To do deep analysis of faces, you want Facial Correlation(Matching) not Facial Recognition.

Faces in images can be assigned a signature or hash, which allow other faces to quickly be compared against them.

What Can I do with it?

Match Known Faces (Supervised Learning)

Given a video with a known person, you can put a face to a name, and the technology will capture the essence of that face so it can be identified elsewhere.

Learn New Faces with Deduction (Unsupervised Learning)

Given a clip or image with labeled participants where all participants are known less one, the face signature of the missing participant can be determined. This can be repeated an arbitrary number of times. For example suppose there are 2 clips, both have a list of participants but only Alice's face signature is known.

One contains:

  • Alice

  • Bob

And another contains

  • Alice

  • Bob

  • Connor

If the first clip is labeled as containing Alice and Bob, then not only can Bob's face signature be determined, so can Connors, as once Bob's signature is determined, then Connor can be differentiated from both Alice and Bob. Therefore when the process ends, all 3 parties have been identified.

Match Unknown Faces (Deductive Learning)

It isn't strictly required that a cluster of like faces have a label attached, this means you can build data on a person whose name you do not know but can be identified in photos. This is useful for retroactively labeling media, and matching people in other footage for the purposes of forensics or possible commercial applications.


How it works

The rough algorithm is as follows*

Image->Haar Cascade->Downsample->Face -> Feature Space -> Latent Space

Select highest discriminating subspace

If distance in latent space <0.5

Repeat as necessary with lower error margins.


*Some indexing is necessary to make this execute in a reasonable amount of time. The specifics of this process are a trade secret.

For business inquiries contact me.