Institut 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
Stagiaire :
Encadrant :
Thanh-Lam HOANG
Aurélien MAYOUE
Pierre-Olivier LADOUX
Directrice :
Bernadette DORIZZI
Ce stage a été réalisé au sein de l’équipe InterMedia
du département Électronique et Physique (EPH) de TELECOM & Management SudParis
Évry, Mars – Octobre, 2009
Page 1
Table 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
Page 2
Remerciements
Je 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.
Page 3
RESUME
La 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.
Page 4
ABSTRACT
Biometrics 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.
Page 5
Liste 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
Page 6
Figure 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
Page 7
Liste 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
Page 8
I. 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
( 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.
Page 9
Concernant 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).
Page 10
Figure 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.
Page 11
3. 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.
Page 12
II. 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.
1. Base de données
a. Acquisition
L'« Association BioSecure » (BioSecure Foundation) est un résultat du projet européen « BioSecure
réseau d'excellence » (Biometrics for Secure Authentication). Pendant 3 ans (2004-2007), ce projet a
construit une base de données biométriques multimodales dans 11 universités en Europe. Cette
collection a été conçue pour inclure des données pour le visage, la voix, l'iris, l'empreinte, la main et
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 :
Page 13
CANON EOS 30D
PHILIPS SPC 900NC
PLANTRONICS Voyager 510
(pour le visage et la main)
(pour le visage et l'audio-vidéo)
(pour l'audio-vidéo)
WACOM Intuos A6+Inking Pen
BIOMETRIKA FX2000
YUBEE (Atmel FingerChip)
(pour la signature)
(pour l'empreinte)
(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 :
Page 14
HP iPAQ hx2790
SAMSUNG Q1
Webcam
(pour l'empreinte et la signature)
(pour le visage et la voix).
(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.
Page 15
(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.
Page 16
Empreinte 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.
Page 17
− 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 :
Bases de données distribuées
Nombres de personnes
Main – DS2
210 personnes
Iris – DS2
210 personnes
Signature – DS2+DS3
210 DS2 + 240 DS3 (120 communs DS2/DS3)
Empreinte – DS2+DS3
210 DS2 + 240 DS3 (120 communs DS2/DS3)
Visage – DS1+DS2+DS3
330 (210 communs DS1/DS2, 240 communs
DS1/DS3, 120 communs DS1/DS2/DS3)
Audio-vidéo – DS1+DS2+DS3
330 (210 communs DS1/DS2, 240 communs
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
Ensemble globale
330 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 :
Bases de données distribuées
Nombres de personnes
Main – DS2
210 personnes
Iris – DS2
210 personnes
Signature – DS2+DS3
210 DS2 + 240 DS3 (120 communs DS2/DS3)
Empreinte – DS2+DS3
210 DS2 + 240 DS3 (120 communs DS2/DS3)
Multimodale (6 modalités) – DS2
210 personnes
Page 18
Multimodale (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 base
Signature-Ds2+DS3, etc.
−
La base contient des personnes du département EPH.
Page 19
b. 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.
Page 20
c. 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 :
Page 21
n
ligne_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
Page 22
manuelle 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;
Page 23
• 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
+ Si r n'est pas encore choisi alors choisir r
Page 24
Cet 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
Figure 2.2.4 : Algorithme 1
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
Page 25
Figure 2.2.5 : Algorithme 2