Question

Je l'ai regardé un peu dans la reconnaissance des visages récemment. Cependant, je suis overwelmed par le nombre d'algorithme qu'il ya.

PCA, LDA, IDA, Gabor Ondelettes, ... AAM Banque

Dites que vous avez voulu faire quelque chose comme ce .. . Quels algorithmes utiliseriez-vous ou quels papiers voulez-vous lire?

Était-ce utile?

La solution

Je pense que la première chose que vous devez faire est de se rendre compte que les algorithmes que vous avez énumérés sont utilisés à différentes étapes de la reconnaissance des visages.

Tout d'abord, vous devez décider de la représentation, i. e. les caractéristiques à utiliser. Ceux-ci pourraient être des pixels bruts, les filtres de Gabor, une sorte de descripteurs de forme, modèles déformables, etc.

Alors, vous voulez généralement de réduire la dimensionnalité de vos fonctions. C'est là des algorithmes tels que PCA, ICA, ou LDA viennent, dont les points de données du projet dans un espace de dimension inférieure essayant de préserver la majeure partie de la variance (PCA) ou pour assurer la séparation optimale des points de différentes catégories (LDA).

Alors, vous voulez probablement former un classificateur sur vos caractéristiques pour distinguer les visages des personnes différentes. Il existe une pléthore d'algorithmes de choisir d'ici, comme le voisin le plus proche, Support Vector Machines, modèles de Markov cachés, Bayes Nets, etc.

Notez que le choix d'un algorithme pour une étape particulière peut ou non dépendre des algorithmes pour les autres étapes. Pour les instances, PCA peut être utilisé pour réduire dimensionnalité de presque tous les types de fonctions. D'autre part, il est pas évident comment on peut utiliser un classificateur de machine à vecteur de support pour les visages représentés par un maillage déformable.

Je suppose que la première chose que vous devriez essayer de faire est de définir votre problème de manière très précise. Est-ce que vous voulez faire la distinction entre les visages de quelques personnes, comme reconnaître les membres de votre famille dans les photos? Voulez-vous reconnaître les gens d'une énorme base de données? Avez-vous beaucoup d'images formation pour chaque face, ou seulement quelques-uns? Voulez-vous gérer différentes orientations et les conditions d'éclairage?

Les réponses à ces questions déterminent la complexité de votre problème, et affectera certainement votre choix d'algorithmes.

EDIT: Voici une thèse de quelqu'un qui a essayé de résoudre un problème similaire. Il est de 2002, mais à mon humble avis, il est un bon endroit pour commencer.

Autres conseils

Vous voulez envisager des cartes de profondeur. C'est l'état de l'art. Essayez de lire sur les représentations sphériques rares. Eigen visages est tout simplement pas très robuste. Ce ne est pas invariant à plusieurs facteurs. État de la reconnaissance faciale d'art utilise PCL 3D qui contient des informations de profondeur. Cela vous permettra de reconnaître même dans l'obscurité. Vous pouvez utiliser un appareil photo Asus ou une caméra Kinect pour recueillir des informations de profondeur. Hope qui aide!

Haar cascade en cours d'exécution sur un port Marilena.

Une cascade Haar est un algorithme qui lit un fichier et indique à l'ordinateur ce que quelque chose ressemble. Je l'ai utilisé dans le passé pour détecter les visages, les verres, juste un sourire, les mains et un coca peut.

http://en.wikipedia.org/wiki/Haar-like_features

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top