Les types des fichiers dans cette base de données sont : des images, des audio-videos, des fichiers texte.... Objectif du stage Dans le stage, je suis en charge deux parties : distribuer
Trang 1Institut de la Francophonie pour l'Informatique TELECOM & Management SudParis
MEMOIRE DE STAGE DE FIN D’ETUDES
MASTER EN INFORMATIQUE
DISTRIBUTION ET ÉVALUATION
DE DONNÉES BIOMÉTRIQUES
Pierre-Olivier LADOUX
Ce stage a été réalisé au sein de l’équipe InterMedia
du département Électronique et Physique (EPH) de TELECOM & Management SudParis
Trang 2Table de manière
Remercie
Résumé
Abstrait
Liste de figures
Liste de tableaux
I Introduction 9
1 Contexte du stage 9
2 Objectif du stage 9
3 Plan du document 12
II Distribution 13
1 Base de données 13
a Acquisition 13
b Modalité 15
2 Problèmes et solutions 17
a Exigences 17
b Processus 20
c Validation de fichiers 21
d Sélection de personnes 24
e Mis en forme 27
III Évaluation 30
1 Méthode d'évaluation 30
2 Évaluation basées sur l'observation 30
a Netteté d'une image 31
b Évaluation de résultat 31
c Performance du système 33
d Résultat 35
3 Évaluation basée sur le contenu 37
a Qualité de l'iris 38
b Qualité de la signature 41
c Qualité de l'empreinte 46
IV Conclusion et perspective 49
Références
Trang 3Je tiens particulièrement à remercier professeur Betnadette DORIZZI, la directrice de stage, et deux encadrant Aurélien MAYOUE et Pierre-Olivier LADOUX pour les aides, les conseils précieux pendant 8 mois de mon stage
Je tiens également à remercier PHAN Viet Anh, Nesma HOUMANI qui ont travaillé avec moi pendant ce stage, et qui m'ont beaucoup aidé grâce à ses explications, ses conseils utiles et les documents
J’adresse mes sincères remerciements à tous les professeurs de l’Institut de la Francophonie pour l’Informatique (IFI) pour m'avoir enseigné et me donnée les cours intéressants pendant mes études
au niveau master Je profite de cette occasion pour dire remercier à tous les personnels de l’IFI qui m'ont apporté de l’aide
Finalement, je voudrais remercier ma famille, mes parents et mes amis qui sont toujours près de moi
et m'ont apporté de courage dans les moments difficiles
Trang 4La biométrie est un domaine d'authentification et de vérification d'identification utilisant des physiques ou/et des comportements des personnes Dans le département EPH, nous avons la base de données de biométrie Les types des fichiers dans cette base de données sont : des images, des audio-videos, des fichiers texte de biométrie telle que des visages, des signatures, Il est nécessaire à distribuer cette base de données Concrètement, il y a 3 modalités complètes qui sont prêtes à distribuer, c'est l'iris, la signature et l'empreinte Après la distribution, un système de références est appliqué pour évaluer des bases de données distribuées pour savoir si ces bases de données sont faciles à reconnaître
Mots-clés : biométrie, évaluation, distribution, base de données, qualité d'image, système de
références, iris, visage, empreintes
Trang 5Biometrics is a domain of identity authentication and identity verification using physical and / or behavior of individuals In the EPH department, we have a database of biometrics The files in this database are images, audio, videos, text files of faces, signatures It is necessary to distribute this database Specifically, there are 3 full modalities that are ready to distribute, it is the iris, signature and fingerprint After distribution, a reference system is applied to evaluate the distributed database
to see if these databases are easy to recognize
Keywords: biometrics, evaluation, distribution, database, image quality, system references, iris,
face, fingerprint
Trang 6Liste de figures
Figure 1.2.1 : Courbe DET 11
Figure 2.1.1 : Des capteurs utilisés dans DS2 14
Figure 2.1.2 : Des capteurs utilisés dans DS3 15
Figure 2.1.3 : Exemples des images dans la modalité de visage 15
Figure 2.1.4 : Exemples des images dans la modalité d'iris 16
Figure 2.1.5 : Exemple d'une image dans la modalité de main 16
Figure 2.1.6 : Exemples des images dans la modalité d'empreinte 17
Figure 2.2.1 : Le processus global du système de distribution 20
Figure 2.2.2 : Image non-lisible 21
Figure 2.2.3 : Les exemples des images de la main dans les conditions différentes 23
Figure 2.2.4 : Algorithme 1 25
Figure 2.2.5 : Algorithme 2 25
Figure 2.2.6 : Description de l'algorithme 2 à la fin d'une boucle dont r=2 26
Figure 2.2.7 : Distributions des id dans ds2 et ds3 28
Figure 2.2.8 : Structure de répertoire dans ds3 29
Figure 3.2.1 : Image floue et image nette 31
Figure 3.2.2 : Schémas du résultat de comparaison 32
Figure 3.2.3 : La netteté entre des images contrôlées et non-contrôlées 33
Figure 3.2.4 : La netteté entre des images capturées par webcam et par appareil photo Canon 34
Figure 3.2.5 : La netteté entre des visages capturés par webcam à l'extérieur et à l'intérieur 34
Figure 3.2.6 : La netteté entre des images capturées par appareil photo Canon avec flash et sans flash 35
Figure 3.2.7 : Œil et iris 36
Figure 3.2.8 : La netteté entre des yeux dans DS2 et dans ICE 36
Trang 7Figure 3.2.9 : La netteté entre des iris dans DS2 et dans ICE 37
Figure 3.3.1 : Exemple de résultat dans la phase segmentation du système OIRIS 39
Figure 3.3.2 : Iris en géométrie ronde et en géométrie rectangulaire 40
Figure 3.3.3 : Transformer ligne AB de la région circulaire à la ligne AB du rectangle 40
Figure 3.3.4 : Courbe DET sur la base Iris-ds2 41
Figure 3.3.5 : Courbe DET sur la base Signature-DS2 44
Figure 3.3.6 : Courbe DET sur la base Signature-DS3 45
Figure 3.3.7 : Les types de minuties 46
Trang 8Liste de tableaux
Table 1.2.1 : Les distributions demandées 18
Table 1.2.2 : Les distributions actuelles 19
Table 1.2.3 : Les valeurs possibles pour chaque partie dans le nom de fichiers 28
Table 3.2.1 : 25 caractéristiques dynamiques extraites d'un point de la signature 43
Table 3.2.2 : Comparaison les bases ds2, ds3 et les bases de références dans la modalité Signature 46
Table 3.2.3 : Résultats des protocoles dans la modalité Empreinte 47
Table 3.2.4 : Comparaison ds2, ds3 avec MYCT dans la modalité Empreinte 48
Table 4.1.1 : Les bases distribuées 49
Table 4.1.2 : Bases distribuées avec des systèmes utilisés pour l'évaluation 49
Trang 9I Introduction
1 Contexte du stage
L'authentification et la vérification d'identification sont appliquées dans beaucoup d'établissements tels que le gouvernement, l'entreprise, l'université, On peut montrer ici des exemples actuels À TELEMECOM & Management SudParis, chaque personne utilise son propre badge d'entrée pour payer ses repas à la cantine C'est une application d'authentification d'identification Ou bien, dans
un laboratoire, on équipe un système de sécurité basant sur l'empreinte Si quelqu'un veut accéder
au laboratoire, son empreinte doit être validée C'est un exemple d'une application de vérification d'identification
Actuellement, il y a des méthodes différentes pour l'authentification et la vérification d'identification :
- Les méthodes basées sur ce qu'on possède : badge, carte d'identité, passeport
- Les méthodes basées sur ce qu'on connait : mots de passe, code secret,
- Les méthodes basées sur ce qu'on est disponible : iris, main, voix, signature
La Biométrie est une méthode qui se base sur des caractéristiques physiques ou/et comportementales de l'homme telles que la main, l'iris, la marche, la signature,
Au département EPH de l'université TELECOM & Management SudParis, un projet dans le domaine de la biométrie est en cours de développement, c'est le projet InterMedia
( http://biosecure.it-sudparis.eu/ ) Mon stage fait une partie de ce projet
Actuellement, le projet utilise la base de données BioSecure Les détails de cette base sont présentés
dans la partie II.1 du rapport Brièvement, c'est une base des données des européennes réalisée par
11 universités Elle est grande et comprend beaucoup d'erreurs Il est nécessaire d'avoir une base de données sans erreur pour expérimentation ou application Donc, il vaut mieux générer une base sans erreur à partir de la base BioSecure De plus, afin de mieux utiliser, la base générée doit satisfaire quelques critères selon le projet
2 Objectif du stage
Dans le stage, je suis en charge deux parties : distribuer la base de données BioSecure et appliquer des systèmes proposés par l'équipe pour évaluer les bases distribuées
Trang 10Concernant le terme « distribution » dans le cadre de mon stage, il est considéré comme une action
de repartir des données des personnes dans la base BioSecure selon des critères définies pour générer une nouvelle base de données Après la distribution, les nouvelles bases de données sont
complètes et elles sont prêtes à donner aux autres départements ou aux personnes pour utiliser Dans
l'équipe, je charge complètement la création des bases de données complètes Pour avoir une nouvelle base de données, je devrai remplir les actions suivantes :
− Mettre en place d'un algorithme qui détecte automatiquement si les données originales ont des erreurs;
− Sélectionner des données de façon adéquate (même nombre d'hommes et de femmes, même nombre de données par site d'acquisition) pour créer les bases BioSecure à distribuer;
− Renommer les données originales sélectionnées suivant le format proposé
En effet, pour donner les bases de données complètes aux récepteurs, il faut donner le résultat de l'évaluation et le protocole utilisé Cela permet aux récepteurs de tester leurs systèmes en utilisant ces bases de données
Concernant le terme « évaluation » et « protocole », quand on a une base de données complète, on retire quelques données à partir de cette base de façon régulière La façon de retrait des données est
dit « protocole » L'évaluation est le fait de tester si une base de données est facile à reconnaître (en utilisant les données retirés par un protocole là) et la comparaison entre son résultat de reconnaissance avec le résultat de reconnaissance des autres bases de données (bases de références) Des outils pour l'évaluation sont disponibles et sont proposés par l'équipe (il ne faut pas rechercher
ou développer), ce sont des systèmes de reconnaissance : OSIRIS [8] pour l'iris, NIST [3],[7] pour
l'empreinte et signature_GET_INT [6] pour la signature Le rôle de mon stage dans cette partie est
de suivre un protocole prédéfini pour retirer des données Ces données sont les entrées des systèmes
de reconnaissance abordés Après, j'utilise ces systèmes pour extraire les scores des bases de données distribuées Ensuite, c'est une comparaison de résultat avec des bases de références Les bases de références sont ICE pour l'iris, MYCT-100 pour l'empreinte et MYCT-100, MYCT-300, BIOMET pour la signature Le protocole et mon résultat de l'évaluation sont nécessaires dans le travail de donner les bases de données complètes aux récepteurs
Concernant la comparaison, on applique la valeur EER (Equal Error Rate) de la courbe DET (Detection Error Trade-off).
Trang 11Figure 1.2.1 : Courbe DET [9]
Cette courbe présente la corrélation entre FRR (False Rejection Rate) et FAR (False Acceptance Rate) dans un système de reconnaissance FRR, c'est la possibilité qu'on refuse incorrectement un
client FAR, c'est la possibilité qu'on accepte un imposteur Si FRR est grand, le système refuse incorrectement beaucoup de clients Ça veut aussi dire que la possibilité d'acceptation d'imposteur
du système est très petite Le système de reconnaissance a donc une trop forte sécurité Si FAR est grand, beaucoup d'imposteurs sont validés Le système a donc une sécurité mauvaise C'est mieux si tous les deux FAR et FRR sont petits C'est impossible et une valeur de compromis est extraite pour les deux C'est la valeur EER
Pour la courbe DET, deux scores sont nécessaires, ce sont les scores de client et les scores d'imposteur Les scores de client sont extraits à partir de la comparaison entre des données du même client Par contre, les scores d'imposteur sont extraits à partir de la comparaison entre les données d'un imposteur avec les données d'un client
Pour l'évaluation des données en effet, j'utilise non seulement des systèmes de références disponibles mais encore un système de moi-même, le système de netteté Ce système ne fonctionne que sur des bases d'images Il s'agit à mesurer les scores de netteté des images Grâce à ces scores,
on peut savoir si des images dans la base A sont plus nettes que celles dans la base B
Trang 123 Plan du document
Ce rapport se compose de quatre parties suivantes :
– Introduction : dans cette partie, vous pouvez trouver le contexte du stage, l'objectif du stage
et mes travaux dans l'équipe J'aborde aussi quelques définitions globales telles que la distribution, le protocole, l'évaluation En outre, la courbe DET qui est utilisée dans la partie évaluation est expliquée
– Distribution : Tout d'abord, c'est la présentation de la base de données BioSecure J'explique les exigences en détail de la distribution; des solutions et leurs résultats
– Évaluation : Dans cette partie, j'explique les exigences en détail de l'évaluation; des méthodes et leurs résultats Je parle un peu de l'algorithme des systèmes utilisés et je présente mon système de netteté
– Perspective et conclusion : C'est une conclusion de ce que je fais et des travaux au futur
Trang 13II Distribution
Comme la présentation précédente des actions à remplir dans la partie I, cette partie travail principalement sur le nom de fichiers et la copie des fichiers Les méthodes pour travailler sur ces là sont assez claires Les stratégies utilisées dans le stage sont nos propositions obtenues à partir des particularités de base de données BioSecure Avant de voir les exigences en détail, on va examiner
la base de données BioSecure
la signature Cette collection est divisée en 3 sous-bases de données DS1, DS2 et DS3
− DS1 : C'est la base de données sur Internet L'objectif principal de DS1 est de collecter des
données sur Internet dans des situations non-contrôlées Les donateurs avaient la possibilité d'utiliser n'importe quelle connexion Internet (de la maison, au travail ) La base DS2 inclut 2 modalités : audio-vidéo et visage Il y a 971 donateurs et chaque donateur comprend 2 sessions
− DS2 : C'est la base de données de bureau sur 6 modalités : voix, visage, signature, empreinte,
main et iris Il y a 667 donateurs et chaque donateur comprend 2 sessions Les données sont acquises hors connexion sur un ordinateur dans les conditions contrôlées Il se compose d'une salle
de bureau avec une table large pour les matériels d'acquisition Le matériel d'acquisition comprend
un ordinateur et un certain nombre de capteurs d'acquisition de données connecté à l'ordinateur via USB ou Bluetooth interfaces :
Trang 14CANON EOS 30D
(pour le visage et la main)
PHILIPS SPC 900NC (pour le visage et l'audio-vidéo)
PLANTRONICS Voyager 510 (pour l'audio-vidéo)
WACOM Intuos A6+Inking Pen
(pour la signature)
BIOMETRIKA FX2000 (pour l'empreinte)
YUBEE (Atmel FingerChip) (pour l'empreinte) Figure 2.1.1 : Des capteurs utilisés dans DS2
− DS3 : C'est une base de données de mobiles sur 4 modalités : voix, visage, signature et empreinte
Il y a 713 donateurs et chaque donateur comprend 2 sessions Les modalités sont acquises sur des plateformes mobiles actuelles Pour les enregistrements audio-vidéo, deux conditions d'acquisition sont considérées comme différentes : intérieur et extérieur Les matériels utilisés pour l'acquisition :
Trang 15HP iPAQ hx2790
(pour l'empreinte et la signature)
SAMSUNG Q1 (pour le visage et la voix)
Webcam (pour le visage et la voix) Figure 2.1.2 : Des capteurs utilisés dans DS3
b Modalité
− Visage : Cette modalité est présentée dans trois sous-bases DS1, DS2 et DS3 Des visages sont
capturés soit par un appareil Canon (avec flash et sans flash), soit par une webcam (à l'intérieur et
à l'extérieur) Dans toutes les images, les visages orientent au capteur
Visage capturé par un appareil photo Visage capturé par un webcam
Figure 2.1.3 : Exemples des images dans la modalité de visage
− Iris : Cette modalité n'existe que dans la sous-base DS2 Des images dans cette modalité sont en
niveau gris On prend tous les deux yeux (gauche et droite) d'une personne par une webcam En
général, la pupille et l'iris de l'œil sont centrés sur l'image
Trang 16(a) Un œil (b) Iris extrait à partir d'un œil Figure 2.1.4 : Exemples des images dans la modalité d'iris
− Main : Cette modalité n'est présentée que dans la sous-base DS2 Toutes les images sont capturées
avec un appareil photo Canon (avec flash et sans flash) Deux mains (gauche et droite) sont
capturées dans le fond presque homogène
Figure 2.1.5 : Exemple d'une image dans la modalité de main
− Audio-vidéo : Cette modalité est présentée dans toutes les trois sous-bases DS1, DS2 et DS3 Les vidéos, dans cette modalité, sont enregistrées soit à l'intérieur soit à l'extérieur par webcam Dans la vidéo, le donateur regarde la webcam et prononce quelques mots ou une phase
− Signature : C'est la signature en ligne Elle n'est que présenté dans deux sous-bases DS2 et DS3 Des signatures sont prises soit sur une WACOM tablette soit sur un mobile Un donateur non seulement signe sa propre signature mais aussi imite la signature d'un autre donateur
− Empreinte : Cette modalité n'est présentée que dans deux sous-bases DS2 et DS3 Pour chaque
personne, 3 doigts (le pouce, l'index et le majeur) de 2 mains (droite et gauche) sont acquises par un
capteur optique et un thermique
Trang 17Empreinte capturée par un capteur optique Empreinte capturée par un capteur thermique
Figure 2.1.6 : Exemples des images dans la modalité d'empreinte
2 Problème et solutions
a Exigences
La base BioSecure comprend 3 sous-bases : DS1, DS2 et DS3 Comme l'introduction au début, ces sous-bases rencontrent beaucoup d'erreurs diverses telles que la duplication de fichier, le fichier non-lisible, etc Le rôle du stage dans la partie 1 est de distribuer la base en évitant les données d'erreur
Il y a 4 types d'erreur trouvés dans la base BioSecure :
− Données manquantes : Il y a 6 modalités dans la base BioSecure Chaque modalité comprend 2
sessions Le nombre de fichiers (images ou textes ou audio-vidéos) de chaque personne dans
chacune de sessions est défini En effet, les noms de fichiers respectent une règle Une personne a des données manquantes si elle n'a pas assez des fichiers demandés dans quelconque modalité
− Duplication : Dans quelques situations, on évite les données manquantes par la duplication des fichiers en copiant les données de la session 1 à la session 2 Évidemment, on doit changer le numéro correspondant de session dans le nom des fichiers dupliqués
Trang 18− Données vides : Un fichier est considéré comme un fichier vide s'il n'a pas de contenu ou si on ne peut pas lire ce fichier.
− Inverse du nom : Comme la présentation précédente, les noms de fichiers respectent une règle prédéfinie Par exemple, il faut numéroter 1 pour les images de la main gauche et 2 pour celles de la main droite mais quelqu'un fait l'inverse
Voici, les distributions demandées :
DS1/DS3, 120 communs DS1/DS2/DS3)Multimodale (2 modalités) – DS1 330 personnes
Multimodale (6 modalités) – DS2 210 personnes
Multimodale (4 modalités) – DS3 240 personnes
Table 1.2.1 : Les distributions demandées
À cause de la base incomplète DS1, les distributions ci-dessus concernant DS1 sont annulées dans
le cadre de mon stage Voici les distributions actuelles :
Trang 19Multimodale (4 modalités) – DS3 240 personnes
Table 1.2.2 : Les distributions actuelles
Les exigences sur les bases distribuées :
− Personne n'a pas de données d'erreurs
− Les noms de fichier distribués seront modifiés selon une nouvelle règle;
− Avec des bases mixtes tel que signature, empreinte, on va distinguer les données des sources différentes aux répertoires différents Par exemple, avec la base signature, on enregistre les données
de DS2 dans le répertoire signature/ds2 et les données de DS3 dans le répertoire signature/ds3
− Il faut satisfaire l'équivalence de sexe (le nombre d'homme est égale au nombre de femme), et de
données distribuées par universités;
− Il y a une contrainte plus importante entre les données distribuées, c'est l'identification unique pour une personne sur toutes les bases distribuées Ça veut dire que si le numéro 123 est l'identification d'une telle personne dans la base distribuée Main-DS2, ce numéro est alors l'identification de cette personne dans la base distribuée Iris-DS2 voire dans la baseSignature-Ds2+DS3, etc
− La base contient des personnes du département EPH
Trang 20b Processus
Je présente dans cette partie le processus du système de distribution
Figure 2.2.1 : Le processus global du système de distribution
Selon le schéma montré ci-dessus, le système de distribution comprend trois phases : validation de fichiers, sélection des personnes et mis en forme des données Le rôle de la phase validation de fichiers est de détecter les données qui ont des erreurs dans la base source Grâce aux informations
des erreurs, on peut enlever des personnes incomplètes (ayant des données d'erreur) et génère une
liste de personnes sélectionnées C'est la fonction de l'étape Sélection dans la phase Distribution Ayant la liste de personnes sélectionnées, on fait ensuite la copie de données des personnes choisies
et on renomme les noms de fichiers distribués selon une nouvelle règle
Les détails des fonctions seront présentés dans des parties suivantes
Trang 21c Validation de fichiers
Selon les explications de la partie 2.a, il y a quatre types d'erreur dans la base BioSecure : données manquantes, données vides, duplication et inverse de noms Cette partie montre la méthode de détecter les données d'erreur dans cette base Pour simplifier l'explication, on suppose que cette partie aborde la vérification de données ayant des erreurs d'une personne
- Validation de données manquantes :
La réalisation de cette fonction est assez simple Il s'agit à vérifier l'existence d'un ficher Comme le nom de fichiers est régulier, on peut retirer en un à partir des informations nécessaires telles que l'identification de la personne, l'identification de la session, la modalité
- Validation de données vides :
Pour cette validation, on vérifie des conditions suivantes :
• La taille positive, c'est la première condition d'un fichier non-vide Néanmoins, on peut donner une taille minimale acceptable pour chaque type de fichier Par exemple, la taille d'une audio-vidéo doit être extérieure que 800 KB; celle d'une image capturée par un appareil photo Canon doit être extérieure que 50 KB, etc
• Le fichier est lisible Cette condition est très importante parce que c'est vide de sens si on ne peut pas lire un fichier Cette erreur apparaît souvent avec des images L'image ci-dessous est un exemple :
Figure 2.2.2 : Image non-lisible
La structure de cette image est peut-être cassée Ce n'est pas bon de distribuer cette image
• Avec le texte, on vérifie sa structure Concrètement, c'est la structure des fichiers de signature Le fichier de signature dans DS2 a la structure suivante :
Trang 22ligne_données_1 ligne_données_2
…
ligne_données_n
On peut voir, la première ligne du fichier est un nombre qui indique le nombre de lignes de données dans le fichier Ce qu'on va faire, c'est de vérifier la correspondance entre ce numéro et le nombre actuel de lignes de données Évidemment, les lignes NULL ne sont pas comptées Cette vérification est alors simple mais elle peut enlever quelques situations non-désirables
• Avec un fichier d'audio-vidéo, il y a peut-être une erreur du son : pendant le tournage, la personne dans la vidéo ne parle pas Dans mon programme, je ne vérifie pas encore cette erreur En effet, il y
a déjà une vérité de terrain, c'est donc capable de tenir des données d'erreur sur l'audio-vidéo
- Validation des fichiers dupliqués :
Comme les noms de fichiers sont réguliers, ce n'est pas difficile à tenir deux fichiers correspondants dans deux sessions Ensuite, on compare leurs contenus Il y a deux méthodes utilisables de comparaison :
• Contenu-comparaison : Il s'agit à lire deux fichiers selon leurs formats et comparer leurs contenus Concrètement, on compare ligne par ligne pour les fichiers texte et pixel par pixel pour les images Cette méthode n'est alors pas rapide Elle n'est pas encore appliquée avec l'audio-vidéo Néanmoins, cette méthode est efficace dans quelques situations Par exemple, si deux images ne contiennent que quelques pixels différents
• Bit-comparaison : Avant la comparaison, on vérifie si deux fichiers ont une même taille Et puis,
on parcourt en même temps deux fichiers et on compare les bits correspondants de ces fichiers L'avantage de cette méthode est le temps d'exécution rapide Il est efficacement utilisé pour comparer deux audio-vidéos
- Validation d'inverse du nom :
Dans la base BioSecure, il y a deux modalités qu'on peut vérifier cette erreur C'est la main et l'iris
Je rappelle l'objectif de la validation, c'est d'enlever les personnes ayant des données d'erreur Donc,
on n'a pas besoin de vérifier les données de toutes les personnes dans la base On ne vérifie que les données des personnes qui n'ont pas encore des erreurs Il faut bien noter que la vérification
Trang 23manuelle de toute la base de données prend beaucoup de temps.
Avec l'iris, je trouve qu'il n'y a pas beaucoup d'images qui ont cette erreur Donc, un travail manuel pour l'iris, c'est mon choix
Par contre, je dois faire un programme pour détecter l'erreur pour la main La fonction principale du programme, c'est de donner la décision exacte si une image est la main gauche ou la main droite
(a) Une main avec le fond homogène (b) Le vêtement a la couleur du fond
(c) Le doigt est proche du bord (d) L'apparition du bord de fond
Figure 2.2.3 : Les exemples des images de la main dans les conditions différentes
L'image de la main a des caractéristiques comme l'image a :
− La main et une partie de bras sont capturées;
− Le fond est presque homogène
Selon leurs caractéristiques, nous avons proposée l'algorithme :
• Trouver le changement de couleur en niveau gris le plus grand dans les premières colonnes, et dans les dernières colonnes;
Trang 24• Comparer les changements Si le changement à gauche est plus grand, l'image courante est de la main gauche Sinon, c'est une image de la main droite.
En général, cet algorithme fonctionne bien Mais il y a des problèmes :
• La couleur du vêtement et celle du fond sont presque pareilles comme l'image b;
• Les doigts sont très proches au bord de l'image comme l'image c
• Il apparaît un bord de fond comme l'image d
À cause de ces problèmes, je ne satisfais pas le résultat obtenu Je change alors un peu de l'algorithme : au lieu de calculer le changement de couleur, on calcule le nombre de couleur On peut voir, le nombre de couleur extrait par le fond ne change pas beaucoup entre la région gauche et
la région droite de l'image Avec la région qui contient le bras, le nombre de couleur augmentera
On peut alors détecter quelle main capturée dans l'image Évidemment, le programme ne fonctionne
pas toujours exactement surtout avec le cas de l'image d Cependant, cet algorithme nous permet
d'enlever plusieurs d'images à travailler après
d Sélection des personnes
L'exigence importante de la distribution est l'équivalence entre la quantité de femme et celle d'homme, entre les quantités de personnes de chaque université En outre, des données doit être sélectionnées de façon aléatoire À titre de processus, il y a deux étapes à faire :
➢ Équivalence de sexe et d'université
Grâce au fichier « user.cfg », on peut indiquer le sexe de chaque personne C'est alors facile à tenir
le nombre de femmes et le nombre d'hommes dans chaque université Le travail à faire ensuite, c'est d'indiquer le nombre de femmes sélectionnées et le nombre d'hommes sélectionnés de chaque université pour satisfaire des équivalences abordées dans la partie précédente Ce travail est assez clair
➢ Sélection des personnes de façon aléatoire
On peut représenter ce problème comme suivant : choisir aléatoirement m éléments dans une séquence de n éléments (n > m) Normalement, on peut faire comme l'algorithme :
− Tandis que le nombre d'éléments choisis < m
+ On générer aléatoirement une valeur r de 1 à n
Trang 25Cet algorithme marche correctement Mais il prend trop de
temps Nous avons proposé deux algorithmes utilisables dans
deux situations différentes :
Algorithme 1:
− Diviser la séquence de n éléments en m parties
− Parcourir chaque partie
Supposer que t est la taille de la partie courante
Choisir aléatoirement un élément parmi t éléments.
On peut voir, cet algorithme ne prend pas de temps de calcul
Cependant, il a un inconvénient La possibilité de choisir un
élément est 1/t = m/n Cette possibilité est grande Ça veut
dire que la différence entre deux résultats en exécutant 2 fois
cet algorithme est petite Pourtant, en appliquant cet
algorithme, les positions des personnes choisies sont
disséminées uniformément dans la séquence En appliquant
cet algorithme, on peut tirer des données qui sont capturées
dans les périodes différentes
Algorithme 2 :
L'idée : On utilise une séquence S pour enregistrer les id des
éléments non-choisis Après une sélection, on va mettre à
jour cette séquence en abandonnant l'élément choisis
− len = n
− S[i] = i, i=1 len
− Parcourir m fois :
+ Générer aléatoirement une valeur r de 1 à len
+ Choisir l'élément qui possède l'id S[r]
+ Permuter la valeur S[r] avec la valeur S[len]
+ len = len -1
On trouve que cet algorithme marche très vite et il a résolu
Figure 2.2.4 : Algorithme 1