1. Trang chủ
  2. » Ngoại Ngữ

Développement d’un module de segmentation pour un système de reconnaissance biométrique basé sur l’iris

68 148 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 9,6 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

PHAN Viet Anh – Promotion 12 Page 17 J'ai développé un nouveau module de segmentation pour améliorer le résultat de celui-ci dans le système d'OSIRIS.. PHAN Viet Anh – Promotion 12 Page

Trang 1

Institut de la Francophonie

pour l’Informatique

Institut National des Télécommunications

Mémoire de fin d’étude

Développement d’un module de segmentation pour un système de reconnaissance biométrique

basé sur l’iris

Réalisé par : PHAN Viet Anh

Responsable du stage : Bernadette Dorizzi

Trang 2

PHAN Viet Anh – Promotion 12 Page 2

Table des matières

Remerciements 4

Résumé 5

Abstract 6

Liste des figures 7

Liste des tableaux 9

Introduction 10

I - Contexte du stage 10

II - Objectif du stage 10

III - Plan du document 11

Système de reconnaissance biométrique 12

I - Introduction 12

II - Architecture d’un système de reconnaissance biométrique 12

III - Évaluation d’un système de reconnaissance biométrique 13

IV - Système de référence 16

Techniques utilisées 18

I - Transformée de Hough 18

1 Détection de droite 18

2 Détection de cercle 21

II - Contour actif (Snake contour en anglais) 23

1 Principe 23

2 L’énergie interne 24

3 L’énergie externe 25

Segmentation 26

I - Obstacles 26

1 Les bases de données 26

2 Les difficultés 27

II - Solutions proposées 27

III - Localisation de la pupille 30

Trang 3

PHAN Viet Anh – Promotion 12 Page 3

1 Algorithme 30

2 Expériences 33

IV - Segmentation de la pupille 34

1 Recherche du contour initial 34

2 Application du contour actif 41

V - Segmentation de l’iris 46

1 Recherche du contour initial 46

2 Application du contour actif 53

VI - Génération du masque 56

1 Recherche du cercle le plus proche du contour final 56

2 Génération du masque 60

Évaluations 62

I - Préparation des évaluations 62

II - La catégorie « facile » 63

III - La catégorie « difficile » 65

Conclusion et perspectives 67

Références 68

Trang 4

PHAN Viet Anh – Promotion 12 Page 4

Remerciements

Je commence par adresser mes remerciements à Madame Bernadette DORIZZI, directrice du département EPH (Électronique et Physique) de l’Institut National des Télécommunications (INT), à mon responsable de stage pour m’avoir accueilli dans cet équipe et de m’avoir aidé durant ce stage

Je voudrais aussi remercier Madame Sonia GARCIA-SALICETTI pour les conseils précieux qu’elles m’a fournis pendant les 8 mois de stage

Je tiens également à remercier Emine, Aurélien, Anouar, Walid et les autres membres de l’équipe INTERMEDIA du département EPH pour leur aide et leur gentillesse pendant mon séjour en France

Enfin, je voudrais exprimer mon entière reconnaissance envers ma famille, mes amis et mes professeurs de l’IFI pour leurs soutiens, leurs aides et leurs encouragements

Trang 5

PHAN Viet Anh – Promotion 12 Page 5

Résumé

Ce document décrit mon travail durant mon stage de fin d’étude de Master 2 d’informatique au sein du département Électronique et Physique de l’Institut National des Télécommunications (INT) Le but principal de mon stage est de développer un nouveau module de segmentation pour un système de reconnaissance biométrique basé sur l’iris J’ai utilisé la transformée de Hough pour rechercher le contour initial de l’iris et de la pupille après avoir localisé la région de la pupille Puis, j’ai appliqué une recherche du contour actif

en me servant des contours initiaux de l’étape précédente J’ai fait plusieurs tests dans chacune des étapes afin d'analyser les erreurs et de proposer des améliorations Pour finir, j’ai ajouté une petite phase de génération de masque ayant pour but l’adaptation avec les autres modules du système d’OSIRIS

Enfin, j’ai utilisé les modules de normalisation et de classification du système OSIRIS pour évaluer la performance de ce nouveau module de segmentation Ainsi, pour ce faire j'ai tracé les courbes DET pour chacun des différents types de segmentation à savoir celui de référence, d'Hough seul, d'Hough avec contour actif et celui du système d’OSIRIS On constate que la combinaison de la transformée de Hough avec le contour actif nous donne de meilleurs résultats que la segmentation utilisant la transformée de Hough seule De plus, les résultats de cette nouvelle segmentation sont toujours meilleurs que ceux du système d’OSIRS

Trang 6

PHAN Viet Anh – Promotion 12 Page 6

Abstract

This document describes my work during a training course of my study Master 2 computer in the Electronics and Physics department of the National Institute of Telecommunications (INT) My mission is to develop a new segmentation module for biometric recognition system based on iris

I used the Hough transform to find the initial contour of the iris and the pupil after locating the pupil's region Then I apply a phase of seeking the active contour using the initials contours of the previous step I have already done several testing in each phase to analyze errors and propose improvements I added a small phase to generate one mask designed to adapt it with other modules of the system OSIRIS

In the end, I used the normalization module and the classification module of the OSIRIS system to evaluate the performance of this new module Base on the curve DET which represent performances of the OSIRIS system using different segmentation results (reference, Hough only, Hough with the active contour and the result of segmentation module of the system OSIRIS), we can see that combining the Hough transform with the active contour has given us the best result than the segmentation using the Hough transform only Furthermore, the result of this new segmentation module is always better than the latter of the system Osiris

Trang 7

PHAN Viet Anh – Promotion 12 Page 7

Liste des figures

Figure 1 : Architecture d'un système de reconnaissance biométrique 13

Figure 2: Taux de vraisemblance des utilisateurs légitimes et des imposteurs dans un système de vérification biométrique 14

Figure 3: La courbe ROC 15

Figure 4: La courbe DET 15

Figure 5: Les modules différents du système d'OSIRIS 16

Figure 6: Transformation d'une ligne est un point dans l'espace de paramètre 18

Figure 7: Chercher la ligne qui passe par deux points en utilisant la transformée de Hough 19

