IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Traitement d'images Discussion :

Détection position des yeux dans une image


Sujet :

Traitement d'images

  1. #1
    Membre éclairé

    Homme Profil pro
    Fondateur de ZetaPush - realtime BaaS
    Inscrit en
    Mars 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Fondateur de ZetaPush - realtime BaaS
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 146
    Points : 687
    Points
    687
    Par défaut Détection position des yeux dans une image
    Bonjour,

    Je dois détecter la distance entre les deux yeux d'une personne sur une image donnée.
    J'ai commencé à étudier les convolutions d'image afin d'obtenir les formes globales de l'image. Par contre, je n'ai toujours pas réussi à détecter les formes dans l'ensemble des pixels.

    Merci de votre aide,
    Mikaël Morvan
    ZetaPush: realtime BaaS www.zetapush.com

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut
    Bonjour,

    Ton problème est difficile, et la technique à utiliser dépend du type de photos que tu veux traiter. Est-ce que tu as une connaissance préalable du type de photos traités ?

  3. #3
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut Re: Détection position des yeux dans une image
    Citation Envoyé par Morvan Mikael
    Bonjour,

    Je dois détecter la distance entre les deux yeux d'une personne sur une image donnée.
    J'ai commencé à étudier les convolutions d'image afin d'obtenir les formes globales de l'image. Par contre, je n'ai toujours pas réussi à détecter les formes dans l'ensemble des pixels.

    Merci de votre aide,
    Mikaël Morvan
    j'ai pas tout compris ce que tu dis, mais j'avais déjà commencé à étudier en stage des algorithmes pour détecter les yeux. Cela utilisait des images couleurs et les composantes (Y, CR, CB); Je ne retrouve plus le lien (qui expliquait l'algo)
    mais ce sont les mêmes personnes qui ont travaillé sur le lien suivant: Puet-être que ça pourra-t-être utile
    http://www.cse.msu.edu/~hsureinl/fac...ex_facloc.html

  4. #4
    Membre éclairé

    Homme Profil pro
    Fondateur de ZetaPush - realtime BaaS
    Inscrit en
    Mars 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Fondateur de ZetaPush - realtime BaaS
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 146
    Points : 687
    Points
    687
    Par défaut
    Tout d'abord, merci pour vos réponse,

    Je vais essayer d'être plus clair sur les cas à traiter:
    Il s'agit de repérer la position des yeux dans une image de prise de portrait afin d'uniformiser la taille du visage dans une photo. On prend comme base la distance en pixel entre les yeux et on doit zoomer la photo jusqu'à trouver le bon nombre de pixel entre les yeux. Je dois également détecter si la ligne des yeux est bien horizontale et redresser la photo éventuellement.

    Mon problème est que je ne sais pas trop par où commencer, quelle méthode générale employer? Comment être sûr de trouver les yeux dans l'image (problème des lunettes),...
    Merci à Guigui_ pour ton lien, je suis en train de regarder...
    ZetaPush: realtime BaaS www.zetapush.com

  5. #5
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    voilà le lien vers le pdf en question:

    http://www.cse.msu.edu/~hsureinl/fac...ami113783_.pdf

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut
    Citation Envoyé par Guigui_
    voilà le lien vers le pdf en question:

    http://www.cse.msu.edu/~hsureinl/fac...ami113783_.pdf
    Ce lien parle de détection de visage, et pas directement de détection des yeux. Je pense que le problème ici est quand même plus simple, et heureusement, car toutes les méthdes de détection de visages que j'ai testé et/ou implémenté avait un gros taux d'erreur.

    Peut-être qu'un travail rapide sur une image de gradient devrait donner des résultats satisfaisant.

    Remarque : les lunettes ne posent en général que peu de problème, par contre les chapeaux "rigolos", genre tête de Mickey avec les yeux, posent plus de soucis. Vu que l'echelle de tes personnages reste assez constante le pattern matching donnerait de bons résultats.

  7. #7
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par sovitec
    Citation Envoyé par Guigui_
    voilà le lien vers le pdf en question:

    http://www.cse.msu.edu/~hsureinl/fac...ami113783_.pdf
    Ce lien parle de détection de visage, et pas directement de détection des yeux. Je pense que le problème ici est quand même plus simple, et heureusement, car toutes les méthdes de détection de visages que j'ai testé et/ou implémenté avait un gros taux d'erreur.

    Peut-être qu'un travail rapide sur une image de gradient devrait donner des résultats satisfaisant.

    Remarque : les lunettes ne posent en général que peu de problème, par contre les chapeaux "rigolos", genre tête de Mickey avec les yeux, posent plus de soucis. Vu que l'echelle de tes personnages reste assez constante le pattern matching donnerait de bons résultats.
    dans ce document, il utilisait la localisation des yeux pour affiner la détection du visage. Mais si le visage est déjà correctement détecté et découpé, on peut tout à fait reprendre l'algo de détection des yeux utilisé (un peu modifié peut-être) et le réutiliser pour son cas. Après il faut voir aussi comment sont les images qu'il va traiter. En plus il est vraiment pas compliqué à mettre en place (ce n'est que du calcul sur des composantes de couleurs avec quelques algos simples de morphologie)). Après ce n'est pas encore dit que les résultats conviennent.

  8. #8
    Membre éclairé

    Homme Profil pro
    Fondateur de ZetaPush - realtime BaaS
    Inscrit en
    Mars 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Fondateur de ZetaPush - realtime BaaS
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 146
    Points : 687
    Points
    687
    Par défaut
    ce n'est que du calcul sur des composantes de couleurs avec quelques algos simples de morphologie
    Peux tu détailler un peu les algos à utiliser car je nage un peu.
    Merci
    ZetaPush: realtime BaaS www.zetapush.com

  9. #9
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par Morvan Mikael
    ce n'est que du calcul sur des composantes de couleurs avec quelques algos simples de morphologie
    Peux tu détailler un peu les algos à utiliser car je nage un peu.
    Merci
    La partie utile est le paragraphe 2.2
    la premiere chose est de decomposer l'image en composante Y, Cr, Cb.
    Puis calculer l'image EyeMap
    apres faire des erosions et dilatations (en niveau de gris) avec un filtre simple de ton choix (j'utilisais un filtre circulaire).

    On obtient une image du type de la page 10. Apres la difficulte, c'est de recuperer le centre des yeux (il faut analyser les zones les plus blanches mais c'est pas forcement evident)

    Une autre difficulte (la principale), c'est qu'il faut faire le calcul uniquement sur la zone du visage (donc etre capable de supprimer la recherche des yeux de la zone hors visage) ou bien de savoir a l'avance dans quelles zones peuvent se trouver les yeux. Donc si le visage ne recouvre pas entierement (ou presque) l'image, l'algo risque de ne pas marcher.
    Une autre restriction: il faut que les visages soit d'une taille suffisamment grande (genre 100*100) pour que la specificite de la couleur des yeux puisse etre utilisee

  10. #10
    Inactif  
    Inscrit en
    Février 2004
    Messages
    97
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 97
    Points : 53
    Points
    53
    Par défaut
    J'ai fait pas mal de photos de cyclopes et j'ai le même problème !


  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Points : 230
    Points
    230
    Par défaut
    J'ai vu un algorithme de détection d'éléments du visage en cours de DEA de modèles déformables. Ca semblait très efficace, mais attention, mathématiques pas évidentes du tout inside (minimisation d'énergie sur un espace de courbes), quant à l'implémentation, ça risque d'être mortel. Néanmoins, si ça intéresse, je peux chercher une référence...

  12. #12
    Membre éclairé

    Homme Profil pro
    Fondateur de ZetaPush - realtime BaaS
    Inscrit en
    Mars 2002
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Fondateur de ZetaPush - realtime BaaS
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2002
    Messages : 146
    Points : 687
    Points
    687
    Par défaut
    On obtient une image du type de la page 10. Apres la difficulte, c'est de recuperer le centre des yeux (il faut analyser les zones les plus blanches mais c'est pas forcement evident)
    Comment fais tu l'analyse? Tu prends des formes géométriques prédéfinies et tu tentes de trouver des points contenus dans cette zone???
    J'ai du mal à voir quel type d'algotrithme utiliser pour faire ces déterminations.

    Merci encore pour votre aide
    ZetaPush: realtime BaaS www.zetapush.com

  13. #13
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    Citation Envoyé par Morvan Mikael
    On obtient une image du type de la page 10. Apres la difficulte, c'est de recuperer le centre des yeux (il faut analyser les zones les plus blanches mais c'est pas forcement evident)
    Comment fais tu l'analyse? Tu prends des formes géométriques prédéfinies et tu tentes de trouver des points contenus dans cette zone???
    J'ai du mal à voir quel type d'algotrithme utiliser pour faire ces déterminations.

    Merci encore pour votre aide
    Ca par contre, je ne l'ai jamais fait (la détection des yeux n'était pas un de mes objectifs premier).
    On peut faire déjà un seuillage sur la dernière image (qui est en niveau de gris) afin de n'avoir plus que 2 globes oculaires (au pire, si il y a trop de formes, il faut considérer les formes qui possède le plus de pixels)
    Après une possibilité est de récupérer le centre de gravité de ta forme (donc prendre la moyenne de tous les pixels de chaque forme)

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Points : 13
    Points
    13
    Par défaut Utilisation de la transformation de Hough généralisée
    Je pense que ton problème peut être assez facilement résolu par l'utilisation de la transformation de Hough généralisée (sauf si tu veux faire du RealTime Recongnition, car l'utilisation est un peu lente). Dans le cadre de la transformation simple, elle permet de reconnaitre facilement (après binarisation) les droites contenues dans une image. La transformation associe tout point (x,y) dans une image à une courbe row = x.cos(téta)+y.sin(téta) dans l'espace de hough....
    Ce lien te permettra d'en savoir plus sans que je me fatigue :
    http://matmatic.free.fr/index.php?ur...esentation.ppt

    Dans son ppt, il utilise même la reconnaissance des yeux si mes souvenirs sont bons...

    ou encore : http://vrlab.epfl.ch/public/STUDENTS.../eyeDetect.pdf

    Bien sur Google te donnera certainement encore bien d'autres exemples...

    Bon courage

  15. #15
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Bonjour,

    je viens de lire quelques articles sur le sujet (pour un état de l'art que je devais rendre).
    - les yeux sont la partie du visage la plus facile à repérer car la pupille est noire et ronde, donc tu peux segmenter et vérifier la circilarité des formes pour affirmer que se sont des yeux.
    - les yeux sont syémtrique par rapport au nez. Il y des algos de reconnaissance du nez ou sinon avec un méthode d'acp sur le visage, tu trouves l'axe principal et les yeux seront les cercles symétriques de part et d'autre.
    Il y a énormément d'articles et de recherches sur le sujet, cf : reconnaissance de formes, caractérisation de visage, reconnaissance faciale, ... (tout est en anglais bien sûr :s).
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  16. #16
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    bonjour,
    J'ai presque le même pb, comment extraire les points délimitants les yeux en matlab.
    je vais les utiliser dans la reconnaissance de visage.
    merci pour votre contrubution

  17. #17
    Membre averti Avatar de Chatbour
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2006
    Messages
    431
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2006
    Messages : 431
    Points : 305
    Points
    305
    Par défaut pourquoi pas les réseaux de neurone ?
    Salut à tous,

    désolé si je vais m'éloigner un peu du thème exact de la discussion, mais je veux explorer l'occasion pour poser ces questions :
    Comment aurait pu être une approche neuronale de ce problème ?
    Où va se placer un réseau de neurone s'il faisait partie de la solution ? (après un certain prétraitement ?)
    Quel serait le type adéquat du réseau de neurone ? (Carte de Kohonen peut être ?)
    Est-ce que l'utilisation des réseaux de neurone serait "meilleure" que le recours aux solutions classiques (transformé de Hough) ?

    Merci d'avance.

Discussions similaires

  1. Détection des plans dans une image 3D
    Par paradize3 dans le forum Traitement d'images
    Réponses: 13
    Dernier message: 02/10/2007, 09h43
  2. Position des éléments dans une TreeMap
    Par freakfm dans le forum Collection et Stream
    Réponses: 15
    Dernier message: 14/06/2007, 23h37
  3. vc++(6)+extraction des données dans une image(.tif)
    Par spootnic22 dans le forum Visual C++
    Réponses: 1
    Dernier message: 22/11/2006, 16h14
  4. Ajouter des fichiers dans une image de disque .tib
    Par koKoTis dans le forum Autres Logiciels
    Réponses: 22
    Dernier message: 30/08/2006, 22h20
  5. Obtenir la position du curseur dans une Image
    Par bastoune dans le forum Composants VCL
    Réponses: 6
    Dernier message: 14/11/2003, 21h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo