169 votes

Bibliothèque de reconnaissance des visages

Je cherche une reconnaissance des visages bibliothèque pour un projet universitaire. Je ne cherche pas à détecter les visages . Je cherche une reconnaissance réelle. Cela signifie trouver des images qui contiennent des visages spécifiques ou des bibliothèques qui calculent les distances entre des visages spécifiques.

J'utilise actuellement OpenCV pour détecter les visages et un Eigenface algorithme pour la reconnaissance. Mais je pensais qu'il devait y avoir quelque chose de plus performant qu'un algorithme Eigenface écrit par moi-même. Je ne parle pas de vitesse comme de performance, je cherche une bibliothèque avec de meilleurs résultats qu'une simple approche Eigenface.

J'ai jeté un coup d'oeil à Faible mais il semble que la bibliothèque ne soit pas très réutilisable pour mes propres applications.

Je me contente d'une bibliothèque en Python, Java, C++, C ou quelque chose comme ça. L'idéal serait qu'elle puisse être exécutée sur une machine Windows, car je m'appuie actuellement sur un code externe uniquement Windows.

1 votes

Doit-il être gratuit pour des raisons politiques ou pratiques ? S'il s'agit d'un projet de recherche pur, vous pourrez peut-être obtenir une licence académique gratuite auprès de l'un des fournisseurs commerciaux.

2 votes

J'ai obtenu des résultats relativement bons avec seulement l'approche eigenfaces mais il semble qu'une bonne api de détection de visage qui est libre d'utiliser est quelque chose qui manque pour le moment.

0 votes

85voto

Praveen Angyan Points 6232

Voici une liste de fournisseurs commerciaux qui proposent des progiciels de reconnaissance faciale prêts à l'emploi fonctionnant sous Windows :

  1. Cybula - Informations sur leur SDK de reconnaissance faciale . Il s'agit d'une société fondée par un professeur d'université et, à ce titre, son site Web n'a rien de professionnel. Il n'y a pas d'informations sur les prix ou de démo que vous pouvez télécharger. Vous devrez les contacter pour obtenir des informations sur les prix.

  2. NeuroTechnologie - Informations sur leur SDK de reconnaissance faciale . Cette société dispose à la fois informations sur les prix à l'avance ainsi qu'un essai réel de 30 jours de leur SDK .

  3. Reconnaissance des formes de Pittsburgh - ( Acquis par Google ) Des informations sur leur SDK de suivi et de reconnaissance du visage . Les démos qu'ils fournissent vous permettent d'évaluer leur technologie mais pas leur SDSK. Vous aurez besoin de les contacter pour obtenir des informations sur les prix.

  4. Une vision sensée - Informations sur leur SDK . Leur site vous permet d'obtenir facilement un devis et vous pouvez également commander un kit d'évaluation qui vous aidera à évaluer leur technologie.

5 votes

Merci pour les liens, mais pour l'instant, je dois trouver une bibliothèque gratuite.

1 votes

Ce n'est peut-être pas pour la reconnaissance du visage en soi mais numenta.com pourrait vous intéresser.

7 votes

vous pouvez ajouter l'API REST gratuite de face.com à cette liste

55voto

bytefish Points 2408

Mise à jour

OpenCV 2.4.2 est maintenant livré avec la très nouvelle fonction cv::FaceRecognizer . Veuillez consulter la documentation très détaillée à l'adresse :

Poste original

J'ai libéré libfacerec libfacerec est une bibliothèque moderne de reconnaissance des visages pour l'API OpenCV C++ (licence BSD). libfacerec n'a pas de dépendances supplémentaires et implémente les méthodes Eigenfaces, Fisherfaces et Local Binary Patterns Histograms. Des parties de la bibliothèque vont être incluses dans OpenCV 2.4.

La dernière révision de la libfacerec est disponible à l'adresse suivante :

La bibliothèque a été écrite pour OpenCV 2.3.1 avec la future OpenCV 2.4 en tête, donc je ne supporte pas les versions d'OpenCV antérieures à 2.3.1. Ce projet est livré sous forme de projet CMake avec une API bien documentée, il y a aussi un tutoriel sur la classification des genres. Vous pouvez voir une version HTML de la documentation à l'adresse suivante :

Si vous voulez comprendre comment ces algorithmes fonctionnent, vous pouvez lire mon Guide de la reconnaissance des visages (qui comprend des exemples en Python et GNU Octave/MATLAB) :

Il existe également une mise en œuvre Python et GNU Octave/MATLAB des algorithmes dans mon dépôt github . Les deux projets en facerec comprennent également plusieurs méthodes de validation croisée pour évaluer les algorithmes :

Les publications pertinentes sont les suivantes :

  • Turk, M., et Pentland, A. Visages propres pour la reconnaissance. . Journal of Cognitive Neuroscience 3 (1991), 71-86.
  • Belhumeur, P. N., Hespanha, J., et Kriegman, D. Visages propres et visages de Fisher : Reconnaissance par projection linéaire spécifique à une classe. . IEEE Transactions on Pattern Analysis and Machine Intelligence 19, 7 (1997), 711-720.
  • Ahonen, T., Hadid, A., et Pietikainen, M. Reconnaissance des visages avec des motifs binaires locaux. . Computer Vision - ECCV 2004 (2004), 469-481.

0 votes

19voto

jk. Points 4421

pam-face-authentification un module PAM pour l'authentification du visage : mais il faudrait un peu de travail pour obtenir ce que vous voulez. Un test rapide a montré que les taux de reconnaissance ne sont pas aussi bons que ceux de VeriLook de NeuroTechnology.

Malic est un autre logiciel de reconnaissance faciale open source, qui utilise les descripteurs Wavelet de Gabor. Mais la dernière mise à jour de la source date de 3 ans.

Extrait du site web : " Malic est un logiciel libre de reconnaissance des visages qui utilise l'ondelette de Gabor. Il s'agit d'un système de reconnaissance des visages en temps réel basé sur Malib et CSU Face Identification Evaluation System (csuFaceIdEval), qui utilise la bibliothèque Malib pour le traitement des images en temps réel et une partie de csuFaceIdEval pour la reconnaissance des visages. "

Plus loin, cela pourrait être intéressant :

gaborboosting : Un programme scientifique appliqué à la reconnaissance des visages à l'aide de l'ondelette de Gabor et de l'algorithme AdaBoost.

Feature Extraction Library - FELib se réfère à "Annotation de visage par discriminant de Fisher à noyau transductif,"

13voto

Eugene Yokota Points 43213

Je pense Eigenface Ce que vous faites déjà, c'est ce qu'il faut faire si vous voulez calculer la distance entre les visages. Vous pouvez essayer différentes approches comme Machine à vecteur de support ou Modèle de Markov caché . J'ai trouvé une page qui répertorie les principaux algorithmes qui pourraient être utilisés pour la reconnaissance faciale : Page d'accueil sur la reconnaissance du visage .

Par ailleurs, lorsque vous dites "meilleures performances", voulez-vous dire vitesse ou précision ? Quel type de problème rencontrez-vous ? Dans quelle mesure les données varient-elles ? Sont-elles principalement de face ou incluent-elles des profils ?

5 votes

Avec la performance, je veux la précision de la détection. Eigenfaces est bien, mais ce que je recherche, c'est un paquet prêt à l'emploi pour la reconnaissance des visages, car je ne veux pas réinventer la roue et je n'ai pas le temps.

9voto

huitseeker Points 6049

Si votre projet porte sur un film ou une émission de télévision, ou sur tout ce qui comporte un script, il semble que vous souhaitiez absolument vous pencher sur le travail de Mark Everingham et al. . Le logiciel est disponible sur comme le sont les résultats sur un épisode de Buffy .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X