suivant: Structures d'apprentissage & Réseaux
monter: SOUTENANCE FINALE MARVIN (Modest-encoding
précédent: Table des matières
  Table des matières
Sous-sections
Cette année dans le cadre de notre projet, nous avons développer une application tant originale par sa conception que par son utilisation. Celle-ci, une fois terminée, présentera une grande nécessité notamment pour la protection des fichiers personnels.
L'intérêt de notre projet réside dans l'association de trois notions particulièrement intéressantes : le traitement du signal, les réseaux neuronaux et la cryptographie.
Ainsi, chaque membre de notre groupe de projet devra, après un gros travail de recherche, se spécialiser dans chacun de ces domaines. Allié à l'apprentissage du C, ces expérimentations nous permettrons donc de créer un logiciel de cryptographie original que nous allons vous décrire par ci-après...
Ce projet est né d'une longue discussion au début de l'année entre Matthieu et Paul portant, notamment, sur les réseaux neuronaux. Suite à celle-ci, nous est venue l'idée de trouver un sujet qui nous permettrait de développer ces techniques qui nous semblaient passionnantes. Nous avons donc pensé à un projet reposant sur la reconnaissance et la vérification vocale qui nous permettrait d'utiliser les propriétés d'apprentissage des réseaux neuronaux. Cependant nous ne trouvions pas en celui-ci la réponse à la question "et à quoi ça sert ?".
C'est de là qu'est né MARVIN (Modest-encoding AlgoRithm with Vocal IdentificatioN), un logiciel de cryptographie à identification vocale. Plus précisément nous pourrions décrire notre logiciel par quatre phases :
- Création des empreintes vocales des utilisateurs potentiels et d'un réseau neuronal associé (ceui-ci sert à 'reconnaitre' l'empreinte).
- Vérification du locuteur.
- Cryptage (une partie de la clé étant générée par la voix, l'autre étant entrée par l'utilisateur).
- Décryptage dans le cas où l'utilisateur est identifié.
L'aspect novateur et la grande étendue des domaines que nous devrons aborder (aussi bien le cryptage que le traitement du signal) nous ont rapidement séduit ainsi que Sébastien et Anicet qui nous ont rejoint.
Le projet peut se découper en trois grandes parties (toutes les parties présentées ici seront développées par la suite) :
- Traitement du signal et extraction des paramètres : Cette partie consiste en l'acquisition du son et de son traitement afin d'en extraire les paramètres qui servirons ensuite à reconnaître un signal de parole.
- Apprentissage des paramètres : Les paramètres étant nombreux et assez variables, nous avons besoin d'une structure d'apprentissage qui se caractérise par son aspect évolutif, celle qui correspond probablement le mieux à ces contraintes serait celle des réseaux neuronaux. En effet ceux-ci sont très utilisés pour le traitement du signal tant pour le filtrage que pour la compression. Dans ce domaine nous pensons utiliser un perceptron multi-couches ou une version dérivée de celui-ci le TDNN (Time Delay Neural Network) qui permet une prise en compte du temps.
- Cryptage / Décryptage : Nous utiliserons pour celui-ci l'algorithme IDEA, caractérisé par sa rapidité et sa sécurité satisfaisante.
Nous pouvons de plus distinguer plusieurs sous parties :
- Acquisition du signal.
- Pré-traitement du signal afin d'enlever les parties non intéressantes.
- Traitement par MFCC (extraction des paramètres).
- Apprentissage des paramètres : conception d'un réseau neuronal qui identifiera le locuteur et dont la sortie tendra vers la première partie de la clef.
- L'interface.
- Site Web.
MARVIN nous permet de développer un système de cryptographie qui présente un caractère novateur dans la mesure où l'identification se situe à deux niveaux :
- Une identification que l'on pourrait qualifier de "classique" avec la saisie d'une partie de la clef.
- Une identification biométrique qui prend en compte les caractères de la voix.
Dans le cadre de ce projet nous serons amenés à aborder un grand nombre de notions aussi indépendantes qu'intéressantes, celles-ci présentant un avant goût de ce que nous étudierons dans les années futures.
De plus l'apprentissage du C associé à l'environnement UNIX constitue une autre facette attrayante de MARVIN.
Pour finir, il est important de souligner avant tout qu'un projet est un travail de groupe ce qui implique donc un effort aussi bien collectif qu'individuel. Les mésaventures que d'aucun d'entre nous n'ignore dans leurs réalisations précédentes ont formé notre esprit de groupe.
Fokou Anicet
Date de naissance : 17/05/1982
Projet isup : Crave for driving
E-mail : fokou_a@epita.fr
Henaff Sébastien
Date de naissance : 22/05/1982
Projet isup : Golconda's Legend
E-mail : henaff_s@epita.fr
Lagacherie Matthieu
Date de naissance : 11/11/1982
Projet isup : Golconda's Legend
E-mail : lagach_m@epita.fr
Rouget Paul
Date de naissance : 18/10/1982
Projet isup : EpiGotchi
E-mail : rouget_p@epita.fr
Répartition des tâches :
- Fokou Anicet : Acquisition, Analyse du signal, Module de traitement, Site internet.
- Henaff Sébastien : Cryptographie, réseaux de neurones, Module d'identification, Interface X.
- Lagacherie Matthieu : Réseaux neuronaux, Tests et recherches avec MatLab, Post-Traitement, Module d'identification, Liaison des modules, site internet.
- Rouget Paul : Acquisition, Analyse du signal, Module de traitement.
Dans cette partie, nous allons détailler en précision comment fonctionnera le logiciel.
Imaginons que Toto est l'utilisateur du logiciel et qu'il veut crypter un texte. Dans un premier temps, il est nécessaire que MARVIN apprenne à reconnaître la voix de Toto. Pour cela, Toto prononce un mot prédéfini pour que MARVIN fasse une acquisition en wave.
Une fois ce signal enregistré, il est analysé par l'extracteur de paramètres (MFCC) pour obtenir l'empreinte vocale de Toto.
A ce niveau, MARVIN va pouvoir apprendre la voix en utilisant le réseau neuronal. C'est ce que l'on nomme l'apprentissage et qui consiste à faire tendre le réseaux de neurones vers une sortie prédéfinie (dans notre cas, si l'empreinte de toto est reconnue, le réseau neuronal tendra vers une partie de la clef). Évidemment ce processus d'apprentissage n'a lieu qu'une seule fois.
Maintenant, entre en considération le système de cryptage. Puisque le logiciel est avant tout un système de sécurité, nous avons préféré utiliser deux protections, la première étant la voix qui générera la premiére partie de la clef, la seconde consistant en un mot de passe classique. La concaténation des deux clefs constituera la clef finale pour crypter le texte avec IDEA.
Ainsi pour décrypter le message ainsi codé, il faut que Toto fournisse à la fois le mot de passe qui l'aura choisi et son empreinte vocale. Naturellement, l'empreinte vocale de Toto n'est stocké que pendant un court moment lors de l'analyse du signal. Seul le réseau neuronal de MARVIN est enregistré et conservé et ne constitue à priori pas un point faible car un réseaux de neurones n'étant pas bijectif, il est impossible de retrouver les points caractéristiques de l'empreinte vocale de Toto et par la même occasion sa voix. De ce fait, même si une tierce personne parvenait à découvrir comment le mot de passe est généré, il n'aurait ni l'empreinte vocale de Toto ni son mot de passe.
suivant: Structures d'apprentissage & Réseaux
monter: SOUTENANCE FINALE MARVIN (Modest-encoding
précédent: Table des matières
  Table des matières
root
2002-06-18