Вы находитесь на странице: 1из 36

Dpartement de Production Automatise

cole de technologie suprieure


Montral

Dtection des contours de la pupille


laide des transformes de Hough

Jrme Schmaltz

Rapport de projet de session

Projet de session SYS844 Vision par ordinateur


lcole de Technologie Suprieure (ETS).
2006
Professeur M. Richard Lepage

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Table des matires


Table des matires ............................................................................................................................................ 2
Liste des figures ................................................................................................................................................ 3
Liste des tableaux.............................................................................................................................................. 4
1. Introduction................................................................................................................................................... 5
1.1 Travail propos ....................................................................................................................................... 6
2. Caractristiques biologiques de lil............................................................................................................ 7
3. Caractristiques dune image de lil acquise avec une camra traditionnelle............................................ 9
3.1 Ombres.................................................................................................................................................. 10
3.2 Reflets ................................................................................................................................................... 10
3.3 Pupilles.................................................................................................................................................. 11
3.4 Luminosit ............................................................................................................................................ 11
3.5 Contrainte additionnelle : lunettes et lentilles....................................................................................... 12
4. Traitement de limage pour la dtection de la pupille ................................................................................ 13
4.1 Image source ..................................................................................................................................... 13
4.2 Suppression du surplus de contours.................................................................................................. 14
4.3 Conversion en niveaux de gris.......................................................................................................... 15
4.4 Dtection des contours...................................................................................................................... 16
4.5 Directions des contours..................................................................................................................... 18
4.6 Dtection des centres ........................................................................................................................ 19
4.7 Seuillage............................................................................................................................................ 20
4.8 Isoler les centres potentiels ............................................................................................................... 21
4.9 Recherche des cercles ....................................................................................................................... 22
5. Prsentation du projet ................................................................................................................................. 24
5.1 Architecture du programme .................................................................................................................. 24
5.2 Prsentation des linterfaces usager ...................................................................................................... 27
6. Rsultats obtenus ........................................................................................................................................ 29
6.1 Vitesse de lalgorithme ......................................................................................................................... 33
7. Conclusion et amliorations possibles ........................................................................................................ 35
Rfrences....................................................................................................................................................... 36

ETS SYS-844

Jrme Schmaltz

Page 2 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Liste des figures


Figure 2.1 Les diffrentes parties externes de lil humain............................................................................. 7
Figure 2.2 Les diffrentes parties internes de lil humain.............................................................................. 8
Figure 2.3 Reprsentation des cnes et des btonnets. ..................................................................................... 8
Figure 3.1 Contenu spectral de la lumire. ....................................................................................................... 9
Figure 3.2 Image capture avec une camra traditionnelle............................................................................... 9
Figure 3.3 Formation dombre dans une image de lil................................................................................. 10
Figure 3.4 Types de reflets dans un il. (a) Reflet de fentre dans lil. (b) Reflet dune lampe dans lil. (c) Reflet dun non dans lil. ............... 11
Figure 4.1 Diffrentes tapes de traitement de limage afin de localiser la pupille dans une image.............. 13
Figure 4.2 Spcification dune rgion dintrt pour traitements ultrieurs................................................... 13
Figure 4.3 Application du filtre moyenneur sur la rgion dintrt................................................................ 14
Figure 4.4 Exemple dun filtre moyenneur de dimension 3x3. ...................................................................... 14
Figure 4.5 Conversion de la rgion dintrt en niveaux de gris. ................................................................... 15
Figure 4.6 Dtection des contours de la rgion dintrt. ............................................................................... 17
Figure 4.7 Noyaux de convolution de Sobel................................................................................................... 18
Figure 4.8 Dterminer les directions des gradients partir de lapplication des filtres de Sobel................... 18
Figure 4.9 Traage dune droite en fonction dun contour. ............................................................................ 19
Figure 4.10 Traage dune droite dans laccumulateur. ................................................................................. 19
Figure 4.11 Centre dun cercle dans un accumulateur.................................................................................... 20
Figure 4.12 Traage de lignes dans laccumulateur en fonction de limage de Canny et de la matrice de directions. 20
Figure 4.13 Application dun seuil dans laccumulateur. ............................................................................... 21
Figure 4.14 Reprsentation graphique dun Laplacien de Gaussien. ............................................................. 21
Figure 4.15 Application dun chapeau mexicain dans laccumulateur........................................................... 21
Figure 4.16 Accumulateur de Hough en trois dimensions.............................................................................. 22
Figure 4.17 Traage des cercles avec limage de contours............................................................................. 22
Figure 4.18 Flux doprations pour localiser les pupilles............................................................................... 23
Figure 5.1 Architecture de haut niveau........................................................................................................... 24
Figure 5.2 Diagramme de classes. .................................................................................................................. 26
Figure 5.3 cran principal de lapplication .................................................................................................... 27
Figure 5.4 tablissement de la rgion dintrt. ............................................................................................. 27
Figure 5.5 cran de configuration des paramtres.......................................................................................... 28
Figure 6.1 clairage de forte intensit dans laxe de la camra. Scne arrire claire. ................................ 29
Figure 6.2 Sous exposition de la lumire. Scne arrire claire. .................................................................. 29
Figure 6.3 clairage normal, scne arrire sous claire................................................................................ 30
Figure 6.4 Sur clairage sur la gauche, scne arrire sous claire. ............................................................... 30
Figure 6.5 Sur clairage sur la droite, scne arrire sous claire. ................................................................. 30
Figure 6.6 clairage normal, plan de loin....................................................................................................... 31
Figure 6.7 Plan de proche, clairage normal, ajustement de paramtres. ....................................................... 31
Figure 6.8 Temps de calculs en fonction des dimensions de la rgion dintrt. ........................................... 33
Figure 6.9 Temps de calculs en fonction des coefficients de Gaussien.......................................................... 34

ETS SYS-844

Jrme Schmaltz

Page 3 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Liste des tableaux


Tableau 5.1 Spcifications techniques............................................................................................................ 24
Tableau 5.2 Description des classes. .............................................................................................................. 27
Tableau 6.1 Liste des valeurs pour les diffrents paramtres. ........................................................................ 29
Tableau 6.2 Valeurs des paramtres utiliss pour la figure 6.7 ...................................................................... 31

Liste des formules


Formule 4.1 Exprimant la moyenne dun pixel dintrt................................................................................ 14
Formule 4.2 Conversion en niveau de gris dun pixel RGB........................................................................... 15
Formule 4.3 Conversion en niveau de gris dun pixel RGB en prenant en compte la perception de lil humain. ... 15
Formule 4.3 Reprsentation du filtre gaussien. .............................................................................................. 16
Formule 4.4 Convolution dun filtre gaussien sur une image......................................................................... 16
Formule 4.5 Amplitude dun gradient et obtention de sa direction. ............................................................... 16
Formule 4.6 Arc tangente des filtres de Sobel................................................................................................ 18
Formule 4.7 quation de la droite................................................................................................................... 19
Formule 4.8 Reprsentation dun Laplacien de Gaussien. ............................................................................. 21

ETS SYS-844

Jrme Schmaltz

Page 4 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

