Détection D'objets 3D-Opencv
j'ai essayé la reconnaissance faciale En utilisant OpenCV en utilisant la documentation fournie sur leur wiki. Son fonctionnement parfait et il peut détecter plusieurs visages. Cependant, il n'y a aucune donnée fournie sur le site concernant la détection D'objet 3D ou le suivi de tête. Les liens vers le code et le wiki sont fournis ci-dessous :
reconnaissance faciale
Classificateur En Cascade
alors que le wiki fournit suffisamment d'informations sur la détection du visage, comme vous avez peut-être trouvé, les méthodes de reconnaissance faciale 3D ne sont pas fournies.
je voulais en savoir plus sur les projets liés à la reconnaissance 3D et au suivi des visages pour que je puisse voir le code source et essayer de faire en sorte qu'un projet fasse la même chose.
4 réponses
cela pourrait arriver tard mais willow garage a un autre projet en cours appelé La Point Cloud Library (PCL) qui est entièrement axé sur les tâches de traitement de données 3D. La reconnaissance faciale est l'un des cas d'utilisation qu'ils utilisent pour faire la publicité du projet. Bien sûr, tout cela est gratuit...
il y a plusieurs méthodes. Je peux juste vous indiquer la bonne direction. Les exemples de reconnaissance faciale fournissent habituellement une sous-détection des yeux. Donc en fait, vous connaissez l'emplacement du visage et des yeux. Par des moyens similaires ou autres, vous pouvez également détecter les lèvres. Maintenant, quand vous avez au moins trois points d'objet (face à cette fois), vous pouvez calculer sa position 3D dans la pièce en utilisant la triangulation. Cette partie de l'exemple existe dans find_obj.cpp qui vient en exemple avec OpenCV. Juste cet exemple utilise x points de SURF et dessine rectangle basé sur cette information. Voir aussi tout le reste avec CvFindHomography.
depuis OpenCV 2.4.2, il y a eu un fichier d'en-tête pour la détection de visage et
le fichier d'en-tête définit une classe appelée DetectionBasedTracker. Le mécanisme de suivi qu'il définit utilise des cascades haar en arrière-plan pour détecter des objets. Le suivi est beaucoup plus rapide que la mise en œuvre OpenCV Haar (cependant, certains l'ont trouvé moins précis).
J'ai personnellement trouvé qu'il fonctionne très bien sur android appareil. Un exemple de code de mise en œuvre de la détection de la taille et du tracker se trouve ici:
http://bytesandlogics.wordpress.com/2012/08/23/detectionbasedtracker-opencv-implementation/
Vous devez avoir un coup d'oeil à Active des formes des modèles et Modèles D'Apparence Active qui sont pour la tâche que vous décrivez. OpenCV ne vous fournit que des méthodes de détection 2D, alors que les méthodes de référence (désormais très populaires sur le terrain) suivi d'un ensemble de points 3D distribué sur un visage plus une texture pour décrire son apparence.
les pages Wikipédia vous donneront quelques liens vers les implémentations de ces méthodes.
si vous souhaitez connaître les paramètres 3D de la tête dans les coordonnées du monde (par exemple pour la détection du regard), alors vous devez google pour les mots-clés "3D head tracking" et "head pose estimation".