Figure 8: Présentation de ligne en système polaire 21

Figure 9: Un cercle transformé de l'espace (x,y) à l'espace de paramètre avec le rayon fixé 22

Figure 10: La transformée de Hough pour un cercle dans l'espace de paramètre 22

Figure 11: L'énergie interne 24

Figure 12: Illustration de la force élastique et la force de courbure 25

Figure 13: Illustration de l'effet de l'énergie externe 25

Figure 14: Une image dans la base de données CASIA v1.0 26

Figure 15: Des exemples d'images de la base de données ICE 2005 27

Figure 16: La région du cil est plus grande que celle-là de la pupille 32

Figure 17: Quelques images binaires de la zone de la pupille 35

Figure 18: La pupille est bien centrée dans la zoneP 38

Figure 19: Le résultat du contour actif en utilisant les paramètres optimaux 45

Figure 20: Le niveau de gris de l'iris est très varié 46

Figure 21: Le contour des cils est plus fort que celui-ci de l'iris 49

Figure 22: Quelques types d'erreur du premier test 50

Figure 23: Les contraintes rajoutées pour améliorer le résultat 50

Figure 24: Quelques types d'erreur dans le deuxième test 53

Figure 25: Les images avant et après application des prétraitements 54

Figure 26: Une image normalisée d'iris 56

Figure 27: Exemple d’entrée et résultat du module de normalisation 56

Trang 8

PHAN Viet Anh – Promotion 12 Page 8

Figure 28: Les images du contour final après suppression des parties supérieures et inférieures

58

Figure 29: Génération d'une image normalisée de l'iris 61

Figure 30: Génération du masque 61

Figure 31: Exemple d'images de la classe facile (a) et la classe difficile (b) 62

Figure 32: La courbe DET de la segmentation de référence (rouge), Hough seule (vert), Hough avec contour actif (bleu) et Osiris (magenta) (Catégorie « facile ») 63

Figure 33: La distribution des scores intra-classe et inter-classe pour chaque type de segmentation (Catégorie « facile ») 64

Figure 34: La courbe DET de la segmentation de référence (rouge), Hough seul et (vert), Hough avec contour actif (bleu) et Osiris (magenta) (Catégorie « difficile ») 65

Figure 35: La distribution de score intra-classe et inter-classe pour chaque type de segmentation (Catégorie « difficile ») 66

Trang 9

PHAN Viet Anh – Promotion 12 Page 9

Liste des tableaux

Tableau 1: Accumulateur 19

Tableau 2: Accumulation après calcul pour le point A(2,4) 20

Tableau 3: Accumulation après calcul pour le point A(2,4) et le point B(1,1) 20

Tableau 4: Exemple du résultat de localisation de la pupille 31

Tableau 5: Une partie du tableau de comparaison entre le cercle obtenu avec le cercle référence 36

Tableau 6: Le résultat de la comparaison entre le cercle obtenu et le cercle de référence après ajout de la condition 39

Tableau 7: Les 7 cas d'erreur de la phase de recherche du contour initial de la pupille 41

Tableau 8: Les résultats de prétraitements avant application du contour actif pour la pupille 43 Tableau 9: Effet du paramètre alpha 44

Tableau 10: Effet du paramètre bêta 44

Tableau 11: Effet du paramètre gamma 45

Tableau 12: Tableau de comparaison du premier test pour la phase de recherche du contour initial de l'iris 48

Tableau 13: Tableau de comparaison de la segmentation de référence pour le deuxième test 51 Tableau 14: Quelques erreurs qui sont corrigées grâce aux nouvelles conditions 52

Tableau 15: Les résultats des deux tests pour trouver le contour final 55

Tableau 16: Des exemples de résultat de la première méthode (la première ligne) et ceux correspondant à la deuxième méthode (la deuxième ligne) 57

Tableau 17: En comparaison avec les autres méthodes, le résultat de la dernière méthode est toujours meilleur 59

Tableau 18: Le résultat de la dernière méthode peut améliorer le résultat du contour actif 60

Trang 10

PHAN Viet Anh – Promotion 12 Page 10

Introduction

I - Contexte du stage

GET – le groupe des Écoles des Télécommunications sont plusieurs grandes écoles d'ingénieurs et de management Il possède des centres de recherche notamment à Paris (ENST Paris – École National Supérieure des Télécommunications Paris), à Brest (ENST Bretagne)

et Évry (INT – Institut National des Télécommunications)

L'équipe INTERMEDIA (Interface pour le multimédia) est une équipe du département EPH (Électronique et Physique) de l'INT qui fait beaucoup de recherche dans le domaine de

la biométrie Elle travaille sur l'élaboration de système de reconnaissance biométrique basé sur la signature, l'iris, le visage, et etc OSIRIS est un système de reconnaissance basé sur la texture de l'iris développé par cette équipe

Il (OSIRIS) a été développé et optimisé en 2007 pour la base CASIA v1 C'est un système modulaire inspiré par les travaux de Daugman Il y a deux grands modules dans ce système : le module de segmentation et le module de classification Le module de segmentation utilise la transformée de Hough pour détecter le contour de la pupille et le contour de l'iris Il est inspiré du module de segmentation développé par Masek Ce module n'est pas portable, c'est-à-dire qu'on ne peut pas l'utiliser avec les autres bases de données, car

il a été optimisé sur CASIA v1 Le module de classification applique le filtre de Gabor sur une image normalisée et ensuite calcule le score de similarité entre deux images en utilisant la distance de Hamming

II - Objectif du stage

Dans le cadre du projet MBGC (Multiple Biometric Grand Challenge) organisé par le NIST (National Institute of Standards and Technology), l'équipe INTERMEDIA a eu besoin d'améliorer le système OSIRIS Le but de mon stage a donc été de construire un autre module

de segmentation en C++ sous Linux en utilisant les bibliothèques d’open-source (par exemple l’OpenCV) et une bibliothèque développé par cette équipe Ce module devra utiliser la transformée de Hough pour chercher le contour initial, puis appliquer le contour actif sur ce contour initial pour obtenir un contour plus net Ce module sera exécuté sur la base de données ICE_2005 qui contient divers types et variétés de bruits tels que le flou, l'occlusion,

le reflet, la rotation etc

Trang 11

PHAN Viet Anh – Promotion 12 Page 11

III - Plan du document

Dans le chapitre I, je présenterai de manière brève et quelque introduction et les travaux réalisés de mon stage Dans le deuxième chapitre, je parlerai du système de reconnaissance biométrique, de l'outil commun pour évaluer la performance d'un système de reconnaissance biométrique À la fin de ce chapitre, je présenterais de manière plus détaillée le système OSIRIS Une discussion sur les techniques utilisées sera présentée dans le troisième chapitre Les difficultés et la solution proposées seront décrites dans le quatrième chapitre Je détaillerai et présenterai les expériences pour chacun des sous modules dans ce même chapitre Enfin dans le chapitre V, nous analyserons les résultats d'évaluation obtenus pour ce module, je tirerai quelques conclusions et pour finir j'aborderai quelques perspectives pour l'avenir

Trang 12

PHAN Viet Anh – Promotion 12 Page 12

Système de reconnaissance biométrique

I - Introduction

De nos jours, la prolifération des terminaux d'accès et la croissance des moyens de communications tels que les déplacements physiques, les transactions financières, l'accès aux services et bien d'autres encore impliquent le besoin de s'assurer de l'identité des individus Les moyens classiques de vérification d'identité comme le mot de passe, une pièce d'identité, une clef, ou un badge ont chacun des faiblesses respectives Par exemple, le mot de passe peut être oublié par son utilisateur Le badge (la clef ou la pièce d'identité) peut-être perdu ou volé

La biométrie peut ainsi permettre d'éliminer certains de ces inconvénients en basant la vérification sur des caractéristiques propres de chaque individu

On peut donc définir la biométrie comme étant la technique qui nous permet de reconnaître des personnes à partie de leurs caractéristiques physiques (comme le visage, les empreintes digitales, l'iris, etc.) et comportementales (comme la voix, l'écriture, etc.) Les champs et domaines d'application de la biométrie sont larges Elle peut être appliquée dans le système de contrôle d'accès physique à des sites sensibles (entreprises, aéroports, ou banques)

ou bien dans le système de contrôle d'accès logique à un ordinateur, ou site web Dans l'avenir, elle pourra être appliquée dans le domaine de la vidéo surveillance qui utilise les technologies de l'identification à distance et en mouvement

II - Architecture d’un système de reconnaissance biométrique

Globalement, un système biométrique se compose de deux phases : une phase d'apprentissage et une phase de reconnaissance

Tout d'abord, la caractéristique biométrique (l'empreinte digital, l'iris, ou la signature, etc.) est enregistrée à l'aide un capteur Généralement, on ne travaille pas directement sur ces données brutes car elles contiennent des informations inutiles à la reconnaissance En effet, on n'en extrait que les paramètres dit «pertinents», ce qui permet de réduire significativement la taille des données à sauvegarder De plus, à partir de ces paramètres, il est impossible de revenir au signal original

Trang 13

PHAN Viet Anh – Promotion 12 Page 13

La phase d'apprentissage permet de constituer le modèle d'une personne donnée à partir d'un ou plusieurs enregistrements de la caractéristique biométrique considérée Ces modèles sont ensuite enregistrés dans une base de données ou sur une carte de type de carte à puce

Au cours de la phase de reconnaissance, la caractéristique biométrique est capturée et les paramètres pertinents sont extraits comme dans la phase d'apprentissage La suite de la reconnaissance dépend du mode opératoire du système Si on est en mode identification, le système va comparer le signal capturé avec tous les modèles contenus dans la base de données Puis, il va tirer le modèle le plus proche du signal pour répondre à la question du

type : «Qui suis-je?» C'est une tâche très difficile car la base de données peut contenir des

milliers d'individus On perd beaucoup de temps pour calculer toutes les comparaisons possibles Par contre, en mode vérification, le système va comparer ce signal avec un seul des modèles dans la base de données (par exemple une carte à puce) avec pour but de répondre à

la question : « Suis-je bien la personne que je prétends être? »

III - Évaluation d’un système de reconnaissance biométrique

Dans le cas d'un système de vérification, on évalue deux types de taux d'erreur : le taux

de faux rejet FRR (False Rejection Rate) et le taux de faux acceptation FAR (False

Base de donnée

ID

Figure 1 : Architecture d'un système de reconnaissance biométrique

Trang 14

PHAN Viet Anh – Promotion 12 Page 14

Acceptance Rate) FRR est le taux de faux de rejet d'un utilisateur légitime (un client) et FAR est le taux de fausse acceptation lorsqu' on accepte un imposteur

Soient H0 l'hypothèse que la capture C provienne d'un imposteur et H1 l'hypothèse que la capture C provienne d'un client Alors, on considère que la capture C provient d'un client si P(H1|C)>P(H0|C) En appliquant la loi de Bayes on obtient :

Le taux P(C|H1)/P(C|H0) est le taux de vraisemblance Il est comparé à un seuil de décision Plus ce seuil est grand, plus le système rejettera d'imposteur, mais plus aussi il rejettera de client Par contre, plus ce seul est bas, plus le système acceptera de client, mais plus aussi il acceptera d'imposteur Donc, il faut choisir un compromis entre le FRR et FAR [1]

L’utilisation de la courbe ROC (Receiver Operating Characteristic) est un outil très fréquent lorsqu'on veut évaluer un système de vérification biométrique Elle représente la variation du taux de vérification (100-FAR(%)) en fonction du taux de FRR(%) La figure 3 montre un exemple de courbe ROC

Figure 2: Taux de vraisemblance des utilisateurs légitimes et des imposteurs dans un système de

vérification biométrique

Trang 15

PHAN Viet Anh – Promotion 12 Page 15

Cependant une courbe ROC possède des limites Elle devient asymptotique à partir d'une certaine valeur du FRR lorsque celui-ci est très fort ou très faible De manière générale, seulement 10% de cette courbe est utile et informative C'est pourquoi on utilise les courbes DET (Detection Error Trade-off) qui représentent directement le taux FAR (%) en fonction du taux FRR (%) par rapport aux courbes ROC Plus la courbe DET est asymptotique aux grandes valeurs des deux axes et proche de l’origine, plus le système considéré a de bonnes performances Concernant celle-ci le point le plus intéressant est l’EER (Equal Error Rate) qui correspond au point ó les taux FRR et FAR sont égaux Il correspond aussi à un choix de seuil qui est indépendant de l'utilisation du système On utilise souvent ce point pour comparer la performance des différents systèmes biométriques même s'ils ont été évalués sur des bases de données différentes La figure ci-dessous montre un exemple de courbe DET avec une zone de haute sécurité, une zone de basse sécurité et une de zone de compromis

FRR(%)

100 - FAR(%)

Figure 3: La courbe ROC

Figure 4: La courbe DET

Trang 16

PHAN Viet Anh – Promotion 12 Page 16

IV - Système de référence

Il est question dans cette partie de présenter le système OSIRIS (Open Source for Iris), système de vérification biométrique développé par l'équipe INTERMEDIA du département EPH (Électronique et Physique) de l'Institut National des Télécommunications dans le cadre

du projet BioSecure Il est spécifique à la reconnaissance par l'iris et développé en C++ sous Linux

Il se compose de plusieurs sous modules :

Module de segmentation : ce module sert à segmenter l'iris Il cherche le contour de la

pupille et de l'iris pour isoler la région contient la texture

Module de normalisation : En utilisant le résultat du module de segmentation, le

module de normalisation va transformer le disque de l'iris à une image normalisée de

la même taille

Module d’extraction des paramètres : Appliquer les filtres définis par l'utilisateur à

des points particuliers de l'image qui sont fixés par l'utilisateur

Module d’extraction des gabarits : Chaque coefficient est codé en un bite selon son

signe Le résultat de ce module est un code binaire (iris code) La taille de ce code est égale au nombre de point multiplié par le nombre de filtres utilisés

Module d’extraction de masque : Ce module calcule le code masque en utilisant

l'image prétraitée et les points d'analyse afin d'indiquer les bits erronés

Module de classification : On calculer le score de comparaison entre deux iris codes

en appliquant les codes masques correspondants Ce score représente la similarité des iris codes

Figure 5: Les modules différents du système d'OSIRIS

Trang 17

PHAN Viet Anh – Promotion 12 Page 17

J'ai développé un nouveau module de segmentation pour améliorer le résultat de celui-ci dans le système d'OSIRIS Les modules de normalisation et de classification vont être utilisés pour évaluer le résultat de ce nouveau module

Trang 18

PHAN Viet Anh – Promotion 12 Page 18

Techniques utilisées

I - Transformée de Hough

Un problème commun à la biométrie et celui du domaine de la vision par ordinateur est

de déterminer la localisation et l'orientation des objets dans l'image Plusieurs objets se composent de lignes, de courbes, de cercles Par exemple une maison, un bâtiment, ou un vélo dans une image Ainsi, on peut donc obtenir des informations sur un objet si on connaît les composantes de cet objet dans image Ce problème peut-être résolu en utilisant la transformée de Hough

La transformée de Hough est une technique de reconnaissance de formes inventée en

1962 par Paul Hough Cette technique nous permet de reconnaître les lignes (droite), les cercles ou n'importe quelle forme présente dans une image

1 Détection de droite

1.1 La transformée classique de Hough

La formule la plus simple représentant une droite est :

Soient

a est la pente de droite

b est l’interception de cette droite sur l’axe y

Figure 6: Transformation d'une ligne est un point dans l'espace de paramètre

Trang 19

PHAN Viet Anh – Promotion 12 Page 19

Chaque droite dans l'espace (X,Y) sera transformée en un point dans l'espace de (A,B) Pour chaque point (x,y), on a une famille de droite (a,b) qui le traverse Ces droites vont êtres représentées par une droite dans l'espace (A,B) Alors, pour trouver la droite passant par deux points A et B, on cherche pour commencer une droite dans l'espace des (a,b) qui présente toutes les droites passant par le point A dans l'espace des (x,y) On l'appelle droite d1 Puis, on cherche une deuxième droite d2 dans l'espace des (a,b) représentant les droites qui passent par

le point B L'intersection de deux droites d1 et d2 donne le point contenant les paramètres de

la droite recherchée

Par exemple, soient deux points A(2,4) et B(1,1) L'ensemble des droites passant par le point A est y=ax+b avec b=4-2a (1) L'ensemble des droites passant par le point B est y=ax+b avec b=1-a (2) Alors pour chaque coupe (a,b) satisfaisant la condition (1) (ou 2) on a une droite qui traverse le point A (ou le point B) Ainsi, pour détecter la droite qui traverse les deux points A et B, on utilise un accumulateur (sous forme de tableau) Chaque ligne

correspond à une valeur possible du paramètre a et chaque colonne correspond à une valeur possible du paramètre b Chaque «case» du tableau représente une droite de paramètres a et b

Trang 20

PHAN Viet Anh – Promotion 12 Page 20

Initialement, toutes les valeurs du tableau (accumulateur) sont mises à zéro Puis la valeur d'une «case» va s'incrémenter lorsque la droite correspondante traversera le point concerné En prenant notre exemple, on peut considérer en premier le point A Pour chaque

valeur du paramètre a, on calcule la valeur du paramètre b et on ajoute 1 à la valeur de la

«case» correspondante aux valeurs a et b

Tableau 2: Accumulation après calcul pour le point A(2,4)

Puis, on fait la même chose avec le point B et on obtient le tableau suivant :

À la fin du processus (d'accumulation), la «case» ayant obtenu la valeur la plus élevée correspond à la droite qui traverse le plus nombres grand nombre de point Dans notre

exemple, on peut constater que 2 est la valeur la plus élevée du tableau La position de la

«case» contenant cette valeur nous permet de déterminer les paramètres (a=3 et b=-2) de la droite passant par les points A et B Ces paramètres trouvés, satisfont les deux conditions (1)

et (2) ci-dessus

Pourtant, il survient un problème quand on représente une droite par un point dans l'espace des (a, b) ceci lorsque l'un des deux paramètres a ou b devient infini: la droite recherchée est de plus en plus verticale, ce qui implique que l'espace des paramètres a et b devienne de plus en plus large Dans ce cas, on ne peut donc pas trouver la droite en question

Trang 21

PHAN Viet Anh – Promotion 12 Page 21

de cette manière On a besoin d'utiliser une autre représentation pour limiter un des deux paramètres

1.2 Généralisation de la transformée de Hough

Le problème rencontré dans la section précédente peut être résolu par l'utilisation de la représentation en système polaire d'une droite

Dans ce système, une droite est représentée par

la formule suivant :

est la distance entre l’origine à cette ligne

est l’angle entre l’axe x et le vecteur

Le domaine de variation de est [0 180] en

degré (ou entre [0 PI] en radian) On suppose que D est la diagonale de l'image Alors, les valeurs possible des sont comprises entre -D et D Une droite dans l'espace de (X,Y) sera transformée en un seul point dans l'espace des (l'espace de Hough) L'ensemble des droites passant par un point dans l'espace euclidien, sera transformé en un unique couple de sinusọde dans l'espace de contrairement à une droite dans la technique précédente Toutefois, on applique la même méthode pour trouver la droite reliant deux points : On cherche deux courbes dans l'espace de représentant la famille de droite passant par les points A et B Puis, on cherche l'intersection des deux courbes Ce point nous donne les paramètres de la droite passant par A et B

En utilisant de cette manière la représentation de droite on peut trouver toutes les droites présentes dans l'image

2 Détection de cercle

Plusieurs objets particuliers se composent de cercle comme un coin, une balle, ou un iris dans le cas de mon travaille Ces objets ont des contours sous forme de cercle Donc, nous avons besoin de trouver les cercles dans l'image

L'équation d’un cercle est:

Figure 8: Présentation de ligne en

système polaire

Trang 22

PHAN Viet Anh – Promotion 12 Page 22

Soit

r est le rayon du cercle

(a,b) est le centre du cercle

Ainsi donc l'espace des paramètres d'un cercle est de dimension 3 c'est à dire R3 par rapport à R2 pour une droite Par ailleurs, plus la dimension de l'espace des paramètres est grande, plus la complexité de la transformée de Hough augmente Pour diminuer les calculs,

on peut limiter la valeur du rayon du cercle recherché dans un domaine de valeur connue

Un cercle est représenté par 3 paramètres (a,b,r) Si on fixé le rayon, le cercle dépend seulement des coordonnées du centre Dans ce cas, l'ensemble des centres des cercles qui ont

un même rayon R et passe par le point (x0,y0) dans l'espace (X,Y) désigne un cercle avec le même rayon dans l'espace de paramètre Donc, si on fait varier le rayon on a un volume de cône dans l'espace de paramètre

Figure 9: Un cercle transformé de l'espace (x,y) à l'espace de paramètre avec le rayon fixé

Figure 10: La transformée de Hough pour un cercle

dans l'espace de paramètre

Trang 23

PHAN Viet Anh – Promotion 12 Page 23

De la même façon, on peut utiliser un accumulateur comme précédemment dans la détection de droite Cette fois-ci, ce dernier possède trois dimensions Voici l'algorithme de la transformée de Hough pour la détection de cercle :

Pour chaque point de contour

1 Pour chaque rayon r

1 Dessiner un cercle en prenant ce point comme le centre

2 incrémenter la valeur de tous les points qui est passé par ce cercle dans

Le paramètre s représente le point de contrôle Ces valeurs prises entre 0 et 1 donnent lieu à la courbe (courbe paramétrée).Cette méthode ne peut pas détecter automatiquement des contours dans une image Elle a besoin d'une position initiale pour les points de contrôle L'idée principale de cette méthode est de déplacer les points de contrôle pour les rapprocher le plus possible des contours d'intérêt Elle est basée sur les notions d'énergies interne et externe dont le but est de minimiser l'énergie totale présente le long de la courbe La fonction d’énergie rattachée au contour actif se compose de trois éléments :

Les deux premiers éléments de cette équation forment l'énergie interne de la courbe: la

tension et la rigidité Elles sont contrôlées par cette force Le dernier élément représente

l'énergie externe de la courbe On peut alors reformuler l'équation ci-dessus par :

Trang 24

PHAN Viet Anh – Promotion 12 Page 24

Avec

2 L’énergie interne

Dans l'équation (9), l'énergie interne est divisée en deux sous énergies : la force d'élasticité et la force de courbure La fonction d'énergie est représentée par :

Le premier terme de l'équation (11) représente la force élasticité Elle contrôle la tension

du contour actif: elle empêche le contour de se rétracter mais aussi l'extension de ce dernier

Le deuxième terme représente la force de courbure: cette force contrôle la rigidité du contour Pendant le processus de déformation, elle essaye de lisser le contour

Les paramètres α et β devant chaque terme sont les poids de la fonction Généralement, la valeur de ces poids est constante pour tous les points de contrôle Ils sont fixés au début du processus de déformation Ces paramètres ont un grand impact sur la performance de ce processus Si on choisi les bons paramètres, le processus de déformation va finir vite et on aura un bon résultat Par contre, ce processus est très long à s'exécuter et l'algorithme peut s'arrêter avant d'avoir trouver le contour optimal car on a limité le nombre d'itérations Chaque objet dans image a besoin de ses propres paramètres pour que l'algorithme puisse

Figure 11: L'énergie interne

Trang 25

PHAN Viet Anh – Promotion 12 Page 25

trouver son contour optimal Donc, il faut tenter plusieurs valeurs différences de chaque paramètre pour trouver les bonnes valeurs qui nous donnent le meilleur résultat

Figure 12: Illustration de la force élastique et la force de courbure

3 L’énergie externe

L'énergie externe est la dérivée de l'intensité de l'image Son but est d'attirer la courbe au plus prêt du contour d'intérêt Cette énergie peut-être définie par l'équation suivant :

représente le gradient de l'intensité de l'image qui est calculé à point de contrôle

s dans le contour actif

Cette énergie est la nature de l'attraction vers les contours intéressants Une illustration en est faite à la figure (13) :

Force élastique

Force de courbure