1. Introduction
Le traitement dimages digitales nest pas nouveau en soi. Depuis les trente dernires annes, des
applications concrtes naissant du traitement dimages, ont trouv une place importante dans plusieurs
domaines scientifiques et mmes domestiques. Ainsi, la domotique, la robotique et la biomtrie sont des
exemples de champs dapplications reposant toutes sur le traitement dimages [EFF00].
Quelques applications de la robotique arborent un systme de vision exploitant le traitement dimages
digitales afin danalyser un stimulus et den extraire une reprsentation symbolique [LEP05]. Cest souvent
le cas de robots autonomes dots dune intelligence artificielle. Dautres cas concrets dapplications directes
du traitement dimages se retrouvent aussi en biomtrie, afin de produire un modle mathmatique de
lidentit dun sujet en fonction des caractristiques physionomiques dune partie quelconque de son corps
(emprunte, iris, main, etc.).
Puisque ces milieux sont en constantes volutions du fait quils sont directement influencs par une
croissance technologique continue, la recherche en traitement dimages et en vision par ordinateur demeure
un point chaud en ingnierie.
Depuis quelques annes dj, on assiste une panoplie de recherches concernant des algorithmes et
protocoles visant la caractrisation, la quantification, la qualification et la discrtisation des attributs lil
humain [ZHU02, DAU04]. On peut maintenant voir une correspondance directe de ces recherches dans le
milieu de la biomtrie, dans celui de la commande et mme dans les domaines mdicaux.
Plusieurs de ces applications ncessitent une interaction entre lil et la machine, o lil sert de dispositif
de pointage afin que la machine puisse capturer les mouvements et reprer le point de la scne vers lequel
lil de lutilisateur pointe.
De tels dispositifs sont appels Eye Trackers. On en distingue deux catgories. Ceux qui requirent un
contact direct avec lutilisateur, par le port de lunettes ou de lentilles spciales, et ceux qui nen nimposent
pas. Ces derniers sont gnralement statiques et moins adapts la mobilit du sujet [KRO01].
Parmi les travaux consults [KRO01, BRO00] et les ressources dInternet abondantes sur le sujet, bon
nombre dentre eux reposent sur une dtection soit de liris ou de la pupille par les transformes de Hough
(voir section correspondante).
Le travail prsent dans ce rapport se penchera sur la dtection de la position des pupilles partir dimages
diffuses en continu (vido) arborant la figure dun utilisateur partir dune zone dintrt pr dtermin, et
ce, avec laide des transformes de Hough.

ETS SYS-844

Jrme Schmaltz

Page 5 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

1.1 Travail propos


Le travail propos consiste en limplmentation de divers algorithmes de traitement dimages dans le but
didentifier avec le plus dacuit possible, la position des deux iris dans un visage humain. Ce traitement
devra se faire dans un temps respectable puisque les images traiter seront en flot continu (vido).
Une rgion dintrt pr tablie servira de base au traitement. Cette rgion pourra tre dfinie
dynamiquement par lutilisateur lorsque le programme sera en excution mme linterface graphique.
Plusieurs considrations architecturales seront prises en compte afin doptimiser le temps de traitement de
chacune des images. Ces considrations et choix architecturaux seront dcrits dans la section 5 du rapport.
La dtection des contours des iris propos dans ce travail, est compose de plusieurs filtres et algorithmes
vus en classe. Une description sommaire du protocole de dtection sera propose la section 4.
La ralisation dun tel projet se fera en langage Java, qui comprend de nombreuses bibliothques pour
faciliter la capture et le traitement dimages. Le projet ne se veut pas dtre en temps rel puisque la
limitation matrielle empche dacqurir une performance suffisante.
Le travail se divisera de manire prsenter en premier lieu quelques notions fondamentales de biologie
afin didentifier les caractristiques de lil humain. Par la suite, une brve discussion sera faite sur les
principaux attributs que lon peut observer dans une image dil. Nous discuterons ensuite de lalgorithme
utilis pour dtecter les iris sur une image puis enfin, nous ferons part des rsultats obtenus par le biais de
limplmentation de notre algorithme.

ETS SYS-844

Jrme Schmaltz

Page 6 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

Rapport

2. Caractristiques biologiques de lil


Il est important de familiariser pralablement le lecteur acqurir certaines notions de base concernant lil
humain afin de le confronter aux diverses problmatiques engendres par les caractristiques biologiques
prsentes dans cette section.
Distinguons en premier lieu, trois parties externes de lil : la partie centrale appele la pupille. La pupille
est un orifice laissant passer la passer la lumire afin de faire ragir des photorcepteurs. La bande colore
entourant la pupille, appele iris est protge par une structure transparente appele corne. Liris agit
comme un muscle sur la pupille la contractant ou la dilatant, rglant ainsi le niveau de lumire entrant dans
lil. Enfin la zone blanche stalant sur le reste de laire non comble de loeil est nomme sclrotique. La
figure 2.1 peut servir de rfrence.
Sclrotique

Pupille

Iris

Figure 2.1 Les diffrentes parties externes de lil


humain1.

Lorbite de lil, formant une sphre quasi parfaite, contient des cellules photosensibles permettant de
capter la lumire ainsi que toutes les cellules nerveuses permettant la transmission de ces informations au
cerveau.
Les rayons lumineux manant dune source quelconque traversent la pupille afin dexciter les
photorcepteurs de la rtine. La rtine couvre une zone interne de lil faisant face la pupille. Les
photorcepteurs qui composent la rtine sont appels cnes et btonnets, chacun possdant ses propres
proprits.
Les cnes se diversifient en trois catgories, chacune permettant dabsorber une longueur donde
particulire. Contrairement aux cnes, les btonnets ne comptent quune seule. La disposition des
photorcepteurs sur la rtine nest pas uniforme et est fonction de langle form entre le centre de lil
(fova) et le rayon lumineux entrant. Dans la zone fovale, illustre dans la figure 2.2, les cnes y sont en
plus grande concentration que les btonnets, en priphrie cest carrment linverse.

Source : http://www.pole-diderot.com/~diderot/images/Oeil%202G.jpg

ETS SYS-844

Jrme Schmaltz

Page 7 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Figure 2.2 Les diffrentes parties internes de lil humain2.

Considrant ces faits, notons que les cnes servent la vision diurne en couleur (capacit trichromatique)
dans la zone fovale (un objet situ dans laxe de la pupille) et que les btonnets voient leur utilit
uniquement lors de la vision nocturne en noir et blanc (du fait que lon retrouve un seul type de btonnets
traitant une seule sorte de longueur donde) en zone priphrique. La figure 2.3 illustre le trichromatisme
des cnes et le monochromatisme des btonnets.

Figure 2.3 Reprsentation des cnes et des btonnets.

Connaissant un peu mieux les caractristiques biologiques de lil humain, il est maintenant temps de
sattarder aux attributs dune photographie le reprsentant afin didentifier les possibles contraintes
considrer lors de la capture et du traitement dimages.

Source : http://fr.wikipedia.org/wiki/Image:Coupe_oeil.jpg

ETS SYS-844

Jrme Schmaltz

Page 8 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

