python - Face comparison (Not recognition or detection) using OpenCV and Keras? -
first of here github link question.
and here question:
i face comparison function using python. , can successfully(?) recognize faces using opencv. now, how do comparison thing?
what understand this:
in general machine learning approach, need gather lots of data particular person , finalize using cnn.
however, got 2 images, how do comparison? should think in terms of classification or clustering (using knn)?
thank in advance help.
you can use idea of face-embeddings, example proposed in highly-cited paper facenet , implemented in openface (which comes pre-trained).
the general idea: take preprocessed face (frontal, cropped, ...) , embedd lower dimension characteristic, similar faces in input should have low euclidean-distance in output.
so in case: use embedding-cnn map faces reduced space (usually vector of size 128) , calculate distance in euclidean-space. of course cluster faces then, that's not task.
the thing here besides general idea: openface nice implementation ready use , it's homepage explains idea:
use deep neural network represent (or embed) face on 128-dimensional unit hypersphere.
the embedding generic representation anybody's face. unlike other face representations, embedding has nice property larger distance between 2 face embeddings means faces not of same person.
this property makes clustering, similarity detection, , classification tasks easier other face recognition techniques euclidean distance between features not meaningful.
they have comparison-demo here.
Comments
Post a Comment