Title: Valrie Lavigne
1- Valérie Lavigne
- 99 038 099
- Martin Breton
- 93 056 561
- Sébastien Lafontaine
- 99 180 763
- GIF-64793
- Vision Numérique Aspect Cognitif
- Travail présenté à M. Robert Bergevin
- Université Laval
- 9 décembre 2003
2Description du projet
- Le projet consiste à détecter les yeux dune
personne dans une image où les yeux sont
présents. - Limage doit en être une où une personne est vue
de face, les yeux bien dégagés, idéalement
regardant droit devant elle.
3Données sources
- Les données sources du systèmes sont les contours
résultants dun traitement de limage avec le
logiciel Magno. - Ces contours contiennent des primitives
graphiques (segments de droite et/ou arcs de
cercle) que le logiciel Magno a calculées Ã
partir des arrêtes détectées dans limage.
4Images utilisées
5Pré-traitement
- Il faut effectuer un pré-traitement aux images
car Magno génère beaucoup trop de contours. - De plus, la détection darrêtes du logiciel Magno
est plus efficace sur une petite région de
limage originale que sur toute létendue de
limage. - Ce pré-traitement consiste à sélectionner
seulement le visage dans limage originale. Cela
a pour effet de diminuer la région de
segmentation, daugmenter lefficacité de Magno
ainsi que de diminuer le nombre de contours
générés par les cheveux, par exemple.
6Avant pré-traitement
7Après pré-traitement
8SGT
- Afin de pouvoir trouver quelques solutions
possibles, des combinaisons de contours ont été
générées aléatoirement. - Ces combinaisons ont été générées de deux façons
en centrant sur les yeux (assure une certaine
qualité de la solution générée) ainsi quen
prenant des contours provenant de limage entière
(assure des plus ou moins bonnes solutions).
9Exemple de centrage
- En utilisant seulement les contours contenus
dans le rectangle, la probabilité que le contour
généré contienne les deux yeux augmente.
10Distance entre les solutions
- Afin de ne pas avoir de solutions similaires
(voir identiques), une fonction de distance entre
deux solutions doit être implantée. - Cela permet un échantillonnage dans lespace de
toutes les solutions possibles. - Si deux solutions ne sont pas distantes dune
distance minimale Dmin, la seconde est rejetée. - La distance entre deux solutions est donnée par
le nombre de contours quelles ne partagent pas.
11SV Attribution des cotes
- Un système de votation a été élaboré afin de
classer les groupes de contours sous
lappellation  Bon ,  Moyen ou  Mauvais ,
selon si une forme dyeux était facile à voir ou
pas. - Par la suite, le groupe le mieux classé sest vu
attribué la cote maximale de  1 et ainsi de
suite jusquau pire qui est coté  200 .
12Cotes
Double-cliquez sur licône en mode conception
pour ouvrir le classeur Excel.
13FGT Critères utilisés
- Nous avons décidé dutiliser la somme pondérée
des critères suivants afin de déterminer si la
forme dune solution (groupe de contours)
ressemble à celle de deux yeux - Rapprochement des contours
- Séparation entre les deux groupes
- Forme des groupes (relation largeur-hauteur)
- Alignement des deux groupes
- Ressemblance entre les deux groupes.
14FGT Pondération des critères
- Voici la pondération accordée à chaque critère
15Rapprochement des contours
- Explication
- Les solutions où les contours sont loins les uns
des autres sont peu intéressantes. - Calcul
- On calcule laire du rectangle englobant tous les
contours dun il. - On calcule ensuite la somme de laire des
rectangles entourant chaque contour. - Le rapport entre les deux aires nous donne la
valeur du critère.
16Rapprochement des contours
aireRecti aire du rectangle entourant le ième
contour de la solution nbContours nombre total
de contours dans la solution separation indice
à partir duquel les contours appartiennent au
second groupement aireG aire du rectangle
entourant le premier groupe en pixels aireD aire
du rectangle entourant le deuxième groupe en
pixels totalG 0, totalD 0 for(i0
iltseparation i) totalG aireRecti
for(iseparation ilt nbContours i) totalD
aireRecti
17Séparation entre les deux groupes
- Explication
- Lespace horizontal entre deux yeux est denviron
la largeur dun il. - Calcul
- On calcule lespace entre les deux groupes de
contours. - On effectue ensuite le rapport entre cet espace
et la largeur moyenne des groupes. Ce rapport
donne le score du critère.
18Séparation entre les deux groupes
x1G coordonnée horizontale de la limite gauche
du rectangle entourant le premier groupe x2G
coordonnée horizontale de la limite droite du
rectangle entourant le premier groupe x1D
coordonnée horizontale de la limite gauche du
rectangle entourant le second groupe x2D
coordonnée horizontale de la limite droite du
rectangle entourant le second groupe largeurG
largeur du rectangle entourant le premier groupe
en pixels largeurD largeur du rectangle
entourant le deuxième groupe en pixels
if (temp gt 2 espace 0) valeur 0 else if
(temp gt 1) valeur 2 -temp else valeur
temp
19Forme des groupes
- Explication
- Un il est généralement plus large que haut.
- Calcul
- On effectue le rapport de la largeur sur la
hauteur du rectangle englobant tous les contours
dun groupe. - Si ce ratio est hors de lintervalle
dacceptation établi expérimentalement, ce
critère a un score nul, sinon, le score du
critère est la valeur centrée du ratio par
rapport à la moyenne des seuils.
20Forme des groupes
largeurG largeur du rectangle entourant le
premier groupe en pixels largeurD largeur du
rectangle entourant le deuxième groupe en
pixels hauteurG hauteur du rectangle entourant
le premier groupe en pixels hauteurD hauteur du
rectangle entourant le deuxième groupe en
pixels seuilHaut 1.75 seuilBas 0.5
if ((ratiog gt seuilhaut )( ratiog lt seuilbas))
valg 0 else valg 1 - abs(ratiog - moyenne)
/ diff if ((ratiod gt seuilhaut) (ratiod lt
seuilbas)) vald 0 else vald 1 -
abs(ratiod - moyenne) / diff
21Alignement des deux groupes
- Explication
- On sassure que les yeux sont vis-Ã -vis lun de
lautre. - Calcul
- On calcule la distance verticale entre le centre
du premier groupe et celui du second groupe. - Si elle est plus petite que la moitié de la
hauteur du groupe le moins haut, les deux
groupes sont alignés. - Sinon, le pointage du critère est déterminé par
la valeur centrée par rapport à la moyenne des
hauteurs des groupes.
22Alignement des deux groupes
centreG coordonnée verticale du centre du
rectangle entourant le premier groupe en
pixels centreD coordonnée verticale du centre du
rectangle entourant le deuxième groupe en
pixels hauteurG hauteur du rectangle entourant
le premier groupe en pixels hauteurD hauteur du
rectangle entourant le deuxième groupe en pixels
23Ressemblance entre les groupes
- Explication
- Les deux yeux devraient être de dimensions
semblables. - Calcul
- On calcule le rapport des largeurs du rectangle
entourant chaque groupe. - On calcule le rapport des hauteurs du rectangle
entourant chaque groupe. - La moyenne des deux rapports donne la valeur du
critère.
24Ressemblance entre les groupes
largeurG largeur du rectangle entourant le
premier groupe en pixels largeurD largeur du
rectangle entourant le deuxième groupe en
pixels hauteurG hauteur du rectangle entourant
le premier groupe en pixels hauteurD hauteur du
rectangle entourant le deuxième groupe en pixels
25FGT Génération des solutions
- Les solutions sont générées aléatoirement de la
même façon que pour SGT mais en utilisant
toujours toute limage (pas de centrage sur les
yeux). - Le groupe de contours générés est ensuite séparé
en deux groupes, le premier étant associé à lil
gauche et le second à lil droit.
26Séparation de la solutionen deux groupes
- On trie dabord la liste de contours de la
solution pour quils soient ordonnés
horizontalement de gauche à droite (on utilise le
point central de chaque contour). - Pour diviser en deux groupes, on essaie chaque
possibilité de séparation de la liste et on
choisit celle qui donne le plus grand espacement
entre les deux groupes.
27Comparaison des cotes
- Voici un tableau comparatif des cotes entre
celles données par le logiciel et SGT. De plus,
ce classeur contient un graphique de lerreur
cumulative de cotation entre SGT et les meilleurs
résultats du programme. - Les diapositives de résultats suivantes comparent
le meilleurs résultat selon chaque méthode et
donnent ensuite quelques exemples de résultats
pour chaque image originale. Les rangs peuvent
varier de 1 Ã 200.
Double-cliquez sur licône en mode conception
pour ouvrir le classeur Excel.
28Meilleur résultat formel
- Entrée EXGal006.li
- Rang selon le programme 1
- Rang subjectif 84
- Score 84,08
29Meilleur résultat subjectif
- Entrée EXGal001.li
- Rang selon le programme 6
- Rang subjectif 1
- Score 71,98
30Résultats FaceGaladrielle
- Entrée EXGal000.li
- Rang selon le programme 2
- Rang subjectif 20
- Score 75,70
31Résultats FaceGaladrielle
- Entrée EXGal009.li
- Rang selon le programme 3
- Rang subjectif 86
- Score 75,69
32Résultats FaceGaladrielle
- Entrée EXGal002.li
- Rang selon le programme 5
- Rang subjectif 9
- Score 74,44
33Résultats FaceLégolas
- Entrée EyeLegolas008.li
- Rang selon le programme 7
- Rang subjectif 30
- Score 66,59
34Résultats FaceLégolas
- Entrée EyeLegolas004.li
- Rang selon le programme 4
- Rang subjectif 114
- Score 66,57
35Résultats FaceLégolas
- Entrée Leg037.li
- Rang selon le programme 12
- Rang subjectif 140
- Score 63,59
36Résultats FaceLégolas
- Entrée Leg044.li
- Rang selon le programme 16
- Rang subjectif 88
- Score 60,98
37Résultats FaceLégolas
- Entrée Legolas027.li
- Rang selon le programme 17
- Rang subjectif 139
- Score 60,28
38Résultats FaceAndré
- Entrée EyeAndre007.li
- Rang selon le programme 4
- Rang subjectif 40
- Score 74,75
39Résultats FaceAndré
- Entrée EyeAndre001.li
- Rang selon le programme 9
- Rang subjectif 34
- Score 66,33
40Résultats FaceAndré
- Entrée EyeAndre013.li
- Rang selon le programme 10
- Rang subjectif 94
- Score 64,26
41Résultats FaceAndré
- Entrée EyeAndre011.li
- Rang selon le programme 13
- Rang subjectif 53
- Score 63,05
42Résultats FaceAndré
- Entrée EyeAndre005.li
- Rang selon le programme 20
- Rang subjectif 19
- Score 59,08
43(No Transcript)
44Analyse des résultats
- Le programme semble donner un pointage
intéressant pour les résultats qui semblaient
très bons ou très mauvais subjectivement. Par
contre, le classement des résultats moyens
comporte des écarts importants qui peuvent être
expliqués par plusieurs facteurs - La présence dun sourcil renforce la présence
dun il pour lhumain. Pour nos critères, cela
nest pas une caractéristique souhaitable. La
plupart de nos critères resteraient valides avec
la présence des deux sourcils, mais ils
deviennent moins performants lorsquil y a quun
seul sourcil présent. - La présence dun tout petit segment éloigné du
groupe fausse lévaluation car bien quil ait peu
dimportance pour la reconnaissance humaine, il
déforme le rectangle englobant les contours et
nos critères donnent donc de mauvais résultats.
45Analyse des résultats (suite)
- Le fait que les solutions aient été générées
aléatoirement fait que les solutions contiennent
des contours éparpillés qui ne ressemblent
généralement pas à un il. Cela revient à dire
que lon introduit du  bruit dans les
solutions. - Le critère de lalignement des yeux est très
facile à satisfaire.
46FV Améliorations pour une autre itération de la
méthode SAFE
- Il est clair que le système développé ne
représente quune étape dans un système élaboré
de détection de yeux dans une image. Si on devait
aller plus loin tout en respectant la
méthodologie SAFE, voici quelques points quil
faudrait améliorer - Meilleure détection de contours
- Meilleure génération de solutions
- Algorithme de raffinement de contours
- Pondération des critères
47Meilleure détection de contours
- Le logiciel Magno est très sensible aux seuils
quon lui fixe. Il sagit de modifier ses seuils
de cinq unités et beaucoup de contours
disparaissent. De plus, si, parmi ces contours
certains appartiennent à des yeux, il y a de
fortes chances que la détection soit compromise. - La transformée de Hough pourrait être utilisée
pour trouver des ellipses ainsi que des cercles,
et considérer uniquement les cercles contenus
dans des ellipses.
48Meilleure génération de solutions
- Les solutions ont été essentiellement générées de
façon aléatoire. Bien quon ait fixé une distance
entre les solutions ainsi quon ait centré la
génération de solutions sur les contours contenus
dans un rectangle entourant les yeux, il demeure
que nos solutions peuvent représenter nimporte
quoi. -
- Pour palier à ce manque, il faudrait que les
solutions soient générées en utilisant une
méthode de suivi de contours à partir dun
contour donné, trouver les contours qui sont aux
extrémités dudit contour, et ainsi de suite
jusquà ce quon ait rempli une certaine
condition sur le groupe de contours. Il faut
répéter pour un second ensemble de contours. Ces
deux ensembles peuvent être considérés comme
étant une solution potentielle. - Une autre méthode de génération de solutions
pourrait constituer à prendre un contour et
considérer tous les contours dans un certain
rayon de ce contour comme étant un groupe de
contours. Répéter pour le second groupe et
constituer une solution à partir de ces deux
groupes.
49Algorithme de raffinement de contours
- La forme des yeux que lon obtient en combinant
les résultats de Magno ne présentent pas vraiment
une forme que lon est habitué de voir. Il
faudrait une procédure qui puisse, à partir des
contours, aboutir à quelque chose constitué dune
ellipse plutôt allongée contenant un cercle de
rayon égal au demi-axe vertical de lellipse et
centré sur lellipse, le tout pour les deux yeux.
Autrement dit, créer un il avec une pupille ou
un iris. -
- Cet algorithme pourrait être aidé dans son
travail par un algorithme de prolongement et
dinterpolation de contours. Soit deux contours
séparés par une certains distance, lalgorithme
pourrait trouver le point de rencontre (jonction)
entre les deux contours. Evidemment, lalgorithme
se doit dagir de façon différente dans le cas
dune droite intersectant une autre droite, dun
arc de cercle rencontrant une droite ou,
finalement, une droite rencontrant un arc de
cercle. -
- De plus, un critère additionnel pourrait être
ajouté afin dévaluer le travail de cet
algorithme afin de pouvoir évaluer le travail
accomplie, i.e. si les dimensions de lellipse et
du cercle respectent les proportions naturelles
de lil humain.
50Pondération des critères
- Une meilleure pondération des critères pourra
être réalisée lorsque les points précédents
seront réglés.
51Et tant quà y être
- Rien ne nous empêcherait de pousser la détection
de yeux humains vers la détection de yeux de
créatures de rapprochant des humains. Par
exemple, puisque nous somme dans la thématique du
 Seigneur des Anneaux , le système de détection
pourrait sattaquer à une image dOrcs ou même
dimages du personnage Gollum ou encore, en
plaçant certains seuils sur la forme des yeux Ã
chercher, lalgorithme pourrait travailler Ã
détecter des yeux de hiboux ou tout autre être
ayant les yeux placés à lavant de sa tête. - De plus, le projet pourrait être poussé à la
limite en détectant les yeux de plusieurs
personnes dans une image ou, encore, attribuer
lespèce à laquelle appartient un individu dans
une image uniquement sur la forme des yeux sur
une image contenant Gollum, un humain et un
hiboux.
52Image de plusieurs créatures
53Sources
- Images
- www.lordoftherings.net
- Laboratoire de Vision et de Systèmes Numériques
(LVSN) - Logiciels
- Guillaume-Alexandre Bilodeau