0

J'ai une collection d'images de visage, avec 1 ou parfois 2 visages dans chaque image. Ce que je veux faire, c'est trouver le visage dans chaque image, puis le recadrer. J'ai testé quelques méthodes, implémentées en python avec openCV, mais les résultats n'étaient pas très bons. Ces méthodes sont les suivantes:Recadrage de visages à partir d'une image

1- Implementation 1

2- Implementation 2

Il y a un autre modèle que je l'ai testé, mais je ne suis pas autorisé à publier plus de deux liens. Le problème est que ces algorithmes basés sur Haar-Feature, ne sont pas robustes à la taille du visage, et quand je les ai essayés sur des images qui ont été prises près du visage, ils n'ont pu trouver aucun visage. Quelqu'un a mentionné d'essayer des algorithmes basés sur l'apprentissage en profondeur, mais je ne pouvais pas trouver un correspondant à ce que je veux faire. Fondamentalement, je suppose que j'ai besoin d'un modèle pré-entraîné, qui peut me donner les coordonnées de la boîte de délimitation du visage dans l'image, ou mieux, un modèle pré-entraîné qui donne l'image du visage recadrée en sortie.

+1

Vous devez avoir compris les paramètres de détection de visage d'OpenCV. ** scaleFactor (Ce paramètre affecte fortement les performances) ** et minNeighbors etc. –

Répondre

2

Vous n'avez pas besoin d'algorithmes d'apprentissage automatique, Algorithmes graphiques suffisent. Par exemple algorithme de reconnaissance Snapchats de visage fonctionne comme suit:

  1. Créer un graphique avec les nœuds et les bords d'un visage plus commun (« Face Standard »).

  2. Déformer que le graphique/Recoordinate les nœuds aux pixels intégrés dans le tour est joué image d'entrée

  3. Vous avez le visage reconnu dans l'image d'entrée.

Facile à dire, mais plus difficile à coder. Nous avons implémenté dans notre université l'algorithme Dijkstra par exemple et je peux vous donner ma classe "Graph" si vous en avez besoin. Mais je l'ai écrit en C++.

Avec ces algorithmes graphiques, vous pouvez recadrer les faces plus efficacement.

+0

Est-ce la même chose que le détecteur de point de repère face et face de dlib?Et si vous avez la classe Graph ob Github qui aidera beaucoup d'entre nous. – Totoro

0

HereHere est le programme open source permettant de créer une base de données de visages à partir d'une vidéo. Vous pouvez l'utiliser pour recadrer et enregistrer des visages à partir d'images.

Ce programme utilise Python Face Recognition Module pour reconnaître les visages, face_recognizer.py reconnaît les visages de la vidéo, les recadre et les enregistre en tant qu'image sous la hiérarchie de chemin appropriée.

Une fois que vous avez acquis les données de visage, vous devrez peut-être le lire dans votre programme. Dans les applications de démonstration, j'ai décidé de lire les images à partir d'un fichier CSV très simple.

Vous ne voulez pas vraiment créer le fichier CSV à la main. Here est un petit script Python qui crée automatiquement un fichier CSV.

Ce programme de création de votre propre base de données de reconnaissance/reconnaissance de visages, vous pouvez le modifier et l'utiliser pour vos objectifs et voici l'organigramme du programme;

enter image description here