 | Master d'Informatique M2-RADI Projets 2004-2005 |  |
|
SommaireSujets
libre
1. L'Analyse en Composantes Morphologiques.
L'Analyse en Composantes Morphologiques est une nouvelle
méthode pour la séparation des composantes sémantiques dans les
signaux et les images. Typiquement, on peut chercher à décomposer une
image en deux composantes : texturée et régulière (voir figure
ci-dessous). La composante texturée a été obtenue en mettant une
transformée en cosinus locaux (LDCT) et la composante régulière em
mettant une transformée de Curvelets. De nombreuses applications
peuvent tirer profit d'une telle approche notamment en astronomie, en
milieu médical ou encore en post-édition.
La MCA requiert cependant une certaine invariance par rapport à
des groupes de transformation notamment affine. Pour ce faire, les
transformées utilisées doivent au moins être invariantes par
translation.
Le présent sujet se propose d'étendre une toolbox existante en
assurant que la DCT locale puisse jouir d'une telle propriété
(invariance par translation). De nombreuses applications pour valider
les résultats seront testées.
Outils
- Matlab et les toolbox WaveLab802 et MCA802.
- Protage en C dans la bibliothèque Pandore.
2. Mise en place de la mobilité IPV6 à l'Université de Caen.
IPV6 est une nouvelle version du protocole IP disponible depuis
quelques années. De nombreuses fonctionnalités ont été intégrées au
protocole pour faciliter la gestion d'un réseau. Si certainesde ces
fonctionnalités ne sont qu'une intégration au sein du protocole IPV6
de celles disponibles pour IPV4, il en est une qui est réellement
novatrice : la mobilité. Le but de se stage sera d'installer la
mobilité au sein l'Université de Caen en prenant deux sites pilotes,
le GREYC et le CIT, la solution pouvant être étendue à d'autres sites
dont notamment le campus III d'Ifs.
- Comprendre l'architecture IPV6 existante à l'Université.
- Etudier les mécanismes de mobilité IPV6.
- Mettre en place la mobilité entre le site du CIT et le GREYC.
- Sélectionner certains applicatifs et identifer les changements apportées sur ces applicatifs par la mobilité.
Connaissances requises
Administration réseau, une première expérience sur IPV6 serait un plus.
3. IPV6 et e-maintenance.
IPV6 est une nouvelle version du protocole IP disponible depuis
quelques années. L'une de ces particularités est de fournir un nombre
d'adresses conséquent. L'augmentation croissante de l'informatique
embarquée tant à multiplier les périphériques directement accessibles
par le réseau et par la même occasion les adresses IP. De fait, pour
un industriel voulant effectuer des opérations de maintenance à
distance sur les matériels qu'il vend, le nombres d'adresses IP
privées fourni par IPV4 peut vite être insuffisant. Le Projet Paudac
avec lequel le CERTIC est en collaboration a cette problématique. Le
but du stage sera de :
- Mettre en place la plateforme de validation définie avec l'entreprise basée sur IPV6.
- Simuler un certain nombre de clients connecté à Internet via IPV4 ou IPV6.
- Mettre en place les mécanismes de configuration des réseaux pour que l'administration des postes distants puisse être effectuée à partir d'un poste central.
- Valider ou invalider le choix de zabbix comme outil d'e-maintenance pour des actifs utilisant IPV6.
Connaissances requises
Administration réseau, administration système, une première expérience sur IPV6 serait un plus.
4. Détection des courriers indésirables dans un flux de messagerie.
Dans le cadre d'un partenariat avec la Société ProxyConcept qui propose des solutions intégrées de
filtrage de flux de messagerie, le CERTIC réfléchit au problème majeur
qui touche la messagerie à savoir le Spam. Spammassasin est l'outil
utilisé principalement pour des raisons d'extensions de
fonctionnalités aisées. Actuellement dans sa version 2.64, il est
testé avec un corpus d'apprentissage important de 50 000 mails. La
version 3.0 venant de sortir, il est nécessaire de tester l'outil pour
évaluer son efficacité tant d'un point de vue qualitatif (détecte-t-il
toujours les spams ?) que d'un point de vue efficacité (quelles sont
les ressources utilisées ?). Le but du stage sera de :
- Valider la plateforme de test en cours d'élaboration.
- Vérifier que la nouvelle version reste efficace sur un corpus déjà identifié et classé (50 000 spams).
- Tester les nouveaux types de spam pour voir comme réagit Spamassassin.
- Intégrer les nouveaux développements dans la nouvelle architecture proposée par Spamassasin 3.0
Connaissances requises
Perl, shell, administration système.
5. Métrologie d'architecture de traitement de flux de messagerie.
Dans le cadre d'un partenariat avec la Société ProxyConcept qui propose des
solutions intégrées de filtrage de flux de messagerie, le CERTIC
réfléchit au problème majeur qui touche la messagerie à savoir le
Spam. Spammassasin est l'outil utilisé pour traiter le Spam dans la
plateforme développée par la société. Il est validé par un important
corpus de spam de plus de 50 000 spams. La principale difficulté à
laquelle se confronte actuellement la société est de quantifier les
besoins matériels nécessaires pour valider sa plateforme de traitement
de flux. Le but du stage sera de :
- Mettre en place la plateforme de test déjà validée conjointement avec l'entreprise.
- Effectuer les tests de mise en charge pour identifier précisémment le temps nécessaire pour traiter un message.
- Déterminer une fonction de montée en charge permettant de calculer avec précision la puissance de traitement nécessaire pour traiter un flux de messagerie.
Connaissances requises
Perl, shell, administration système.
libre
6. Watermarking d'images bitmap. Une image numérique est un document difficile à
controller. En effet on peut facilement copier une image, ce qui pose
des problèmes de droit d'auteur. De plus, une image peut subir des
opérations de filtrage, de compression ou elle peut être aisément
retouchée sans que cela ne se voit. Le watermarking, (domaine trés
récent --milieu des années 90-- ) tatouage en Français, a pour objectif
d'insérer une information invisible dans une image. Pour ce
faire la signature doit être indélébile, de plus elle ne doit pas
surcharger l'image, donc elle doit être invisible. Le tatouage doit
être robuste à la compression, ainsi qu'à toutes les transformations
géométriques d'une image digitale. L'objectif de ce projet sera de :
- Faire une synthèse des différentes techniques existantes en insistant sur le tatouage des graphes.
- Un ou plusieurs algorithmes de watermarking devront être implémentés.
7. Mise en place d'outils d'évaluation.
Cadre applicatif
Ce projet s'inscrit dans le cadre d'une collaboration entre des
informaticiens du laboratoire GREYC de Caen et des linguistes de
l'Université de Toulouse. Une plate-forme d'ingénierie linguistique,
LinguaStream, permet actuellement de préciser quelles analyses mener,
sur quelles ressources textuelles, et d'obtenir des sorties annotées
au format XML.
Les linguistes aimeraient utiliser cette plate-forme pour tester
certaines de leurs hypothèses.
Objectifs
Le projet vise donc le développement d'une interface facilitant le
travail des linguistes. Elle devra permettre une visualisation
efficace et adaptatée des résultats d'analyses sur un document ou une
collection de documents, ainsi que leur évaluation interactive.
Détails
Les experts linguistes peuvent être amenés à utiliser cette interface
pour valider localement, ou point par point, des résultats
d'analyse. L'interface proposée devra faciliter la prise en
considération de ces jugements.
Les outils proposés devront aussi permettre des évaluations
automatiques de type comparatives, confrontant de nouveaux résultats
avec ceux issus d'analyses précédentes, ainsi que des évaluations
plus locales, en regard de l'avis de l'expert sur une partie des
résultats.
Sur la plan technique, l'ensemble des outils doivent s'intégrer à la
plate-forme LinguaStream, réalisée en Java, développée au sein de
l'équipe Données, Document et Langues par F. Bilhaut et
A. Widlöcher.
Voir le site
http://users.info.unicaen.fr/~fbilhaut/linguastream.html pour
plus de détails.
libre
8. Simulation et visualisation des
galaxies. Il s'agit d'un travail fort numérique
dont le but est de simuler un amas de points qui subissent
l'attraction gravitationnelle, et qui effectuent une rotation autour
du centre (ce qui doit aplatir la configuration, créer un disque). On
ne va pas résoudre des millions d'équations de Newton, mais appliquer
plusieurs simplifications (champ moyen, fluctuations statistiques
imposées par un "bruit" artificiel, etc.), donc rien à craindre, les
calculs ne seront pas très difficiles. Les points : "étoiles" seront
ensuite visualisées en OpenGL. On essaira de créer des galaxies de
plusieurs types, et - si le temps le permet - essayer de simuler la
collision entre galaxies. Des travaux de ce genre existent, on peut
les trouver sur l'Internet. Le projet reste néanmoins exploratoire, et
la création de galaxies vraiment jolies et réalistes n'est pas
assurée, vu les limites matérielles et temporelles du projet. Ce n'est
pas grave, les galaxies réelles ne sont toujours pas très jolies non
plus...
L'étudiant doit connaître/apprendre l'essentiel de
l'OpenGL. Langage du calcul - à préciser. Ce qui compte ce n'est pas
la vitesse, mais facilité de programmation et de bons moyens
d'interfaçage. Pour l'instant je propose Python, mais on peut
envisager Java ou C++ si l'étudiant les maîtrise bien.
libre
9. Modèles d'instruments musicaux en Matlab/Simulink.
Une des techniques de synthèse sonore, qui évolue rapidement, est basée sur les
modèles "physiques", où l'on implémente des "guides-onde" - buffers (linéaires, circu-
laires, etc.) pilotés par des algorithmes itératifs/récursifs, qui modélisent la propaga-
tion des sons dans les cordes vibrantes, ou dans les colonnes d'air dans les instru-
ments à vent.
La théorie (simplifiée) est très simple et lisible, et un programme de quelques lignes
peut simuler le son d'une (mauvaise...) guitare (par exemple).
On représente souvent ces algorithmes sous forme de "circuits" graphiques, avec des
lignes de retardement et des nombreux filtres digitaux, qui "nettoient" les sons, qui
ajoutent des effets spéciaux (echo, reverbération, etc.)
Le projet consistera à modéliser un petit nombre d'instruments en Matlab, en exploitant
le sous-système graphique Simulink pour faire ces circuits. On construira également une
interface permettant de jouer interactivement quelques notes musicales par l'utilisateur.
libre
10. Traitement d'image: analyse de cartes géographiques.
La carte est une composante essentielle d'un atlas géographique. Dans
le cadre de travaux portant sur l'analyse sémantique des documents
géographiques, on souhaite pouvoir exploiter les informations
exprimées dans les cartes. À cette fin, un modèle de contenu pour la
carte a été développé. Ce modèle décrit la carte selon différents
aspects qui rende compte de sa forme physique, de son aspect graphique
et de son contenu sémiologique.
Les cartes sont disponibles sous différents formats selon deux
catégories: vectorielles et rasters (image bitmap). On s'intéresse ici
aux images bitmap. L'objectif de ce projet est de mettre en place un
outil permettant d'exprimer des cartes données sous forme raster dans
le formalisme XML découlant du modèle de contenu développé.
L'outil demandé est un ensemble d'opérateurs et de chaînes de
traitement s'appliquant sur un certains nombre de cartes dont la forme
est homogène. Cet outil devra être bien documenté, facilement
configurable et extensible afin de pouvoir prendre en compte d'autres
types de carte. Il doit aussi pouvoir s'intégrer à une plate-forme
d'analyse de document géographique en développement. Les modalités
d'interfaçage seront à définir.
Mots clés
11. Implémentation de méthodes d'apprentissage supervisées : les SVM
L'apprentissage consiste à estimer (apprendre) une fonction f(x) à
partir d'exemples (expérience). Une des méthodes d'apprentissage
connues utilise les réseaux neuronaux artificiels (RN). Un neurone est
un automate à seuil avec des entrées, une fonction de sommation, une
fonction de transfert (ou activation) et une sortie. Les connexions
entre les neurones sont représentées par des poids.L'algorithme
d'apprentissage le plus efficace est la méthode de rétropropagation du
gradient. Il s'agit de présenter une vecteur X à l'entrée du réseau,
de comparer la sortie calculée avec la sortie désirée et de corriger
les poids en fonction de l'erreur. L'opération est répétée pour une
ensemble d'apprentissage. Lorsque f est une fonction de décision, on
parle de classification ; la couche de sortie du RN est alors composée
neurones représentant chacun une classe.
Les RN avec la méthode de rétropropagation ne sont pas adaptés pour
traiter des données de très haute dimension telles que les textes et
les images. De plus, de nombreux paramètres sont à fixer par
l'utilisateur.
Pour répondre à ces problèmes, Une nouvelle méthode de
classification est apparue en 1995 : les séparateurs à vaste marge
(SVM). Pour les problèmes non classifiables, au lieu de chercher un
hyperplan dans l'espace des entrées, on passe d'abord dans un espace
de représentation intermédiaire de plus grande dimension. De plus, des
fonctions à "noyau" (connues) permettent de calculer la similarité des
exemples. L'algorithme d'apprentissage à implémenter revient à un
problème d'optimisation quadratique.
Objectifs du projet :
Le projet consistera à étudier différentes méthodes SVM puis à
les implémenter (algorithmes fournis). Enfin, des tests de
performances seront réalisés pour une comparaison.
Applications : Les méthodes seront appliquées à la reconnaissance de visages et de caractères manuscrits.
Langages :
12. Retouches d'images numériques: implémentation d'un algorithme simple et applications.
Les techniques de retouches d'images trouvent des applications dans de nombreux domaines de l'imagerie numérique :
- Restauration d'images ou de videos (anciennes), interpolations ou zooms numériques en image ou video.
- Reconstruction des infomations manquantes dans des images comme c'est le cas après transmissions d'images par certaines techniques.
- Suppression de certaines zones de l'image ou de la vidéo sans changer l'apparence globale de l'image.
Le but de ce projet et d'étudier une méthode de retouche simple et de l'appliquer ensuite aux retouches d'images.
13. Segmentation et reconnaissance
d'objets cellulaires en imagerie microscopique médicale Il s'agit d'une application classique de traitement
d'image en imagerie microscopique. Le but est d'utiliser ou
eventuellement de programmer certains opérateurs de traitement d'images
pour extraire, caractériser et puis classer des objets issus d'images
microscopiques. Les données images proviennent de l'hôpital Pasteur de
Cherbourg. Le choix des bases de données images reste à faire en
fonction de l'intérêt de l'étudiant pour une application
particulière.
14. Simulation pédagogique de mécanismes fonctionnant sous IPv6.
Motivation
La mobilité est un des atouts d'IPv6, dans la mesure où elle est
intégrée au protocole et permet ainsi un dialogue direct entre le
mobile et ses correspondants, au lieu de tout tunneler vers
l'agent-mère.
Des présentations des avantages de Mobile IPv6 sous diverses formes
(transparents Powerpoint ou autre) existent et sont disponibles sur le
Web, mais restent souvent très "grand public", car n'expliquant pas
les détails du mécanisme (utilisation des en-têtes suppléméntaires
d'ipv6). L'idée est donc de réaliser une présentation très complète
avec tous les cas de figure d'utilisation, et la possibilité de
détailler plus ou moins le déroulement des scénarios.
Travail proposé Il s'agit de réaliser une
présentation interactive de Mobile IPv6, permettant à l'utilisateur
(la cible étant les enseignants ou étudiants des formations présentant
le sujet) :
- Le paramètrage de la configuration utilisée (mobile, agent-mère, réseau d'accueil, correspondants).
- Le déroulement des scénarios possibles (déplacement du mobile, mais aussi déplacement du correspondant, lui-même mobile).
- De choisir son niveau de détail de la suite des échanges,
ainsi que l'enchaînement automatique ou non de ces échanges. Ici, il
faut travailler sur l'ergonomie. On pourra par exemple permettre de
voir les détails des "objets" concernés au moyen de déroulement de
fenêtres, ...
Contraintes
La possibilité d'utiliser une interface Web est fortement souhaitable (éventuellement, une applet Java pourra être envisagée).
En cas de 2 candidatures pour ce projet, il pourra être envisagé une autre simulation, dans un autre domaine des réseaux.
15. Étude de nouvelles fonctionalités liées au déploiement d'IPv6
Motivation
En IPv6, il est assez naturel qu'une machine puisse posséder
plusieurs adresses, même sur une seule interface, ne serait-ce que
l'adresse "lien-local" et une ou plusieurs adresses globales,
correspondant à des fournisseurs d'accès différents. Les applications
clientes actuelles ne sont absolument pas prévues pour gérer ceci.
L'idée est donc de simuler ce qui pourrait être une application
(ou plusieurs applications) permettant à l'utilisateur de choisir son
accès, donc sa route, en fonction des applications, des destinations,
voire des heures de connexion.
Travail proposé
On utilisera la version IPv6 d'iptables pour rediriger les
connexions en fonction des divers paramètres. Iptables jouera donc le
rôle d'un routeur. On concevra un protocole de dialogue entre une
application utilisateur (à écrire ou à trouver) et iptables afin de
pouvoir paramètrer les différentes règles facilement, comme si ce
paramétrage était accessible dans un menu des applications
concernées.
Contraintes
Il est probable (à mettre au point éventuellement) que les
applications et iptables seront sur des machines distinctes. On ne se
préoccupera pas ici des problèmes de sécurité dans la liaison entre
ces deux machines.
16. Tatouage de données géographiques.
Contexte du projet
Garantir la protection de l'information de la propriété intellectuelle
ou industrielle d'un document électronique est un enjeu important pour
le développement d'une économie de l'information. La tatouage
(watermarking) est une technique participant à cette protection, en
permettant l'insertion robuste et discrète d'information dans un
document, comme par exemple son identité. De nombreuses techniques
existent déjà pour des données multimédia comme le son, l'image ou la
vidéo, mais cette étude peut s'étendre à beaucoup d'autres types de
données, en particulier des données fortement structurées et
contraintes. Plusieurs laboratoires français se sont associés sur un
projet de sécurité informatique portant sur les bases de données
géographiques ). Dans ce cadre
on s'intéresse aussi bien au tatouage sur des données brutes ou sur
des données résultant d'un service ou traitement particulier ; on
parlera alors de tatouage de service dans ce dernier cas.
Objectifs
A Caen, le groupe de recherche en informatique documentaire InfoDoc a
permis de nombreuses collaborations entre informaticiens et
géographes. Nous proposons d'effectuer des études préparatoires au
tatouage sur certaines de ces réalisations.
Il s'agit d'altérer les données par des méthodes simples et d'observer
comment varie la qualité des données. Il faut tenir compte aussi bien
de l'auteur des données qui souhaite voir préservées certaines
propriétés sur ces données que de l'utilisateur qui ne doit pas voir
de modifications pour l'utilisation qu'il va en faire.
Le principal apport du projet va être l'identification des tatouages
admissibles pour des classes de données et de services en fonction de
leur utilisation future. Une deuxième étape sera l'étude de la
résistance de ces tatouages.
17. Vision en Robotique : détection d'objets par la caméra d'un robot et ses capteurs.
Projet
Nous proposons un projet autour de la
robotique collective. Ce projet est autour de la planification de
tâches dans le domaine du pilotage d'une colonie de robots, en
utilisant les robots physiques KOALA. Les robots KOALA sont
équipés de capteurs et de caméras pour les problèmes de la
perception des robots.
Ce projet nous permettra, de mettre en oeuvre quelques scénarios de
la robotique collective, autonome, communicante avec des applications
réelles autour de la robotique domestique, exploratoire, de loisir
et de gestion de situation de crise. Le but de ce projet de mettre en
oeuvre le module de la vision des robots KOALA et de les évaluer
dans un exemple décrit en détail ci-dessous.
Exemple de scénario
Nous disposons d'un terrain rectangulaire en mélaminé blanc. Ce terrain
représente le monde dans le lequel les robots vont évoluer.
Ce monde est décomposé en six zones :
- La zone 1 est la base de départ des robots.
- La zone 2 est la zone d'activité. Elle est composées de deux zones :
- La zone 2a de chalandise
- La zone 2b de dépôt
- Les zones 4a et 4b sont les couloirs de retour
La zone 2 est physiquement représentée par un ensemble de trois
lignes noires sur le sol. La ligne verticale faisant la démarcation
entre la zone 1 et la zone 2, les lignes horizontales faisant la
démarcation entre la zone de chalandise et les couloirs de retour.
Dans la zone de départ (zone 1), aucun marquage au sol n'est
présents, les robots n'ont pas de zone de départ fixe. Dans
la zone de chalandise (zone 2a), il n'existe, là encore, aucun
marquage au sol. Les cubes sont placés à différents endroits au bon
vouloir d'expérimentateur. Dans la zone de dépôt (zone 2b), la
position finale des cubes est physiquement marquées sur le sol. Ce
marquage est formé par une tâche de la couleur du cube entourée par un
marquage noir.
Ce type de marquage permet de faire rapidement
la discrimination entre un marquage au sol (2D) et un objet physique
(3D) (ce problème est important car il ne faut pas oublier que lors du traitement
de l'image en provenance de la caméra, il est très difficile de faire la
différence entre un marquage et un objet. Cela permet ainsi de simplifier le
problème).
Situation initiale
Situation finale
Le déroulement du scénario est le suivant :
- La situation initiale S_i est définie par :
- Les robots sont alignés dans la zone de départ (zone 1).
- Les cubes sont placés dans la zone de chalandise (zone 2a).
- les zones 2b (dépôt), 4a et 4b sont dégagées.
- La situation finale S_f est définie par :
- Les robots sont dans la zone de départ (zone 1).
- Les cubes sont placés dans la zone de dépôt (zone 2b), chaque cube à sa place.
- les zones 2a (chalandise), 4a et 4b sont dégagées.
En cours d'exécution, les robots ne peuvent se déplacer que dans le sens
départ ==> dépôt, le retour (dépôt ==> base) s'effectuant
uniquement en empruntant les couloir prévu à cet effet.
Les seules connaissances des robots au départ sont :
- la reconnaissance des objets ;
- la reconnaissance des marquages au sol ;
- qu'il faut placer les cubes sur les zones marquées.
Les positions initiales des robots, des cubes ainsi que la
forme géométrique à réaliser ne sont pas connus à l'avance.
Objectifs du projet Reconnaître la forme des
différents objets perçus par la caméra du robot KOALA. À chaque
couleur correspond un cube d'un certain poids et d'une certaine
taille, il est ainsi possible d'établir un protocole d'étalonnage afin
de déterminer la distance séparant la caméra de l'objet.
- Démarrage de la caméra du robot Koala.
- Acquisition d'images.
- Analyse des images et détection d'objets recherchés.
- Embarquer l'outil sur le robot.
- Le robot doit se diriger vers les objets reconnus à partir de l'image.
Matériels disponibles
libre
18. Évaluation du coût de la communication réseaux dans une résolution répartie d'un arbre de décision
Les Processus Décisionnels de Markov (PDM) [ Puterman1994 ]
sont depuis quelques années communément utilisés dans la communauté de
l'Intelligence Artificielle pour modéliser et résoudre des problèmes
de décision séquentielle dans l'incertain. Leur capacité à prendre en
compte à la fois l'aspect dynamique et incertain des processus
modélisés les placent comme bon candidats pour modéliser et résoudre
des problèmes complexes (gestion de risques industriels et
environnementaux, robotiques, applications aérospatiales, ...). Cette
technique, très efficace pour modéliser les environnements dynamiques
et incertains, est largement utilisée pour une variété de problèmes de
décision stochastique et séquentielle. Des algorithmes permettant de
résoudre ces processus sont mis en oeuvre et ils permettent de
déterminer un comportement optimal. Mais, ces processus sont aussi
connus par leurs limites dont la plus importante est la grande taille
de l'espace d'états issue d'une description fine de
l'environnement. Cette limite réduit le champ d'application réelles de
cette technique.
Les objectifs du projet Ces processus de
décision sont en général représentés comme des arbres de décision,
plus au moins sophistiqués. Ces arbres de tailles trés grandes qui se
comptent en millions de noeuds. L'objectif de ce projet et de répartir
la résolution de cet arbre sur plusieurs processeurs où chaque
processeur est en charge de résoudre une partie de l'arbre et par
communications les processeurs s'échangent des informations pour
compléter la résolution de tout l'arbre. Cette technique qui
fonctionnent nécessite un grand nombre de messages échangés entre les
processeurs. Ce nombre de message doit être quantifié pour les
différents mécanismes de communication proposés.
Étapes du projet
- Se familiariser avec les arbres de décisions et plus particulièrement les processus décisionnels.
- Mettre en place un programme d'implémentation de l'approche centralisée et ses limites.
- Passage à l'approche distribuée décrite dans les articles ci-dessous cités.
Matériels disponibles
- "Towards a technique of solving in Parallel Very Large Markov Decision Processes".
- "Parallel and Distributed Computation : Numeric Methods", MIT Press, Chapitre 4.
libre
19. Paquetage graphique 3D en
Clean. Ce projet est destiné surtout à un
étudiant qui a suivi - en Maîtrise - mon cours de compilation et mon
cours d'imagerie, car il s'agit d'assembler un paquetage _fonctionnel_
de création des objets 3D paramétriques, donc on aura besoin de
techniques de programmation fonctionnelle et des éléments un peu
avancés de syntèse d'images. L'étudiant construira une
interface à plusiers fenêtres où on pourra visualiser les objets
créés. Il ne s'agit pas d'un modeleur "professionnel" , (pas encore),
mais d'une exploration des techniques de programmation génériques,
avec des compositions des fonctions d'ordre supérieur, etc. Une
partie du projet sera consacrée à l'analyse de la possibilité
d'intégrer OpenGL avec Clean. On travaillera sous Windows, car
l'interfaçage graphique du Clean sous Linux n'est pas encore complet.
Clean ressemble beaucoup à Haskell.
20. Visualisation globale de recherche d'information sur Internet.
Thème de travail
Le thème de travail proposé se situe dans le domaine des outils de recherche d'information sur l'internet :
Comment avoir une vue globale sur les réponses d'un moteur de recherche
en accédant à des groupes de documents de même thème
par une étude terminologique de leur contenu textuel
et avec une interface graphique basée sur les termes.
La plupart des moteurs de recherche donnent leur réponse sous la
forme de fichiers html présentant une liste de liens sur des
documents. Le grain est le document (1 URL); la liste est
ordonnée (c'est un de leurs secrets de fabrication), fractionnée par
paquets de quelques liens, et peut contenir des milliers de
liens. Chaque lien est accompagné de quelques informations sur le
document. Pour accéder aux réponses, l'utilisateur va voir des
documents 1 par 1, en commençant par le début de la liste. Il n'a
aucune vue globale sur ces réponses. En particulier les documents
classés après les premières pages ne seront pratiquement jamais
atteints.
Pistes pour calculer et présenter une vue globale sur les résultats :
Á partir des réponses html du moteur, on peut télécharger les documents, étudier leur contenu textuel, en faire une étude terminologique, et constituer des groupes de documents selon leur thème principal.
Ainsi on parvient à une vue globale par un changement d'échelle : on passe du grain "document" au grain "groupe de documents".
On pourra ensuite présenter à l'utilisateur une liste ordonnée de groupes de documents, ou mieux, une interface graphique présentant une carte cliquable des groupes de documents.
Vous consulterez aussi les travaux de stage de DEA de Thibault Roy sur la cartographie thématique de corpus, dans lesquels vous trouverez des pistes pour calculer des groupes thématiques de documents, et pour présenter ces groupes sous forme d'interface clicquable.
Thèmes et termes
Les thèmes abordés dans les documents sont matérialisés et
accessibles par des "termes" de un ou plusieurs mots.
Les termes sont le plus souvent des expressions nominales répétées.
On aura besoin d'une méthode d'extraction de termes, à partir des textes des documents. Cette méthode peut être indépendante des langues des documents, et donc ne pas utiliser des ressources linguistiques propres à une langue (une telle méthode est décrite dans l'article "Découverte locale des mots vides dans des corpus bruts de langues inconnues, sans aucune ressource").
Termes, documents, et groupage thématique de documents
Les groupes de documents sont constitués en exploitant la propriété suivante : on regroupe des documents qui ont un profil terminologique analogue.
On aura téléchargé un ensemble de documents, et on en aura extrait un ensemble de termes.
Chaque document contient certains termes. Chaque terme est dans certains documents.
à partir de ces relations document-terme, on peut définir des
relations document-document : 2 documents seront dits reliés s'ils
contiennent des termes communs (termes co-occurrents). Des graphes de
termes ou des graphes de documents sont alors calculables, et
pourraient servir à construire l'interface.
Un petit groupe de termes peuvent tous se trouver dans un même petit groupe de documents, ce qui pourrait permettre de grouper des documents thématiquement liés.
Recherche d'une autre interface d'accès aux réponses du moteur
On s'orientera si possible vers une interface graphique, par exemple sous forme de disques colorés représentant les groupes de documents thématiquement analogues, étiquetés par les termes. Toute autre idée est bienvenue. Plusieurs vues sont envisageables.
Pour une introduction, lire : Les hypermédias graphiques explorateurs de D. Bihanic.
L'interface ne devra pas présenter trop d'informations simultanément.
Elle pourrait permettre à l'utilisateur de "naviguer dans le contenu" de l'actualité, de voir rapidement les principaux thèmes abordés, et dans quels documents, enfin permettre l'accès aux documents.
Aspects techniques
Les choix techniques vous appartiennent et devront être motivés. Vous pourrez utiliser des outils Open Source ou des composants logiciels existants.
libre
21. Paramètres de la gestion de l'information à l'échelle document(s)
Dans la recherche d'information classique, on s'intéresse
particulièrement à la détection des thèmes et des mots-clés dans des
documents, le plus souvent par des méthodes statistiques. Ces méthodes
donnent des résultats acceptables dans des corpus hétérogènes et très
étendus, mais elles ne sont pas du tout adaptées à la recherche ciblée
sur des documents peu nombreux.
La plupart des analyseurs ont pour éléments atomiques de l'analyse
des mots qui sont vus uniquement dans la phrase, ce qui rend difficile
l'affectation de valeurs sémantiques fiables. Par exemple, on ne peut
pas savoir si le mot "intégration" concerne les mathématiques ou la
cuisine ou la politique, d'où le bruit imputé à la polysémie des
mots. On constate par ailleurs que les techniques actuelles ne
permettent pas de répondre de manière satisfaisante à des demandes du
type : "rechercher la définition du concept intégration" ou "une
explication sur l'ESB" ou "une synthèse sur la loi de Nash".
On cherche à combler le vide entre la méthode courante d'indexation
des documents et l'analyse syntaxique à grain très fin. Pour apporter
une valeur ajoutée à la recherche d'information, on propose de
caractériser des segments de texte et des textes.
Le travail demandé consiste à faire le point sur les recherches
actuelles à l'interface de la recherche documentaire et de l'analyse
syntaxique (Voir par exemple Hirst, Karlgren). Dans la partie
exploratoire on propose d'implémenter des modèles d'analyse
textuelle. Le travail s'organise sur plusieurs plans. D'une part, il
faut établir une typologie des textes : exposés, narrations,
explications, modes d'emploi etc. Il importe pour cela de tenir compte
de la mise en forme, de la longueur et de la complexité des documents.
D'autre part, dans l'analyse interne au document, il s'agit d'annoter
les passages pouvant correspondre à une requête sur le type
d'information recherchée (explication, définition, synthèse etc.)
Enfin, il faut pouvoir pondérer ces parties de discours entre elles,
pour donner une description plus fine du document.
Cette recherche s'inscrit dans la lignée des traitements robustes
du GREYC. L'accent est mis sur l'interprétation explicite des règles
macro-syntaxiques. Le modèle proposé est basé sur une méthode robuste
d'analyse de textes et de segments textuels, à différents niveaux de
la hiérarchie de mise en forme matérielle (chapitres, parties,
paragraphes).
Du point de vue méthodologique, il est demandé de valider des
opérations et leur expression informatique. Les opérations utilisées
actuellement dans l'équipe sont de même type que celles qui sont
implémentées pour l'analyse syntaxique robuste de phrase, plus deux
ajouts. On a défini la subordination, la coordination, la
complémentation, plus la superordination et la factorisation.
Deux directions sont possibles : d'un point de vue opératoire ces
opérations doivent pouvoir s'appliquer à des segments de niveau
quelconque de la hiérarchie textuelle, il s'agit donc de consolider et
valoriser cette option. D'un point de vue théorique, ces opérations
doivent pouvoir être exposées et validées du point de vue
algorithmique.
Bibliographie
- Giguet, E., Lucas , N., et Cousin, G. (2000) Document structure identification as a means for relevant indexation. In A. Gelbukh (Ed.), CicLing -2000 Conference on Intelligent Text processing and Computational Linguistics, (pp. 415-428). Mexico: Instituto polytéchnico nacional.
- Giguet, E., Lucas , N. (2003). La détection automatique des citations et des locuteurs dans les textes informatifs. In J. M. López-Muñoz, S. Marnette et L. Rosier (Eds.), Le discours rapporté dans tous ses états : Question de frontières Paris: L'Harmattan.
- Graham, Neil and Hirst, Graeme (2003) "Segmenting a document by stylistic character.'' Workshop on Computational Approaches to Style Analysis and Synthesis, 18th International Joint Conference on Artificial Intelligence, Acapulco, August 2003.
- Karlgren, J. (2000) Stylistic Experiments for Information Retrieval. PhD, Stockholm University.
- Karlgren, J., and Järvinen, T. ( 2002). Foreground and background text in retrieval. In J. Karlgren, B. Gambäck, and P. Kanerva (Eds.), Acquiring (and Using) Linguistic (and World) Knowledge for Information Access, Menlo Park, spring 2002: The American Association of Artificial Intelligence.
- http://ir.iit.edu/~argamon/style2003/
- http://www.cs.toronto.edu/compling/Publications/a-g.html
22. Optimisation d'outil d'aide à la décision.
Les outils d'aide à la décision sont de plus en plus utilisés dans
les entreprises, principalement pour réduire les risques inhérents aux
tâches réalisées. Ces outils se retrouvent dans les domaines de la
bourse, la gestion de stock, la gestion du risque, etc ... Ces outils
prennent des formes diversent tant au niveau des modèles utilisés pour
réaliser l'aide à la décision qu'au niveau des interfaces de
présentation des résultats.
Les processus décisionnels de Markhov sont l'un des modèles utilisé
dans ces outils. Le projet Paudac, entreprise en création au sein de Normandie Inbubation, dispose d'un outil d'aide à la décision d'achats de DVD.
Écrit en C++, la première version de cet outil répond a la
problématique et calcule l'optimum d'achats en fonction du budget et
d'autres contraintes liées au système telles que le nombre de nouveaux
films disponibles ou bien le nombre de machines de locations
disponibles, toutefois certaines fonctionnalités nécessitent d'être
modifiée.
Travail demandé - Modifier
l'outil pour que les entrées et sorties soient au format XML. Définir
des XMLSchema et schémas UML de ces modifications. Modifier
l'interface actuellement fournies pour faciliter la visualisation des
résultats.
- Optimiser l'algorithme pour réduire le temps
d'exécution, particulièrement, on utilisera des structures de données
qui favorisent un accès rapide au détriment de la taille
mémoire.
- Définir une méthode permettant de déterminer le
temps de traitement nécéssaire pour fournir le résultat en fonction du
nombre de films et du nombre de machines proposés.
Connaissances souhaitées
La connaissance du C++ est nécessaire ... Les connaissances en XML seront fournies au cours de l'année de M2-RADI.
23. Coloriage des explications à l'intérieur d'un document : approche contextuelle
Contexte
Dans les diverses applications de recherche documentaire, les
textes de type explicatif ont un intérêt particulier et méritent une
forte pondération. Comment les détecter ? Les textes explicatifs ont
une structure particulière. Nous utilisons une méthode originale pour
diagnostiquer et délimiter des passages de texte explicatifs
développant un même sujet à l'intérieur d'un document. L'approche
proposée ici est appelée contextuelle robuste, elle se base sur un
petit nombre d'indices typographiques et grammaticaux et des règles
positionnelles. La méthode contextuelle a déjà été appliquée sur des
textes en français et en anglais pour la détection d'un développement
thématique de petite portée (DESS Houmard 2001-2, Pinatel 2002-3).
Objectifs
Un ensemble de textes informatifs ou corpus au format HTML ou
XML sera soumis, il est demandé en sortie de surligner automatiquement
les explications à partir du modèle relationnel ou "patron" établi au
GREYC. La tâche proposée est d'appliquer les critères de détection
pour des passges de texte de taille variable (des explications courtes
ou longues).
Les critères de décision pour juger s'il s'agit d'une
explication suffisamment intéressante pour que le document soit
signalé globalement comme explicatif demandent un travail d'analyse
supplémentaire en génie logiciel. Dans le cadre de ce projet, la
détection de développements explicatifs se fera sur des textes en
français ou en anglais. Il faudra :
- Fournir un balisage XML visualisable par l'intermédiaire d'une feuille de style, mettant en valeur par coloriage les passages explicatifs ;
- Former un jugement global permettant de classer les documents selon qu'ils sont explicatifs ou non et affecter une balise à chaque document ;
- Faire une démonstration sur des textes tout venant (inconnus) ;
- Soigner la présentation des résultats. On attend par exemple que la légende des coloriages soit visible par clic.
Travail
Les caractéristiques des textes explicatifs sont fournies,
l'étudiant sera fortement guidé dans l'étape de définition des jeux
d'indices et des règles de position. La méthode consiste en effet à
détecter les indices présents (mots, ponctuations, expressions) et à
pondérer leur valeur. Le travail demandé peut se présenter en trois
étapes qui ne sont pas nécessairement chronologiques. La réalisation
nécessite un travail de génie logiciel.
Dans l'étape de validation de la méthode contextuelle, un
ensemble de textes informatifs en français et en anglais est présenté
comme corpus d'étude, avec les résultats attendus. Les indices
utilisés sont marqués à la main et les règles sont établies pour des
textes plus ou moins longs. A chaque taille de texte est associé un
ensemble de marques (spécifiques) et un "patron" ou séquence
attendue. Exemples de marques à détecter automatiquement : formes
interrogatives, formes négatives, formes réflexives.
Le module de détection doit reproduire ces résultats, et
s'appliquer à un corpus de test plus important. Du point de vue
informatique, cela revient à relever un petit nombre d'indices sûrs et
à utiliser un processus de déduction permettant de gérer les valeurs
éventuellement manquantes pour aboutir à un diagnostic fiable. Les
ressources (ensemble de marques à tester) seront externes au
traitement, ceci pour permettre l'ajout de ressources.
Dans la seconde étape, le programme doit évaluer l'importance
relative des développements explicatifs détectés. Il s'agit de décider
si le document est globalement explicatif, ou pas. L'algorithme doit
être établi indépendamment des marques spécifiques à chaque taille de
texte, de façon à permettre ultérieurement le paramétrage du
programme. La difficulté consiste à établir des règles de
discrimination.
Dans la troisième étape, il s'agit d'afficher les résultats, en
optimisant la présentation. La difficulté consiste à gérer les
priorités d'affichage. Les développements explicatifs les plus longs
devront être choisis, pour favoriser la lisibilité. On utilisera de
plus un coloriage automatique clicable.
Pour ces deux étapes, il est nécessaire de traiter d'un corpus de
test étendu, sachant que la démonstration du logiciel sera faite sur
des textes inconnus.
La documentation du projet, utilisant les schémas UML, est une
partie importante du travail de génie logiciel demandé. De même la
valorisation de l'outil et de ses résultats par l'intermédiaire d'un
site Web fait partie de nos attentes.
- Houmard, Gildas. Analyse de texte paramétrable. Rapport de projet DESS RADI 2001-2002.
- Pinatel, Pascalie. Coloriage thématique à l'intérieur d'un
document: approche contextuelle Rapport DESS RADI 2002-2003.
- Lucas, Nadine. Etude et modélisation de l'explication dans
les textes. Colloque "L'explication: enjeux cognitifs et
communicationnels", Paris, 30 novembre-1er décembre 2001.
Mots clés
inguistique textuelle, explication, règles d'association, corpus, segmentation
Langages de programmation
libre (Perl, Python, PHP, Java, ...)
24. Un éditeur graphique pour la spécification d'applications vocales
VoiceXML est un langage de description de services vocaux. C'est un
langage de la famille XML défini par le W3C (http://www.w3.org/TR/voicexml20/).
Le but du projet est de construire un éditeur graphique permettant à
des non informaticiens de définir un service vocal. La spécification
se fera à l'aide de diagrammes état/transition particuliers : une liste
fermée de type d'états et de types d'évènements de déclenchement de
transitions sera seulement disponible.
L'avantage de l'utilisation des diagrammes état/transition est que
certaines propriétés de l'automate pourront être vérifiées : boucles
infinies, validation d'entrées, ...
Une fois un automate spécifié, on pourra générer l'application en
VoiceXML.
25. Interfaces d'accès à l'information
géographique. Le groupe Infodoc travaille depuis
de nombreuses années sur la modélisation et l'accès à l'information
géographique. De nombreux travaux ont été réalisés pour permettre
d'accéder à différentes formes de l'information. Certains des travaux
visent à structurer l'information a priori [TURBOUT02, CHUFFARD04],
d'autres a posteriori [MALANDAIN00, FAUROT04, GEOSEM]. D'autres
travaux visent à faciliter l'accès à l'information grâce à différentes interfaces :
- OhRAGE : permet d'accéder à l'information sous forme d'hypertexte dynamique [TURBOUT02].
- L'Anté-Serveur Géographique grâce à une interface bimodale texte-graphique [LIMAM03, DUMONCEL03].
- PLACIDES, une interface java utilisant Openmap pour accéder à l'information grâce à une représentation spatiale de l'information sur un espace géographique sélectionné[TURBOUT02].
Travail à réaliser
Les différents outils ayant évolué, il est désormais possible d'implémenter PLACIDES, l'interface entièrement spécifiée dans [TURBOUT02]. Le but de ce stage sera de réaliser cette implémentation, il consistera à :
- Reprendre la version modifiée d'Openmap définie au laboratoire et définir un modèle des différents sources d'informations à disposition (atlas électroniques, SGDB, fichiers XML, entrepôt de données géographiques, etc.)
- Implémenter en Swing Java l'interface de sélection multi-critères (spatial, temporel, thématique)
- Intégrer cette interface dans une palette de configuration d'Openmap.
- Définir une nouvelle couche d'Openmap pour afficher la sélection réalisée.
- Visualiser les informations ainsi obtenues selon deux modes (méta-données et données).
Connaissances requises
La connaissance de Java est requise pour ce projet.
Bibliographie
- [CHUFFARD04], Florent Chuffard, 204. « Analyse des processus de Reconstruction de documents géographiques », stage de DEA, septembre 2004. Memo(géo)doc
- [DUMONCEL03], Franck Dumoncel, Mohamed Ould Ahmed Limam, Mauro Gaio, 2003. « Interaction avec feedback sémantique pour l'accés à l'information géographique », IHM 2003 - 15e Conférence Francophone sur l'Interaction Homme-Machine - Caen - France.
- [FAUROT04], Antoine Widlöcher, Eric Faurot, Frédérik Bilhaut, 2004. « Multimodal Indexation of Contrastive Structures in Geographical Documents ». In Proceedings of RIAO 2004, pages 555-570, Avignon, France.
- GEOSEM : Traitements sémantiques pour l'Information géographique : textes, cartes, graphiques.
- [LIMAM03], Mohamed Ould Ahmed Limam, 2003. « Interaction avec feedback sémantique dans un environnement dédié à la recherche d'informations géographiques », thèse de doctorat d'informatique, Université de Caen, septembre 2003.
- [MALANDAIN00], Nicolas Malandain, « La relation Texte/Image, Essai de Modélisation dans un Corpus Géographique », Thèse de doctorat, Université de Caen, Décembre 2000.
- [TURBOUT01], Christophe Turbout, Mauro Gaio et Jacques Madelaine, « PlACIDES : Plateforme d'Aide à la Construction d'Information Dynamique électronique Spatialisée », H2PTM'01 : nouvelles écritures, nouveaux langages, Hermès Sciences, Valenciennes, France, pages 17--30, octobre 2001.
- [TURBOUT02], Christophe Turbout, « Construction d'hypertexte et recherche d'informations hétérogènes : la spécificité de l'information géographique », Thèse de doctorat d'informatique, Université de Caen, juillet 2002.
libre
26. Modélisation des objets de la vidéo
sous forme carte combinatoire : étude des méthodes
d'appariement. L'idée de base est de modéliser un
document vidéo par un graphe complet dont les plans de montage sont les
noeuds. Plutôt que de se baser sur des critères de similarité
basés sur les descripteurs globaux couleur (perceptuels), on
va s'intéresser à une similarité de niveau sémantique basée sur
les objets similaires que contiennent les plans vidéo. Un tel objet
visuel est un ensemble de régions connexes qui peuvent être modélisées par
une carte combinatoire. L'objectif du projet, dans un premier
temps est de modéliser la vidéo sous forme de carte combinatoire
(algorithme fourni), et d'étudier les méthodes d'appariement
existantes ainsi que la similarité entre les noeuds pour l'indexation
par le contenu.
27. Estimation et compensation de
mouvement. Dans le domaine de la compression
d'images animées, les méthodes utilisées sont principalement celles
qui utilisent des appariements de blocs carrés qui imposent des
limites en termes de qualité et de taux de compression. On
s'interesse aujourd'hui à des approches orientées objets de manière à
pouvoir compresser, modifier et utiliser indifféremment les nombreux
objets composant une scène (MPEG4). Le but de ce projet est
tout d'abord de se familiariser avec la norme Mpeg4, futur standard de
compression vidéo, et par la suite d'étudier des algorithmes
d'estimation de mouvement et de segmentation vidéo, destinés à
"extraire" les objets en mouvement dans la scène pour une séparation
du décor (background) et des objets en mouvement sur ce décor. Le but
de ce projet n'est pas de faire un codeur de la norme !
28. Création d'une bibliothèque d'opérateurs spatiaux pour PostGIS
PostGIS permet le support d'objets géographiques dans la base de
données relationnelle PostgreSQL. PostGIS permet d'insérer dans la
base des objets spatiaux de types polygones, lignes ou points. Ces
objets sont tous positionnés dans l'espace par la latitude et la
longitude des points les constituant, c'est la « geometry ». À ces objets
sont associés des opérateurs spatiaux. Il est par exemple possible de
savoir si un point est dans un polygone, si une ligne traverse un
polygone, si deux polygones se touchent, si un point est sur une
ligne, etc.
Ce projet concerne les relations mettant en jeu une ligne. Prenons par
exemple la fonction crosses(geometry A,geometry B) qui retourne un
booléen indiquant si A traverse B. Dans les sources de données
spatiales, certains objets linéaires, comme par exemple les routes,
sont donnés par tronçons : un tronçon = un objet PostGIS ligne. Si
nous cherchons par exemple les routes passant par Caen et par Bayeux à
l'aide de la fonction crosses, il se peut qu'il n'y ait pas de
tronçons suffisament long, aucune route correspondante ne sera trouvée, pourtant
une route existe bien. Pour trouver cette route, il n'est pas
suffisant d'appliquer la fonction crosses sur un tronçon. Il faut
disposer d'une fonction capable de trouver plusieurs tronçons les uns
à la suite des autres et de savoir si un de ces tronçons traverse les
villes citées.
Ce projet concerne la création de nouvelles fonctions pour répondre à
ce problème. Ces nouvelles fonctions prendront la forme d'une
bibliothèque compilée à laquelle fera appel PostGIS. Pour effectuer
des tests nous disposons d'une base de données sur les routes de
Basse-Mormandie. Les résultats seront visualisés sous forme de
cartes avec OpenMap ou MapServer.
29. Projet SqueakTurtle 3D
Cette proposition s'inscrit dans le cadre du projet SqueakBot [1].
SqueakBot est un projet développé depuis 2002 consistant à développer
une plateforme robotique éducative (pour des enfants) en Squeak/Smalltalk [2].
Nous proposons de développer une application distribuée de type Logo en 3D.
Il s'agit de permettre à des enfants de piloter des robots simulés en collaboration sur le réseau.
On pourra s'inspirer pour cela d'une application similaire déjà développé en 2D, appellé BotsInc [3].
On utilisera pour réaliser le projet, une plateforme immersive 3D P2P appellée OpenCroquet [4] et développée en Squeak. OpenCroquet
offre des briques logicielles (TeaTime) permettant de distribuer des applications sur un réseau et de réaliser facilement des applications collaboratives.
Il s'agira pour l'étudiant d'une part de se familiariser avec les protocoles réseaux utilisés par OpenCroquet pour réaliser la distribution d'applications et de réaliser une première maquette de l'application avec des tests réels sur le réseau.
Langage
Squeak (Smalltalk multi-média open-source)
30. Étude du Bit-Search Generator.
Les générateurs pseudo-aléatoires sont une composante essentielle d'un
certain nombre de primitives cryptographiques, en particulier des
systèmes de chiffrement à flot. Le "Bit-Search Generator" (BSG) est un
élégant générateur pseudo-aléatoire proposé par Aline Gouget et Hervé
Sibert (France Telecom R&D) au récent workshop ECRYPT sur les stream
ciphers. Ce générateur est basé sur la recherche de motifs dans une suite binaire.
Une façon naturelle de l'aborder est d'étudier son comportement de
décimation sur une suite issue d'un registre à décalage à rétroaction
linéaire (on peut imaginer l'appliquer à d'autres genres de suites). Sa
conception, très simple, dans l'esprit du Self-Shrinking Generator, fait
de lui un générateur performant et léger. Il a de bonnes propriétés
théoriques, et les premiers résultats statistiques sont tout à fait
encourageants.
L'objectif de ce projet est d'étudier ce nouveau-né dans le milieu des
générateurs pseudo-aléatoires, de l'implémenter de façon la plus efficace
possible, et de lui faire passer des tests statistiques pour s'assurer de
ses performances. Il va s'agir de prendre en main ces outils de tests, et
d'interpréter les résultats, en prenant pour référenciel le Self-Shrinking
Generator. Il peut être aussi envisagé d'étudier des variantes
du BSG, ainsi que l'impact des attaques existantes sur ce genre d'objet.
31. Traitement de flux RSS
Définition de RSS
RSS (Really Simple Syndication) est un format de données
servant à manipuler de l'information sous forme de flux. Le but de ce
projet est de réaliser un état de l'art sur les technologies RSS et de
mettre en oeuvre un moteur RSS.
État de l'art
L'état de l'art devra faire apparaître les spécifications du format RSS, ces principaux usages et les différents outils permettant de manipuler les flux RSS (génération, organisation, visualisation).
Mise en oeuvre
Ce projet à pour but de réaliser un moteur RSS. Ce moteur sera chargé de collecter des flux RSS, les traiter afin de créer une nouvelle information et de la diffuser.
- Collecte de flux RSS - Le choix de la nature de l'information à traiter est laissé à l'étudiant. Cette information pourra être géographique, boursière, de type webnews... La difficulté étant de trouver les flux sur la toile.
- Traitement de flux RSS - Le traitement des flux dépendra de la nature de l'information collectée. Il pourra être statistique (taux d'accroissement, accélération d'un phénomène...) dans le cadre par exemple de flux boursiers ou d'indicateurs statistiques. Le traitement pourra se résumer à la gestion de cache en fonction de la mise à jour du flux et en fonction d'un profil utilisateur. L'étudiant pourra proposer des traitements propres au domaine retenu.
- Diffusion de l'information reconstruite - La diffusion de l'information reconstruite dépendra également de la nature du flux RSS. Elle pourra être graphique, textuelle, sous forme de flux RSS... Elle pourra être multisupport.
Mots clefs :
RSS, XML, technologies web.
32. IPv6 et IDS
Le but du projet est dans une première étape de faire le point
sur la compatibilité de grands IDS avec IPv6, puis dans une seconde
étape, de se servir de ces connaissances pour écrire de nouvelles
règles afin d'étendre snort ou tout autre IDS pour le rendre
totalement compatible IPv6.
Outils
snort, tiger, logcheck, ip6table ...
33. Étude d'un générateur pseudo-aléatoire basé sur des automates FCSR.
Une brique essentielle des algorithmes de chiffremement à flot
est le générateur pseudo-aléatoire qui produit la suite chiffrante. La
plupart de ces générateurs utilisent des combinaisons de registres à
décalage à rétroaction linéaire (LFSR).
Dans un article récent présenté au workshop ECRYPT SASC sur les
stream ciphers, F. Arnault et T. Berger (Univ. de Limoges) ont proposé
une construction de générateurs pseudo-aleatoires à partir de
"Feedback with Carry Shift Register" (FCSR). La différence essentielle
avec un LFSR est que l'opération de base n'est pas une addition modulo
2, mais avec propagation de la retenue.
Le but de ce projet est d'étudier la contruction proposée par
F. Arnault et T. Berger et ses différentes variantes, et de comparer
leurs performances avec d'autres générateurs pseudo-aléatoires.
34. Enseigner les principes basiques de la programmation en utilisant une application distribuée de controle de robots
Cette proposition s'inscrit dans le cadre du projet SqueakBot [1].
SqueakBot est un projet développé depuis 2002 consistant à développer
une plateforme robotique éducative (pour des enfants) en Squeak/Smalltalk [2].
Un autre objectif du projet SqueakBot est également de simuler et de contrôler des robots réels. L'équipe de recherche MAD dont nous faisons partie a acheter des robots de type Koala ( http://www.k-team.com/robots/koala/index.html). On se propose de développer une application de contrôle à distance d'un robot Koala depuis Croquet, permettant à des personnes sur le réseau Internet de faire des expériences à distance.
Il s'agira pour l'étudiant de proposer une solution de contrôle permettant d'intégrer le robot avec le framework TeaTime de Croquet permet de réaliser des applications collaboratives à distance sur un réseau. Il devra être possible de représenter le robot physique par un robot simulé dans croquet. Le robot disposant également d'une caméra embarqué, l'étudiant devra également proposé une solution pour diffuser l'image vidéo dans Croquet.
Langage
Squeak (Smalltalk multi-média open-source)
35. Générateur kleptographique de clés RSA.
Le RSA est sans conteste le cryptosystème à clé publique le plus
utilisé au monde. Du fait de ses propriétés (en particulier celle
de permutation à clé publique), on peut se servir de RSA en tant
que schéma de chiffrement ou de signature, ce qui explique sa
grande popularité.
Lors de la création de ses clés (clé publique $n$, clé privée
$d$), on suppose que l'utilisateur fait appel à un algorithme de
génération $G$ qui lui est fourni sous la forme d'un programme
exécutable (noté aussi $G$) par son administrateur système.
L'algorithme de génération est, bien sûr, fait de telle sorte
qu'il soit difficile à quiconque de retrouver la clé privée d'un
utilisateur à partir de sa clé publique (problème dit de la
factorisation du module).
Le but d'une attaque kleptographique consiste à substituer $G$ par
un générateur truqué $G'$ qui va permettre au créateur de $G'$ de
retrouver sans effort les clés privées des utilisateurs.
Pour ne pas éveiller les soupçons, $G'$ doit se comporter
exactement comme $G$, c'est-à-dire avoir la même interface
d'utilisation. Typiquement, $G'$ ne doit pas lors d'une exécution,
copier la clé privée dans un fichier secret, l'envoyer par mail,
etc. Il faut donc, pour mener l'attaque, générer $n$ de sorte que
le créateur de $G'$ (le kleptographe) puisse retrouver facilement
$d$ à partir de $n$ seul. Il faut aussi que les modules publiques
$n$ générés par $G'$ soient insoupçonnables, c'est-à-dire qu'on ne
puisse pas les distinguer des modules générés par $G$. Somme
toute, un module $n$ généré par $G'$ doit contenir une information
"subliminale" accessible seulement au kleptographe et qui lui
permet de factoriser $n$.
Le projet consiste à réaliser un générateur kleptographique $G'$.
|
|