Tải bản đầy đủ (.docx) (61 trang)

VERIFICATION DE SIGNATURE EN LIGNE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (833.27 KB, 61 trang )

Institut de la Francophonie pour l’Informatique
Institut National des Télécommunications

MEMOIRE DE FIN D’ETUDES
MASTER D’INFORMATIQUE

VERIFICATION DE SIGNATURE
EN-LIGNE

Responsable : Sonia SALICETTI
Bao LY VAN
Stagiaire : Trung Tung DOAN

10 janvier 2006


Remerciements
Je voudrais tout d’abord remercier Madame Bernadette Dorizzi,
professeur, chef du département Electronique et Physique de m’avoir accueilli
dans son équipe de recherche de l’Institut National des Télécommunications
(INT).
Je tiens à remercier Madame Sonia Salicetti et Monsieur Ly Van Bao pour
avoir proposé ce sujet de stage et m’avoir encadré pendant neuf mois. Je
voudrais remercier particulièrement Monsieur Ly Van Bao pour tous ses conseils
et encouragements, non seulement pour la recherche mais aussi pour la vie
quotidienne en France.
Mes plus sincères remerciements vont également à tous les professeurs et
les personnels de l'Institut de la Francophonie pour l'Informatique (IFI) pour
m'avoir donné des cours de très bonne qualité et pour leur soutien tout au long de
mes études à l'IFI.
Un grand merci aux toutes les personnes de l’équipe GET-INT à l’INT,


AMSL-BIO à l’université de Magdeburg et UNIK à l’université de Kent pour
leur coopération dans le projet Systèmes de Référence et pendant le premier
Biosecure Residental Workshop.
Merci enfin à mes parents, ma sœur, ma fiancée et mes amis pour leur
soutien et leur encouragement à tout instant.


Résumé
La vérification de signature en ligne est une technique biométrique
comportementale. Nous présentons en bref deux algorithmes célèbres pour
signature en ligne : les Modèles de Markov Cachés et la Déformation Temporelle
Dynamique. Le premier algorithme a été implémenté dans un système de
l’Institut National des Télécommunications. Ce système est joint aux Systèmes
de Références, un projet de collaboration de trois labos. Grâce aux Systèmes de
Références, on a fait quelques expériences de fusion de systèmes. Nous
proposons enfin une nouvelle approche pour la vérification de signature en
ligne : l’approche d’algorithme génétique.
Mots-clés : vérification de signature en ligne, biométrie, modèles de
markov cachés, déformation temporelle dynamique, extraction des paramètres,
normalisation, fusion, algorithme génétique.


Abstract
Online Signature Verification is one biometric behavioral technique. We
present in brief two well-known algorithms for online signature: Hidden Markov
Models and Dynamic Time Warping. The first one has been implemented in a
system of INT (Institut National des Télécommunications). We have also joined
this system in the project Reference Systems which is a collaboration of three
labs. With Reference Systems, we have done some experiences in fusing
systems. In the end, we propose a new approach for Online Signature: genetic

algorithm’s approach.
Keywords: online signature verification, biometry, hidden markov
models, dynamic time warping, feature extraction, normalization, fusion, genetic
algorithm.


CHAPITRE 1 INTRODUCTION..........................................................................................
1.1

Problématique...............................................................................................

1.2

Objectif du stage...........................................................................................

1.3

Environnement de travail ............................................................................

1.4

Plan de document ........................................................................................

CHAPITRE 2 VERIFICATION DE SIGNATURE EN LIGNE ........................................
2.1

Introduction ..................................................................................................

2.2


Modèle de Markov Cachés ...................................................................................

2.2.1

Présentation .................................................................................................

2.2.2

Problèmes principaux ..................................................................................

2.2.3

Solutions.......................................................................................................

2.2.4

Applications..................................................................................................

2.3

Déformation temporelle dynamique ........................................................

2.3.1

Idée principale .............................................................................................

2.3.2

Algorithme....................................................................................................


2.3.3

Applications..................................................................................................

CHAPITRE 3 SYSTEMES DE REFERENCE ..................................................................
3.1

Vue d’ensemble...........................................................................................

3.2

Composants.................................................................................................

3.2.1

Analyse des données ....................................................................................

3.2.2

Prétraitement ................................................................................................