Figure 13: Illustration de l'effet de l'énergie externe

Trang 26

PHAN Viet Anh – Promotion 12 Page 26

Segmentation

I - Obstacles

1 Les bases de données

Avant l'an 2000, il n'existait pas de base de données publique pour la vérification par l'iris CASIA (Chiness Academy of Science Institute of Automation) est la première base de données publique La première version de cette base (CASIA v1.0) a été demandée par plus

de 1500 chercheurs et groupes de 70 pays et régions Cette version contient 756 images d'iris

de 108 personnes La région de la pupille de chaque image a été détectée automatiquement et remplacée par une région circulaire dont l'intensité est constante (noir) Les images dans cette base sont toutes nettes et les iris sont faiblement couverts de paupières et de cils La résolution

de chaque image est 320*280 pixels (http://www.sinobiometrics.com/)

Une autre base de données est ICE qui a été publiée par le NIST (National Insitute of Standards and Technology) La base ICE_2005 se compose de 2953 images en niveau de gris

de 132 personnes Elles sont acquisses par une caméra dédiée LG2200 Chaque image ayant une taille de 640x480 pixels capture un œil Cette base a été divisée en deux sous bases : une pour les images de l'iris droit (1425 image d'iris de 124 personnes) et une autre pour les images de l'iris gauche (1528 image d'iris de 120 personnes) Dans la plupart de cas, les images de l'iris droit et gauche sont acquises en même temps Les images dans cette base contiennent des reflets lumineux, du flou et du bougé De plus, les iris dans cette base peuvent être recouverts par les paupières et par les cils (http://iris.nist.gov/ice/)

Figure 14: Une image dans la base de données CASIA v1.0

Trang 27

PHAN Viet Anh – Promotion 12 Page 27

Figure 15: Des exemples d'images de la base de données ICE 2005

2 Les difficultés

Les expériences ont été réalisées sur la base ICE_2005 Après analyse de cette base, les difficultés rencontrées sont les suivantes :

Présence du mascara : le mascara regroupe les cils et ceux-ci deviennent encore plus

noirs comme la pupille Parfois la région des cils fusionne avec celle de la pupille Il devient alors difficile de les séparer

Reflet : Il s’agit du reflet de la lumière dans les yeux Il y a des reflets dans toutes les

images dans la base de données Il est présent sur la pupille, l'iris Dans certains cas il est présent sur le bord de la pupille (ou de l'iris), il peut ainsi poser quelques difficultés lorsqu'on cherche des contours

Les contours de la pupille et de l'iris ne sont pas vraiment circulaires : Alors, si on

cherche des contours circulaires dans l'image on aura toujours des erreurs De plus, les paupières couvrent régulièrement une partie de l'iris Donc, dans la plupart des cas, on n'obtient pas un contour complet de l'iris

Image capturée est flou : Les yeux bougent quand on capture l'image

Il y a des bruits dans l'image : La qualité de l'image n'est pas bonne

II - Solutions proposées

L'Objectif de mon stage est le développement d'un module pour trouver les contours de la pupille et de l'iris dans les images de l'œil Ces contours sont semblables à des cercles Donc, l'idée principale est qu'on va utiliser la transformée de Hough pour chercher les cercles dans l'image Cependant dans le chapitre III, on a montré que l'espace de paramètres pour les cercles est R3 Alors, l'exécution de transformée de Hough dans ce cas sera très longue Il faut limiter la région de recherche et le rayon du cercler dont on a besoin de trouvé pour diminuer

le temps d'exécution et les erreurs aussi

Trang 28

PHAN Viet Anh – Promotion 12 Page 28

Après analyse des images de la base de données utilisée, j'ai pu constater que le niveau

de gris de l'iris se situe dans une zone très grande (à partir de 27 jusqu'à 195) Pour les images ayant le niveau de gris de l'iris le plus bas, on peut distinguer facilement ó est l'iris dans cette image car le niveau de gris du blanc de l'œil est plus important Pourtant, dans le cas ó le niveau de gris de l'iris est important aussi, il est très difficile de distinguer la région de l'iris et

la région du blanc de l'œil Par contre, le niveau de gris de la pupille est quant à lui toujours plus bas dans l'image (entre zéro et 25) La région de l'iris est entourée de la pupille et on peut trouver un seuil pour les séparer Si on connaỵt ó se situe la pupille dans image, on peut déterminer la région de l'iris en concentrant les recherches autour de cette région pour trouver les contours de l'iris

De plus, j'ai pu obtenir des informations sur le rayon maximal et le rayon minimal de la pupille et de l'iris Se sont:

− Le rayon minimal de la pupille (LOWER_PUPIL_RADIUS) est d’environ 26 pixels

− Le rayon maximal de la pupille (UPPER_PUPIL_RADIUS) est d’environ 77 pixels

− Le rayon minimal de l'iris (LOWER_IRIS_RADIUS) est d’environ 92 pixels

− Le rayon maximal de l'iris (UPPER_IRIS_RADIUS) est d’environ 140 pixels

On peut utiliser ces informations pour limiter le domaine de variation des valeurs du rayon lorsqu'on applique la transformée de Hough

À partir de ces connaissances, j'ai proposé une solution qui se décompose en 6 grandes étapes:

1 Localisation de pupille : Le but de cette première étape est de localiser la région de la

pupille Cette information est très utile Grâce à elle, on a pu réduire la taille de la zone

de recherche dont on a besoin pour trouver le contour

2 Recherche du contour initial de la pupille : Dans cette étape, j'ai utilisé la transformée

de Hough pour chercher les cercles présents dans la région pupille qu'on a obtenu dans l'étape ci-dessus

3 Recherche du vrai contour de la pupille : On cherche le «vrai» contour de la pupille en

utilisant la méthode du contour actif et se servant du contour initial de l'étape précédente

4 Recherche du contour initial de l'iris : En utilisant la «région» pupille, je j'estime la

région de l'iris Puis, comme dans la troisième étape, j'utilise la transformée de Hough

Trang 29

PHAN Viet Anh – Promotion 12 Page 29

pour chercher le contour initial de l'iris

5 Recherche du vrai contour de l'iris : On utilise le contour initial et applique le contour