3. Caractristiques dune image de lil acquise avec une camra


traditionnelle
Les images peuvent tre recueillies partir de deux types de camras : la camra traditionnelle et la camra
infrarouge. La camra traditionnelle capte les longueurs donde du spectre visible que lil humain sait
reconnatre. La camra infra rouge de son ct, saisit les ondes infrarouges dans la lumire naturelle. (Voir
figure 3.1). La lumire naturelle comprenant trs peu de composantes infrarouges, la luminosit des images
produites avec ce type de camra en est atteinte de telle sorte que lon doit les soumettre une source
infrarouge supplmentaire afin den amliorer la qualit.

Figure 3.1 Contenu spectral de la lumire.

La majorit des reflets sont occasionns par la lumire naturelle et ainsi, la camra infrarouge permet de
former des images moins sujettes aux rflexions de la lumire et de la scne ambiante.
Mme en considrant les aspects positifs de lutilisation de la camra infrarouge, le choix de ce projet sest
arrt sur la camra traditionnelle, puisque plus accessible. Les prochaines sections traiteront des
caractristiques des images obtenues par le biais de camras traditionnelles. ce fait, on notera les quatre
caractristiques suivantes qui seront exposes plus en dtail [KRO01].
1.
2.
3.
4.

Ombrages
Reflets
Pupille
Luminosit

Voici un exemple dimage capture avec une camra traditionnelle. Elle servira de point de comparaison et
dexemple travers les commentaires et explications mis lors de la prsentation des caractristiques.

Figure 3.2 Image capture avec une camra traditionnelle.


ETS SYS-844

Jrme Schmaltz

Page 9 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

3.1 Ombres
Les ombres se forment lorsque quil y a prsence dun corps entre une source lumineuse et lil. Ainsi, les
cils de la paupire peuvent former une zone dombrage sur lil la suite dun angle trop grand entre la
source lumineuse et la camra. La figure 3.3 illustre ce fait.

Figure 3.3 Formation dombre dans une image de lil.

La figure prcdente met en vidence lombrage sur lil lorsque la source lumineuse forme un angle trop
grand considrant le fait que la lentille de la camra se confond avec laxe de la pupille.
Afin de rduire les zones dombrages, une attention particulire sera apporte au positionnement de la
source lumineuse.

3.2 Reflets
Puisque la surface dun il sapparente grandement un type spculaire, les reflets manant de lil sont
considrables. Ces reflets sont en fait produits par la corne, cette structure transparente recouvrant et
protgeant liris. tant compltement lisse elle a tendance reflter la scne tel un miroir convexe.
Dans loptique du traitement dimage, on peut considrer la rflexion de la scne sur lil en fonction de la
distance qui spare lil et la scne ainsi que lintensit lumineuse dgage par la scne.
Lintensit lumineuse dgage par la scne cumule toutes les sources lumineuses. Par exemple, les lampes
ou la lumire traversant une fentre. Plus la scne sera lumineuse, plus elle sera reflte dans lil.
En ce qui concerne la distance il scne, notons que plus un objet est proche de lil, plus le reflet
correspondant sera grand et davantage visible que sil tait loign.
Reprenons maintenant la figure 3.2 propose au dbut de cette section. Tel que lon peut observer, divers
types de reflets sy joignent et masquent des parties importantes de lil.
Parmi les types de rflexions lumineuses ambiantes, on retrouve principalement celles causes par les
fentres, lampes et nons. Les figures 3.4a, 3.4b et 3.4c [KRO01] prsentent ces diffrents types de
rflexions.

ETS SYS-844

Jrme Schmaltz

Page 10 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

(a)

(b)

Rapport

(c)

Figure 3.4 Types de reflets dans un il. (a) Reflet de fentre


dans lil. (b) Reflet dune lampe dans lil. (c) Reflet dun
non dans lil.

Il sera ds lors, trs important, de contrler la scne environnante afin de rduire le plus possible ces types
de rflexion afin dobtenir des rsultats prcis. Rduire lintensit des sources lumineuses nest en fait pas la
solution exacte au problme propos. En effet, assombrir lenvironnement diminuerait le nombre de
caractristiques observables. Il sagirait donc duniformiser lclairage afin de ne pas crer de zones de
rflexions la surface de lil, proportionnelles la taille de sources lumineuses.
Afin de pallier ce problme, plusieurs approches sont possibles. Soit par lapplication doprateurs
morphologiques en dilatant puis en rodant la zone atteinte par une rflexion dune source lumineuse, soit
en considrant que la source lumineuse possde des caractristiques contraires la pupille. Considrant le
fait quune source lumineuse est trs claire, on peut dterminer des bornes de niveaux de gris partir
lhistogramme de limage et effectuer par la suite une segmentation. Le seuillage de limage originale
reprsentant la pupille ainsi que limage arborant les zones de rflexions seront par la suite combins afin de
former une image o les trous provoqus par les sources lumineuses seront remplis3.
Le projet ne tiendra pas compte des algorithmes proposs et se risquera de contrler uniquement
lenvironnement afin de diminuer les rflexions.

3.3 Pupilles
Le fait que la pupille soit translucide empche la rflexion de la lumire. Elle apparat par consquent dune
couleur sombre ou noire sur les images captes. Cet tat, jumel une source lumineuse se trouvant dans
laxe de la pupille, occasionnera un effet dyeux rouges. Cette caractristique circonstancielle doit tre prise
en compte pour dventuelles approches. Il est noter quelle est utilise par quelques dispositifs de
dtection de mouvement dil prsentement.
Sachant que la taille de la pupille varie avec lintensit lumineuse4 (par rtroaction de liris : rflexe
pupillaire), il sera crucial dajuster la luminosit de lenvironnement afin de sassurer que nous traiterons
des tailles de pupilles respectables, donc pas trop petites.

3.4 Luminosit
La luminosit de limage devra tre ajuste afin de sassurer que le contraste est correct afin de dtacher la
pupille du reste de limage.
3
4

Lalgorithme est propos par [KRO01]


Source : http://fr.wikipedia.org/wiki/Pupille

ETS SYS-844

Jrme Schmaltz

Page 11 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

3.5 Contrainte additionnelle : lunettes et lentilles


Les lentilles modifient virtuellement la courbure de la corne, ce qui permet la correction visuelle. La
modification de cette courbure ainsi que le port de lunettes occasionnent une majoration de la rflexion de la
scne ambiante.
Le projet sassurera que les utilisateurs ne porteront pas de lentilles ni de lunettes lors de la dtection de la
pupille.

ETS SYS-844

Jrme Schmaltz

Page 12 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

4. Traitement de limage pour la dtection de la pupille


La figure 4.1 met en lumire lapproche emprunte afin de localiser les pupilles dun sujet sur une image
digitale. La prsente section tentera de dcrire de faon dtaille chacune des tapes prsentes en y
exposant les diffrents algorithmes rattachs.

Figure 4.1 Diffrentes tapes de traitement de limage afin de localiser la pupille dans une image.

4.1 Image source


