9
votes

Comparer deux visages (et leur ressemblance)

Il y a un moyen de comparer deux faces (peut-être avec OpenCV ) et obtenez un score de leur ressemblance? Je veux appliquer un algorithme de reconnaissance faciale, mais seulement entre 2 faces , pas sur un ensemble de données entier.

Le problème est que, par exemple, eigenfaces nécessite au moins 2 images de formation.


3 commentaires

Vous dites "vraisemblance" quand vous voulez dire "ressemblance". Corrigé pour vous.


@Marcol. Avez-vous résolu le problème? Je cherche la même chose.


Nan. J'ai retourné à une approche classique basée sur un jeu de données de formation


4 Réponses :


3
votes

Oui, vous pouvez absolument utiliser des valeurs propres. Les visages de formation n'ont rien à faire, avec les deux faces que vous comparez pour la reconnaissance faciale. Avoir une galerie de formidation de la Galerie de Say 100 visages. Ensuite, comparer vos deux visages (Face_1 et Face_2), faites une décomposition de la valeur de chaque visage avec les 100 faces de votre galerie d'entraînement. Donc, par exemple visage_1 = [2 3 1 5 5 ...] * [eigface1 eigface2 eigface3 eigface4 ...] 'et même pour le visage deux. Ce vecteur que j'ai montré ci-dessus dans l'exemple [2 3 1 5 5 ...], comparez-le pour chacune de vos deux décompositions de visage dans une sorte d'algorithme de distance (que ce soit une distance euclidienne ou une autre mesure de distance). Si la distance dans un certain seuil, vous pouvez dire qu'ils sont les mêmes. Gardez à l'esprit, si vous utilisez des valeurs propres, la pose, les conditions d'éclairage, la taille et l'arrière-plan de toutes les images de formation ainsi que les faces que vous essayez de comparer doivent toutes être normalisées. Les yeux, nez, une bouche doit également être aussi alignée que possible.


2 commentaires

J'effectue une décomposition - je reçois des numéros de première et deuxième photo - que dois-je faire ensuite? Comment comparer-le?


Utilisez une mesure de distance entre les deux vecteurs - euclidien, Manhattan, quelque chose ou l'autre fera. Ensuite, vérifiez la magnitude du vecteur résultant et voyez si c'est dans un certain seuil.



-1
votes

Essayez d'oublier que vous comparez des visages. Trouvez des claviers de surf pour les deux photos, faites correspondre à leurs descripteurs. Comme score de ressemblance à la photo, utilisez le nombre de descripteurs assortis au nombre de descripteurs de tous les descripteurs.


1 commentaires

Cela semble intéressant. Pouvez-vous s'il vous plaît donner du code / des fonctions pour y parvenir avec OpenCV?



-1
votes
  • Vous pouvez utiliser la fonction comparer qui provient de OpenBr.its vous donne le pourcentage correspondant de deux faces.

  • et cela donne ces valeurs basées sur min, max, moyenne, STDDEV pour authentique et imposteur.


0 commentaires

1
votes

Cet article explique joliment le processus de reconnaissance du visage entier. Avec Face_Recognition bibliothèque Vous pouvez identifier une personne même avec une seule image, puis essayer de reconnaître cette personne dans une autre image. Cela est possible car le réseau neuronal est déjà formé.


0 commentaires