Question

Quel flux le programme passerait-il?

Était-ce utile?

La solution

Très à peu près, les étapes de traitement seraient:

  1. Détecter les positions du visage
  2. Normalisez les visages
  3. Collecter des fonctionnalités pour chaque visage détecté
  4. Faire les fonctionnalités d'un algorithme d'apprentissage automatique

L'étape 1 est généralement effectuée en utilisant le classique Algorithme de détection de visage de Viola & Jones. C'est assez rapide et fiable.

Les visages trouvés à l'étape 1 peuvent avoir une luminosité, un contraste et des tailles différentes. Pour simplifier le traitement, ils sont tous mis à l'échelle de la même taille et les différences d'exposition sont compensées (par exemple en utilisant l'égalisation de l'histogramme) à l'étape 2.

Il existe de nombreuses approches de l'étape 3. Les premiers détecteurs de visage ont essayé de trouver des positions spécifiques (centre des yeux, extrémité du nez, extrémité des lèvres, etc.) et utiliser des distances et des angles géométriques entre ceux-ci comme caractéristiques pour la reconnaissance. D'après ce que j'ai lu, ces approches étaient très rapides, mais pas si fiables.

Une approche plus récente, "Eigenfaces", est basée sur le fait que les images de visages peuvent être approximées comme une combinaison linéaire d'images de base (trouvée via PCA à partir d'un grand ensemble d'images d'entraînement). Les facteurs linéaires de cette approximation peuvent être utilisés comme caractéristiques. Cette approche peut également être appliquée aux parties du visage (yeux, nez, bouche) individuellement. Cela fonctionne mieux si la pose entre toutes les images est la même. Si certains visages regardent vers la gauche, d'autres regardent vers le haut, cela ne fonctionnera pas aussi bien. Les modèles d'apparence active essaient de contrer cet effet en entraînant un modèle 3D complet au lieu de photos 2D plates.

L'étape 4 est relativement simple: vous avez un ensemble de nombres pour chaque visage, et pour les images du visage acquises pendant la formation, et vous voulez trouver le visage de formation qui est "le plus similaire" à la face de test actuelle. C'est ce que font les algorithmes d'apprentissage automatique. Je pense que l'algorithme le plus courant est la machine de vecteur de support (SVM). Les autres choix sont par exemple les réseaux de neurones artificiels ou les voisins K-Deare les plus. Si les fonctionnalités sont bonnes, le choix de l'algorithme ML n'aura pas beaucoup d'importance.

Littérature sur le sujet:

Autres conseils

Analyse des composants principaux est à la base de systèmes de reconnaissance de motifs tels que la reconnaissance faciale.

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