3.2.3

Extraction des paramètres.............................................................................

3.2.4

Sélection des paramètres .............................................................................

3.2.5


Stockage de référence...................................................................................

3.2.6

Modèle de Client .........................................................................................

3.2.7

Référence......................................................................................................

3.2.8

Apprentissage ..............................................................................................


3.2.9

Contrôleur de Framework ............................................................................

3.3

Module de GET-INT ..................................................................................

CHAPITRE 4 EXPERIENCES ...........................................................................................
4.1

Introduction ...............................................................................................

4.2


Performance des algorithmes ...................................................................

4.2.1

Base de données ..........................................................................................

4.2.2

Protocole d’évaluation..................................................................................

4.2.3

Résultat.........................................................................................................

4.3

Fusion des systèmes ...................................................................................

4.3.1

Base de données ..........................................................................................

4.3.2

Protocole d’évaluation..................................................................................

4.3.3

Protocole de fusion.......................................................................................


4.3.4

Techniques de normalisation........................................................................

4.3.5

Résultats ......................................................................................................

CHAPITRE 5 APPROCHE D’ALGORITHME GENETIQUE.......................................
5.1

Algorithme génétique en bref ..............................................................................

5.1.1

Représentation .............................................................................................

5.1.2

Evaluation.....................................................................................................

5.1.3

Sélection ......................................................................................................

5.1.4

Hybridation...................................................................................................


5.1.5

Mutation ......................................................................................................

5.1.6

Remplacement .............................................................................................

5.2

AG pour la vérification de signature ...................................................................

5.2.1

Représentation .............................................................................................

5.2.2

Opérateurs génétiques .................................................................................

5.2.3

Evaluation.....................................................................................................

5.3

Expérience...................................................................................................

CHAPITRE 6


CONCLUSIONS ET PERSPECTIVES .....................................................55


Chapitre 1

Introduction

1.1 Problématique
Aujourd’hui, la Biométrie est de plus en plus courante. C’est un domaine
qui se compose de plusieurs techniques : l'empreinte digitale, la signature, l'iris,
la voix, le visage, la démarche, etc. Ce stage est centré sur la vérification de
signature en ligne. Cette technique est assez efficace quoiqu’elle soit simple par
rapport à d’autres techniques biométriques.
Dans un système de vérification de signature en ligne, il y a trois
problèmes principaux : l’acquisition des signatures, la construction du système et
la phase vérification des signatures. Qu’est-ce que une signature en ligne ?
Comment peut-on l’acquérir ? Quelles sont les méthodes pour construire un
système et l’utiliser pour vérifier l’identité d’une personne par sa signature ? On
va étudier les réponses à ces questions dans ce rapport.
Ce stage s’intéresse aussi aux expériences de fusion de différents
systèmes de vérification de signature. Qu’est qui se passe quand on fusionne
plusieurs systèmes ? Est-ce que le système est de meilleure qualité ou pas ? Les
réponses à ces questions peuvent être trouvées dans le Chapitre 4.

1.2 Objectif du stage
Ce travail de stage s’insère dans la suite des travaux effectués à l’INT sur
la vérification de signature en ligne, avec des Modèles de Markov Cachés.
Le premier objectif du stage est de regrouper ce système avec d’autres
systèmes de deux laboratoires : UNIK (Université de Kent) et AMSL (Université
de Magdeburg) pour construire un logiciel open-source mettant en oeuvre les «

Systèmes de Référence » pour la vérification de signature.


Le deuxième objectif du stage est d’utiliser les Systèmes de Référence
pour faire des expériences de fusion des systèmes.

1.3 Environnement de travail
Le département EPH (Electronique et Physique) regroupe plusieurs
enseignants, chercheurs de l’Institut National des Télécommunications
travaillant dans plusieurs domaines dont la Biométrie. L’équipe INTERMEDIA
recherche sur la vérification de signature en ligne, l’identification par l’iris, la
vérification multimodale de l’identité, etc.

1.4 Plan de document
La suite du rapport est organisée comme suit. Après une introduction de la
vérification de signature en ligne, deux algorithmes de l’état de l’art sont
présentés : les Modèles de Markov Cachés dans la partie 2.2 et la Déformation
Temporelle Dynamique dans la partie 2.3Error! Reference source not found..
Ensuite, nous présentons les trois Systèmes de Référence dans le Chapitre 3. Les
expériences que nous avons faites avec ces systèmes sont abordées dans le
Chapitre 4. Dans le Chapitre 5, nous proposons une nouvelle approche pour la
vérification de signature en ligne, c’est l’approche par algorithme génétique.
Enfin, le Chapitre 6 donne la conclusion et les perspectives du travail.


Chapitre 2

Vérification de signature en ligne

2.1 Introduction

La biométrie est un ensemble des technologies (appelées les technologies
biométriques) qui exploitent des caractéristiques humaines physiques ou
comportementales telles que l'empreinte digitale, la signature, l'iris, la voix, le
visage, la démarche, parmi d’autre pour différencier des personnes. À la
différence des mots de passe ou des PINs (numéros d'identification personnelle)
qui sont facilement oubliés ou exposés à l'utilisation frauduleuse, ou des clefs ou
des cartes magnétiques qui doivent être portées par l'individu et sont faciles à
être volées, copiées ou perdues, ces caractéristiques biométriques sont uniques à
l'individu et il y a peu de possibilité que d'autres individus peuvent remplacer ces
caractéristiques. Donc les technologies biométriques sont considérées les plus
puissantes en termes de sécurité. En plus, les mesures biométriques sont
confortables parce qu’elles n'ont pas besoin d'être portées séparément. De telles
caractéristiques

peuvent

être

bien

employées

pour

obtenir

l'identification/authentification pour accéder à des systèmes tels que les ATMs
(guichet automatique). La biométrie est également un outil puissant
d'identification/vérification aux scènes de crime dans le secteur juridique.
La vérification de signature en ligne est une technologie biométrique

comportementale. La Figure 1 différencie des technologies physiques et
comportementales :

Figure 1 – Classification de la vérification de signature en ligne


En fait, il y a deux types de signature : la signature en ligne et la signature
hors ligne. Comment peut-on les différencier ? La signature en ligne est acquise
par des tablettes à digitaliser ou des écrans tactiles ; par contre, la signature hors
ligne est l’image de la signature normale qui est acquise par un stylo et un feuil.
La signature en ligne est plus pratique que la signature hors ligne parce qu’il
fournit plus d’informations, par exemple la vitesse, la pression, l’altitude,
l’azimut, etc.
La vérification de signature en ligne devient de plus en plus courante
grâce aux plusieurs avantages :


Elle est simple pour l’utilisateur. Signer sur un PDA n’est pas

très différent que sur une feuille.


Elle n’est pas coûteuse par rapport aux autres méthodes

comme l’iris, le visage, etc.


La performance de vérification est acceptable.

Pourtant, elle a aussi des désavantages par rapport à d’autres techniques

biométriques:


Les autres peuvent imiter la signature en observant le

processus de signature. En fait, des expériences montrent que le
taux d’erreurs du système testé avec des imitations de haute qualité
est toujours plus élevé que celui obtenu avec des imitations
aléatoires.


L’état du signataire influence fortement sa signature. Par

exemple, quand il est heureux, il signe différemment que quand il
est triste, ou quand il est malade, il signe différemment que quand
il va bien.


Au cours du temps, la signature change et si le système n’est

pas mis à jour, il ne pourra plus reconnaître la signature
authentique.


Nous présentons ensuite deux algorithmes de l’état de l’art pour la
vérification de signature en ligne : les Modèles de Markov Cachés (MMC) et la
Déformation Temporelle Dynamique (DTD).


2.2 Modèle de Markov Cachés

2.2.1 Présentation
Un MMC est représenté par :
1) N, le nombre d’états du modèle. Les états d’un MMC sont
toujours
cachés. Ils peuvent être interconnectés (chaque état peut être atteint de n'importe
quelle autre état) ou non. Nous dénotons les états individuelles S = {S1, S2, …,
SN} et l’état au temps t est qt.
2)

M, le nombre des observations. Nous dénotons les observations

individuelles V = {v1, v2, …, vM}.
3) La matrice des probabilités de transition des états A = {aij} où aij
=
P[qt+1 = Sj | qt = Si], 1 ≤ i, j ≤ N. Si les états sont interconnectés, tous les aij > 0,
si non, il y a quelques aij = 0 (c'est-à-dire l’état Sj ne peut pas être atteint de l’état
Si).
4) La matrice des probabilités des observations B = {bj(k)} où bj(k)
=
5)

Le vecteur des probabilités initiales π = {πi} où πi = P[q1=Si], 1 ≤ i

≤ N.
En bref, un MMC est dénoté par λ = (A, B, π).
2.2.2 Problèmes principaux
Il y a trois problèmes principaux dans l’utilisation d’un MMCs. Ces
problèmes sont abordés suivante :
z


Evaluation: Etant donné le MMC λ = (A, B, π) et une séquence

d’observations O={o1, o2, ..., oT}, comment calculer la probabilité pour
que O soit générée par λ (le vraisemblance P(O | λ).
z

Décodage: Etant donné le MMC λ = (A, B, π) et les observations

séquentielles O={o1, o2, ..., oT}, comment calculer la séquence d’états Q
= q1q2…qT la plus probable.


z

Apprentissage: Etant donné les observations séquentielles O,

comment déterminer les paramètres du MMC λ = (A, B, π) pour que P(O
| λ) soit maximisé sur les observation O de le base d’apprentissage.

2.2.3 Solutions
A. Solution pour le problème d’évaluation.
Etant donné une séquence des états Q = q1q2…qT. La probabilité de la
séquence des observations O pour la séquence des états Q est :
T

P(O | Q, λ) = ∏ P(Ot | qt , λ)
t =1

Supposez que les observations sont indépendantes, on a :
P(O | Q, λ) = bq1 (O1 )...bqT (OT )


On a aussi la probabilité de la séquence Q :

P(Q | λ) = π a
q1

...a
q1q 2

qT −1qT

La probabilité pour que O et Q aient lieu simultanément est le produit de
ces deux termes :
P(O,Q | λ) = P(O | Q,λ).P(Q | λ)

Donc, on peut calculer la probabilité P(O | λ) :
P(O | λ) = ∑P(O | Q,λ).P(Q | λ)
tousQ

En fait, on n’utilise jamais cette formule pour calculer P(O|λ) parce
T

qu’elle est très coûteuse en temps de calcule (en effet, c’est 2TN [1]). On a donc
une d’autre solution qui s’appelle l’algorithme Forward-Backward qui ne perde
2

que N T.
On dénote αt(i) est la probabilité de la séquence partielle d’observation
O1, O2 , ... , Ot et état Si au temps t :
αt(i) = P(O1 O2 ... Ot , qt = Si | λ)

N

Evidemment P(O | λ) = ∑αT (i) donc, le problème n’est que comment
i

=1

peut on calculer αt(i). On peut résoudre ce problème par l’induction.


1) Initiation
α1(i) = πibi(O1)
2) Induction
α

t+1

( j) = ∑Nαt ( j)aij bj (Ot +1 )
i=1

3) Terminaison
N

P(O | λ) = ∑αT (i)
i=1

αt(i) s’appelle aussi la probabilité forward. A la manière similaire, on peut
définir la probabilité backward comme suite :
β


t

(i) = P(Ot+1Ot+2 ...OT | qt = Si ,λ)

C’est à dire, la probabilité de la séquence partielle d’observation
Ot+1...OT ayant Sj au temps t et le model λ. βt(i) est calculé aussi par l’induction.
1) Initiation
βT(i) = 1, 1 ≤ i ≤ N
2) Induction
N

βt (i) = ∑aij bj (Ot+1 )βt+1 ( j),
j=1

3) Terminaison
N

P(O | λ) = ∑π i β1 (i)
i=1

On va vois après que la probabilité forward et backward soient utile pour
résoudre le problème de décodage et d’apprentissage.
B. Solution pour le problème de décodage
La difficulté du problème de décodage se trouve dans la définition de la
séquence d’états optimale, c’est à dire il y a plusieurs critères optimaux
possibles. Par exemple on peut chercher la séquence Q pour que P(Q | O, λ) soit
maximum. Normalement, on peut utiliser la solution du problème d’évaluation
pour calculer tous les Q possible mais c’est coûteux en temps. Par contre, on



utilise l’algorithme Viterbi qui est basé à une méthode de la programmation
dynamique.
D’abord, on définit la quantité δt(i) – le meilleur score avec q1...qt-1
quelconques et qt = i:
δt (i) = max P[q1...qt = i,O1...Ot | λ]
q1q2 ...qt −1

En utilisant l’induction, on a :
δ

t

( j) = [maxδt (i)aij ].bj (Ot +1 )
i

Pour retirer la séquence d’états, il faut garder l’argument qui maximise
δt(j) pour chaque t et j. On utilise donc ψt(j) pour le faire. L’algorithme Viterbi
est comme suit :
1) Initialisation
δ1 (i) = π ibi (O1 )

ψ1(i)=0
2) Induction
δt ( j) = max[δt−1 (i)aij .bj(Ot )
i=1,n

ψ t ( j) = arg max[δt−1 ( j)aij ]
i=1,N

3) Terminaison

P* = maxδT (i)
i=1,N

qT*

= arg maxδT (i)
i=1,N

4) Trace en arrière
qt* =ψ t +1 (qt*+1 )

C. Solution pour le problème d’apprentissage
C’est le problème le plus difficile en comparant avec les deux autres et
comme les deux autres, on ne peut pas trouver un maximum global. L’idée
principale est de modifier les paramètres λ du modèle pour gagner un maximum
local. On présente suivante l’algorithme Baum-Welch pour ce problème.


On définit ξt(i,j) la probabilité d’être l’état Si au temps t et transférer à
l’état Sj au temps t+1 :
ξ

(i, j) = P(qt = Si , qt+1 = S j | O,λ)
α
t (i, j) = t
(i)a b (O )

t

ξ


ij

t +1

j

β ( j)
t+1

P(O | λ)

et γt(i) la probabilité d’être l’état Si au temps t :
γ

t

(i) = P(qt = Si | O,λ)

γ

t (i)

=

α

t

(i)β (i)


P(O| )

On peut trouver que :
γ

t

(i) = ∑ξt (i, j)N
=1

j

Avec ξt(i,j) et γt(i), le modèle λ peut être re-évalué comme suit :
1. Pour i = 0, 1, ..., N – 1 : πi = γ0(i)
2. Pour i, j = 0, 1, ..., N – 1
T



a = t =0
ij

−2

ξt (i, j)

T 2



∑γ t (i)
=0

t

3. Pour j = 0, 1, ..., N – 1 et k = 0, 1, ..., M – 1
b

jT −2

∑γ t ( j)
(k) =

t∈{0,...T −2}|O =v
t

k

∑γ t ( j)
t=0

La re-évaluation est un processus itératif. Au début, λ peut être initialisé
au hasard. Ce processus est comme suit :
1. Initialiser λ = (A, B, π)
2. Calculer αt(i), βt(i), γt(i) et ξt(i,j)
3. Re-évaluer λ = (A, B, π)


4. Si P(O | λ) augmente, retourner le pas 2.



2.2.4 Applications
Les MMCs sont utilisés dans beaucoup d’applications. Les domaines les
plus connus sont des technologies bioinformatiques et des technologies
d’Informatique Linguistique. D’autres technologies qui utilisent les MMCs sont
la parole, traitement des signaux, etc. Quelques applications de ces techniques:


Prédiction des régions de protéine-codage dans des séquences

de génome


Prédiction des éléments secondaires de structure des séquences

primaires de protéine


Reconnaissance de la parole



Reconnaissance d'écriture



Traduction automatique




Vérification de signature

2.3 Déformation temporelle dynamique
2.3.1 Idée principale
La déformation temporelle dynamique (dynamic time warping – DTW)
est une technique de la programmation dynamique (dynamic programming). Elle
est utilisée dans plusieurs domaines comme l'identification de geste, robotique,
traitement de la parole, fabrication et la vérification de signature. Dans ces
domaines, un problème est toujours abordé : comment peut-on comparer deux
séries de temps (par exemple, deux signaux de la parole). En général, deux séries
de temps n’ont pas la même taille donc si on veut les comparer il faut les
aligner : chaque point d’un série peut être aligné à un ou plusieurs points d’autre
série. Après avoir aligné, on peut calculer la distance entre eux.
Supposons qu’on ait deux séries de temps :
Q = q1 ... qn et T = t1 ... tm
Pour aligner ces deux séries en utilisant DTD, on construit une matrice
nxm où l’élément (i, j) contient la distance entre deux points qi et tj (typiquement


on choisit la distance euclidienne). Chaque élément (i, j) correspond à
l’alignement entre deux points qi et tj. Un chemin de déformation W est un
ensemble des éléments (i, j) qui définit un « mapping » entre Q et T. On dénote :
W = w1 ... wK avec max(m, n) ≤ K < m + n - 1

Figure 2 – Un chemin de déformation

Il y a plusieurs tel chemins de déformation mais ils doivent obéir quelques
contraintes :
Conditions de frontière : w1 = (1, 1) et wK = (n, m).
Continuité : Supposons que wk = (i, j) et wk+1 = (i’, j’) donc i’ – i ≤ 1 et j’


– j ≤ 1. Cette contrainte est garante que wk+1 doit être une cellule adjacente de
wk (cela inclut la cellule adjacente diagonale).
Monotonicité : Supposons que wk = (i, j) et wk+1 = (i’, j’) donc i’ – i ≥ 0
et j’ – j ≥ 0. Cette contrainte force le chemin à être monotone.
Même qu’avec ces contraintes, il y a exponentiellement plusieurs chemins
qui les satisfont mais on ne s’intéresse qu’à ce qui minimise le coût de
déformation :


K

w


DTW (Q,T ) = min

k

k =1

k

K

Ce chemin peut être trouvé par la programmation dynamique. C’est une
technique qui résout des problèmes par une structure récursive : une solution
optimale peut être décomposée en des solutions optimales pour des sous
problèmes.
En appliquant la programmation dynamique, on calcule la distance

cumulative D(i, j) par la distance d(i, j) (qui est calculé comme une distance
normale, par exemple la distance euclidienne) et des distances cumulatives des
éléments adjacents :
D(i, j) = d(qi, tj) + min {D(i-1, j-1), D(i-1, j), D(i, j-1)}
Après avoir calculé la distance dernière D(m, n) il faut tracer en arrière
pour gagner le chemin de déformation et puis, D(n, m) / K est considéré la
distance entre Q et T.
2.3.2 Algorithme
L’algorithme principal de DTD est assez simple et il est illustré comme
suit :

d (1, j) + D(1, j −1)

2. Répétition : For i = 2 ... n

