PAGE WIKI ETUDIANTS 2011-12 SIGNATURES: Difference between revisions
Line 110: | Line 110: | ||
Les acquisitions obtenues par l'intermédiaire de l'interface, pour représenter la signature d'un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d'acquisition. |
Les acquisitions obtenues par l'intermédiaire de l'interface, pour représenter la signature d'un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d'acquisition. |
||
Cependant, il est nécessaire d'appliquer un prétraitement à ces acquisitions afin d'en augmenter le nombre de points, corriger les différences entre des signatures successives (décalage, orientation et taille) et également obtenir un nombre de points fixe pour toutes les acquisitions pour pouvoir les comparer. |
Cependant, il est nécessaire d'appliquer un prétraitement à ces acquisitions afin d'en augmenter le nombre de points, corriger les différences entre des signatures successives (décalage, orientation et taille) et également obtenir un nombre de points fixe pour toutes les acquisitions pour pouvoir les comparer. |
||
Voilà une image d'une acquisition originale: |
|||
[[File:0_origine_Aurélie_4.png]] |
|||
===1. Ré-échantillonnage sur le temps=== |
===1. Ré-échantillonnage sur le temps=== |
Revision as of 16:27, 25 March 2012
Présentation du projet
Le projet de Biométrie "Acquisition et reconnaissance de signatures" consiste à enregistrer une signature numérique d'un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.
Contexte
Etude de l'existant
Ce projet d'acquisition et de reconnaissance de signatures a déjà été traité par une équipe d'étudiants en 2010-2011. Nous avons donc étudié ce qui avait été réalisé afin de ne pas perdre les efforts déjà fournis. De cette étude nous avons retenu les conseils et remarques faits sur la partie algorithmique de comparaison de signatures. De plus, nous allons reprendre quelques idées de leur IHM. Pour plus de détails, consulter les parties "Algorithmes" et "IHM".
Suites prévues
L'année prochaine, une nouvelle équipe reprendra surement ce projet de biométrie. Il est donc important de laisser une bonne documentation et des conseils.
Cadre de réponse
Nous réaliserons une IHM qui nous permettra, d'une part, d'enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d'autre part de tester l'identification d'un utilisateur. Pour cette identification, la signature sera comparée au modèle calculé et enregistré. Afin de pouvoir effectuer cette comparaison, nous récupèrerons, lors de l'acquisition des signatures, différentes informations qui nous permettront d'appliquer des algorithmes de comparaison de signatures (coordonnées de chaque point, pression du stylet, temps). Il faudra donc étudier les différentes méthodes possibles de comparaison de ces signatures et implémenter l'algorithme conçu à partir de cette étude.
Organisation de l'équipe
Renaud Collin :
- Chef de projet
- Responsable documents,
- Etude de l'existant
Flavien Garcia & Corentin Foucault :
- Etude de l'existant,
- Construction et codage de l'algorithme
Christophe Havard :
- Montage DS + Arduino,
- Conception et codage IHM
Thibaud Michel :
- Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),
- Mise en place de la base de données,
- Conception et codage IHM
Aurélie Moiroux :
- Acquisition des données depuis la tablette,
- Conception et codage IHM
Diagramme de Gantt prévisionnel
Matériel
Tablette Bamboo CTH-460
Cette tablette est un ajout de matériel par rapport à l'année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l'acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. L'IHM a également été modifiée pour permettre à l'utilisateur de choisir quelle interface d'acquisition il souhaite utiliser.
- La librairie permettant d'utiliser cette tablette est : Jpen [1]
- Le driver de la tablette CTH-460 est disponible ici : [2]
Montage Arduino + Ecran de DS
IHM
Lorsque l'utilisateur démarre l'application, celle-ci s'ouvre sur l'onglet "Nouvel utilisateur". Si il n'a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l'acquisition de cinq signatures (la même) afin de pouvoir s'enregistrer.
Onglet "Nouvel Utilisateur"
Une fois que l'utilisateur possède un compte, il peut se rendre sur l'onglet "Identification". Afin de s'authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l'acquisition.
Onglet "Identification"
Le système affiche alors la réponse de l'authentification : la réussite ou l’échec. Une question apparaît également afin d'établir des statistiques de performance du système.
Onglet "Infos"
Algorithmes
Un système de reconnaissance par signature nécessite l'application d'algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu'ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.
Prétraitement des acquisitions
Les acquisitions obtenues par l'intermédiaire de l'interface, pour représenter la signature d'un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d'acquisition. Cependant, il est nécessaire d'appliquer un prétraitement à ces acquisitions afin d'en augmenter le nombre de points, corriger les différences entre des signatures successives (décalage, orientation et taille) et également obtenir un nombre de points fixe pour toutes les acquisitions pour pouvoir les comparer. Voilà une image d'une acquisition originale:
1. Ré-échantillonnage sur le temps
La première étape est propre à l'utilisation de la tablette Bamboo et consiste à ne conserver qu'un seul point par temps d'acquisition. En effet, le système d'acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d'acquisition plutôt que le temps réel. Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d'acquisition de 16ms alors qu'un point acquis au temps 16,8ms sera enregistré avec un temps d'acquisition de 32ms. Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu'un seul point pour un même temps d'acquisition (par défaut le premier de la liste).
De plus, on a également considéré que deux points espacés d'un temps d'acquisition supérieur à 32ms correspondait à un lever de stylo.
2. Interpolation
3. Analyse en composantes principales
L'ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: Template:Rouge et Template:Bleu et le centre de gravité d'une forme binaire.
4. Centrage et Rotation
Flavien si tu as une image pour le centrage la rotation
Pour réduire les problémes de décalage entre l'image à tester et le modèle on utilise les informations fournis par l'ACP. Le centre de gravité permet de centrer l'image comme le modéle. Les deux axes qui décrivent l'alignement des points permettent de faire la rotation.La rotation est calculée à partir de l'angle entre l'axe principal et l'axes horizontal.
5. Normalisation (Zoom)
Corentin je te laisse remplir cette partie
6. Ré-échantillonnage sur le nombre de points
Algorithmes de comparaison
Comparaisons simplistes
Coefficient de corrélation temporel
Dynamic Time Warping
Corentin je te laisse remplir cette partie
Matrice de radiation
Corentin je te laisse remplir cette partie
Somme des différences d'angles entre vecteurs
Corentin je te laisse remplir cette partie