actif pour trouver le «vrai» contour de l'iris

6 Génération du masque : Cette dernière étape permet de générer un masque qui nous

indique quelle région va être utilisée pour l'analyse de la texture de l'iris

Dans les sections suivantes, je parlerai de manière plus détaillée ces six étapes

Trang 30

PHAN Viet Anh – Promotion 12 Page 30

III - Localisation de la pupille

1 Algorithme

Comme j'ai pu le souligner dans la section précédente, la localisation de la pupille dans l'image est une phase très importante Si on la connaỵt, on peut diminuer la taille de la zone de recherche et donc augmenter la vitesse d'exécution et diminuer l'erreur De plus, le niveau de gris de la pupille est le plus bas dans image et ne varie pas beaucoup Donc, la région de la pupille est la plus facile à détecter dans l'image On peut faire un simple seuillage pour obtenir cette région

Pourtant, lorsque j'ai appliqué le seuillage, j'ai rencontré un problème J'ai obtenu dans l'image binaire non seulement la région de la pupille mais aussi celle des cils Chaque cil est svelte Normalement, on pourrait faire une érosion pour supprimer ou séparer les régions présentant des cils dans image binaire Mail il existe beaucoup de cas ó on ne peut pas supprimer tous les cils dans image ou au minium les séparer d'avec la pupille En réalité, les femmes aiment bien utiliser du mascara pour bien marquer leurs cils En utilisant cet outil, les cils se regroupent et deviennent encore plus noir Dans les images capturées des yeux utilisant

du mascara, la région des cils est très «prononcée» Et parfois elle fusionne avec la région de

la pupille, et donc rend difficile la détection exacte de la région «pupille»

Dans le tableau suivant, je montre trois exemples La première colonne représente l'image d'origine et la deuxième colonne contient l'image binaire après application d'une érosion Dans le premier cas, la région des cils est très prononcée et elle fusionne avec la région «pupille» On ne peut pas alors les séparer Dans le deuxième cas, les cils sont aussi prononcés Mais ils sont séparés d'avec la pupille Le dernier cas, on n'obtient que la pupille dans l'image binaire

239411.tiff

La région de la pupille

et la région des cils sont mélangées C'est très difficile de les séparer

Trang 31

PHAN Viet Anh – Promotion 12 Page 31

239728.tiff

La région des cils et la région de la pupille sont séparées Dans ce cas, on peut détecter

représente la pupille

239229.tiff

Dans ce cas, on n'obtient que la région

de la pupille

Tableau 4: Exemple du résultat de localisation de la pupille

Alors, pour résoudre ces problèmes, j'ai proposé l'algorithme adaptatif suivant :

Étape 0 : Donner un seuil initial S Le niveau de gris de la pupille est très bas (à partir de zéro à 25) Donc j'ai choisi le seuil initial S égal à 22

Étape 1 : (Binarisation) On crée une image binaire (imb) en utilisant le seuil S Les points ayant le niveau de gris supérieur du seuil S vont être noir (niveau de gris égale zéro)

Donc les régions blanches dans l'image imb seront les régions de la pupille et les régions

des cils

Étape 2 : Faire une érosion avec une fenêtre en forme de « croix » et de taille 15x15 Le

but de cette étape est de distinguer les régions dans l'image imb

Étape 3 : Chercher les régions les plus grandes dans imb Dans cette étape, on recherche

une liste des 10 régions (au maximum) les plus grandes dans imb Chaque dimension de

chaque région dans cette liste doit être supérieur de LOWER_PUPIL_RADIUS*2-13

Étape (4-a) : S’il n'y a aucune région qui est satisfaite avec la condition du dessus, on

augmente le seuil S de 10 et on retourne à l'étape 1 (Dans ce cas, cela veut dire que le

seuil qu’on a utilisé, est trop petit On n'obtient que de petites régions (les cils ou une

partie de la pupille) Donc il faut augmenter la valeur du seuil S et recommencer)

Étape (4-b) : Si les deux dimensions de toutes les régions dans la liste que on a obtenu, ne

sont pas comparables (c'est à dire que la différence entre les deux dimensions est

Trang 32

PHAN Viet Anh – Promotion 12 Page 32

inférieure à 50 pixels), on diminue le seuil de 5 et retourne à l'étape 1 (Dans ce cas, cela veut dire que le seuil utilisé est trop grand Les régions de la pupille et des cils sont

mélangées On ne peut pas les distinguer Alors il faut diminuer la valeur du seuil S et

recommencer)

Étape (4 -c) : Pour les régions satisfaisantes toutes les conditions ci-dessus ont

été respectées, on les compare alors avec un modèle de région «rond» de même

taille pour en déduire la région la plus proche de ce modèle

Condition d'arrêt de l'algorithme : Cet algorithme va terminer si on a trouvé une