Limage source provient dune camra traditionnelle. Cette camra est simplement connecte au port USB
de lordinateur. Elle fournit des images en format RGB de dimension 640x480 pixels. Chaque pixel est donc
reprsent en 24bits. Il est important de noter que les futures oprations seront appliques sur une rgion
dintrt dtermine dynamiquement par lutilisateur.

Figure 4.2 Spcification dune rgion dintrt pour traitements ultrieurs.

ETS SYS-844

Jrme Schmaltz

Page 13 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

4.2 Suppression du surplus de contours


La premire tape de pr traitement consiste rduire le bruit occasionn par le capteur et toute
llectronique de transfert. Pour ce faire, on appliquera un filtre moyenneur sur limage. Lapplication dun
tel filtre entranera malheureusement laltration des contours de limage.

Figure 4.3 Application du filtre moyenneur sur la rgion dintrt.

Le filtre moyenneur est un filtre passe-bas. Un filtre passe bas la proprit de laisser passer les frquences
spatiales faibles, mais supprime les frquences hautes. Lanalogie la plus simple faire pour ce type de filtre
est la diminution du niveau des hautes frquences (treble) sur une chane stro. On peut aussi constater que
les filtres passe-bas possdent des noyaux de convolution dont tous les coefficients sont positifs.
Son application rside lattribution, au pixel dintrt, dune valeur moyenne en considrant le voisinage
du pixel. La valeur de gris dun pixel est modifie en tenant compte des valeurs de gris des pixels voisins.
Cela est obtenu en appliquant une matrice de calcul appele noyau de convolution qui dfinit le nombre de
voisins concerns et la pondration appliquer sur leur valeur de gris.
La figure 4.4 illustre un filtre moyenneur simple de noyau de convolution 3x3 qui implique les 8 voisins
immdiats dun pixel dintrt et permet daffecter au pixel concern le neuvime de la somme des valeurs
de gris de lui-mme ainsi que de ses voisins.

Figure 4.4 Exemple dun filtre moyenneur de dimension 3x3.

Donc, pour un noyau de convolution de grandeur nxn, le pixel concern prendra la valeur de
n

i=1

n
Formule 4.1 Exprimant la moyenne
dun pixel dintrt.

ETS SYS-844

Jrme Schmaltz

Page 14 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

O xi reprsente le ime voisin du pixel.


Il est noter que plus la dimension du noyau de convolution est leve, plus ladoucissement engendr par
le traitement sera prononc.
Dans notre implmentation, le choix de dimension du noyau de convolution du filtre moyenneur a t fix
3x3 dans la plupart des cas.

4.3 Conversion en niveaux de gris


La seconde tape de pr traitement est ncessaire afin de convertir limage adoucit RGB en image en
niveaux de gris. Cette conversion permet de tirer profit de la rapidit des diffrents algorithmes subsquents,
car ils ne sont pas bass sur la couleur, mais bien sur les niveaux de gris.
Puisque quun pixel de teinte grise quelconque possde ses trois composantes RGB de mme valeur, une
manire simple de convertir chaque pixel couleur en niveaux de gris serait simplement dappliquer une
moyenne sur la somme des composantes RGB du pixel, comme ceci :
Gris =

R+G+ B
3

Formule 4.2 Conversion en niveau


de gris dun pixel RGB.

Or, daprs les recommandations de la commission internationale de lclairage, la conversion devrait plutt
se faire en utilisant la formule suivante.

Gris = 0.299R + 0.587G + 0.114B


Formule 4.3 Conversion en niveau de
gris dun pixel RGB en prenant en
compte la perception de lil humain.

Cette formule tient compte de la correction du gamma ainsi que la manire dont lil humain peroit les
trois composantes.

Figure 4.5 Conversion de la rgion dintrt en niveaux de gris.

ETS SYS-844

Jrme Schmaltz

Page 15 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

Rapport

4.4 Dtection des contours


Ltape de dtection des contours est une tape cruciale lors de la dtection de la pupille. cet effet, un des
meilleurs dtecteurs de contours sera utilis, le filtre de Canny. Ce filtre est complexe puisquil offre le
meilleur compromis possible entre la rduction de bruit et la localisation de contours. titre indicatif,
notons quune rduction de bruit abusive masque certains contours intressants, mais quune sous-utilisation
en rsulterait par la localisation de contours qui ne sont pas significatifs.
Thoriquement, le dtecteur de contours de Canny est optimal lorsque les contours sont sous la forme de
marches (step) et que limage est soumise du bruit gaussien, ce qui nest videmment pas toujours le cas.
Lalgorithme de Canny se sectionne en plusieurs phases. Premirement, la phase de rduction de bruits
seffectue par la convolution dun filtre passe-bas Gaussien, qui permet ainsi de tamiser les contours. Le
filtre gaussien est de la forme suivante.

Formule 4.3 Reprsentation du filtre


gaussien.

Lchelle spatiale, ou la rsolution laquelle une image peut tre observe, dpend du paramtre . La
convolution du noyau gaussien de rsolution sur une image I peut tre obtenue de la faon suivante.

Formule 4.4 Convolution dun filtre


gaussien sur une image.

Par la suite, la deuxime tape consiste claircir les contours. Pour ce faire, on utilise les valeurs des
amplitudes des gradients ainsi que leurs directions, en utilisant les formules suivantes :
g = g x2 + g y2

