How facial recognition works (and how to hack your own in Python)

You could not ask for a clearer, easier-to-read, more informative guide to facial recognition and machine learning thank Adam Geitgey's article, which is the latest in a series of equally clear explainers on machine learning, aimed at non-technical people — and if you are a programmer, he's got links to Python sample source and projects you can use to develop your own versions.

The moment at which it becomes really interesting — and has major policy implications inasmuch as facial recognition is going to be used to ascribe guilt, subject people to scrutiny and screening, and control their lives — is where the machine learning part kicks in: "So what parts of the face are these 128 numbers measuring exactly? It turns out that we have no idea. It doesn't really matter to us. All that we care is that the network generates nearly the same numbers when looking at two different pictures of the same person."


But face recognition is really a series of several related problems:

First, look at a picture and find all the faces in it

Second, focus on each face and be able to understand that even if a face is turned in a weird direction or in bad lighting, it is still the same person.

Third, be able to pick out unique features of the face that you can use to tell it apart from other people— like how big the eyes are, how long the face is, etc.

Finally, compare the unique features of that face to all the people you already know to determine the person's name.

Machine Learning is Fun! Part 4: Modern Face Recognition with Deep Learning
[Adam Geitgey/Medium]

(via Four Short Links)