région plus proche du modèle (région «rond» de l'étape 4-c) Sinon, il va s'arrêter lorsque le seuil devient inférieur de zéro ou supérieur à 255 ou après 20 boucles Dans ce cas, on va chercher les contours dans toute image

Il faut maintenir la liste des régions les plus grandes dans imb car la région la plus grande dans image peut-être celles des cils À cause du bruit et du spotlight, après l'étape (2), la région de la pupille peut-être plus faible que celle-là des cils La deuxième condition dans l'étape (3) a pour but d’éliminer les régions trop petites dans image

Dans les étapes (4-a) et (4-b), si le seuil qu'on a utilisé n'est pas approprié alors, il faut le corriger et recommencer Si on tombe sur le cas (4-c), on obtient la liste des régions les plus grandes dans image Ces régions ont leurs deux dimensions comparables Elles sont des candidates pour examiner la présence de la pupille Je trouve que toutes les régions de la pupille dans image binaire ont une forme ronde Donc, pour déterminer quelle région représente la pupille, j'ai comparé les régions obtenues avec un modèle d'une région ronde de même taille J'ai décidé que la région la plus proche de ce modèle est la région de la pupille

Figure 16: La région du cil est plus grande que

celle-là de la pupille

Modèle

Trang 33

PHAN Viet Anh – Promotion 12 Page 33

2 Expériences

Au départ, j'ai fait plusieurs tests sur la base de données ICE_2005 Elle est composée de

2953 images en niveau de gris Pour évaluer les résultats de ma méthode de segmentation, je

me suis servi d'une base d'images déjà segmentées dite de «référence» Cette base de référence a été créée par les autres membres l'équipe: Ils ont déterminé les contours en utilisant la transformée de Hough et ensuite les ont corrigés à la main Ainsi, les contours de référence sont très bien situés

Concernant le travaille de localisation proprement dit, il n'y a pas eu d'itération au départ dans cette phase J'ai fixé un seul seuil pour créer les images binaires dans l'étape 1 Pourtant,

on ne peut pas utiliser un même seuil pour toutes les images de la base de données car le niveau de gris de la pupille et de l'iris de chaque image varié Dans un premier temps, j'ai d'abord essayé de chercher un seuil qui fonctionne bien sur la plupart des cas La meilleure valeur de seuil que j'ai obtenue est 22 Avec cette valeur (et sans itération), j'ai pu déterminer

la position de la pupille dans 2855 images soit dans 96,68% des cas Dans les autres cas, je n'ai pas pu localiser la pupille car elle s'était regroupée avec la région des cils; ce qui laissait supposer que cette valeur du seuil (s=22) n'était pas appropriée pour ces images en question Les résultats de cette phase sont très importants La qualité de la localisation de la pupille influe sur la vitesse et l’efficacité de la segmentation C’est la raison pour laquelle j’ai proposé et pris beaucoup de temps pour améliorer cette phase La meilleure amélioration que j'ai obtenue est l'ajout d'une boucle Au lieu d'exécuter une seule fois, j'ai essayé de l'exécuter plusieurs fois À la fin de chaque fois, si je ne peux pas localiser la pupille, j'essaye de déterminer quel est le problème Dans les épates (4-a) et (4-b), j’ai cité les deux cas les plus rencontrés Le problème de ces deux cas est que le seuil utilisé était non convenable (soit trop petit soit trop grand) Après avoir repérer le problème, j'ai essayé de modifier le seuil puis de recommencer Grâce à cette amélioration, j'ai réussi à localiser la pupille dans 2948 cas (soit 99,83% des cas) Il restait alors seulement 5 images pour lesquelles je ne suis pas arrivé à localiser la pupille

Trang 34

PHAN Viet Anh – Promotion 12 Page 34

À cet instant, on suppose qu'on connait la zone contenant la pupille dans l'image Par ailleurs dans l'étape précédente on a utilisé une érosion Résultat: la région obtenue est plus petite que la région réelle De plus, la région obtenue contient peut-être seulement une partie

de la pupille Alors, il faut agrandir cette région pour avoir la zone complète de la pupille Suivant diverses mes expériences, j'ai constaté que si on considérait pour chaque dimension

de la zone trouvée un au diamètre supérieur au maximum possible de la pupille (à savoir UPPER_PUPIL_RADIUS*2), on couvrait toute la pupille Ainsi, La taille de la zone pupille après l'agrandissement est environ 100 pixels Elle est beaucoup plus petite que celle de l'image totale (640x480 pixels) On constate alors qu'on peut améliorer de beaucoup la vitesse d'exécution si on utilise seulement cette zone comme entrée de la transformée de Hough L'algorithme réalisé est le suivant :

Étape 1 : Agrandir la région contenant la pupille (Chaque dimension est égale à

UPPER_PUPIL_RADIUS*2+20) On l'appelle la zoneP

Étape 2 : Chercher les cercles dans la zoneP en utilisant la transformée de Hough

Étape 3 : Normalisation du nombre de vote pour chaque cercle obtenu en utilisant la

formule suivant :

nVoteNorm = nVote / rayon

Avec

 nVote : le nombre de vote de ce cercle

 rayon : le rayon de ce cercle

 nVoteNorm : le nombre de vote normalisé

Étape 4 : On ne compte que les cercles qui sont bien centré dans la zoneP (La distance entre le centre de ces cercles et le centre de la zoneP doit être inférieure ou égale à ¼ de

la dimension la plus petite de la zoneP) On prend le cercle ayant nVoteNorm le plus

grand comme étant le cercle initial de la pupille

Ngày đăng: 27/10/2016, 22:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Florent PERRONNIN, Jean-Luc DUGELAY, ô Introduction à la Biomộtrie Authentification des individus par Traitement Audio-Vidộo ằ, Traitement du Signal, volume 19, 2002 Sách, tạp chí
Tiêu đề: Introduction à la Biomộtrie Authentification des individus par Traitement Audio-Vidộo
[2]. Emine Krichen, ô Reconnaissance des personnes par l'iris en mode dộgradộ ằ, Thốse, 2007 Sách, tạp chí
Tiêu đề: ô Reconnaissance des personnes par l'iris en mode dộgradộ ằ
[3]. ô MATLAB Source Code for a Biometric Identification System based on Iris Patterns ằ, The University of Western Australia, 2003 Sách, tạp chí
Tiêu đề: ô MATLAB Source Code for a Biometric Identification System based on Iris Patterns ằ
[4]. Kyewook Lee, ô Application of Hough Transform ằ, University of Massachusetts, 2006 Sách, tạp chí
Tiêu đề: ô Application of Hough Transform ằ
[5]. Simon Just Kjeldgaard Pedersen, ô Circular Hough Transform ằ, Aalborg University, Novembre 2007 Sách, tạp chí
Tiêu đề: ô Circular Hough Transform ằ
[6]. Chenyan Xu, Jerry L. Prince, ô Snakes, Shapes, and Gradient Vector Flow ằ, IEEE Transactions on image processing, vol. 7, No. 3 March 1998 Sách, tạp chí
Tiêu đề: ô Snakes, Shapes, and Gradient Vector Flow ằ
[7]. D.A. Reynolds and R.C. Rose, ô Robust Text-Independent Speaker Identification Using Gaussian Mixture Speaker Models ằ, IEEE Transactions on Speech and Audio Processing, Vol. 3, No. 1, Jan 1995 Sách, tạp chí
Tiêu đề: ô Robust Text-Independent Speaker Identification Using Gaussian Mixture Speaker Models ằ

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN