Hacker News new | past | comments | ask | show | jobs | submit login

A single picture is surprisingly effective in recognizing that person in another photo. I've been playing around with a python wrapper on dlib's facial recognition [0] and it's astonishing how it can identify people from just one photo. It's not like other machine learning methods that include training a classifier or even fine tuning a classifier. It works by encoding the persons face to a 128 dimension vector and then using that for comparison.

The accuracy from most methods is between 99.2% - 99.8%, but the problem is that the training samples are too easy and controlled. It's sensitive to lighting. Google's most recent paper [1] on Facenet found 99.63% on the easy Labeled Faces in the Wild (LFW) dataset, and an impressive 95.12% on the Youtube faces dataset, presumably a much more difficult dataset.

[0] https://github.com/ageitgey/face_recognition

[1] https://arxiv.org/abs/1503.03832




dlib's face recognition is unsuitable for large-scale (a million faces) or single-reference recognition tasks.


Accuracy depends on the dataset like you point out. It's a hard task to find a person among all driver license photos in the US.


Anecdotally, FindFace found my Russian friend's VK.com profile (amongst many millions of such profiles) as the number one hit after I took a picture of her in a bar and submitted it to their face recognition service.


I think your example is different to this scenario as your friend will have submitted many pics to VK so they have decent training set for her face.

Whereas the DMV only has 1 picture of a suspect so it will result in more false positives.


These libs assume the angle is the same, i.e. square shot of the face. Cameras mounted up high are completely useless with these types of libs. Unless the tech. exists to magically rerender a front face shot so you can image how it would look from 12 - 20 feed raised up, this doesn't work.


Paid for by the same IARPA contract as dlib: https://talhassner.github.io/home/projects/frontalize/hassne...


That might be an interesting problem for a generative adversarial network. Train it based on some large corpus of faces and then refine it based on searching for the input vector that most closely matches the original image and then just change the pose in that input vector to generate a square shot of the face. In theory this would give you not only some generated face, but some reasonable space of facial features that the discriminator couldn't reject. I.e. beard / no beard if the chin was obscured.


I wonder what happens if we take a square shot of a face, then use something like the deep fakes to generate different predicted views and then feed those in to the original system.


You get Omphaloskepsis.


Is this really a thing? Man, you learn something every day... I am not sure I needed to know about this though :/




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: