Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Compare two faces (and their likeness)

Is there is a way to compare two faces (perhaps with OpenCv) and get a score of their likeness? I mean to apply a facial recognition algorithm, but only between 2 faces, not on an entire dataset.

The problem is that, for example, Eigenfaces requires at least 2 training images.

like image 583
Marco L. Avatar asked Jul 06 '11 21:07

Marco L.


People also ask

Is there an app to compare faces?

Brought to you by Photomyne - developer of the world's smartest photo scanner app - Face/Face is an AI-powered app for comparing the faces from within photos. Put two people face to face and see how similar they are.

Is there any free facial recognition software?

OpenBR is a free face detection software that supports the development of open algorithms and reproducible evaluations. The stable version 1.1. 0 of the software was released on September 29, 2019.


2 Answers

Yes, you can absolutely use eigenfaces. The training faces have nothing to do, with the two faces you are comparing for facial recognition. Have a training face gallery of say 100 faces. Then to compare your two faces (face_1 and face_2), do an eigenface decomposition of each face with the 100 faces in your training gallery. So for example face_1 = [2 3 1 5...]*[eigFace1 eigface2 eigface3 eigface4...]' and same for face two. That vector I showed above in the example [2 3 1 5...], compare it for each of your two face decompositions in some sort of distance algorithm (whether it be a euclidean distance or some other distance metric). If the distance within a certain threshold then you can say they are the same. Keep in mind, if you are using eigenfaces the pose, lighting conditions, size, and background of all the training images as well as the faces you are trying to compare must all be normalized. The eyes, noses, a mouths must also be as lined up as possible.

like image 86
rossb83 Avatar answered Oct 08 '22 18:10

rossb83


This article explains the whole face recognition process nicely. With face_recognition library you can identify a person even with only 1 image and then try to recognise that person in another image. This is possible because the neural network is already trained.

like image 34
root Avatar answered Oct 08 '22 17:10

root