# Gnral Dveloppement > Algorithme & Mathmatiques > Traitement d'images >  Dtection position des yeux dans une image

## Morvan Mikael

Bonjour,

Je dois dtecter la distance entre les deux yeux d'une personne sur une image donne. 
J'ai commenc  tudier les convolutions d'image afin d'obtenir les formes globales de l'image. Par contre, je n'ai toujours pas russi  dtecter les formes dans l'ensemble des pixels.

Merci de votre aide,
  Mikal Morvan

----------


## sovitec

Bonjour,

Ton problme est difficile, et la technique  utiliser dpend du type de photos que tu veux traiter. Est-ce que tu as une connaissance pralable du type de photos traits ?

----------


## Guigui_

> Bonjour,
> 
> Je dois dtecter la distance entre les deux yeux d'une personne sur une image donne. 
> J'ai commenc  tudier les convolutions d'image afin d'obtenir les formes globales de l'image. Par contre, je n'ai toujours pas russi  dtecter les formes dans l'ensemble des pixels.
> 
> Merci de votre aide,
>   Mikal Morvan


j'ai pas tout compris ce que tu dis, mais j'avais dj commenc  tudier en stage des algorithmes pour dtecter 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 mmes 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

----------


## Morvan Mikael

Tout d'abord, merci pour vos rponse,

Je vais essayer d'tre plus clair sur les cas  traiter:
Il s'agit de reprer 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 dtecter si la ligne des yeux est bien horizontale et redresser la photo ventuellement.

Mon problme est que je ne sais pas trop par o commencer, quelle mthode gnrale employer? Comment tre sr de trouver les yeux dans l'image (problme des lunettes),...
Merci  Guigui_ pour ton lien, je suis en train de regarder...

----------


## Guigui_

voil le lien vers le pdf en question:

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

----------


## sovitec

> voil le lien vers le pdf en question:
> 
> http://www.cse.msu.edu/~hsureinl/fac...ami113783_.pdf


Ce lien parle de dtection de visage, et pas directement de dtection des yeux. Je pense que le problme ici est quand mme plus simple, et heureusement, car toutes les mthdes de dtection de visages que j'ai test et/ou implment avait un gros taux d'erreur.

Peut-tre qu'un travail rapide sur une image de gradient devrait donner des rsultats satisfaisant.

Remarque : les lunettes ne posent en gnral que peu de problme, par contre les chapeaux "rigolos", genre tte 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 rsultats.

----------


## Guigui_

> Envoy par Guigui_
> 
> voil le lien vers le pdf en question:
> 
> http://www.cse.msu.edu/~hsureinl/fac...ami113783_.pdf
> 
> 
> Ce lien parle de dtection de visage, et pas directement de dtection des yeux. Je pense que le problme ici est quand mme plus simple, et heureusement, car toutes les mthdes de dtection de visages que j'ai test et/ou implment avait un gros taux d'erreur.
> 
> ...


dans ce document, il utilisait la localisation des yeux pour affiner la dtection du visage. Mais si le visage est dj correctement dtect et dcoup, on peut tout  fait reprendre l'algo de dtection des yeux utilis (un peu modifi peut-tre) et le rutiliser pour son cas. Aprs 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)). Aprs ce n'est pas encore dit que les rsultats conviennent.

----------


## Morvan Mikael

> ce n'est que du calcul sur des composantes de couleurs avec quelques algos simples de morphologie


Peux tu dtailler un peu les algos  utiliser car je nage un peu.
Merci

----------


## Guigui_

> ce n'est que du calcul sur des composantes de couleurs avec quelques algos simples de morphologie
> 			
> 		
> 
> Peux tu dtailler 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

----------


## DURVILLE

J'ai fait pas mal de photos de cyclopes et j'ai le mme problme !

 ::D:

----------


## Le Furet

J'ai vu un algorithme de dtection d'lments du visage en cours de DEA de modles dformables. Ca semblait trs efficace, mais attention, mathmatiques pas videntes du tout inside (minimisation d'nergie sur un espace de courbes), quant  l'implmentation, a risque d'tre mortel. Nanmoins, si a intresse, je peux chercher une rfrence...

----------


## 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 gomtriques prdfinies et tu tentes de trouver des points contenus dans cette zone???
J'ai du mal  voir quel type d'algotrithme utiliser pour faire ces dterminations.

Merci encore pour votre aide

----------


## Guigui_

> 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 gomtriques prdfinies et tu tentes de trouver des points contenus dans cette zone???
> J'ai du mal  voir quel type d'algotrithme utiliser pour faire ces dterminations.
> 
> Merci encore pour votre aide


Ca par contre, je ne l'ai jamais fait (la dtection des yeux n'tait pas un de mes objectifs premier). 
On peut faire dj un seuillage sur la dernire 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 considrer les formes qui possde le plus de pixels)
Aprs une possibilit est de rcuprer le centre de gravit de ta forme (donc prendre la moyenne de tous les pixels de chaque forme)

----------


## TTKiBosse

Je pense que ton problme peut tre assez facilement rsolu par l'utilisation de la transformation de Hough gnralise (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 (aprs binarisation) les droites contenues dans une image. La transformation associe tout point (x,y) dans une image  une courbe row = x.cos(tta)+y.sin(tta) 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 mme 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

----------


## ToTo13

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  reprer car la pupille est noire et ronde, donc tu peux segmenter et vrifier la circilarit des formes pour affirmer que se sont des yeux.
 - les yeux sont symtrique par rapport au nez. Il y des algos de reconnaissance du nez ou sinon avec un mthode d'acp sur le visage, tu trouves l'axe principal et les yeux seront les cercles symtriques de part et d'autre.
 Il y a normment d'articles et de recherches sur le sujet, cf : reconnaissance de formes, caractrisation de visage, reconnaissance faciale, ... (tout est en anglais bien sr :s).

----------


## yousra_isims

bonjour,
J'ai presque le mme pb, comment extraire les points dlimitants les yeux en matlab.
je vais les utiliser dans la reconnaissance de visage.
merci pour votre contrubution

----------


## Chatbour

Salut  tous,

dsol si je vais m'loigner un peu du thme exact de la discussion, mais je veux explorer l'occasion pour poser ces questions :
Comment aurait pu tre une approche neuronale de ce problme ?
O va se placer un rseau de neurone s'il faisait partie de la solution ? (aprs un certain prtraitement ?)
Quel serait le type adquat du rseau de neurone ? (Carte de Kohonen peut tre ?)
Est-ce que l'utilisation des rseaux de neurone serait "meilleure" que le recours aux solutions classiques (transform de Hough) ?

Merci d'avance.

----------

