<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Garciafl</id>
	<title>air - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://air.imag.fr/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Garciafl"/>
	<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php/Special:Contributions/Garciafl"/>
	<updated>2026-05-31T10:54:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4830</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4830"/>
		<updated>2012-03-25T19:32:04Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Comparaisons simplistes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problèmes de décalage, entre l&#039;image à tester et le modèle, on utilise les informations fournies par l&#039;ACP.&lt;br /&gt;
&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modèle.&lt;br /&gt;
&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axe horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max). &lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionnelle au rapport (distance du point/distance max)*(demi-largeur de l&#039;image).&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
A COMPLETER&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
&lt;br /&gt;
Les données des signatures sont converties en graphe temporel. Par exemple : x/temps ; y/temps ; etc.&lt;br /&gt;
&lt;br /&gt;
La méthode du DTW permet de calculer les dissimilarité entre les informations. &lt;br /&gt;
&lt;br /&gt;
Ici, les deux listes permettent de calculer une matrice dont le dernier élément contient la distance minimale entre les deux listes d&#039;informations.&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
&lt;br /&gt;
La matrice de radiation est une méthode de reconnaissance de forme.&lt;br /&gt;
&lt;br /&gt;
Il existe deux possibilités pour calculer la matrice modèle : &lt;br /&gt;
&lt;br /&gt;
1-  Les points de la signature sont placés avec une valeur de 100. Autour de ces points, les cellules subissent une radiation qui &lt;br /&gt;
fait passer leur valeur à certains seuils, suivant la distance entre la cellule mentionnée et les points originaux de la signature.&lt;br /&gt;
Chaque cellule de la matrice ne peut que subir le rayonnement du point original le plus proche.&lt;br /&gt;
&lt;br /&gt;
2- De même que précédemment sauf que chaque cellule de la matrice subie la somme des rayonnements des points originaux.&lt;br /&gt;
&lt;br /&gt;
Après l&#039;évaluation de cette matrice modèle, le calcul se fait de deux manières différentes :&lt;br /&gt;
&lt;br /&gt;
1- Le résultat est la somme des valeurs enregistrées, dans la matrice modèle, qui sont aux coordonnées des points de la signature à tester.&lt;br /&gt;
&lt;br /&gt;
2- Le résultat est le rapport du nombre de cellules non nulles communes entre la matrice modèle et la signature à tester et le nombre de cellules non nul total.&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
&lt;br /&gt;
Cette méthode permet une reconnaissance de forme simple. &lt;br /&gt;
&lt;br /&gt;
Elle permet d&#039;obtenir l&#039;angle d&#039;écart entre la signature à tester et le modèle.&lt;br /&gt;
&lt;br /&gt;
Le résultat est la somme des angles entre chaque vecteur et le vecteur horizontal. Chaque angle est compris entre -Pi et Pi.&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du fichier de comparaison (apprenstissage.arff)===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
&lt;br /&gt;
@data&lt;br /&gt;
&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données, on doit donc comparer des signatures équivalentes (d&#039;une même personne) et des signatures différentes(de personnes différentes). Etant donné qu&#039;un utilisateur enregistre 5 acquisitions pour former sa &amp;quot;signature&amp;quot;, on peut donc réaliser 10 comparaisons entre signatures équivalentes par utilisateur. &lt;br /&gt;
Ainsi pour n utilisateurs, on aura 5*n comparaisons de signatures équivalentes.&lt;br /&gt;
Ensuite pour construire le modèle par apprentissage, il faut également comparer des signatures différentes. Pour cela, on effectue des comparaisons de manière aléatoire entre les signatures d&#039;utilisateurs différents sans jamais refaire la même comparaison. On se permet de réaliser deux fois plus de comparaisons inter-utilisateur qu&#039;intra-utilisateur (soit 10*n comparaisons).&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle===&lt;br /&gt;
&lt;br /&gt;
Ensuite, on fournit ce jeu de données d&#039;apprentissage à Weka qui construit son modèle selon le classifier choisi. Pour cela, il construit un modèle à partir des 9/10 des données et teste sur le 1/10 restant. Il répète l&#039;opération 10 fois pour parcourir toutes les données et améliorer son modèle au fur et à mesure.&lt;br /&gt;
&lt;br /&gt;
Nous avons opté pour un arbre de décision (plus précisément le J48) pour classer nos données parmi les nombreuses méthodes possibles car il nous permet à posteriori de voir quelles sont les paramètres discriminants et pour quelles raisons il a décidé que 2 signatures se ressemblaient ou non.&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
Une fois le modèle construit, on peut via l&#039;interface tenter de s&#039;identifier en sélectionnant la personne que l&#039;on prétend être et en faisant une acquisition. Le programme va alors récupérer les cinq acquisitions représentant la signature de la personne supposée, effectuer le prétraitement de ces acquisitions ainsi que de la nouvelle et les comparer comme pour la création du modèle.&lt;br /&gt;
&lt;br /&gt;
On va ainsi créer un fichier ARFF &amp;quot;identification.arff&amp;quot; qui contiendra les données de comparaisons comme pour celui de l&#039;apprentissage à la différence que le dernier attribut, celui de la classe, sera rempli d&#039;un &amp;quot;?&amp;quot; pour signifier que c&#039;est au modèle de décider à quelle classe associer cette comparaison (si les deux signatures se ressemblent ou pas).&lt;br /&gt;
&lt;br /&gt;
Une fois que le modèle à rendu sa décision concernant ces cinq comparaisons, on a décidé que la personne avait réussie à s&#039;identifier si la nouvelle acquisition était désignée comme ressemblante à au moins trois des cinq acquisitions enregistrées dans la base de données.&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4829</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4829"/>
		<updated>2012-03-25T19:31:49Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Coefficient de corrélation temporel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problèmes de décalage, entre l&#039;image à tester et le modèle, on utilise les informations fournies par l&#039;ACP.&lt;br /&gt;
&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modèle.&lt;br /&gt;
&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axe horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max). &lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionnelle au rapport (distance du point/distance max)*(demi-largeur de l&#039;image).&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
A COMPLETER&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
&lt;br /&gt;
Les données des signatures sont converties en graphe temporel. Par exemple : x/temps ; y/temps ; etc.&lt;br /&gt;
&lt;br /&gt;
La méthode du DTW permet de calculer les dissimilarité entre les informations. &lt;br /&gt;
&lt;br /&gt;
Ici, les deux listes permettent de calculer une matrice dont le dernier élément contient la distance minimale entre les deux listes d&#039;informations.&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
&lt;br /&gt;
La matrice de radiation est une méthode de reconnaissance de forme.&lt;br /&gt;
&lt;br /&gt;
Il existe deux possibilités pour calculer la matrice modèle : &lt;br /&gt;
&lt;br /&gt;
1-  Les points de la signature sont placés avec une valeur de 100. Autour de ces points, les cellules subissent une radiation qui &lt;br /&gt;
fait passer leur valeur à certains seuils, suivant la distance entre la cellule mentionnée et les points originaux de la signature.&lt;br /&gt;
Chaque cellule de la matrice ne peut que subir le rayonnement du point original le plus proche.&lt;br /&gt;
&lt;br /&gt;
2- De même que précédemment sauf que chaque cellule de la matrice subie la somme des rayonnements des points originaux.&lt;br /&gt;
&lt;br /&gt;
Après l&#039;évaluation de cette matrice modèle, le calcul se fait de deux manières différentes :&lt;br /&gt;
&lt;br /&gt;
1- Le résultat est la somme des valeurs enregistrées, dans la matrice modèle, qui sont aux coordonnées des points de la signature à tester.&lt;br /&gt;
&lt;br /&gt;
2- Le résultat est le rapport du nombre de cellules non nulles communes entre la matrice modèle et la signature à tester et le nombre de cellules non nul total.&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
&lt;br /&gt;
Cette méthode permet une reconnaissance de forme simple. &lt;br /&gt;
&lt;br /&gt;
Elle permet d&#039;obtenir l&#039;angle d&#039;écart entre la signature à tester et le modèle.&lt;br /&gt;
&lt;br /&gt;
Le résultat est la somme des angles entre chaque vecteur et le vecteur horizontal. Chaque angle est compris entre -Pi et Pi.&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du fichier de comparaison (apprenstissage.arff)===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
&lt;br /&gt;
@data&lt;br /&gt;
&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données, on doit donc comparer des signatures équivalentes (d&#039;une même personne) et des signatures différentes(de personnes différentes). Etant donné qu&#039;un utilisateur enregistre 5 acquisitions pour former sa &amp;quot;signature&amp;quot;, on peut donc réaliser 10 comparaisons entre signatures équivalentes par utilisateur. &lt;br /&gt;
Ainsi pour n utilisateurs, on aura 5*n comparaisons de signatures équivalentes.&lt;br /&gt;
Ensuite pour construire le modèle par apprentissage, il faut également comparer des signatures différentes. Pour cela, on effectue des comparaisons de manière aléatoire entre les signatures d&#039;utilisateurs différents sans jamais refaire la même comparaison. On se permet de réaliser deux fois plus de comparaisons inter-utilisateur qu&#039;intra-utilisateur (soit 10*n comparaisons).&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle===&lt;br /&gt;
&lt;br /&gt;
Ensuite, on fournit ce jeu de données d&#039;apprentissage à Weka qui construit son modèle selon le classifier choisi. Pour cela, il construit un modèle à partir des 9/10 des données et teste sur le 1/10 restant. Il répète l&#039;opération 10 fois pour parcourir toutes les données et améliorer son modèle au fur et à mesure.&lt;br /&gt;
&lt;br /&gt;
Nous avons opté pour un arbre de décision (plus précisément le J48) pour classer nos données parmi les nombreuses méthodes possibles car il nous permet à posteriori de voir quelles sont les paramètres discriminants et pour quelles raisons il a décidé que 2 signatures se ressemblaient ou non.&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
Une fois le modèle construit, on peut via l&#039;interface tenter de s&#039;identifier en sélectionnant la personne que l&#039;on prétend être et en faisant une acquisition. Le programme va alors récupérer les cinq acquisitions représentant la signature de la personne supposée, effectuer le prétraitement de ces acquisitions ainsi que de la nouvelle et les comparer comme pour la création du modèle.&lt;br /&gt;
&lt;br /&gt;
On va ainsi créer un fichier ARFF &amp;quot;identification.arff&amp;quot; qui contiendra les données de comparaisons comme pour celui de l&#039;apprentissage à la différence que le dernier attribut, celui de la classe, sera rempli d&#039;un &amp;quot;?&amp;quot; pour signifier que c&#039;est au modèle de décider à quelle classe associer cette comparaison (si les deux signatures se ressemblent ou pas).&lt;br /&gt;
&lt;br /&gt;
Une fois que le modèle à rendu sa décision concernant ces cinq comparaisons, on a décidé que la personne avait réussie à s&#039;identifier si la nouvelle acquisition était désignée comme ressemblante à au moins trois des cinq acquisitions enregistrées dans la base de données.&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4828</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4828"/>
		<updated>2012-03-25T19:30:59Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Construction du fichier de comparaison (apprenstissage.arff) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problèmes de décalage, entre l&#039;image à tester et le modèle, on utilise les informations fournies par l&#039;ACP.&lt;br /&gt;
&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modèle.&lt;br /&gt;
&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axe horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max). &lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionnelle au rapport (distance du point/distance max)*(demi-largeur de l&#039;image).&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
&lt;br /&gt;
Les données des signatures sont converties en graphe temporel. Par exemple : x/temps ; y/temps ; etc.&lt;br /&gt;
&lt;br /&gt;
La méthode du DTW permet de calculer les dissimilarité entre les informations. &lt;br /&gt;
&lt;br /&gt;
Ici, les deux listes permettent de calculer une matrice dont le dernier élément contient la distance minimale entre les deux listes d&#039;informations.&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
&lt;br /&gt;
La matrice de radiation est une méthode de reconnaissance de forme.&lt;br /&gt;
&lt;br /&gt;
Il existe deux possibilités pour calculer la matrice modèle : &lt;br /&gt;
&lt;br /&gt;
1-  Les points de la signature sont placés avec une valeur de 100. Autour de ces points, les cellules subissent une radiation qui &lt;br /&gt;
fait passer leur valeur à certains seuils, suivant la distance entre la cellule mentionnée et les points originaux de la signature.&lt;br /&gt;
Chaque cellule de la matrice ne peut que subir le rayonnement du point original le plus proche.&lt;br /&gt;
&lt;br /&gt;
2- De même que précédemment sauf que chaque cellule de la matrice subie la somme des rayonnements des points originaux.&lt;br /&gt;
&lt;br /&gt;
Après l&#039;évaluation de cette matrice modèle, le calcul se fait de deux manières différentes :&lt;br /&gt;
&lt;br /&gt;
1- Le résultat est la somme des valeurs enregistrées, dans la matrice modèle, qui sont aux coordonnées des points de la signature à tester.&lt;br /&gt;
&lt;br /&gt;
2- Le résultat est le rapport du nombre de cellules non nulles communes entre la matrice modèle et la signature à tester et le nombre de cellules non nul total.&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
&lt;br /&gt;
Cette méthode permet une reconnaissance de forme simple. &lt;br /&gt;
&lt;br /&gt;
Elle permet d&#039;obtenir l&#039;angle d&#039;écart entre la signature à tester et le modèle.&lt;br /&gt;
&lt;br /&gt;
Le résultat est la somme des angles entre chaque vecteur et le vecteur horizontal. Chaque angle est compris entre -Pi et Pi.&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du fichier de comparaison (apprenstissage.arff)===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
&lt;br /&gt;
@data&lt;br /&gt;
&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données, on doit donc comparer des signatures équivalentes (d&#039;une même personne) et des signatures différentes(de personnes différentes). Etant donné qu&#039;un utilisateur enregistre 5 acquisitions pour former sa &amp;quot;signature&amp;quot;, on peut donc réaliser 10 comparaisons entre signatures équivalentes par utilisateur. &lt;br /&gt;
Ainsi pour n utilisateurs, on aura 5*n comparaisons de signatures équivalentes.&lt;br /&gt;
Ensuite pour construire le modèle par apprentissage, il faut également comparer des signatures différentes. Pour cela, on effectue des comparaisons de manière aléatoire entre les signatures d&#039;utilisateurs différents sans jamais refaire la même comparaison. On se permet de réaliser deux fois plus de comparaisons inter-utilisateur qu&#039;intra-utilisateur (soit 10*n comparaisons).&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle===&lt;br /&gt;
&lt;br /&gt;
Ensuite, on fournit ce jeu de données d&#039;apprentissage à Weka qui construit son modèle selon le classifier choisi. Pour cela, il construit un modèle à partir des 9/10 des données et teste sur le 1/10 restant. Il répète l&#039;opération 10 fois pour parcourir toutes les données et améliorer son modèle au fur et à mesure.&lt;br /&gt;
&lt;br /&gt;
Nous avons opté pour un arbre de décision (plus précisément le J48) pour classer nos données parmi les nombreuses méthodes possibles car il nous permet à posteriori de voir quelles sont les paramètres discriminants et pour quelles raisons il a décidé que 2 signatures se ressemblaient ou non.&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
Une fois le modèle construit, on peut via l&#039;interface tenter de s&#039;identifier en sélectionnant la personne que l&#039;on prétend être et en faisant une acquisition. Le programme va alors récupérer les cinq acquisitions représentant la signature de la personne supposée, effectuer le prétraitement de ces acquisitions ainsi que de la nouvelle et les comparer comme pour la création du modèle.&lt;br /&gt;
&lt;br /&gt;
On va ainsi créer un fichier ARFF &amp;quot;identification.arff&amp;quot; qui contiendra les données de comparaisons comme pour celui de l&#039;apprentissage à la différence que le dernier attribut, celui de la classe, sera rempli d&#039;un &amp;quot;?&amp;quot; pour signifier que c&#039;est au modèle de décider à quelle classe associer cette comparaison (si les deux signatures se ressemblent ou pas).&lt;br /&gt;
&lt;br /&gt;
Une fois que le modèle à rendu sa décision concernant ces cinq comparaisons, on a décidé que la personne avait réussie à s&#039;identifier si la nouvelle acquisition était désignée comme ressemblante à au moins trois des cinq acquisitions enregistrées dans la base de données.&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4827</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4827"/>
		<updated>2012-03-25T19:30:32Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Construction du fichier de comparaison (apprenstissage.arff) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problèmes de décalage, entre l&#039;image à tester et le modèle, on utilise les informations fournies par l&#039;ACP.&lt;br /&gt;
&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modèle.&lt;br /&gt;
&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axe horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max). &lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionnelle au rapport (distance du point/distance max)*(demi-largeur de l&#039;image).&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
&lt;br /&gt;
Les données des signatures sont converties en graphe temporel. Par exemple : x/temps ; y/temps ; etc.&lt;br /&gt;
&lt;br /&gt;
La méthode du DTW permet de calculer les dissimilarité entre les informations. &lt;br /&gt;
&lt;br /&gt;
Ici, les deux listes permettent de calculer une matrice dont le dernier élément contient la distance minimale entre les deux listes d&#039;informations.&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
&lt;br /&gt;
La matrice de radiation est une méthode de reconnaissance de forme.&lt;br /&gt;
&lt;br /&gt;
Il existe deux possibilités pour calculer la matrice modèle : &lt;br /&gt;
&lt;br /&gt;
1-  Les points de la signature sont placés avec une valeur de 100. Autour de ces points, les cellules subissent une radiation qui &lt;br /&gt;
fait passer leur valeur à certains seuils, suivant la distance entre la cellule mentionnée et les points originaux de la signature.&lt;br /&gt;
Chaque cellule de la matrice ne peut que subir le rayonnement du point original le plus proche.&lt;br /&gt;
&lt;br /&gt;
2- De même que précédemment sauf que chaque cellule de la matrice subie la somme des rayonnements des points originaux.&lt;br /&gt;
&lt;br /&gt;
Après l&#039;évaluation de cette matrice modèle, le calcul se fait de deux manières différentes :&lt;br /&gt;
&lt;br /&gt;
1- Le résultat est la somme des valeurs enregistrées, dans la matrice modèle, qui sont aux coordonnées des points de la signature à tester.&lt;br /&gt;
&lt;br /&gt;
2- Le résultat est le rapport du nombre de cellules non nulles communes entre la matrice modèle et la signature à tester et le nombre de cellules non nul total.&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
&lt;br /&gt;
Cette méthode permet une reconnaissance de forme simple. &lt;br /&gt;
&lt;br /&gt;
Elle permet d&#039;obtenir l&#039;angle d&#039;écart entre la signature à tester et le modèle.&lt;br /&gt;
&lt;br /&gt;
Le résultat est la somme des angles entre chaque vecteur et le vecteur horizontal. Chaque angle est compris entre -Pi et Pi.&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du fichier de comparaison (apprenstissage.arff)===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
...&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
@data&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données, on doit donc comparer des signatures équivalentes (d&#039;une même personne) et des signatures différentes(de personnes différentes). Etant donné qu&#039;un utilisateur enregistre 5 acquisitions pour former sa &amp;quot;signature&amp;quot;, on peut donc réaliser 10 comparaisons entre signatures équivalentes par utilisateur. &lt;br /&gt;
Ainsi pour n utilisateurs, on aura 5*n comparaisons de signatures équivalentes.&lt;br /&gt;
Ensuite pour construire le modèle par apprentissage, il faut également comparer des signatures différentes. Pour cela, on effectue des comparaisons de manière aléatoire entre les signatures d&#039;utilisateurs différents sans jamais refaire la même comparaison. On se permet de réaliser deux fois plus de comparaisons inter-utilisateur qu&#039;intra-utilisateur (soit 10*n comparaisons).&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle===&lt;br /&gt;
&lt;br /&gt;
Ensuite, on fournit ce jeu de données d&#039;apprentissage à Weka qui construit son modèle selon le classifier choisi. Pour cela, il construit un modèle à partir des 9/10 des données et teste sur le 1/10 restant. Il répète l&#039;opération 10 fois pour parcourir toutes les données et améliorer son modèle au fur et à mesure.&lt;br /&gt;
&lt;br /&gt;
Nous avons opté pour un arbre de décision (plus précisément le J48) pour classer nos données parmi les nombreuses méthodes possibles car il nous permet à posteriori de voir quelles sont les paramètres discriminants et pour quelles raisons il a décidé que 2 signatures se ressemblaient ou non.&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
Une fois le modèle construit, on peut via l&#039;interface tenter de s&#039;identifier en sélectionnant la personne que l&#039;on prétend être et en faisant une acquisition. Le programme va alors récupérer les cinq acquisitions représentant la signature de la personne supposée, effectuer le prétraitement de ces acquisitions ainsi que de la nouvelle et les comparer comme pour la création du modèle.&lt;br /&gt;
&lt;br /&gt;
On va ainsi créer un fichier ARFF &amp;quot;identification.arff&amp;quot; qui contiendra les données de comparaisons comme pour celui de l&#039;apprentissage à la différence que le dernier attribut, celui de la classe, sera rempli d&#039;un &amp;quot;?&amp;quot; pour signifier que c&#039;est au modèle de décider à quelle classe associer cette comparaison (si les deux signatures se ressemblent ou pas).&lt;br /&gt;
&lt;br /&gt;
Une fois que le modèle à rendu sa décision concernant ces cinq comparaisons, on a décidé que la personne avait réussie à s&#039;identifier si la nouvelle acquisition était désignée comme ressemblante à au moins trois des cinq acquisitions enregistrées dans la base de données.&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4826</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4826"/>
		<updated>2012-03-25T19:29:57Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Génération d&amp;#039;un modèle classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problèmes de décalage, entre l&#039;image à tester et le modèle, on utilise les informations fournies par l&#039;ACP.&lt;br /&gt;
&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modèle.&lt;br /&gt;
&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axe horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max). &lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionnelle au rapport (distance du point/distance max)*(demi-largeur de l&#039;image).&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
&lt;br /&gt;
Les données des signatures sont converties en graphe temporel. Par exemple : x/temps ; y/temps ; etc.&lt;br /&gt;
&lt;br /&gt;
La méthode du DTW permet de calculer les dissimilarité entre les informations. &lt;br /&gt;
&lt;br /&gt;
Ici, les deux listes permettent de calculer une matrice dont le dernier élément contient la distance minimale entre les deux listes d&#039;informations.&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
&lt;br /&gt;
La matrice de radiation est une méthode de reconnaissance de forme.&lt;br /&gt;
&lt;br /&gt;
Il existe deux possibilités pour calculer la matrice modèle : &lt;br /&gt;
&lt;br /&gt;
1-  Les points de la signature sont placés avec une valeur de 100. Autour de ces points, les cellules subissent une radiation qui &lt;br /&gt;
fait passer leur valeur à certains seuils, suivant la distance entre la cellule mentionnée et les points originaux de la signature.&lt;br /&gt;
Chaque cellule de la matrice ne peut que subir le rayonnement du point original le plus proche.&lt;br /&gt;
&lt;br /&gt;
2- De même que précédemment sauf que chaque cellule de la matrice subie la somme des rayonnements des points originaux.&lt;br /&gt;
&lt;br /&gt;
Après l&#039;évaluation de cette matrice modèle, le calcul se fait de deux manières différentes :&lt;br /&gt;
&lt;br /&gt;
1- Le résultat est la somme des valeurs enregistrées, dans la matrice modèle, qui sont aux coordonnées des points de la signature à tester.&lt;br /&gt;
&lt;br /&gt;
2- Le résultat est le rapport du nombre de cellules non nulles communes entre la matrice modèle et la signature à tester et le nombre de cellules non nul total.&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
&lt;br /&gt;
Cette méthode permet une reconnaissance de forme simple. &lt;br /&gt;
&lt;br /&gt;
Elle permet d&#039;obtenir l&#039;angle d&#039;écart entre la signature à tester et le modèle.&lt;br /&gt;
&lt;br /&gt;
Le résultat est la somme des angles entre chaque vecteur et le vecteur horizontal. Chaque angle est compris entre -Pi et Pi.&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du fichier de comparaison (apprenstissage.arff)===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
...&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
@data&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
...&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données, on doit donc comparer des signatures équivalentes (d&#039;une même personne) et des signatures différentes(de personnes différentes). Etant donné qu&#039;un utilisateur enregistre 5 acquisitions pour former sa &amp;quot;signature&amp;quot;, on peut donc réaliser 10 comparaisons entre signatures équivalentes par utilisateur. &lt;br /&gt;
Ainsi pour n utilisateurs, on aura 5*n comparaisons de signatures équivalentes.&lt;br /&gt;
Ensuite pour construire le modèle par apprentissage, il faut également comparer des signatures différentes. Pour cela, on effectue des comparaisons de manière aléatoire entre les signatures d&#039;utilisateurs différents sans jamais refaire la même comparaison. On se permet de réaliser deux fois plus de comparaisons inter-utilisateur qu&#039;intra-utilisateur (soit 10*n comparaisons).&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle===&lt;br /&gt;
&lt;br /&gt;
Ensuite, on fournit ce jeu de données d&#039;apprentissage à Weka qui construit son modèle selon le classifier choisi. Pour cela, il construit un modèle à partir des 9/10 des données et teste sur le 1/10 restant. Il répète l&#039;opération 10 fois pour parcourir toutes les données et améliorer son modèle au fur et à mesure.&lt;br /&gt;
&lt;br /&gt;
Nous avons opté pour un arbre de décision (plus précisément le J48) pour classer nos données parmi les nombreuses méthodes possibles car il nous permet à posteriori de voir quelles sont les paramètres discriminants et pour quelles raisons il a décidé que 2 signatures se ressemblaient ou non.&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
Une fois le modèle construit, on peut via l&#039;interface tenter de s&#039;identifier en sélectionnant la personne que l&#039;on prétend être et en faisant une acquisition. Le programme va alors récupérer les cinq acquisitions représentant la signature de la personne supposée, effectuer le prétraitement de ces acquisitions ainsi que de la nouvelle et les comparer comme pour la création du modèle.&lt;br /&gt;
&lt;br /&gt;
On va ainsi créer un fichier ARFF &amp;quot;identification.arff&amp;quot; qui contiendra les données de comparaisons comme pour celui de l&#039;apprentissage à la différence que le dernier attribut, celui de la classe, sera rempli d&#039;un &amp;quot;?&amp;quot; pour signifier que c&#039;est au modèle de décider à quelle classe associer cette comparaison (si les deux signatures se ressemblent ou pas).&lt;br /&gt;
&lt;br /&gt;
Une fois que le modèle à rendu sa décision concernant ces cinq comparaisons, on a décidé que la personne avait réussie à s&#039;identifier si la nouvelle acquisition était désignée comme ressemblante à au moins trois des cinq acquisitions enregistrées dans la base de données.&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4825</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4825"/>
		<updated>2012-03-25T19:21:40Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Classification par arbre de décision */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problèmes de décalage, entre l&#039;image à tester et le modèle, on utilise les informations fournies par l&#039;ACP.&lt;br /&gt;
&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modèle.&lt;br /&gt;
&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axe horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max). &lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionnelle au rapport (distance du point/distance max)*(demi-largeur de l&#039;image).&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
&lt;br /&gt;
Les données des signatures sont converties en graphe temporel. Par exemple : x/temps ; y/temps ; etc.&lt;br /&gt;
&lt;br /&gt;
La méthode du DTW permet de calculer les dissimilarité entre les informations. &lt;br /&gt;
&lt;br /&gt;
Ici, les deux listes permettent de calculer une matrice dont le dernier élément contient la distance minimale entre les deux listes d&#039;informations.&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
&lt;br /&gt;
La matrice de radiation est une méthode de reconnaissance de forme.&lt;br /&gt;
&lt;br /&gt;
Il existe deux possibilités pour calculer la matrice modèle : &lt;br /&gt;
&lt;br /&gt;
1-  Les points de la signature sont placés avec une valeur de 100. Autour de ces points, les cellules subissent une radiation qui &lt;br /&gt;
fait passer leur valeur à certains seuils, suivant la distance entre la cellule mentionnée et les points originaux de la signature.&lt;br /&gt;
Chaque cellule de la matrice ne peut que subir le rayonnement du point original le plus proche.&lt;br /&gt;
&lt;br /&gt;
2- De même que précédemment sauf que chaque cellule de la matrice subie la somme des rayonnements des points originaux.&lt;br /&gt;
&lt;br /&gt;
Après l&#039;évaluation de cette matrice modèle, le calcul se fait de deux manières différentes :&lt;br /&gt;
&lt;br /&gt;
1- Le résultat est la somme des valeurs enregistrées, dans la matrice modèle, qui sont aux coordonnées des points de la signature à tester.&lt;br /&gt;
&lt;br /&gt;
2- Le résultat est le rapport du nombre de cellules non nulles communes entre la matrice modèle et la signature à tester et le nombre de cellules non nul total.&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
&lt;br /&gt;
Cette méthode permet une reconnaissance de forme simple. &lt;br /&gt;
&lt;br /&gt;
Elle permet d&#039;obtenir l&#039;angle d&#039;écart entre la signature à tester et le modèle.&lt;br /&gt;
&lt;br /&gt;
Le résultat est la somme des angles entre chaque vecteur et le vecteur horizontal. Chaque angle est compris entre -Pi et Pi.&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
...&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
@data&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
...&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données, on doit donc comparer des signatures équivalentes (d&#039;une même personne) et des signatures différentes(de personnes différentes). Etant donné qu&#039;un utilisateur enregistre 5 acquisitions pour former sa &amp;quot;signature&amp;quot;, on peut donc réaliser 10 comparaisons entre signatures équivalentes par utilisateur. &lt;br /&gt;
Ainsi pour n utilisateurs, on aura 5*n comparaisons de signatures équivalentes.&lt;br /&gt;
Ensuite pour construire le modèle par apprentissage, il faut également comparer des signatures différentes. Pour cela, on effectue des comparaisons de manière aléatoire entre les signatures d&#039;utilisateurs différents sans jamais refaire la même comparaison. On se permet de réaliser deux fois plus de comparaisons inter-utilisateur qu&#039;intra-utilisateur (soit 10*n comparaisons).&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle===&lt;br /&gt;
&lt;br /&gt;
Ensuite, on fournit ce jeu de données d&#039;apprentissage à Weka qui construit son modèle selon le classifier choisi. Pour cela, il construit un modèle à partir des 9/10 des données et teste sur le 1/10 restant. Il répète l&#039;opération 10 fois pour parcourir toutes les données et améliorer son modèle au fur et à mesure.&lt;br /&gt;
&lt;br /&gt;
Nous avons opté pour un arbre de décision (plus précisément le J48) pour classer nos données parmi les nombreuses méthodes possibles car il nous permet à posteriori de voir quelles sont les paramètres discriminants et pour quelles raisons il a décidé que 2 signatures se ressemblaient ou non.&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4824</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4824"/>
		<updated>2012-03-25T19:16:54Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Construction du modèle par apprentissage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problèmes de décalage, entre l&#039;image à tester et le modèle, on utilise les informations fournies par l&#039;ACP.&lt;br /&gt;
&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modèle.&lt;br /&gt;
&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axe horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max). &lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionnelle au rapport (distance du point/distance max)*(demi-largeur de l&#039;image).&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
&lt;br /&gt;
Les données des signatures sont converties en graphe temporel. Par exemple : x/temps ; y/temps ; etc.&lt;br /&gt;
&lt;br /&gt;
La méthode du DTW permet de calculer les dissimilarité entre les informations. &lt;br /&gt;
&lt;br /&gt;
Ici, les deux listes permettent de calculer une matrice dont le dernier élément contient la distance minimale entre les deux listes d&#039;informations.&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
&lt;br /&gt;
La matrice de radiation est une méthode de reconnaissance de forme.&lt;br /&gt;
&lt;br /&gt;
Il existe deux possibilités pour calculer la matrice modèle : &lt;br /&gt;
&lt;br /&gt;
1-  Les points de la signature sont placés avec une valeur de 100. Autour de ces points, les cellules subissent une radiation qui &lt;br /&gt;
fait passer leur valeur à certains seuils, suivant la distance entre la cellule mentionnée et les points originaux de la signature.&lt;br /&gt;
Chaque cellule de la matrice ne peut que subir le rayonnement du point original le plus proche.&lt;br /&gt;
&lt;br /&gt;
2- De même que précédemment sauf que chaque cellule de la matrice subie la somme des rayonnements des points originaux.&lt;br /&gt;
&lt;br /&gt;
Après l&#039;évaluation de cette matrice modèle, le calcul se fait de deux manières différentes :&lt;br /&gt;
&lt;br /&gt;
1- Le résultat est la somme des valeurs enregistrées, dans la matrice modèle, qui sont aux coordonnées des points de la signature à tester.&lt;br /&gt;
&lt;br /&gt;
2- Le résultat est le rapport du nombre de cellules non nulles communes entre la matrice modèle et la signature à tester et le nombre de cellules non nul total.&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
&lt;br /&gt;
Cette méthode permet une reconnaissance de forme simple. &lt;br /&gt;
&lt;br /&gt;
Elle permet d&#039;obtenir l&#039;angle d&#039;écart entre la signature à tester et le modèle.&lt;br /&gt;
&lt;br /&gt;
Le résultat est la somme des angles entre chaque vecteur et le vecteur horizontal. Chaque angle est compris entre -Pi et Pi.&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
...&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
@data&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
...&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données, on doit donc comparer des signatures équivalentes (d&#039;une même personne) et des signatures différentes(de personnes différentes). Etant donné qu&#039;un utilisateur enregistre 5 acquisitions pour former sa &amp;quot;signature&amp;quot;, on peut donc réaliser 10 comparaisons entre signatures équivalentes par utilisateur. &lt;br /&gt;
Ainsi pour n utilisateurs, on aura 5*n comparaisons de signatures équivalentes.&lt;br /&gt;
Ensuite pour construire le modèle par apprentissage, il faut également comparer des signatures différentes. Pour cela, on effectue des comparaisons de manière aléatoire entre les signatures d&#039;utilisateurs différents sans jamais refaire la même comparaison. On se permet de réaliser deux fois plus de comparaisons inter-utilisateur qu&#039;intra-utilisateur (soit 10*n comparaisons).&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4823</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4823"/>
		<updated>2012-03-25T19:07:52Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Algorithmes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problèmes de décalage, entre l&#039;image à tester et le modèle, on utilise les informations fournies par l&#039;ACP.&lt;br /&gt;
&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modèle.&lt;br /&gt;
&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axe horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max). &lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionnelle au rapport (distance du point/distance max)*(demi-largeur de l&#039;image).&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
&lt;br /&gt;
Les données des signatures sont converties en graphe temporel. Par exemple : x/temps ; y/temps ; etc.&lt;br /&gt;
&lt;br /&gt;
La méthode du DTW permet de calculer les dissimilarité entre les informations. &lt;br /&gt;
&lt;br /&gt;
Ici, les deux listes permettent de calculer une matrice dont le dernier élément contient la distance minimale entre les deux listes d&#039;informations.&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
&lt;br /&gt;
La matrice de radiation est une méthode de reconnaissance de forme.&lt;br /&gt;
&lt;br /&gt;
Il existe deux possibilités pour calculer la matrice modèle : &lt;br /&gt;
&lt;br /&gt;
1-  Les points de la signature sont placés avec une valeur de 100. Autour de ces points, les cellules subissent une radiation qui &lt;br /&gt;
fait passer leur valeur à certains seuils, suivant la distance entre la cellule mentionnée et les points originaux de la signature.&lt;br /&gt;
Chaque cellule de la matrice ne peut que subir le rayonnement du point original le plus proche.&lt;br /&gt;
&lt;br /&gt;
2- De même que précédemment sauf que chaque cellule de la matrice subie la somme des rayonnements des points originaux.&lt;br /&gt;
&lt;br /&gt;
Après l&#039;évaluation de cette matrice modèle, le calcul se fait de deux manières différentes :&lt;br /&gt;
&lt;br /&gt;
1- Le résultat est la somme des valeurs enregistrées, dans la matrice modèle, qui sont aux coordonnées des points de la signature à tester.&lt;br /&gt;
&lt;br /&gt;
2- Le résultat est le rapport du nombre de cellules non nulles communes entre la matrice modèle et la signature à tester et le nombre de cellules non nul total.&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
&lt;br /&gt;
Cette méthode permet une reconnaissance de forme simple. &lt;br /&gt;
&lt;br /&gt;
Elle permet d&#039;obtenir l&#039;angle d&#039;écart entre la signature à tester et le modèle.&lt;br /&gt;
&lt;br /&gt;
Le résultat est la somme des angles entre chaque vecteur et le vecteur horizontal. Chaque angle est compris entre -Pi et Pi.&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
...&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
@data&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
...&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4815</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4815"/>
		<updated>2012-03-25T17:30:29Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Construction du modèle par apprentissage */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max).&lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionel au rapport (distance du point/distance max)*(demi largeur de l&#039;image)&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
WEka utilise des fichiers ARFF pour construire et tester son modèle. Dans ce fichier on retrouve dans l&#039;ordre:&lt;br /&gt;
&lt;br /&gt;
* Le nom de la relation (utile pour nommer le fichier d&#039;apprentissage aux fichiers d&#039;identification et de décision)&lt;br /&gt;
&lt;br /&gt;
@relation signature&lt;br /&gt;
&lt;br /&gt;
* La liste des attributs de comparaison utilisés et leur type&lt;br /&gt;
&lt;br /&gt;
@attribute totalTime numeric&lt;br /&gt;
@attribute numberPenUp numeric&lt;br /&gt;
...&lt;br /&gt;
@attribute CORTX numeric&lt;br /&gt;
@attribute CORTY numeric&lt;br /&gt;
@attribute pourcentageRadiance numeric&lt;br /&gt;
&lt;br /&gt;
* L&#039;attribut contenant les différentes classes (2 dans notre cas: signatures équivalentes ou non)&lt;br /&gt;
@attribute accepte {no,yes}&lt;br /&gt;
&lt;br /&gt;
* Les données de comparaisons entre différentes signatures&lt;br /&gt;
@data&lt;br /&gt;
1019.466796875,2.0,0.9912756661011811,0.9970564473307176,17.837034225463867,yes&lt;br /&gt;
663.466796875,0.0,0.9837515744201278,0.996214642908734,15.106257438659668,yes&lt;br /&gt;
...&lt;br /&gt;
1278.466796875,0.0,0.9729839482086351,0.9951841501724467,9.820034980773926,no&lt;br /&gt;
1044.06640625,0.0,0.9859247460800329,0.9970413832907982,9.922861099243164,no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pour construire ces données&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4814</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4814"/>
		<updated>2012-03-25T17:11:34Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Génération d&amp;#039;un modèle classification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max).&lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionel au rapport (distance du point/distance max)*(demi largeur de l&#039;image)&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
Afin de réaliser la tâche de vérification pour la reconnaissance de signature, nous avons opté pour le choix de WEKA pour la création du modèle par apprentissage et la décision finale.&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4813</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4813"/>
		<updated>2012-03-25T17:08:51Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Algorithmes de comparaison */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max).&lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionel au rapport (distance du point/distance max)*(demi largeur de l&#039;image)&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
Pour la création du modèle (voir plus loin), il est nécessaire d&#039;obtenir un ensemble de données de comparaisons. On a ainsi sélectionné les comparaisons suivantes&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
*Différence de temps total d&#039;acquisition&lt;br /&gt;
*Différence de nombre de lever de stylos&lt;br /&gt;
*Différence de pression moyenne&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4812</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4812"/>
		<updated>2012-03-25T16:53:12Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* 6. Ré-échantillonnage sur le nombre de points */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max).&lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionel au rapport (distance du point/distance max)*(demi largeur de l&#039;image)&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
Suivant la durée totale d&#039;acquisition, le nombre de points acquis peut être plus ou moins important et les précédentes étapes de prétraitement peuvent en supprimer quelque-uns également. Il est donc essentiel d&#039;effectuer un ré-échantillonnage sur les acquisitions après normalisation pour obtenir un nombre de points fixe (2000 points choisis actuellement) pour que les différents algorithmes de comparaison soient cohérents.&lt;br /&gt;
On a choisi d&#039;interpoler des points de manière uniforme si le nombre de points était inférieur à 2000 et d&#039;en supprimer, également de manière uniforme, si ce nombre était supérieur.&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4811</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4811"/>
		<updated>2012-03-25T16:44:36Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Prétraitement des acquisitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max).&lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionel au rapport (distance du point/distance max)*(demi largeur de l&#039;image)&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4810</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4810"/>
		<updated>2012-03-25T16:44:16Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* 2. Interpolation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png|800px]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max).&lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionel au rapport (distance du point/distance max)*(demi largeur de l&#039;image)&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4809</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4809"/>
		<updated>2012-03-25T16:41:48Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* 2. Interpolation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
On applique une interpolation cubique sur l&#039;acquisition dans le but d&#039;obtenir un rendu de signature plus continu et lisse, et mieux comprendre les courbures de la signature d&#039;un individu. De plus, il est nécessaire de travailler sur des données assez fournies notamment pour des algorithmes de recouvrement par exemple.&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le zoom est calculé pour obtenir la taille la plus grande possible pour l&#039;image. &lt;br /&gt;
&lt;br /&gt;
La distance entre le centre et le point le plus proche du rebord de l&#039;image évaluée = (distance max).&lt;br /&gt;
&lt;br /&gt;
Chaque point subit alors une translation proportionel au rapport (distance du point/distance max)*(demi largeur de l&#039;image)&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4806</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4806"/>
		<updated>2012-03-25T16:37:04Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Prétraitement des acquisitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:0_normalisee_Aur%C3%A9lie_4.png&amp;diff=4805</id>
		<title>File:0 normalisee Aurélie 4.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:0_normalisee_Aur%C3%A9lie_4.png&amp;diff=4805"/>
		<updated>2012-03-25T16:36:13Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:0_droite_Aur%C3%A9lie_4.png&amp;diff=4804</id>
		<title>File:0 droite Aurélie 4.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:0_droite_Aur%C3%A9lie_4.png&amp;diff=4804"/>
		<updated>2012-03-25T16:34:06Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:0_centree_Aur%C3%A9lie_4.png&amp;diff=4803</id>
		<title>File:0 centree Aurélie 4.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:0_centree_Aur%C3%A9lie_4.png&amp;diff=4803"/>
		<updated>2012-03-25T16:33:26Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:0_interpolee_Aur%C3%A9lie_4.png&amp;diff=4802</id>
		<title>File:0 interpolee Aurélie 4.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:0_interpolee_Aur%C3%A9lie_4.png&amp;diff=4802"/>
		<updated>2012-03-25T16:32:35Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:0_origine_Aur%C3%A9lie_4.png&amp;diff=4801</id>
		<title>File:0 origine Aurélie 4.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:0_origine_Aur%C3%A9lie_4.png&amp;diff=4801"/>
		<updated>2012-03-25T16:29:32Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4800</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4800"/>
		<updated>2012-03-25T16:29:04Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* 5. Normalisation (Zoom) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
[[File:0_normalisee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4799</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4799"/>
		<updated>2012-03-25T16:28:43Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* 4. Centrage et Rotation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
[[File:0_centree_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:0_droite_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4798</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4798"/>
		<updated>2012-03-25T16:28:18Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* 2. Interpolation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
[[File:0_interpolee_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
Flavien si tu as une image pour le centrage la rotation&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4797</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4797"/>
		<updated>2012-03-25T16:27:39Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Prétraitement des acquisitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
Voilà une image d&#039;une acquisition originale:&lt;br /&gt;
&lt;br /&gt;
[[File:0_origine_Aurélie_4.png]]&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
Flavien si tu as une image pour le centrage la rotation&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4796</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4796"/>
		<updated>2012-03-25T16:21:58Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Prétraitement des acquisitions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
Les acquisitions obtenues par l&#039;intermédiaire de l&#039;interface, pour représenter la signature d&#039;un individu, sont des listes de points, auquels sont rattachés une abscisse, une coordonnée, une valeur de pression et un temps d&#039;acquisition.&lt;br /&gt;
Cependant, il est nécessaire d&#039;appliquer un prétraitement à ces acquisitions afin d&#039;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.&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: {{rouge|l&#039;axe principal}} et {{bleu|l&#039;axe secondaire}} et le centre de gravité d&#039;une forme binaire.&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
Flavien si tu as une image pour le centrage la rotation&lt;br /&gt;
&lt;br /&gt;
Pour réduire les problémes de décalage entre l&#039;image à tester et le modèle on utilise les informations fournis par l&#039;ACP.&lt;br /&gt;
Le centre de gravité permet de centrer l&#039;image comme le modéle.&lt;br /&gt;
Les deux axes qui décrivent l&#039;alignement des points permettent de faire la rotation.La rotation est calculée à partir de l&#039;angle entre l&#039;axe principal et l&#039;axes horizontal.&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4791</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4791"/>
		<updated>2012-03-25T16:08:26Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* 1. Ré-échantillonnage sur le temps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
La première étape est propre à l&#039;utilisation de la tablette Bamboo et consiste à ne conserver qu&#039;un seul point par temps d&#039;acquisition. En effet, le système d&#039;acquisition de la tablette renvoie la liste de points acquis durant chaque période de 16ms et attache à chaque point cette période d&#039;acquisition plutôt que le temps réel.&lt;br /&gt;
Par exemple les points acquis en réalité aux temps 11ms et 14,5ms seront enregistrés avec un temps d&#039;acquisition de 16ms alors qu&#039;un point acquis au temps 16,8ms sera enregistré avec un temps d&#039;acquisition de 32ms.&lt;br /&gt;
Nous avons considéré que ce temps de 16ms étant relativement court, on ne conserverait qu&#039;un seul point pour un même temps d&#039;acquisition (par défaut le premier de la liste).&lt;br /&gt;
&lt;br /&gt;
De plus, on a également considéré que deux points espacés d&#039;un temps d&#039;acquisition supérieur à 32ms correspondait à un lever de stylo.&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
&lt;br /&gt;
[[File:PCA.png]]&lt;br /&gt;
&lt;br /&gt;
L&#039;ACP est utilisé pour trouver les informations mathématiques qui décrivent la position des points: l&#039;axe principal (rouge) et l&#039;axe secondaire (bleu) et le centre de gravité d&#039;une forme binaire&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4788</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4788"/>
		<updated>2012-03-25T15:36:48Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Algorithmes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
Un système de reconnaissance par signature nécessite l&#039;application d&#039;algorithmes, que ce soit dans un premier temps pour obtenir des acquisitions de qualité, qu&#039;ensuite pour pouvoir les comparer de manière cohérente et enfin construire un modèle efficace de reconnaissance.&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4787</id>
		<title>PAGE WIKI ETUDIANTS 2011-12 SIGNATURES</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=PAGE_WIKI_ETUDIANTS_2011-12_SIGNATURES&amp;diff=4787"/>
		<updated>2012-03-25T15:29:26Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: /* Algorithmes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation du projet=&lt;br /&gt;
&lt;br /&gt;
Le projet de Biométrie &amp;quot;Acquisition et reconnaissance de signatures&amp;quot; consiste à enregistrer une signature numérique d&#039;un client ou utilisateur afin de permettre ultérieurement une identification grâce à cette modalité biométrique.&lt;br /&gt;
&lt;br /&gt;
=Contexte=&lt;br /&gt;
===Etude de l&#039;existant===&lt;br /&gt;
&lt;br /&gt;
Ce projet d&#039;acquisition et de reconnaissance de signatures a déjà été traité par une équipe d&#039;é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.&lt;br /&gt;
Pour plus de détails, consulter les parties &amp;quot;Algorithmes&amp;quot; et &amp;quot;IHM&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Suites prévues===&lt;br /&gt;
L&#039;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.&lt;br /&gt;
&lt;br /&gt;
=Cadre de réponse=&lt;br /&gt;
&lt;br /&gt;
Nous réaliserons une IHM qui nous permettra, d&#039;une part, d&#039;enregistrer un nouvel utilisateur dans la base de données (acquisition de signature), et d&#039;autre part de tester l&#039;identification d&#039;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&#039;acquisition des signatures, différentes informations qui nous permettront d&#039;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&#039;algorithme conçu à partir de cette étude.&lt;br /&gt;
&lt;br /&gt;
=Organisation de l&#039;équipe=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Renaud Collin&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Chef de projet&lt;br /&gt;
*Responsable documents,&lt;br /&gt;
*Etude de l&#039;existant&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Flavien Garcia &amp;amp; Corentin Foucault :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Etude de l&#039;existant,&lt;br /&gt;
*Construction et codage de l&#039;algorithme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Christophe Havard :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Montage DS + Arduino,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Thibaud Michel&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données (depuis le montage DS + Arduino et depuis la tablette),&lt;br /&gt;
*Mise en place de la base de données,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aurélie Moiroux :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Acquisition des données depuis la tablette,&lt;br /&gt;
*Conception et codage IHM&lt;br /&gt;
&lt;br /&gt;
=Diagramme de Gantt prévisionnel=&lt;br /&gt;
&lt;br /&gt;
[[File:Diagramme-de-Gantt-previsionnel.png]]&lt;br /&gt;
&lt;br /&gt;
=Matériel=&lt;br /&gt;
===Tablette Bamboo CTH-460===&lt;br /&gt;
&lt;br /&gt;
Cette tablette est un ajout de matériel par rapport à l&#039;année précédente. Ainsi, nous avons pour notre projet deux interfaces pour l&#039;acquisition des signatures. Cela nous a donc amené à étudier la tablette graphique et les librairies Java permettant de nous en servir. &lt;br /&gt;
L&#039;IHM a également été modifiée pour permettre à l&#039;utilisateur de choisir quelle interface d&#039;acquisition il souhaite utiliser. &lt;br /&gt;
&lt;br /&gt;
*La librairie permettant d&#039;utiliser cette tablette est : Jpen [http://sourceforge.net/apps/mediawiki/jpen/index.php?title=Main_Page]&lt;br /&gt;
*Le driver de la tablette CTH-460 est disponible ici : [http://www.wacom-asia.com/download/download_index.html]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:bamboo.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Montage Arduino + Ecran de DS===&lt;br /&gt;
[[File:Arduino_DS.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Arduino2.png]]&lt;br /&gt;
&lt;br /&gt;
=IHM=&lt;br /&gt;
&lt;br /&gt;
Lorsque l&#039;utilisateur démarre l&#039;application, celle-ci s&#039;ouvre sur l&#039;onglet &amp;quot;Nouvel utilisateur&amp;quot;. Si il n&#039;a pas encore de compte, il doit alors rentrer son nom, son prénom, et procéder à l&#039;acquisition de cinq signatures (la même) afin de pouvoir s&#039;enregistrer. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Nouvel Utilisateur&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:ihm1.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Une fois que l&#039;utilisateur possède un compte, il peut se rendre sur l&#039;onglet &amp;quot;Identification&amp;quot;. Afin de s&#039;authentifier l’utilisateur doit sélectionner son nom, puis signer de la même signature que lors de l&#039;acquisition. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Identification&amp;quot;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[File:ihm2.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Le système affiche alors la réponse de l&#039;authentification : la réussite ou l’échec. Une question apparaît également afin d&#039;établir des statistiques de performance du système. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm21.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Onglet &amp;quot;Infos&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:ihm3.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Algorithmes=&lt;br /&gt;
&lt;br /&gt;
==Prétraitement des acquisitions==&lt;br /&gt;
&lt;br /&gt;
===1. Ré-échantillonnage sur le temps===&lt;br /&gt;
&lt;br /&gt;
===2. Interpolation===&lt;br /&gt;
&lt;br /&gt;
===3. Analyse en composantes principales===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===4. Centrage et Rotation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===5. Normalisation (Zoom)===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===6. Ré-échantillonnage sur le nombre de points===&lt;br /&gt;
&lt;br /&gt;
==Algorithmes de comparaison==&lt;br /&gt;
&lt;br /&gt;
===Comparaisons simplistes===&lt;br /&gt;
&lt;br /&gt;
===Coefficient de corrélation temporel===&lt;br /&gt;
&lt;br /&gt;
===Dynamic Time Warping===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Matrice de radiation===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
===Somme des différences d&#039;angles entre vecteurs===&lt;br /&gt;
Corentin je te laisse remplir cette partie&lt;br /&gt;
&lt;br /&gt;
==Génération d&#039;un modèle classification==&lt;br /&gt;
&lt;br /&gt;
===Construction du modèle par apprentissage===&lt;br /&gt;
&lt;br /&gt;
===Classification par arbre de décision===&lt;br /&gt;
&lt;br /&gt;
===Résultats===&lt;br /&gt;
&lt;br /&gt;
=Documents=&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Syst%C3%A8mes_d%27information_g%C3%A9ographique&amp;diff=4496</id>
		<title>Systèmes d&#039;information géographique</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Syst%C3%A8mes_d%27information_g%C3%A9ographique&amp;diff=4496"/>
		<updated>2012-02-16T18:19:36Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Qu&#039;est-ce que signifie &amp;quot;&#039;&#039;SIG&#039;&#039;&amp;quot; ? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ces trois lettres sont en fait l&#039;abréviation de &amp;quot;&#039;&#039;&#039;Système d&#039;Informations Géographiques&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Parmi les &#039;&#039;&#039;SIG&#039;&#039;&#039;, nous pouvons identifier des fournisseurs de données tels que &#039;&#039;&#039;OpenStreetMap&#039;&#039;&#039;, &#039;&#039;&#039;Géoportail&#039;&#039;&#039;, &#039;&#039;&#039;Google Maps&#039;&#039;&#039; ou encore &#039;&#039;&#039;Google Earth&#039;&#039;&#039;. De nombreuses applications peuvent se baser sur ces fournisseurs de données; &#039;&#039;&#039;Openscales&#039;&#039;&#039; et &#039;&#039;&#039;Openlayers&#039;&#039;&#039; en sont des exemples parfaits. Il existe également de nombreux systèmes de stockage et des services autour de ces données, comme &#039;&#039;&#039;Pachube&#039;&#039;&#039;, &#039;&#039;&#039;PostGIS&#039;&#039;&#039; ou encore &#039;&#039;&#039;GPX/KML&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Systèmes d&#039;Informations Géographiques :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Les buts des SIG sont d&#039;acquérir, d&#039;organiser, de gérer, de traiter, de représenter et de restituer des données géographiques. &lt;br /&gt;
&lt;br /&gt;
Ces systèmes présentent des informations dans une représentation plus ou moins réaliste d&#039;un environnement spatial, tous basés sur des primitives géographiques telles que les points, les vecteurs, les polygones... Mais il est également possible de retrouver des informations que l&#039;on dit &amp;quot;attributaires&amp;quot; : ce sont les routes, les forêts, les bâtiments... présents dans l&#039;environnement représenté. D&#039;autres informations dites &amp;quot;contextuelles&amp;quot; sont également présentes : il peut s&#039;agir du nombre d&#039;habitants, de la superficie... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de représentation d&#039;environnement : &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Openstreetmap.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cette image provient d&#039;OpenStreetMap. Nous pouvons voir les primitives géographiques comme des rectangles pour les bâtiments. Il y a également des informations attributives telles que la présence des parkings... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Les fournisseurs de données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;- OpenStreetMap :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
C&#039;est un projet qui a pour but de présenter des cartes du monde entier sous licence libre. Ce qui signifie que toute personne ayant besoin de sources de données d&#039;informations géographique pour une réutilisation personnelle ou commerciale peut s&#039;appuyer sur les données fournies par OpenStreetMap. &lt;br /&gt;
&lt;br /&gt;
Le projet fut lancé en juillet 2004 par Steve Coast au University College de Londres. OpenStreetMap repose sur un système de création et de modification des données par les utilisateurs. Pour ce faire, il suffit de se créer un compte gratuitement sur openstreetmap.fr [http://www.openstreetmap.fr/]. Il existe de nombreux tutoriels permettant aux nouveaux utilisateurs d&#039;apprendre comment rajouter des données manuellement ou grâce à leur GPS sur les cartes existantes mais souvent incomplètes et parfois même erronées.&lt;br /&gt;
&lt;br /&gt;
Un site tel qu&#039;OpenStreetMap fournit une aide précieuse. Par exemple, lorsqu&#039;il y a eu le tremblement de terre en Haïti, les cartes ont été mises à jours par des utilisateurs ayant eu la possibilité d&#039;être sur places. Ces nouvelles cartes indiquaient avec précision les emplacements des camps de réfugiés et ont été d&#039;une grande aide aux secouristes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Géoportail :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Google Maps :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Google Earth :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Réutilisation des données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Openscales :&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
OpenScales est un framework cartographique open-source, actuellement disponible en version 2.0, permettant notamment d&#039;utiliser les formats cartographiques usuels:&lt;br /&gt;
*&#039;&#039;&#039;WMS&#039;&#039;&#039; (Web Map Service): Permet de produire des cartes de données géoréférencées à partir de différents serveurs de données. Cela permet de mettre en place un réseau de serveurs cartographiques à partir desquels des clients peuvent construire des cartes interactives. Le WMS est décrit dans des spécifications maintenues par l&#039;Open Geospatial Consortium.&lt;br /&gt;
*&#039;&#039;&#039;WFS&#039;&#039;&#039; (Web Feature Service): Protocole décrit dans des spécifications maintenues par l&#039;Open Geospatial Consortium. Le service WFS permet, au moyen d&#039;une URL formatée, d&#039;interroger des serveurs cartographiques afin de manipuler des objets géographiques (lignes, points, polygones...).&lt;br /&gt;
&lt;br /&gt;
Il est écrit en Action Script 3, et dispose également d&#039;une couche de plus haut-niveau basée sur Flex pour l&#039;instanciation en Map XML.&lt;br /&gt;
Une couche de sécurité est prévue pour l’authentification à un service. Ce qui permet d’utiliser les données de l’IGN à travers l’API Géoportail.&lt;br /&gt;
OpenScales est multiplate-formes: En plus des ordinateurs, ce framework peut être utilisé sur mobile grâce à Adobe Air.&lt;br /&gt;
&lt;br /&gt;
OpenScales est développé à grande majorité par des français, dans la région lyonnaise, le tout étant chapeauté par la société Atos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Exemples d&#039;utilisations&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D&#039;un point de vue de son utilisation actuelle, on peut par exemple observer que l&#039;Elysée l&#039;a utilisé pour référencer les différents déplacements du Président de la République dans l&#039;hexagone comme sur l&#039;image ci-dessous.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:president.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ensuite, l&#039;application Cyclomedia combine des données aériennes et panoramiques pour permettre à l&#039;utilisateur d’obtenir des informations sur la hauteur des bâtiments par exemple&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cyclomedia.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin, OpenScales permet de superposer différentes couches, ou alors de diviser une carte en plusieurs zones, et de rattacher diverses informations à ces couches/zones. Sur l&#039;image suivante, on peut observer des données démographiques (population, chef-lieu, superficie) de divers départements ou régions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:demog.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Openlayers :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il s&#039;agit d&#039;une bibliothèque de fonctions JavaScript qui permet la mise en place d&#039;applications web cartographiques fluides. Il peut être utilisé avec beaucoup de fournisseurs de données tels que : OpenStreetMap, Google Maps ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Pourquoi l’utiliser ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
+ Personnalisable / Rapide&lt;br /&gt;
&lt;br /&gt;
+ Facile d’utilisation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici un exemple d&#039;utilisation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;div id=&amp;quot;map&amp;quot; class=&amp;quot;smallmap&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;button id=&amp;quot;locate&amp;quot;&amp;gt;Locate me!&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;track&amp;quot; id=&amp;quot;track&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label for=&amp;quot;track&amp;quot;&amp;gt;Track my position&amp;lt;/label&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Locateme.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Stockage et services de données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pachube :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Pachube est un Web Service d’échanges de données libres en temps-réel. En effet, il permet à une machine connectée à Internet, au travers d&#039;une API (Advanced Programming Interface), de fournir ses propres données (valeurs de capteurs, flux réseaux), mais également recevoir et utiliser celles de la communauté.&lt;br /&gt;
Ces données, également nommées &amp;quot;feeds&amp;quot;, sont transmises dans un format compatible (JSON, XML ou CSV). De plus, il existe par exemple de nombreux programmes Arduino compatibles et la documentation de l’API permet néanmoins à n’importe quel programmeur de créer un&lt;br /&gt;
programme sur la plateforme de son choix.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Pourquoi l&#039;utiliser ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
L’intérêt de Pachube est de pouvoir:&lt;br /&gt;
*Créer des applications qui rendent nos données utiles&lt;br /&gt;
*Permettre de collaborer et résoudre les problèmes&lt;br /&gt;
*Monitorer et comprendre le monde qui nous entoure&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Pourquoi l&#039;utiliser ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
La majorité des utilisateurs actuels sont:&lt;br /&gt;
*Les citoyens préoccupés par le niveau des radiations ou la baisse des températures&lt;br /&gt;
*Les consommateurs d’énergie pour gérer leurs coûts&lt;br /&gt;
*Les agriculteurs pour optimiser leurs récoltes en anticipant les changements climatiques&lt;br /&gt;
&lt;br /&gt;
Environ 100 pays utilisent Pachube pour un total de plusieurs millions échanges de données par jour comme illustrés sur l&#039;image ci-dessous&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:pachube.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Comment ça marche ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour utiliser Pachube, il faut commencer par créer un compte. Ensuite, à partir de l&#039;identifiant fourni par Pachube, il suffit de configurer l&#039;appareil afin de rendre accessibles ses données, qui seront échangées au travers de l&#039;API. Bien qu&#039;il existe une formule gratuite permettant d&#039;utiliser Pachube, une gamme de forfaits/options permettent d&#039;échanger entre 5 et 250 feeds, de disposer d’un archivage allant de 1 mois à&lt;br /&gt;
une durée indéterminée, et la possibilité ou non de créer des feeds privés.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PostGIS :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PostGIS est un plugin qui active la manipulation d&#039;informations de géométrie 2D (points, lignes, polygones) par le SGBD PostgreSQL. Il est reconnu grâce à sa conformité à l’OGC ( Open Geospatial Consortium ). Ce qui fait de lui un des plugins les plus utilisés. De plus, il s&#039;agit d&#039;un logiciel libre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Comment l’utiliser ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PostGIS est accessible grâce à des logiciels externes comme :&lt;br /&gt;
*GRASS GIS (GPL)&lt;br /&gt;
*OpenJUMP (GPL)&lt;br /&gt;
*Quantum GIS (GPL)&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou grâce à des librairies pour intégrer au sein des applications :&lt;br /&gt;
*PHP – MapServer (BSD) (+ génération SVG)&lt;br /&gt;
*Java – Geotools (LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Exemple d’utilisation&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Données en entrée sous forme de fonctions PostgreSQL :&lt;br /&gt;
&lt;br /&gt;
Ex : INSERT INTO buildings VALUES ( 4,&#039;E.D.F&#039;, GeometryFromText( &#039;POLYGON((63 90,82 90,82 117,63 113.15,63 90))&#039;, -1 ) );&lt;br /&gt;
&lt;br /&gt;
Données en sortie :&lt;br /&gt;
&lt;br /&gt;
[[File:Postgis.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;GPX/KML :&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;GPX&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;KML&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Pachube.png&amp;diff=4495</id>
		<title>File:Pachube.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Pachube.png&amp;diff=4495"/>
		<updated>2012-02-16T18:19:18Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Syst%C3%A8mes_d%27information_g%C3%A9ographique&amp;diff=4494</id>
		<title>Systèmes d&#039;information géographique</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Syst%C3%A8mes_d%27information_g%C3%A9ographique&amp;diff=4494"/>
		<updated>2012-02-16T15:37:03Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Qu&#039;est-ce que signifie &amp;quot;&#039;&#039;SIG&#039;&#039;&amp;quot; ? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ces trois lettres sont en fait l&#039;abréviation de &amp;quot;&#039;&#039;&#039;Système d&#039;Informations Géographiques&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Parmi les &#039;&#039;&#039;SIG&#039;&#039;&#039;, nous pouvons identifier des fournisseurs de données tels que &#039;&#039;&#039;OpenStreetMap&#039;&#039;&#039;, &#039;&#039;&#039;Géoportail&#039;&#039;&#039;, &#039;&#039;&#039;Google Maps&#039;&#039;&#039; ou encore &#039;&#039;&#039;Google Earth&#039;&#039;&#039;. De nombreuses applications peuvent se baser sur ces fournisseurs de données; &#039;&#039;&#039;Openscales&#039;&#039;&#039; et &#039;&#039;&#039;Openlayers&#039;&#039;&#039; en sont des exemples parfaits. Il existe également de nombreux systèmes de stockage et des services autour de ces données, comme &#039;&#039;&#039;Pachube&#039;&#039;&#039;, &#039;&#039;&#039;PostGIS&#039;&#039;&#039; ou encore &#039;&#039;&#039;GPX/KML&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Systèmes d&#039;Informations Géographiques :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Les buts des SIG sont d&#039;acquérir, d&#039;organiser, de gérer, de traiter, de représenter et de restituer des données géographiques. &lt;br /&gt;
&lt;br /&gt;
Ces systèmes présentent des informations dans une représentation plus ou moins réaliste d&#039;un environnement spatial, tous basés sur des primitives géographiques telles que les points, les vecteurs, les polygones... Mais il est également possible de retrouver des informations que l&#039;on dit &amp;quot;attributaires&amp;quot; : ce sont les routes, les forêts, les bâtiments... présents dans l&#039;environnement représenté. D&#039;autres informations dites &amp;quot;contextuelles&amp;quot; sont également présentes : il peut s&#039;agir du nombre d&#039;habitants, de la superficie... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de représentation d&#039;environnement : &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Openstreetmap.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cette image provient d&#039;OpenStreetMap. Nous pouvons voir les primitives géographiques comme des rectangles pour les bâtiments. Il y a également des informations attributives telles que la présence des parkings... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Les fournisseurs de données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;- OpenStreetMap :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
C&#039;est un projet qui a pour but de présenter des cartes du monde entier sous licence libre. Ce qui signifie que toute personne ayant besoin de sources de données d&#039;informations géographique pour une réutilisation personnelle ou commerciale peut s&#039;appuyer sur les données fournies par OpenStreetMap. &lt;br /&gt;
&lt;br /&gt;
Le projet fut lancé en juillet 2004 par Steve Coast au University College de Londres. OpenStreetMap repose sur un système de création et de modification des données par les utilisateurs. Pour ce faire, il suffit de se créer un compte gratuitement sur openstreetmap.fr [http://www.openstreetmap.fr/]. Il existe de nombreux tutoriels permettant aux nouveaux utilisateurs d&#039;apprendre comment rajouter des données manuellement ou grâce à leur GPS sur les cartes existantes mais souvent incomplètes et parfois même erronées.&lt;br /&gt;
&lt;br /&gt;
Un site tel qu&#039;OpenStreetMap fournit une aide précieuse. Par exemple, lorsqu&#039;il y a eu le tremblement de terre en Haïti, les cartes ont été mises à jours par des utilisateurs ayant eu la possibilité d&#039;être sur places. Ces nouvelles cartes indiquaient avec précision les emplacements des camps de réfugiés et ont été d&#039;une grande aide aux secouristes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Géoportail :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Google Maps :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Google Earth :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Réutilisation des données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Openscales :&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
OpenScales est un framework cartographique open-source, actuellement disponible en version 2.0, permettant notamment d&#039;utiliser les formats cartographiques usuels:&lt;br /&gt;
*&#039;&#039;&#039;WMS&#039;&#039;&#039; (Web Map Service): Permet de produire des cartes de données géoréférencées à partir de différents serveurs de données. Cela permet de mettre en place un réseau de serveurs cartographiques à partir desquels des clients peuvent construire des cartes interactives. Le WMS est décrit dans des spécifications maintenues par l&#039;Open Geospatial Consortium.&lt;br /&gt;
*&#039;&#039;&#039;WFS&#039;&#039;&#039; (Web Feature Service): Protocole décrit dans des spécifications maintenues par l&#039;Open Geospatial Consortium. Le service WFS permet, au moyen d&#039;une URL formatée, d&#039;interroger des serveurs cartographiques afin de manipuler des objets géographiques (lignes, points, polygones...).&lt;br /&gt;
&lt;br /&gt;
Il est écrit en Action Script 3, et dispose également d&#039;une couche de plus haut-niveau basée sur Flex pour l&#039;instanciation en Map XML.&lt;br /&gt;
Une couche de sécurité est prévue pour l’authentification à un service. Ce qui permet d’utiliser les données de l’IGN à travers l’API Géoportail.&lt;br /&gt;
OpenScales est multiplate-formes: En plus des ordinateurs, ce framework peut être utilisé sur mobile grâce à Adobe Air.&lt;br /&gt;
&lt;br /&gt;
OpenScales est développé à grande majorité par des français, dans la région lyonnaise, le tout étant chapeauté par la société Atos.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Exemples d&#039;utilisations&amp;lt;/span&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
D&#039;un point de vue de son utilisation actuelle, on peut par exemple observer que l&#039;Elysée l&#039;a utilisé pour référencer les différents déplacements du Président de la République dans l&#039;hexagone comme sur l&#039;image ci-dessous.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:president.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ensuite, l&#039;application Cyclomedia combine des données aériennes et panoramiques pour permettre à l&#039;utilisateur d’obtenir des informations sur la hauteur des bâtiments par exemple&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cyclomedia.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Enfin, OpenScales permet de superposer différentes couches, ou alors de diviser une carte en plusieurs zones, et de rattacher diverses informations à ces couches/zones. Sur l&#039;image suivante, on peut observer des données démographiques (population, chef-lieu, superficie) de divers départements ou régions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:demog.png|600px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Openlayers :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il s&#039;agit d&#039;une bibliothèque de fonctions JavaScript qui permet la mise en place d&#039;applications web cartographiques fluides. Il peut être utilisé avec beaucoup de fournisseurs de données tels que : OpenStreetMap, Google Maps ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Pourquoi l’utiliser ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
+ Personnalisable / Rapide&lt;br /&gt;
&lt;br /&gt;
+ Facile d’utilisation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici un exemple d&#039;utilisation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;div id=&amp;quot;map&amp;quot; class=&amp;quot;smallmap&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;button id=&amp;quot;locate&amp;quot;&amp;gt;Locate me!&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;track&amp;quot; id=&amp;quot;track&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label for=&amp;quot;track&amp;quot;&amp;gt;Track my position&amp;lt;/label&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Locateme.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Stockage et services de données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pachube :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PostGIS :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PostGIS est un plugin qui active la manipulation d&#039;informations de géométrie 2D (points, lignes, polygones) par le SGBD PostgreSQL. Il est reconnu grâce à sa conformité à l’OGC ( Open Geospatial Consortium ). Ce qui fait de lui un des plugins les plus utilisés. De plus, il s&#039;agit d&#039;un logiciel libre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Comment l’utiliser ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PostGIS est accessible grâce à des logiciels externes comme :&lt;br /&gt;
*GRASS GIS (GPL)&lt;br /&gt;
*OpenJUMP (GPL)&lt;br /&gt;
*Quantum GIS (GPL)&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou grâce à des librairies pour intégrer au sein des applications :&lt;br /&gt;
*PHP – MapServer (BSD) (+ génération SVG)&lt;br /&gt;
*Java – Geotools (LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Exemple d’utilisation&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Données en entrée sous forme de fonctions PostgreSQL :&lt;br /&gt;
&lt;br /&gt;
Ex : INSERT INTO buildings VALUES ( 4,&#039;E.D.F&#039;, GeometryFromText( &#039;POLYGON((63 90,82 90,82 117,63 113.15,63 90))&#039;, -1 ) );&lt;br /&gt;
&lt;br /&gt;
Données en sortie :&lt;br /&gt;
&lt;br /&gt;
[[File:Postgis.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;GPX/KML :&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;GPX&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;KML&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Demog.png&amp;diff=4493</id>
		<title>File:Demog.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Demog.png&amp;diff=4493"/>
		<updated>2012-02-16T15:31:34Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Cyclomedia.jpg&amp;diff=4492</id>
		<title>File:Cyclomedia.jpg</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Cyclomedia.jpg&amp;diff=4492"/>
		<updated>2012-02-16T15:30:10Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=Syst%C3%A8mes_d%27information_g%C3%A9ographique&amp;diff=4491</id>
		<title>Systèmes d&#039;information géographique</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=Syst%C3%A8mes_d%27information_g%C3%A9ographique&amp;diff=4491"/>
		<updated>2012-02-16T15:29:54Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Qu&#039;est-ce que signifie &amp;quot;&#039;&#039;SIG&#039;&#039;&amp;quot; ? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ces trois lettres sont en fait l&#039;abréviation de &amp;quot;&#039;&#039;&#039;Système d&#039;Informations Géographiques&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Parmi les &#039;&#039;&#039;SIG&#039;&#039;&#039;, nous pouvons identifier des fournisseurs de données tels que &#039;&#039;&#039;OpenStreetMap&#039;&#039;&#039;, &#039;&#039;&#039;Géoportail&#039;&#039;&#039;, &#039;&#039;&#039;Google Maps&#039;&#039;&#039; ou encore &#039;&#039;&#039;Google Earth&#039;&#039;&#039;. De nombreuses applications peuvent se baser sur ces fournisseurs de données; &#039;&#039;&#039;Openscales&#039;&#039;&#039; et &#039;&#039;&#039;Openlayers&#039;&#039;&#039; en sont des exemples parfaits. Il existe également de nombreux systèmes de stockage et des services autour de ces données, comme &#039;&#039;&#039;Pachube&#039;&#039;&#039;, &#039;&#039;&#039;PostGIS&#039;&#039;&#039; ou encore &#039;&#039;&#039;GPX/KML&#039;&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Systèmes d&#039;Informations Géographiques :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Les buts des SIG sont d&#039;acquérir, d&#039;organiser, de gérer, de traiter, de représenter et de restituer des données géographiques. &lt;br /&gt;
&lt;br /&gt;
Ces systèmes présentent des informations dans une représentation plus ou moins réaliste d&#039;un environnement spatial, tous basés sur des primitives géographiques telles que les points, les vecteurs, les polygones... Mais il est également possible de retrouver des informations que l&#039;on dit &amp;quot;attributaires&amp;quot; : ce sont les routes, les forêts, les bâtiments... présents dans l&#039;environnement représenté. D&#039;autres informations dites &amp;quot;contextuelles&amp;quot; sont également présentes : il peut s&#039;agir du nombre d&#039;habitants, de la superficie... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici un exemple de représentation d&#039;environnement : &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Openstreetmap.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cette image provient d&#039;OpenStreetMap. Nous pouvons voir les primitives géographiques comme des rectangles pour les bâtiments. Il y a également des informations attributives telles que la présence des parkings... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Les fournisseurs de données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;- OpenStreetMap :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
C&#039;est un projet qui a pour but de présenter des cartes du monde entier sous licence libre. Ce qui signifie que toute personne ayant besoin de sources de données d&#039;informations géographique pour une réutilisation personnelle ou commerciale peut s&#039;appuyer sur les données fournies par OpenStreetMap. &lt;br /&gt;
&lt;br /&gt;
Le projet fut lancé en juillet 2004 par Steve Coast au University College de Londres. OpenStreetMap repose sur un système de création et de modification des données par les utilisateurs. Pour ce faire, il suffit de se créer un compte gratuitement sur openstreetmap.fr [http://www.openstreetmap.fr/]. Il existe de nombreux tutoriels permettant aux nouveaux utilisateurs d&#039;apprendre comment rajouter des données manuellement ou grâce à leur GPS sur les cartes existantes mais souvent incomplètes et parfois même erronées.&lt;br /&gt;
&lt;br /&gt;
Un site tel qu&#039;OpenStreetMap fournit une aide précieuse. Par exemple, lorsqu&#039;il y a eu le tremblement de terre en Haïti, les cartes ont été mises à jours par des utilisateurs ayant eu la possibilité d&#039;être sur places. Ces nouvelles cartes indiquaient avec précision les emplacements des camps de réfugiés et ont été d&#039;une grande aide aux secouristes. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Géoportail :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Google Maps :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Google Earth :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Réutilisation des données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Openscales :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
OpenScales est un framework cartographique open-source, actuellement disponible en version 2.0, permettant notamment d&#039;utiliser les formats cartographiques usuels:&lt;br /&gt;
*&#039;&#039;&#039;WMS&#039;&#039;&#039; (Web Map Service): Permet de produire des cartes de données géoréférencées à partir de différents serveurs de données. Cela permet de mettre en place un réseau de serveurs cartographiques à partir desquels des clients peuvent construire des cartes interactives. Le WMS est décrit dans des spécifications maintenues par l&#039;Open Geospatial Consortium.&lt;br /&gt;
*&#039;&#039;&#039;WFS&#039;&#039;&#039; (Web Feature Service): Protocole décrit dans des spécifications maintenues par l&#039;Open Geospatial Consortium. Le service WFS permet, au moyen d&#039;une URL formatée, d&#039;interroger des serveurs cartographiques afin de manipuler des objets géographiques (lignes, points, polygones...).&lt;br /&gt;
&lt;br /&gt;
Il est écrit en Action Script 3, et dispose également d&#039;une couche de plus haut-niveau basée sur Flex pour l&#039;instanciation en Map XML.&lt;br /&gt;
Une couche de sécurité est prévue pour l’authentification à un service. Ce qui permet d’utiliser les données de l’IGN à travers l’API Géoportail.&lt;br /&gt;
OpenScales est multiplate-formes: En plus des ordinateurs, ce framework peut être utilisé sur mobile grâce à Adobe Air.&lt;br /&gt;
&lt;br /&gt;
OpenScales est développé à grande majorité par des français, dans la région lyonnaise, le tout étant chapeauté par la société Atos.&lt;br /&gt;
&lt;br /&gt;
D&#039;un point de vue de son utilisation actuelle, on peut par exemple observer que l&#039;Elysée l&#039;a utilisé pour référencer les différents déplacements du Président de la République dans l&#039;hexagone comme sur l&#039;image ci-dessous.&lt;br /&gt;
&lt;br /&gt;
[[File:president.png]]&lt;br /&gt;
&lt;br /&gt;
Ensuite, l&#039;application Cyclomedia combine des données aériennes et panoramiques pour permettre à l&#039;utilisateur d’obtenir des informations sur la hauteur des bâtiments par exemple&lt;br /&gt;
&lt;br /&gt;
[[File:cyclomedia.jpg]]&lt;br /&gt;
&lt;br /&gt;
Enfin, OpenScales permet de superposer différentes couches, ou alors de diviser une carte en plusieurs zones, et de rattacher diverses informations à ces couches/zones. Sur l&#039;image suivante, on peut observer des données démographiques (population, chef-lieu, superficie) de divers départements ou régions.&lt;br /&gt;
&lt;br /&gt;
[[File:demog.png]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Openlayers :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il s&#039;agit d&#039;une bibliothèque de fonctions JavaScript qui permet la mise en place d&#039;applications web cartographiques fluides. Il peut être utilisé avec beaucoup de fournisseurs de données tels que : OpenStreetMap, Google Maps ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Pourquoi l’utiliser ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
+ Personnalisable / Rapide&lt;br /&gt;
&lt;br /&gt;
+ Facile d’utilisation&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Voici un exemple d&#039;utilisation : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;div id=&amp;quot;map&amp;quot; class=&amp;quot;smallmap&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;button id=&amp;quot;locate&amp;quot;&amp;gt;Locate me!&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;input type=&amp;quot;checkbox&amp;quot; name=&amp;quot;track&amp;quot; id=&amp;quot;track&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;label for=&amp;quot;track&amp;quot;&amp;gt;Track my position&amp;lt;/label&amp;gt;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:Locateme.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Stockage et services de données :&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pachube :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;PostGIS :&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Qu’est ce que c’est ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PostGIS est un plugin qui active la manipulation d&#039;informations de géométrie 2D (points, lignes, polygones) par le SGBD PostgreSQL. Il est reconnu grâce à sa conformité à l’OGC ( Open Geospatial Consortium ). Ce qui fait de lui un des plugins les plus utilisés. De plus, il s&#039;agit d&#039;un logiciel libre.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Comment l’utiliser ?&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PostGIS est accessible grâce à des logiciels externes comme :&lt;br /&gt;
*GRASS GIS (GPL)&lt;br /&gt;
*OpenJUMP (GPL)&lt;br /&gt;
*Quantum GIS (GPL)&lt;br /&gt;
*...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ou grâce à des librairies pour intégrer au sein des applications :&lt;br /&gt;
*PHP – MapServer (BSD) (+ génération SVG)&lt;br /&gt;
*Java – Geotools (LGPL)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;Exemple d’utilisation&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Données en entrée sous forme de fonctions PostgreSQL :&lt;br /&gt;
&lt;br /&gt;
Ex : INSERT INTO buildings VALUES ( 4,&#039;E.D.F&#039;, GeometryFromText( &#039;POLYGON((63 90,82 90,82 117,63 113.15,63 90))&#039;, -1 ) );&lt;br /&gt;
&lt;br /&gt;
Données en sortie :&lt;br /&gt;
&lt;br /&gt;
[[File:Postgis.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;GPX/KML :&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;GPX&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;text-decoration: underline;&amp;quot;&amp;gt;KML&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:President.png&amp;diff=4490</id>
		<title>File:President.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:President.png&amp;diff=4490"/>
		<updated>2012-02-16T15:29:39Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=File:Predisent.png&amp;diff=4489</id>
		<title>File:Predisent.png</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=File:Predisent.png&amp;diff=4489"/>
		<updated>2012-02-16T15:28:17Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
	<entry>
		<id>https://air.imag.fr/index.php?title=ISofa&amp;diff=3156</id>
		<title>ISofa</title>
		<link rel="alternate" type="text/html" href="https://air.imag.fr/index.php?title=ISofa&amp;diff=3156"/>
		<updated>2011-10-08T08:37:54Z</updated>

		<summary type="html">&lt;p&gt;Garciafl: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* UE/Module: Projet innovant de RICM4 option CM&lt;br /&gt;
* Enseignant: Didier Donsez&lt;br /&gt;
* Élèves: Thibaud MICHEL (thibaud.michel@gmail.com), Flavien GARCIA (flaviengarciafg@gmail.com)&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
Le iSofa est un canapé interactif.&lt;br /&gt;
# Il est instrumenté par des capteurs de poids pour monitorer l&#039;activité des personnes installées dedans&lt;br /&gt;
# Il est équipé de &amp;quot;push buttons&amp;quot; (&amp;quot;big dome&amp;quot;) et de simples boutons poussoirs&lt;br /&gt;
&lt;br /&gt;
Ces informations peuvent être injectées dans une application distante grâce à la technologie RMI.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:isofa1.jpg|i-Sofa&lt;br /&gt;
Image:isofa2.jpg|i-Sofa&lt;br /&gt;
Image:isofa-components.png|Components&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Objectifs==&lt;br /&gt;
Les objectifs du projet sont d&#039;utiliser le canapé&lt;br /&gt;
# pour rendre le téléspectateur acteur dans un programme (jeux TV, vote en ligne, ...)&lt;br /&gt;
# pour monitorer son état (assoupissement, excitation, rires, ...) dans un but d&#039;un calcul d&#039;audimat quantitative&lt;br /&gt;
&lt;br /&gt;
==Equipement==&lt;br /&gt;
Canapé *1&lt;br /&gt;
&lt;br /&gt;
Télévision Philips 40 pouces *1&lt;br /&gt;
&lt;br /&gt;
Boards&lt;br /&gt;
* Arduino Mega *1&lt;br /&gt;
&lt;br /&gt;
Sensors&lt;br /&gt;
* [http://www.sparkfun.com/products/9376 Force Sensitive Resistor - Square] *4&lt;br /&gt;
* [http://www.sparkfun.com/products/9181 Big Dome Push Button] ([http://tenettech.com/comet/?page_id=101 with Arduino]) *2&lt;br /&gt;
* Basic sensors *4&lt;br /&gt;
&lt;br /&gt;
==Fonctionnalités==&lt;br /&gt;
&lt;br /&gt;
* Reconnaissance de(s) utilisateur(s) (Méthode : 1 capteur de pressions sous chaque pieds (x4), Etalonnage du canapé à vide, Analyse des données des 4 capteurs)&lt;br /&gt;
* Vidéo à la demande (Quittez le canapé et le film se mettra en pause, Avance rapide)&lt;br /&gt;
* Jouez entre amis ! (CrazyPush, PlayerReactor)&lt;br /&gt;
* Récupérer les changements d’états des capteurs grâce à RMI&lt;br /&gt;
&lt;br /&gt;
Photos :&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:exemple_menu.png|Menu&lt;br /&gt;
Image:exemple_jeux.JPG|PlayerReactor&lt;br /&gt;
Image:boutons.jpg|Boutons&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vidéo : http://www.youtube.com/watch?v=wX_4P68XBqs&lt;/div&gt;</summary>
		<author><name>Garciafl</name></author>
	</entry>
</feed>