= arctan(

gy
gx

Formule 4.5 Amplitude dun gradient


et obtention de sa direction.

Lamplitude est directement proportionnelle aux composantes gx et gy. Ainsi, si gx ou gy possdent de


grandes valeurs, cela est tmoin dun changement considrable du niveau de gris dans un voisinage de 3x3
pixels. Donc, lamplitude du gradient mesure en fait la force dun contour indpendamment de sa direction.
ETS SYS-844

Jrme Schmaltz

Page 16 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Une fois les amplitudes des gradients calculs, on procde lavant-dernire tape : la suppression des non
maximaux. Cette tape rduit la largeur des artes dtectes un pixel.
Lalgorithme suivant dcrit la faon dy arriver.
Soit gs une image de mmes dimensions que limage source g.
Pour toutes les coordonnes des pixels x et y,
Approximer ? (x, y) par 0, 45, 90 ou 135 degrs.
Si g (x, y) < g dans un voisinage de direction approxime ou que
g (x, y) < g dans un voisinage de direction + 180 alors
gs(x, y) = 0
Sinon
gs(x, y) = g (x, y)
Fin si
Fin pour

Finalement, ltape de localisation repose sur lidentification des contours significatifs partir des
amplitudes des gradients prcdemment calculs. Une approche typique, qui nest pas ncessairement
correcte, stipule que les contours significatifs donnent lieu des gradients encore plus prononcs.
Lapproche triviale consiste appliquer un seuillage auprs des gradients calculs. Malheureusement, cette
dmarche occasionne son lot de problmes. Dune part, lapplication dun seuil faible nous assure de
considrer tous les contours, incluant ceux qui sont non significatifs, cest--dire de considrer les gradients
maximaux engendrs par le bruit et non les contours dcrivant des objets de la scne.
Dautre part, un seuillage trop haut engendre automatiquement une fragmentation des chanes de pixels qui
forment des contours significatifs de notre image. Le seuillage par hystrsis offre une solution ce
problme en utilisant deux valeurs de seuils. Le seuil le plus lev a comme fonction didentifier les pixels
des meilleurs candidats de contours. On essaie par la suite, de prolonger les contours en cherchant des
voisins avec une amplitude de gradient suprieure la valeur du seuil le plus faible. La recherche de ces
voisins est effectue dans huit directions possibles.
Cette technique permet donc de rduire le nombre de localisation de faux contours significatif par le fait que
les contours sont identifis et quau moins un pixel les composants offre une amplitude de gradient
suprieure la valeur de seuil maximale. La figure 4.6 illustre lide en arrire de la dtection de contours
par le filtre de Canny dans le projet prsent.

Figure 4.6 Dtection des contours de la rgion dintrt.

ETS SYS-844

Jrme Schmaltz

Page 17 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

Rapport

4.5 Directions des contours


La direction des contours est tout fait analogue ce que lon ait pu voir dans une des sous tapes de
dtection des contours par lalgorithme de Canny. Nous pourrions reprendre directement les rsultats
obtenus ou pourrions simplement utiliser les filtres de Sobel pour en arriver au mme point.
La direction des gradients est obtenue en calculant larc tangente entre la matrice des points atteints par la
convolution du filtre de Sobel en Y ainsi que la matrice des points touchs par le filtre de Sobel en X. Il est
important de garder le rsultat des convolutions dans une matrice afin de sassurer de conserver la possible
ngativit des oprations. linstar de la matrice, conserver les rsultats dans une structure de type image5,
ramnerait les valeurs des oprations entre 0 et 255 ce qui ne dcrit pas la ralit de ce filtre.

= arctan(

Sobel y
Sobel x

Formule 4.6 Arc tangente des filtres


de Sobel.

Loprateur de Sobel produit la magnitude du gradient. Comme tous les oprateurs de gradients, le calcul de
la magnitude des gradients peut tre calcul partir de masques de convolutions.

Figure 4.7 Noyaux de convolution de Sobel.

La figure 4.8 illustre les propos prcdemment exposs.

Figure 4.8 Dterminer les directions des gradients partir de lapplication des filtres de Sobel.

Le type image est un type de donne en Java qui permet de conserver linformation dune image digitale.

ETS SYS-844

Jrme Schmaltz

Page 18 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

4.6 Dtection des centres


La dtection des centres repose sur les rsultats des deux dernires tapes. Pour chaque point de contours de
limage de Canny, on trace une droite en fonction de la direction calcule par le biais de lapplication des
filtres de Sobel ltape prcdente.
Ainsi par la simple application de la formule de la droite
y = mx + b
Formule 4.7 quation de la droite.

On trace une droite dans laccumulateur en fonction des points de contours de limage de Canny tel
quexpos dans la figure 4.9.

Figure 4.9 Traage dune droite en fonction dun contour.

Tracer une droite dans un accumulateur revient incrmenter chaque cellule dune matrice de un aux
endroits (discrtiss par rapport la formule 3.7) o elle passe.

Figure 4.10 Traage dune droite dans laccumulateur.

Le fait de tracer deux droites en fonction des directions des gradients dans laccumulateur incrmente de un
chacune des cellules touches. Ainsi, comme on peut le voir dans la figure 4.10, la rencontre de deux droites
produit un rsultat suprieur un (1 +1).
ETS SYS-844

Jrme Schmaltz

Page 19 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Lutilisation de cette mthode est trs utile dans notre cas puisque les valeurs maximales dans
laccumulateur identifieront les centres des cercles potentiels. Ainsi, si on trace des droites perpendiculaires
au contour dun cercle, le point de rencontre de ces droites identifiera ncessairement le centre de celui-ci.
La figure6 4.11 illustre ce propos.

Figure 4.11 Centre dun cercle dans un accumulateur.

La figure 4.12 synthtise la thorie nonce.

Figure 4.12 Traage de lignes dans laccumulateur en


fonction de limage de Canny et de la matrice de
directions.

4.7 Seuillage
Lapplication dun seuil permet de se dsencombrer de toutes les informations superflues qui engorgent
notre accumulateur. Ainsi, pour une valeur de seuil donne, tous les pixels ayant une valeur infrieure seront
mis zro pour prserver uniquement linformation dintrt, soit les centres potentiels.
Lapplication dun tel seuil a t automatise de faon la fixer la moiti de la valeur maximale dune
cellule dans laccumulateur.
(valeur (pixel actuel) > 0.5 * max(valeur (pixels de l'image)))

Source : http://www.vieartificielle.com/article/index.php?action=article&id=188

ETS SYS-844

Jrme Schmaltz

Page 20 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Donc, partir de laccumulateur, lapplication dun seuil aura pour effet de conserver uniquement les
cellules comportant des valeurs maximales, tel quindiqu par la figure 4.13.

Figure 4.13 Application dun seuil dans laccumulateur.

4.8 Isoler les centres potentiels


Afin disoler les points correspondants le plus au centre des cercles, une convolution dun chapeau mexicain
est effectue sur laccumulateur. Il est le rsultat de la combinaison dun filtre Gaussien (formule 4.3) avec
un filtre Laplacien. Cest grce la linarit ainsi que linvariabilit de ces filtres quune combinaison est
possible.

Formule 4.8 Reprsentation dun


Laplacien de Gaussien.

Sa reprsentation symbolise une sorte de chapeau do lappellation, chapeau mexicain .

Figure 4.14 Reprsentation graphique dun Laplacien de Gaussien.

Lapplication dun chapeau mexicain sur laccumulateur conservera uniquement les points les plus propices
dtre des centres de cercles potentiels en dcrmentant les valeurs des cellules entourant les centres. La
figure 4.15 trace le portrait de ces propos.

Figure 4.15 Application dun chapeau mexicain dans laccumulateur.


ETS SYS-844

Jrme Schmaltz

Page 21 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

4.9 Recherche des cercles


La dernire tape repose sur les coordonnes des cercles potentiels identifis dans laccumulateur ainsi que
les contours localiss par lapplication du filtre de Canny. Pour ce faire, lutilisation des transformes de
Hough a t jumele avec les informations dont nous disposions sur les coordonnes des centres potentiels.
La transforme de Hough sappuie sur un principe daccumulateurs, analogue ltape de dtection des
centres potentiels des cercles. Pour un cercle de rayon inconnu, lutilisation daccumulateurs en trois
dimensions sera de mise. Les deux premires dimensions expriment les coordonnes du cercle tandis que la
troisime lie ces coordonnes un rayon r. La figure 4.16 nous donne un exemple.

Figure 4.16 Accumulateur de Hough en trois dimensions.

Si nous voulons trouver des cercles de rayons de 8, 9 et 10 units, nous aurons construire un accumulateur
comprenant trois niveaux, chacun en deux dimensions.
Une fois nos accumulateurs de Hough initialiss, partir de limage de contours de Canny, on trace
littralement des cercles dans un des accumulateurs en faisant concider le centre du cercle avec les
coordonnes du pixel de contour pour un rayon donn. Afin de tracer les cercles le plus efficacement
possible dans laccumulateur de Hough, lutilisation de la mthode de Bresenham a t employe.
Comme on peut le voir dans limage 4.17, plusieurs cercles sont tracs (dans un accumulateur de rayon r) en
suivant les contours (cercle gris fonc) de limage de Canny. Une fois tous les cercles tracs dans les
accumulateurs, on ralise que les cellules qui contiennent des valeurs maximales, sont des centres potentiels.

Figure 4.17 Traage des cercles avec limage de contours.

ETS SYS-844

Jrme Schmaltz

Page 22 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Enfin, on divise la tche finale en deux parties. Cette fission est tablie en fonction des dimensions de la
rgion dintrt analyser. Cette rgion dintrt reprsente une partie du visage qui arbore les yeux du
sujet. Afin de localiser le mieux possible les iris et pupilles du sujet, on divise cette rgion en deux parties
gales dans le but de trouver les cercles les plus potentiels de reprsenter liris et la pupille gauche et ceux
de la partie droite du visage de lindividu.
Pour chacune de ces parties, on applique un seuil permettant de conserver uniquement les coordonnes et
rayons de centres potentiels de cercle et on sassure en mme temps quils font parti de laccumulateur de
cercles potentiels identifis une tape antrieure.
En terminant, on fait la moyenne des positions et des rayons des cercles restants et on identifie, gauche et
droite, les cercles entourant les iris et pupilles. On isole les cercles les plus petits qui savrent tre les
pupilles.

Figure 4.18 Flux doprations pour localiser les pupilles.

ETS SYS-844

Jrme Schmaltz

Page 23 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

Rapport

5. Prsentation du projet
Le projet repose sur les algorithmes prcdemment exposs. Ils ont t implments dans le langage Java,
permettant ainsi dutiliser bon nombre de bibliothques facilitant la manipulation et le traitement dimages.
Les images ont t captures laide dune camra web traditionnelle de modle Intel USB Camera III. Les
rsultats ont t obtenus sur un ordinateur PC de type AMD Athlon 1.4Ghz avec 448 Mo RAM. Le
tableau 5.1 prsente le dtail des spcifications techniques.
Proprit
Processeur
Mmoire
Systme dexploitation
Environnement Java
Camra

Description
AMD Athlon 1.4 Ghz
448 Mo RAM DIMM
Windows XP PRO SP2
JRE 1.5.2
Intel USB Camera III

Tableau 5.1 Spcifications techniques

5.1 Architecture du programme


Cette section expose la conception du projet en prenant le soin de prsenter les diffrentes composantes qui
forment le programme. Commenons par un diagramme de type Components & Connectors qui nous
permet dexposer larchitecture de haut niveau du projet.

Figure 5.1 Architecture de haut niveau.


ETS SYS-844

Jrme Schmaltz

Page 24 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

La figure 5.1 nous permet de voir linteraction existante entre lutilisateur et le systme. Lutilisateur peut
grer dynamiquement la rgion dintrt quil veut traiter ainsi que les paramtres de certains filtres. Le
programme prendra en compte les changements effectus par lutilisateur lors de la prochaine capture
dimage.
Cette vue architecturale permet de constater que limplmentation du projet est divise en deux
composantes majeures : la Camera Image Grabber ainsi que la Image Effect Processor. La CIG (Camera
Image Grabber) repose sur les bibliothques de Java Media Framework qui permettent de communiquer
avec des priphriques multimdias tels que les cartes de son ou les camras par exemple. La IEP quant
elle utilise des fonctionnalits plus gnrales de traitement dimages englobe dans Java AWT.
La CIG comme principale responsabilit de capturer les images provenant de la camra web en format
YUV de dimensions 640x480 pixels en RGB. Chaque image capture est envoye la composante IEP
(Image Effect Processor) qui se charge de les traiter en considrant dynamiquement la rgion dintrt
dfinit par lutilisateur ainsi que les paramtres des diffrents filtres pralablement configurs.
Les flches grises connectant les composantes IEP et CIG elles-mmes tmoignent du fait quelles sont
identifies comme tant des singletons (une seule composante de chaque type par application) et quelles
sont toutes les deux des fils dexcution (thread). De cette manire, les oprations ne sont pas squentielles,
mais parallles augmentant ainsi la vitesse dexcution. La communication entre ces deux composantes
seffectue par invocation implicite reproduisant ainsi une sorte de systme de messagerie par
programmation vnementielle. Ainsi, chaque fois que CIG capture une nouvelle image, il avertit (ou
envoie un message) IEP quil possde une image pour lui et continue en mme temps de capturer dautres
images sans avoir attendre quIEP termine son travail.
LorsquIEP reoit une image de CIG, il considre la rgion dintrt dfini par lutilisateur et applique les
filtres squentiellement sur la rgion dintrt uniquement et non sur limage complte, acclrant ainsi
lacuit et la rapidit du processus.
Une fois le dernier filtre appliqu, les cercles dtermins sont dessins mme limage dentre et envoye
lcran titre de rsultat.

ETS SYS-844

Jrme Schmaltz

Page 25 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Rentrons maintenant dans les dtails techniques de limplmentation de larchitecture prsente en langage
Java. Pour ce faire, consultons la figure 5.2 qui illustre le diagramme de classes du programme.

Figure 5.2 Diagramme de classes.

Comme nous pouvons le voir, huit classes ont t cres pour localiser les pupilles dans une image. ce
fait, une brve description suivra pour chacune delles dans le tableau suivant.
Nom de la classe
AppParameterDialog
ApplicationParameter

JDPInterface

CameraImageGrabber
ImageEffectProcessor

ETS SYS-844

Description/Responsabilits
Interface graphique permettant de contrler les
diffrents paramtres de lapplication.
Classe qui contient tous les paramtres de
lapplication, cest--dire les paramtres des filtres,
les coordonnes de la rgion dintrt ainsi que
lidentificateur de la camra utiliser.
Interface graphique principale permettant dafficher
les images captures par la classe
CameraImageGrabber ainsi que la rgion dintrt
trait par la classe ImageEffectProcessor.
Permet de rcuprer les images provenant dune
camra web.
Contient tous les filtres permettant de traiter la
rgion dintrt slectionn par lutilisateur.

Jrme Schmaltz

Page 26 sur 36

SYS844-RPS

Nom de la classe
HoughTransform

ImageUtils
ArrayUtils

Dtection de la pupille laide des


transformes de Hough

Rapport

Description/Responsabilits
Contient lalgorithme de traitement de la rgion
dintrt afin de dtecter les cercles potentiels dans
limage en prenant en compte les accumulateurs de
cercles potentiels.
Classe qui contient de multiples fonctionnalits de
base pour le traitement dimages.
Classe qui contient plusieurs mthodes diffrentes
pour transformer des tableaux.

Tableau 5.2 Description des classes.

5.2 Prsentation des interfaces usages


Cette section prsente les diverses interfaces qui font partie de lapplication issue du projet. Pour chacune
delle, une description sommaire y sera jointe.
La premire interface prsente est lcran principal de lapplication. Elle permet lutilisateur de voir le
rsultat du traitement de lalgorithme sur la rgion dintrt. De plus, cest par le biais de cette interface que
lutilisateur peut dfinir dynamiquement une rgion dintrt traiter.
La figure 5.3 illustre lcran principal. La figure 5.4 reprsente linteraction entre lutilisateur et le
programme lors de ltablissement de la rgion dintrt.

Figure 5.3 cran principal de lapplication

Figure 5.4 tablissement de la rgion dintrt.

Tel quon peut le voir, une rgion dintrt caractrise par une bordure rouge indique que le programme est
prsentement en train dinterprter cette aire comme rgion dintrt. Une bordure verte indique que
lutilisateur est prsentement en train de rallouer une nouvelle rgion dintrt. Cette rassignation est
possible en appliquant un drag & drop sur linterface graphique avec laide du curseur de la souris.
Voyons maintenant le deuxime cran, celui qui permet de contrler les paramtres des effets en temps rel.
Laffichage de cet cran est simplement possible en appuyant la touche c pour configure. Lutilisateur
peut ainsi y avoir accs et paramtrer tous les filtres par simple slection de botes cocher ou de barres de
dfilements fixer.
ETS SYS-844

Jrme Schmaltz

Page 27 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

La figure 5.5 prsente lcran de configuration du programme.

Figure 5.5 cran de configuration des paramtres.

Comme on peut le voir, les diffrents paramtres configurables (car ils ne le sont pas tous) peuvent tre en
fonction ou suspendu temporairement en cochant les botes appropries.

ETS SYS-844

Jrme Schmaltz

Page 28 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

Rapport

6. Rsultats obtenus
Force est de constater que durant la phase de tests, la prcision de nos instruments et les conditions trs
dlicates dclairage ne permettaient pas de localiser avec prcision les contours de la pupille. Par contre, les
divers tests prsentaient avec succs la localisation du contour de liris. Cette section prsente donc les
diffrents rsultats obtenus lors de la localisation de liris pour des clairages et paramtres diffrents de
filtres. Voici les paramtres par dfaut qui ont t utiliss pour tous les rsultats prsents. Les rsultats qui
prennent en compte des valeurs diffrentes que celles par dfaut seront identifis.
Paramtre
Filtre Moyenneur
Canny (Filtre Gaussien)
Canny (Seuil minimal)
Canny (Seuil maximal)
Gaussien de Laplacien

Valeur
3x3
Sigma : 1.2
18
41
En fonction

Tableau 6.1 Liste des valeurs pour les diffrents paramtres.

Les figures 6.1 et 6.2 illustrent les rsultats recueillis pour des cas o le plan arrire prsentait une fentre
laissant entrer la lumire du jour. La figure 6.1 met en vidence un sur clairage tandis que la figure 6.2 un
sous clairage.

Figure 6.1 clairage de forte intensit dans laxe de la


camra. Scne arrire claire.

Figure 6.2 Sous exposition de la lumire. Scne arrire


claire.

Comme on peut le voir, la figure 6.1 prsentant un clairage de forte intensit tendance produire un
meilleur rsultat que dans le cas dun clairage de faible intensit. Cela est d au fait que le dtecteur de
contours de Canny doit moins bien identifier les contours de limage. Si moins de contours sont dtects
alors les probabilits seront plus faibles de trouver avec prcision le pourtour de la pupille ou de liris. Nous
allons voir dans les figures subsquentes que le fait davoir une source lumineuse (fentre) en arrire-plan
une influence directe sur lacuit des rsultats. La figure 6.3 illustre justement ces propos en prsentant un

ETS SYS-844

Jrme Schmaltz

Page 29 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

clairage normal, mais avec une arrire-scne moins claire. Larrire-scne tant moins claire, moins de
reflets sont donc produits et les rsultats sy trouvent lgrement amliors.

Figure 6.3 clairage normal, scne arrire sous claire.

Les figures 6.4 et 6.5 montrent leffet dun sur clairage sur la gauche et la droite. Les clairages intensifs
dun ct particulier produisent un effet dombrage sur lautre face. Notons la prcision encore ici des cts
sur exposs versus les cts sous exposs par la lumire. ce fait, la figure 6.4 tmoigne de la prcision du
rsultat sur le ct gauche du sujet (sur exposition gauche) tandis que la figure 6.5 dmontre lacuit des
rsultats sur le ct droit.

Figure 6.4 Sur clairage sur la gauche, scne arrire sous


claire.

Figure 6.5 Sur clairage sur la droite, scne arrire sous


claire.

Malgr un clairage contrl et une scne arrire ne produisant pas trop de luminosit, on constate que
lalgorithme implment ne produit pas les rsultats escompts pour des images prsentant des sujets qui
sont loigns de lobjectif de la camra. Limage 6.6 en tmoigne.

ETS SYS-844

Jrme Schmaltz

Page 30 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

Rapport

Figure 6.6 clairage normal, plan de loin.

Aprs lajustement de certains paramtres et un rglage de la luminosit de la scne, nous avons pu accrotre
la prcision du programme. La figure 6.7 prsente le rsultat obtenu. On y voit la prcision avec laquelle le
programme est capable de localiser les iris. Le tableau 6.2 prsente les valeurs de paramtres utiliss pour ce
rsultat.
Paramtre
Filtre Moyenneur
Canny (Filtre Gaussien)
Canny (Seuil minimal)
Canny (Seuil maximal)

Valeur
3x3
Sigma : 0.2
15
50

Tableau 6.2 Valeurs des paramtres utiliss pour la figure 6.7

Figure 6.7 Plan de proche, clairage normal, ajustement de


paramtres.

ETS SYS-844

Jrme Schmaltz

Page 31 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

On se rend compte rapidement quavec les diffrents rsultats rcolts, ce problme de vision est complexe.
Sa complexit provient en majeure partie de lenvironnement dans lequel nous oprons les tests. Ainsi, pour
des cas prsentant des luminosits diffrentes, on a pu voir que lacuit des rsultats en tait directement
relie. Pour essayer de contrler les effets ngatifs tels que les ombrages, reflets ou luminosit (prsents
la section 2), il faut sassurer dclairer la scne le mieux possible tout en sassurant de ne pas occasionner
de reflets. Le problme est complexe. Afin de garder une constance dans les rsultats, il vaudrait mieux
excuter les tests dans une pice ferme sans fentre o lclairage serait intensif, mais dont les sources ne
seraient pas rapproches du sujet.
La deuxime difficult rencontre est sans contredit le paramtrage des filtres. Comme on a pu le voir lors
de la prsentation des diffrents rsultats, les valeurs que prennent certains filtres ont une incidence directe
sur la prcision des rsultats. Il ne faut surtout pas oublier, quil existe en plus un compromis faire entre la
rapidit du traitement ainsi que lacuit des rsultats. La section suivante nous prsente la vitesse
dexcution de lalgorithme en fonction des tailles de rgions dintrts ainsi quen fonction de certaines
valeurs de filtres.

ETS SYS-844

Jrme Schmaltz

Page 32 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

Rapport

6.1 Vitesse de lalgorithme


Tel que signal prcdemment, il existe un compromis faire entre la prcision et lacuit des rsultats. Si
notre application se veut en temps rel, il sera prfrable de choisir des algorithmes moins prcis ou de se
limiter dans nos recherches de solutions. Par exemple, le fait de choisir un algorithme de type Monte-Carlo
1000 itrations serait avantageux que de calculer avec prcision une solution optimale pour des
programmes oprant temps rel. Lacuit des rsultats peut aussi tre contrle en limitant la prcision de
donnes numriques. Ainsi, pour tout ce qui concerne les intgrateurs numriques par exemple, un pas de
temps constant fera laffaire dans la plupart des cas.
Cette section nous prsente les diffrents temps de calcul obtenus pour le traitement de la rgion dintrt de
dimension variantes et de valeurs de paramtres de filtres diffrents.
La premire figure illustre ici les temps de calcul moyens obtenus pour des tailles de rgions dintrts
variant de 80x60 640x480.
Temps de calculs en fonction des dimensions de
ROI

Temps de calculs en
millisecondes

10000
8000
Temps de calculs

6000

Expon. (Temps de
calculs)

4000
2000

y = 32986e

-1,3401x

640x480 320x240

160x120

80x60

R = 0,9934

Dimensions

Figure 6.8 Temps de calcul en fonction des dimensions de la rgion dintrt.

Comme on peut le voir, le traitement dune rgion dont laire est quatre fois moins grande, donc lorsque les
dimensions sont deux fois plus petites, entrane un dcroissement exponentiel. Le graphique de la figure 6.8
montre le comportement du temps de calcul en millisecondes en fonction des dimensions de la rgion
dintrt. De plus, une rgression exponentielle a t ajoute au graphique afin de comparer le
comportement des rsultats.
On voit par ce graphique, lincidence de la taille de la rgion dintrt sur les performances du programme.
Ainsi, pour oprer le programme en un temps acceptable, une rgion dintrt de petite taille (entre 160x120
et 80x60) est de mise.
Comparons maintenant les diffrents temps de calcul obtenus pour une dimension fixe de la rgion dintrt,
mais en augmentant le nombre de contours dtects par Canny. Pour ce faire, une diminution progressive du
coefficient de Gaussien (li au filtre de Canny) a t effectue. La diminution de ce coefficient a comme
ETS SYS-844

Jrme Schmaltz

Page 33 sur 36

Dtection de la pupille laide des


transformes de Hough

SYS844-RPS

Rapport

impact direct la non-suppression de certains contours superflus et donc un traitement plus lourd des filtres
subsquents.
La figure 6.9 illustre les temps de calculs obtenus pour diffrents coefficients de Gaussien.

Temps de calculs en
millisecondes

Temps de calculs en fonction du coefficient de


Gaussien
4000
3500
3000
2500
2000
1500
1000
500
0

Temps de calculs

0,1

0,3

0,5

1,5

2,5

Coefficients de Gaussien

Figure 6.9 Temps de calcul en fonction des coefficients de Gaussien.

Le graphique ci haut nous indique que plus le coefficient gaussien augmente, moins de dtails sont prsents
dans limage et par consquent moins doprations sont engendres.
Le paramtrage des filtres influence aussi la performance du programme. Il faut donc sassurer encore une
fois, de trouver un compromis entre vitesse et fiabilit. Cela ne veut pas dire ncessairement que les
rsultats obtenus avec des temps de calcul levs ont t les meilleurs. Rappelons que le fait de trouver des
contours superflus par le manque dadoucissement de limage entrane son lot derreurs. Il faut donc
exprimentalement dterminer les valeurs des diffrents paramtres dans le but dobtenir les meilleurs
rsultats possibles dans un temps acceptable.

ETS SYS-844

Jrme Schmaltz

Page 34 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

7. Conclusion et amliorations possibles


La dtection de la pupille sest avre un projet non trivial. Les conditions environnantes et le paramtrage
des filtres navaient pas t considrs lors de lanalyse sommaire du projet, elles ont pourtant jou un rle
dterminant en constatant les rsultats. Le fait dutiliser Java comme outil principal de dveloppement a
affect directement les performances globales du systme. Il est impensable de considrer une
implmentation en temps rel sur cette plateforme. Il aurait t particulirement agrable de voir la
diffrence avec une implmentation en C++.
Les rsultats obtenus ont tmoign aussi du manque de prcision du capteur (camra web) utilis. Le
manque de dfinition et le bruit produit par llectronique de transfert ont certainement t des facteurs
ayant des impacts sur lalgorithme employ. ce fait, il aurait t intressant demployer une camra
infrarouge de bonne qualit afin de rduire le nombre de reflets et augmenter la rsolution des images
captes.
Les conditions dclairage prcdemment mentionnes ont t dterminantes pour les rsultats que nous
avons obtenus. Ainsi par manque dclairage, il tait impossible pour le dtecteur dartes (Canny) de
correctement identifier les contours de limage. Une solution plausible aux problmes environnementaux
aurait t dexcuter les tests dans un milieu stable. Par stable, on considre la position de lutilisateur
(hauteur et distance il camra) constante ainsi que lclairage non variant (pas de sources dclairage prs
de la corne).
De simples recherches sur Internet ont permis de trouver limplmentation de tous les algorithmes employs
en C++. Ce regroupement dalgorithmes a le nom dOpenCV et rside maintenant sous le titre de projet
ouvert. Limplmentation du projet avec cette librairie aurait certainement permis dobtenir des
performances proches du temps rel.
Beaucoup de recherches sont encore effectues aujourdhui dans ce domaine. Plusieurs dentre elles
utilisent moins dtapes (donc moins de temps de calcul) que lalgorithme prsent. Lintgration de cellesci au projet prsent permettrait srement une nette amlioration de la prcision et performance.

ETS SYS-844

Jrme Schmaltz

Page 35 sur 36

SYS844-RPS

Dtection de la pupille laide des


transformes de Hough

Rapport

Rfrences
Nick Efford, Digital Image Processing: a practical introduction using Java, Addison-Wesly, 2000.
Richard Lepage, La vision par ordinateur, Presses de lcole de Technologie Suprieure, 2005.
Zhiwei Zhu, Kikuo Fujimura, Qiang Ji , Proceedings of the symposium on Eye tracking research &
applications, ACM Press, March 2002.
Gintautas Daunys, Nerijus Ramanauskas , Proceedings of the third Nordic conference on Human-computer
interaction NordiCHI '04, ACM Press, October 2004.
Julien Kronegg, Dispositif de capture des mouvements oculaires pour un simulateur de vision, Universit de
Gneve, Juin 2001.
Claude-Alain Brohy, Dtection des yeux, cole polytechnique fdrale de Lausanne, Juin 2000.
Radio Canada, Laprs 11 septembre, Radio Canada, http://archives.radio-canada.ca/IDC-0-16-13378010/sciences_technologies/videosurveillance/clip8, Septembre 2003.
Alexandre Bargeton, Dtection des cercles dans une image,
http://www.vieartificielle.com/article/index.php?action=article&id=188, Janvier 2006.

ETS SYS-844

Jrme Schmaltz

Page 36 sur 36

Вам также может понравиться