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.
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.
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.
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.
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