d (i, j) + min{D(i, j −1), D(i −1, j −1), D(i −1, j)
D(n, m)
3. Finale : ∆ =
K

En calculant les distances cumulatives, la matrice nxm est remplie de
gauche à droite et de bas à haut. En conséquence, la complexité de la calcule est
O(nxm) et cela n’est pas acceptable en réalisant.


Figure 3 – L’ordre que la matrice est remplie

Pour alléger l’algorithme, il y a quelques méthodes : fenêtrant
(windowing), pente (slope) ou pattern de pas (steps pattern) [10].
Fenêtrant : Les éléments du chemin doivent être dans une fenêtre. Il y a

quelques types de fenêtre comme illustré dans la Figure 4. Cette méthode limite
la région de recherche mais en conséquence, on peut omettre le chemin minimal
si ses éléments contiennent quelques uns qui ne sont pas dans la fenêtre.

Figure 4 – Fenêtres de contrainte

Pente : On utilise d’autre formule pour calculer les distances
cumulatives : D(i, j) = d(qi, tj) + min {D(i-1, j-1), αD(i-1, j), αD(i, j-1)} où α est
un nombre réel positif. Quant α grossit, le biais du chemin vers le diagonal
augmente.
Patterns de pas : On peut visualiser la formule de la distance cumulative
par un pattern de pas dans la Figure 5-1. Les autres figures 2, 3, 4, 5, 6 sont les
autres patterns qui correspondent aux autres formules.


Figure 5 – Patterns de pas

Par exemple, la Figure 5-3 correspond à la formule suivante :
D(i, j) = d(qi, tj) + min {D(i-1, j-2), D(i-1, j-1), αD(i-2, j-1)}
2.3.3 Applications
Comme on a abordé, DTD est utilisée dans plusieurs domaines, surtout la
récognition de la parole. Elle est aussi un algorithme efficace pour la vérification
de la signature. Dans la première Compétition Internationale de Vérification de
la Signature (SVC 2004) [16], l’algorithme le plus efficace est ce qui utilise
DTD. Tel algorithme est toujours un algorithme de référence. C’est à dire on
choisit un (ou des) signature authentique comme la référence et pour vérifier une
signature inconnue, on la compare avec la référence. DTD nous aide à calculer la
distance entre deux signatures.
En appliquant, quoiqu’elle soit simple mais son efficacité est déjà
prouvée. Néanmoins, un grand problème pour DTD est qu’elle est trop lente,

donc, si on veut l’utiliser il faut bien améliorer sa vitesse. Quelques méthodes
ont déjà été abordées, par exemple FastDTW [7] ou parallélisation de DTD [15].


Chapitre 3

Systèmes de référence

Nous présentons dans ce chapitre les Systèmes de Référence open-source
pour la vérification de signature en ligne [4]. De tel systèmes ont pour but de :


Faire des évaluations comparatives d’approche différentes sur

des bases de données précises avec des protocoles précis.


Permettre à d’autres chercheurs de comparer leurs algorithmes

à ces Systèmes de Référence.


Etendre facilement

Les Systèmes de Référence regroupent des algorithmes de trois labos :


GET-INT: Institut National des Télécommunications [2], [3]




UNIK: Université de Kent [3]



AMSL-BIO: Université de Magdeburg [3]

Ce travail commence depuis janvier 2005. Les Systèmes de Référence ont
été utilisés pendant le premier Workshop Résidentiel de Biosécurité (Biosecure
Residental Workshop) à Paris en août 2005 pour faire des évaluations
comparatives des systèmes et de leurs fusions.

3.1 Vue d’ensemble
Les Systèmes de Référence sont composés d’éléments correspondant à des
étapes distincts du traitement décrit en Figure 6.


Analyse des données : Les données brutes sont converties de

plusieurs formats à un format standard.


Prétraitement : Ce module traite les données brutes avant

d’extraire des paramètres, par exemple, centraliser des signatures.


Extraction et sélection des paramètres : Ce module extrait

des paramètres de chaque signature. Il nous permet aussi de

sélectionner des paramètres intéressants.




Stockage de référence : Les paramètres après avoir été extrait

sont utilisés comme des données de références pour les systèmes à
base de référence.


Modèle de client : Fournit un stockage de modèle de client

pour les systèmes à base d’apprentissage.


Référence : Fournit une comparaison entre une donnée de test

et une (des) donnée(s) de référence. Sortie est un score dans
l’intervalle [0,1].


Apprentissage : Fournit un « framework » pour un système

d’apprentissage. Après avoir été appris, ce système est utilisé pour
tester. Sortie est un score dans l’intervalle [0,1].


Contrôleur de framework : Contrôle les opérations du


système, par exemple, « parser », pré-traiter, extraire et
sélectionner des paramètres, etc.
Stockage de
Référence

Données
Analyse
des
données

Contrôleur
Figure 6 – Vue d’ensemble des Systèmes de Référence

3.2 Composants
Sauf le module Contrôleur de Framework (pour contrôler les autres
modules) et les modules Stockage de référence et Modèle de Client (pour stocker
des références ou des modèles), chaque autres module peut avoir plusieurs
fonctions. Chaque fonction correspond à un algorithme. Donc, pour décrire un


module, on décrit l’entrée, la fonction et la sortie. Puis, pour chaque système, on
peut écrire une fonction correspondante.
3.2.1 Analyse des données
Entrée : Divers formats de données brutes des bases de données.
Fonction : Convertit des données brutes en une structure prédéfinie de
classe pour le traitement par le système.
Sortie : Les données dans la classe CDataSet qui inclut CPData et
CDevice.
CDataSet


CPData

Figure 7 - Les relations entre les classes.

3.2.2 Prétraitement
Entrée : Données dans la classe CDataSet.
Fonction : Traite les données brutes (par exemple filtrage, interpolation
etc.) avant d’extraire des paramètres. L'application et la commande des fonctions
de traitement sont commandées par le contrôleur de framework. Si tous les
prétraitements sont neutralisés, la sortie est égale à l’entrée.
Sotie : Données dans la classe CDataSet.

3.2.3 Extraction des paramètres
Entrée : Données dans la classe CDataSet.


×