Projets tutorés 2020-2021
Sujet L3A - Editeur de réseaux neuronaux profonds
Encadrant :
Mail de l'encadrant :
Catégorie(s): application scientifique, open-source
Contexte:
Depuis les début de l'informatique, une partie de l'intelligence artificielle suit une approche bio-inspirée pour développer de nouveaux outils.
C'est par exemple le cas avec les réseaux de neurones artificiels, qui s'inspirent du fonctionnement du cerveau.
Dans ce domaine, les succès étaient relativement modestes mais ces dernières années, les réseaux neuronaux profonds (deep learning) sont en train de révolutionner des pans entiers de l'apprentissage automatique (machine learning) et de l'intelligence artificielle. De nombreux exemples d'applications basées sur cette approche en analyse d'image, traitement automatique des langues, traduction automatique, … sont spectaculaires.
Pour chaque application, les chercheurs et les ingénieurs ont conçus de nouvelles architectures de neurones artificiels, d'organisation de couches ou de réseaux. Chaque nouveauté introduisant de nouvelles possibilités.
Dans ce cadre, on souhaite développer un éditeur dont l'objectif est de permettre la création rapide de réseaux de neurones et la génération automatique du code source correspondant en ciblant des librairies existantes largement utilisées par la communauté. Le paradigme de programmation envisagé pour cet outil est la programmation visuelle afin de lier rapidement les différents composants disponibles pour créer de nouveaux réseaux neuronaux.
Objectifs:
Le travail a réaliser au cours de ce projet consiste à :
- étudier les différentes architectures de neurones et de réseaux neuronaux proposées par les librairies ciblées
- étudier les différentes spécificités des librairies ciblées afin de trouver le dénominateur commun.
- spécifier les composants graphiques à mettre en oeuvre
- créer l'éditeur et le générateur de code source.
- tester les réseaux neuronaux ainsi créés et les performances du code source généré.
Contraintes:
- Pour tester, le code générer il serait souhaitable de disposer d'une machine avec un GPU nVidia compatible avec les dernières version de CUDA.
Mots-clés:
Intelligence artificielle, machine learning, deep learning, réseaux de neurones profonds, GPGPU
Langages :
- Python, Lua, Javascript
Remarque
- La réussite de ce projet peut mener à un stage
Sujet L3B: Framework de géolocalisation précise
Encadrant :
Mail de l'encadrant :
Catégorie(s): Smartphone
Objectif :
L'objectif de ce projet est de développer une application pour smartphone permettant de connaître précisément sa position , y compris à l'intérieur d'un bâtiment et d'un tunnel lorsque le signal GPS est insuffisant pour obtenir une position.
Travail à effectuer :
Le framework développé devra être utilisé dans une application de navigation sur une carte différents types de cartes.
Les cartes utilisées par le framework doivent pouvoir être interchangeables : OpenStreetMap (open-source), Google Maps, Yahoo Maps, …
Langages/technologies à utiliser
- Java/XML (android) ou Obective C/C++(iOS), REST, JSON, PostgreSQL, GPS
Contraintes :
Posséder au moins un smartphone dans le groupe (iOS ou android).
Ce framework doit pouvoir être utiliser par d'autres projets.
Sujet L3C - Librairie de calcul haute-performance pour séries temporelles sur GPGPU
Encadrant :
Mail de l'encadrant :
Catégorie(s): application scientifique, open-source
Contexte:
Depuis quelques années, les processeurs graphiques (Graphics Processing Unit - GPU) sont utilisés pour réaliser des calculs scientifiques.
En effet pour les traitements pouvant être parallélisés, les GPU sont 10 à 40 fois plus rapides que les processeurs centraux (Central Processing Unit - CPU).
L'utilisation d'un GPU afin de réaliser des traitements autres qu'un simple affichage vidéo est appelée en anglais General-Purposed Processing on Graphics Processing Units (GPGPU)
Les 2 constructeurs de cartes graphiques (Nvidia et ATI/AMD) utilisaient chacun leur langage de programmation (CUDA et Stream) jusqu'à ce qu'ils adoptent la norme OpenCL. Dans les implémentations actuelles, il s'agit d'un ensemble de fonctions utilisables en C.
Les séries temporelles sont des suites de valeurs numériques organisées de manière temporelle. Il s'agit d'un outil de modélisation basé sur des statistiques essentiellement utilisé pour décrire temporel des phénomènes économétriques comme les cours de la bourse, mais il peut aussi servir pour la météorologie. Cet outil permet d'analyser un phénomène et vise à prévoir ses évolutions en fonction de son évolution passée.
Objectifs:
L'objectif de ce projet est de développer une librairie logicielle en OpenCL qui permette l'utilisation de la puissance de calcul d'une carte graphique afin de traiter efficacement des séries temporelles. D'autres algorithmes plus complexes pourraient aussi être implémentés en fonction du niveau en mathématiques des membres du groupe.
Mots-clés:
- OpenCL, GPGPU, calcul haute performance, séries temporelles
Remarque
- La réussite de ce projet peut mener à un stage
Sujet L3D: Perfect Melody
Encadrant :
Mail de l'encadrant :
Categorie(s): Application musicale, Smartphone
Objectif :
L'objectif de ce projet est de développer une application qui détermine une partition à partir d'une mélodie chantée par l'utilisateur.
Dans un deuxième temps, l'application pourrait proposer l'instrument le plus adapté pour jouer cette partition.
Idéalement cette application sera multi-plateforme (PC, tablette, smartphone).
Afin de permettre un maximum d'interopérabilité, l'application devra être capable de produire un fichier midi correspondant à la partition.
Langages/technologies à utiliser
- Python (PC), React Native (Smartphone), MIDI
Contraintes :
Dans le cas d'une application sur smartphone, il faut posséder au moins un smartphone dans le groupe (iOS ou android).
L'architecture de l'application doit permettre une intégration des fonctionnalités de base dans d'autres projets.
Sujet L3E: Cloud Computing
Encadrant :
Mail de l'encadrant :
Categorie(s): Site web, web service, intelligence artificielle, startup
Objectif :
L'objectif de ce projet est de développer un prototype de webservice qui permet d'utiliser des ressources de calculs déportées pour résoudre des problèmes d'intelligence artificielle.
Travail à réaliser :
Dans un premier temps, il faudra écrire les interfaces entre les programmes d'intelligence artificielle sélectionnés et le webservice consistant en une API RESTful afin de proposer ce service par un calcul déporté.
Puis, dans un second temps, il faudra créer le site web permettant la gestion des comptes.
Enfin, on réalisera les calculs sur des instances d'un service de cloud computing.
Langages/technologies à utiliser
- Langages : Python, Ajax, PHP, Java, C++, Bash
- Cloud : Heroku, AWS
Contraintes :
Sujet L3F: Distance
Encadrant :
Mail de l'encadrant :
Categorie(s): Application web, startup
Objectif :
L'objectif de ce projet est de développer une application qui représente visuellement les distances temporelles entre tous les points d'une carte en fonction des différents mode de transport à disposition : pieds, vélo, voiture, transports en commun, etc.
Pour cela, il faudra utiliser des données Open Data pour les transports en communs, mais aussi estimer les distances en voitures ou à pieds en utilisant les algorithmes de recherche de chemin issus de l'Intelligence Artificielle et utilisés par tous les sites de planification de trajet (Mappy, Google Maps, Plans, etc…)
Langage(s) et technologie(s)
- A déterminer
Contraintes :
Sujet L3G: Robot Pepper
Encadrant :
Mail de l'encadrant :
Categorie(s): Robotique
Contexte:
L'UFR de Mathématiques de l'Université de Paris vient d'acquérir un robot Pepper
Objectif:
Créer une application interactive de d'assistance à la personne, à l'accueil ou à l'orientation.
L'objectif est d'utiliser au mieux les capacités du robot.
Langages/technologies à utiliser
- Robotique, Intelligence artificielle
Contraintes :
Sujet L3H: Robocup Nao
Encadrant :
Mail de l'encadrant :
Categorie(s): Robotique
Contexte:
La Robocup existe depuis 19987 il s'agit d'une des plus grandes compétitions de robotique et d'intelligence artificielle du monde.
Elle regroupe 3500 personnes et 3000 robots issus de 45 pays différents.
L'UFR de Mathématiques de l'Université de Paris vient d'acquérir des robots Nao pour participer à la ligue football de la [https://www.robocup.fr/|Robocup]].
Comme pour les humains, au cours du match, deux équipes de robots autonomes et collaboratifs doivent élaborer des stratégies dynamiques pour gagner le match.
Le robot Nao est utilisée pour la ligue Plateforme Standard.
En 2021, la compétition aura lieu à Bordeaux (si la pandémie le permet)
Objectif:
Programmer les robots Nao pour participer et gagner la compétition.
Langages/technologies à utiliser
- Robotique, Intelligence artificielle
Contraintes :
Sujet L3I: Secure NetDrive
Encadrant :
Mail de l'encadrant :
Categorie(s) : application, sécurité
Contexte:
L'objectif de ce projet est de développer un système de fichiers virtuel dont les données sont stockées en ligne de manière encryptée et sécurisée.
Objectifs :
Réaliser un module FUSE qui implémente les différents mécanismes de sécurisation, de cryptage et de distribution L'interface utilisateur du programme de paramétrage devra être simple à utiliser.
Langage(s) et technologie(s) :
- C, Python
Sujet L3J - Blockchain explorer
Encadrant :
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
La blockchain est au coeur des crypto-monnaies; il s'agit d'un registre des transactions sécurisé.
L'objectif de ce projet est de réaliser un site web qui permette de:
- Afficher l'ensemble des transactions des principales cryptomonnaies à partir de leur blockchain.
- Calculer et présenter des statistiques sur les échanges, les propriétaires et les montants des transactions
- Développer une API pour accéder aux données
Langage(s) et technologie(s):
- Python
Mot(s)-clé(s):
- Crypto-monnaie, blockchain, altcoin, bitcoin, ethereum
Référence(s) :
Contrainte(s) :
Sujet L3K - Historique des cryptomonnaies
Encadrant :
Mail de l'encadrant :
Catégorie(s): Site web
Présentation du sujet
Les crypto-monnaies gagnent en notoriété et pour suivre leur évolution il peut être utile d'avoir un site qui présente l'évolution des valeurs des différentes crypto-monnaies et de leurs taux de conversion.
A partir des données en libre accès, l'objectif de ce projet est de réaliser un site web qui permette de:
- Afficher l'historique des cours des différentes crypto-monnaies
- Calculer et afficher les principaux indicateurs utilisés en analyse technique
- Simuler un porte-feuille d'actifs
- Développer une API pour accéder aux données
Langage(s) et technologie(s):
- Python
Mot(s)-clé(s):
- Crypto-monnaie, altcoin, bitcoin, ethereum
Référence(s) :
Contrainte(s) :
Sujet L3L - Main artificielle
Encadrant :
Mail de l'encadrant :
Catégorie(s): robotique
Présentation du sujet
L'objectif de ce projet est de réaliser et de programmer une main artificielle afin que ses mouvements aient l'air naturels.
La main sera imprimée en 3D, il faudra assembler les différentes pièces ainsi que les servo-moteurs et l'électronique.
Pour la programmation des mouvements de la main, on testera différents algorithmes afin de permettre leur comparaison.
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3M - Best or better
Encadrant :
Mail de l'encadrant :
Catégorie(s): smartphone
Présentation du sujet
L'objectif de ce projet est de réaliser une application sur smartphone qui permette la comparaison deux à deux des éléments d'une liste afin de réaliser un classement des éléments préférés des utilisateurs.
Ces éléments sont caractérisés par une fiche multimédia pouvant contenir un texte, une image, un fichier sonore, une vidéo.
Par exemple, on pourrait comparer les morceaux de musique d'une liste pour établir le meilleur morceau ou les morceaux préférés. On pourrait également comparer des tableaux pour établir le peintre préféré des utilisateurs.
Langage(s) et technologie(s):
- React Native
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3N - Plugin navigateur web : Détection thématique et archivage
Encadrant :
Mail de l'encadrant :
Catégorie(s): framework
Présentation du sujet
L'objectif de ce projet est de réaliser un plugin pour firefox et pour chrome qui permet d'identifier les thèmes abordés dans une page web afin d'en faciliter la classification et l'archivage.
Langage(s) et technologie(s):
- Firefox, Chrome, Webextensions, Javascript
Mot(s)-clé(s): Détection thématique, TF/IDF, plugin Firefox
Référence(s) :
Contrainte(s) :
Sujet L3O - Sonocom
Encadrant :
Mail de l'encadrant :
Catégorie(s): smartphone
Présentation du sujet
L'objectif de ce projet est de permettre la transmission de fichiers entre deux smartphones en utilisant des ondes sonores (c'est dire : sans bluetooth ni WIFI) à l'image de ce que réalisait les modems sur réseau téléphonique commuté avant l'arrivée de l'ADSL.
Langage(s) et technologie(s):
- React Native
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3P : Site de financement participatif
Encadrant :
Mail de l'encadrant :
Catégorie(s): site web
Objectif:
L'objectif de ce projet est de développer un site web permettant à un porteur de projet de présenter son projet à une communauté afin de lever des fonds pour sa réalisation.
Description:
Chaque projet peut ainsi proposer des informations, permettre à la communauté de faire des propositions d'amélioration, informer la communauté de l'avancement du projet.
La participation au financement de ce type de projet peut se faire avec ou sans contre-partie car il peut s'agir d'un projet humanitaire, d'un projet musical ou un projet logiciel.
Ainsi, les projets peuvent être ouverts et libres de droit ou uniquement accessibles à des personnes ayant été invitées.
Pour faciliter la diffusion des informations, il est évidemment nécessaire de connecter ces communautés aux réseaux sociaux.
Sur le site, l'échange d'informations avec la communauté pourra être soit synchrone via un chat soit asynchrone via un tableau noir (cf le wall de facebook); sur le site web et les réseaux sociaux.
Langages et technologies à utiliser
- Symfony, ORM, PHP5 , HTML5, CSS3
Sujet L3Q: Entr'aide 2.0
Encadrant :
Mail de l'encadrant :
Categorie(s) : Site web, startup
Contexte:
L'objectif de ce projet est de développer une application permettant la création et l'animation de communautés d'entraide basées sur l'échange de compétences. Cette application doit être facile d'accès et multiplateforme : web, tablette, smartphone.
Objectif :
Réaliser une application permettant à l'utilisateur :
- de saisir ses compétences
- de chercher un échange de compétences
Langage(s) et technologie(s) :
- PHP, HTML5, CSS
- Framework : Symfony ou Phalcon
Sujet L3R: Minify
Encadrant :
Mail de l'encadrant :
Categorie(s) : Site web
Contexte:
La curation de contenu est une activité de veille qui consiste à collecter, structurer et à commenter des contenus perçus comme étant pertinents pour un thème donné. La curation est utilisée par des sites web, des bloggeurs ou des entreprises qui souhaitent diffuser ou partager une information de qualité en rendant certains contenus plus accessibles.
Les entreprises se servent d'outils de curation pour leur veille technologique ou veille concurrentielle, les bloggeurs pour déterminer les tendances, etc… La curation est une activité de veille qui consiste à collecter, structurer et à commenter des flux d'informations autour de certains thèmes afin de reformuler l'information et de dégager des tendances. Cette activité est largement utilisée par les entreprises pour déterminer les évolutions technologiques, économiques et culturelles, les influenceurs du net
Objectifs:
L'objectif de ce projet est de développer un site web permettant de :
- réaliser une curation de contenus,
- présenter la curation (en réalisant des miniatures)
- commenter les ressources sélectionner
- échanger avec les internautes autour des différentes curations
- archiver les ressources web.
Mots-clés:
- Curation, collecte d'information, scrapping, veille
Langage(s) et technologie(s) :
- PHP, HTML5, CSS
- Framework : Symfony ou Phalcon
- API REST
Sujet L3S : Comparateur de prix
Encadrant :
Mail de l'encadrant :
Catégorie(s): Smartphone, web
Contexte:
Dans notre vie quotidienne, la plupart des produits de la vie courante sont étiquetés à l'aide de code-barres. Un magasin détermine la correspondance entre la signalétique du code-barre et le prix du produit, le code-barre étant scanné quand nous passons en caisse.
Le projet proposé devra permettre de développer une application logicielle permettant à un utilisateur de smartphone de rentrer cette correspondance au sein de son téléphone et également lui proposer différents moyens de visualiser l'évolution des coûts d'un magasin à un autre et au sein du même magasin sur une période donnée.
Objectifs:
- Permettre la capture d'un code-barre par le smartphone
- Créer une base de données qui s'enrichit par la capture de ces code-barres
- Utiliser la géolocalisation déjà présente dans le smartphone pour permettre l'entrée par l'utulisateur du nom du magasin où se trouve ce code-barre
- Permettre la comparaison de prix d'un meme code-barre de façon graphique dans différents magasins mais également la visualisation de l'évolution du prix du produit correspondant au sein du même magasin.
Contraintes:
Posséder un smartphone dans le groupe (iOS ou android)
Remarques:
Le projet se basera sur des réalisations antérieures
Mots-clés:
- Smartphone, comparateur de prix, code barre, géolocalisation, base de données
Langages/technologies à utiliser
- Java/XML (android) ou Obective C/C++(iOS), REST, JSON, PostgreSQL
Remarque
Sujet L3T - PariSport
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): site web
Présentation du sujet
L'objectif de ce projet est de réaliser un site web qui permette de réaliser des paris sportifs.
Travail à réaliser :
Le site web devra permettre de :
- gérer un compte utilisateur
- gérer les paiements en ligne et le retrait des gains
- calculer les cotes sportives
- présenter les statistiques de gain d'un utilisateur et son historique
- afficher les résultats des rencontres sportives
- commenter les rencontres dans des forums spécialisés
- permettre aux utilisateurs d'échanger leurs conseils et leurs points de vue
- administrer le site
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3U - Génération automatique de paysages en 3D
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): application
Présentation du sujet
Les paysages 3D générés automatiquement sont utilisés dans de nombreux jeux vidéos ou films d'animation.
L'objectif de ce projet est d'implémenter des algorithmes de génération de paysages et 3D et de permettre leur visualisation.
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3V - Projet de domotique (humidité et température)
Nom de l'encadrant: Nathan Sanchez
Mail de l'encadrant :
Catégorie(s): IoT, Domotique
Contexte :
Le raspberry pi est un micro-ordinateur utilisé dans de nombreux environnements du fait de son prix réduit.
Il peut servir pour mettre en œuvre des solutions de domotique c'est à dire le pilotage informatique des appareils de la maison.
Objectifs :
- Concevoir un site web pour présenter les évolutions de la température et le taux d’humidité mesuré à partir d’une sonde réalisée avec un Raspberry Pi.
- Réaliser les montages électroniques selon les instructions fournies.
Langage(s) et technologie(s):
- Python
- Raspberry Pi
- Home-assistant
Référence(s) :
Mots-clés:
- Domotique, IoT
Remarque / Contraintes :
Sujet L3W - Application mobile de Covoiturage
Nom de l'encadrant : Christophe Gnaho
Mail de l'encadrant :
Catégorie(s): smartphone
Objectifs:
En pensant aux nombreux épisodes de grèves de transport en France, on peut se poser la question de savoir comment organiser et développer le Covoiturage.
L’objectif est d’une part de faciliter la mobilité des usagers pendant ces périodes, d’autre part de fluidifier le trafic et d’évier ainsi les embouteillages.
Travail à réaliser:
Il s’agit d’analyser, de concevoir et d’implémenter une application en Java Mobile, qui propose un certain nombre de fonctionnalité autour du Covoiturage. Cette application pourra s’appuyer sur la géolocalisation, pour permettre à un usager/voyageur intéressé, de trouver un moyen de transport (voiture, moto,…) en fonction de sa localisation.
Les fonctionnalités seront détaillées lors de la phase de conception avec les étudiants
Langages :
- Java/Android, Framework de Géolocalisation
- API REST
Mots-clés:
- Covoiturage, géolocalisation, application mobile
Sujet L3X - Développement d’un site web CRM pour freelance
Nom de l'encadrant:
Mail de l'encadrant :
Catégorie(s): Application web, Application de gestion
Contexte cible :
L’explosion du nombre de travailleurs indépendant nécessite une transformation profonde des outils numériques destinés aux entreprises.
En particulier, les CRM (Customer Relationship Management) que forment les outils de suivi, de facturation, et de communication avec les entreprises ne sont généralement pas taillés pour les freelances.
Objectifs :
Ce projet se focalisera sur la création d’un mini site internet pour les travailleurs indépendants intégrant un mini CRM.
A la fois vitrine et outil de gestion, le site permettra de gérer les planning d’intervention, la facturation et le suivi client.
Mots-clés :
- Startup, Business, CRM
Référence(s) :
Stages :
Sujet L3Y - Robot-racer
Nom de l'encadrant: Michel Soto
Mail de l'encadrant :
Catégorie(s): robotique
Présentation du sujet
L'UFR vient de se doter de mini-véhicules robotisés.
L'objectif de ce projet est de programmer ces véhicules pour :
- rendre autonomes les véhicules sur une piste aux contours délimités.
- faire des courses entre les différents véhicules en fonction de différents algorithmes et différentes implémentations.
- documenter le travail réalisé et réaliser un tutoriel pour permettre à d'autres étudiants de l'UFR d'implémenter leurs propres algorithmes dès l'année prochaine
Langage(s) et technologie(s):
- C
Mot(s)-clé(s):
- robotique
Référence(s) :
Contrainte(s) :
Sujet L3Z - Thymio : cartographie
Nom de l'encadrant: Michel Soto
Mail de l'encadrant :
Catégorie(s): robotique
Présentation du sujet
L'UFR vient de se doter de robots Thymio.
L'objectif de ce projet est de programmer le robot thymio pour :
- rendre autonomes le robot dans un environnement inconnu
- cartographier l'environnement du robot
- documenter le travail réalisé et réaliser un tutoriel pour permettre à d'autres étudiants de l'UFR d'implémenter leurs propres algorithmes d'exploration dès l'année prochaine
Langage(s) et technologie(s):
- A déterminer
Mot(s)-clé(s):
Référence(s) :
Contrainte(s) :
Sujet L3AA - Catégorisation de données textuelles « courtes » multilingues pour la détection des opinions
Encadrant : Nicoleta Rogovschi
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
Le sujet du projet concerne essentiellement le traitement des textes courts multilingues en vue de la détection des opinions du public vis-à-vis d’un discours ou œuvre présentée. Nous souhaitons procéder à la traduction systématique d’un volume de données de textes courts et leur catégorisation en vue de l’interprétation d’un point de vue linguistique en plusieurs langues (français et anglais essentiellement). Les données ainsi obtenues seront utilisées pour détecter les opinions du public sur une œuvre présentée. Il s’agit donc de détecter, à partir de réactions exprimées sur des textes courts, les opinions du public.
Objectifs :
Dans le cadre de ce projet, il s'agit de catégoriser les données textuelles en plusieurs catégories en prenants en compte la structure linguistique de données. Calculer des statistiques sur les catégories et les comparer avec les données de langue anglaise et allemande.
Travail à réaliser :
Catégorisation des tweets (français) et commentaires de films (anglais) en vue du développement d’un modèle d’extraction des connaissances semi-supervisé toute en minimisant la perte de la structure linguistique de données.
Références bibliographiques
n/a
Technologies
- Analyse de données, python
Contraintes:
n/a
Mots-clés
n/a
Remarques
n/a
Sujet L3AB - Portail web pour l’annotation de données textuelles
Encadrant : Nicoleta Rogovschi
Mail de l'encadrant :
Catégorie(s): site web, app. scientifique
Contexte
L'objectif de ce projet est de développer un outil web qui permettra de fournir aux utilisateurs un moyen facile d'annoter des données textuelles (tweets, commentaires, …) en leur attribuant une étiquette de sentiment : positif, négatif ou neutre et en réalisant des statistiques de base sur ces données.
Ces annotations sur les tweets et/ou les commentaires seront utilisés par un système d’apprentissage artificiel pour des études sur des jeux de données politiques.
Objectifs :
Développer une plateforme Web pour l’annotation des données textuelles.
Références bibliographiques
n/a
Technologies
- PHP, JavaScript
- Python et /ou R serait un plus
Contraintes:
n/a
Mots-clés
n/a
Remarques
n/a
Sujet L3AC - Anonymisation des données utilisant des techniques d’apprentissage non-supervisé
Encadrant : Nicoleta Rogovschi
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
De nos jours, quand les appareils électroniques, les capteurs et les réseaux créent de gros volumes de données et que le coût du stockage des données devient négligeable, l'intérêt et la demande croissante de la population pour la réutilisation de ces données augmentent. Les «données ouvertes» peuvent apporter des avantages évidents à la société, aux individus et aux organisations, mais seulement si les droits de tous sont respectés, pour la protection de leurs données personnelles et de leur vie privée. Les données ouvertes (open data) sont des données numériques d’origine publique ou privée qu’un organisme diffuse de manière structurée selon une méthode et une licence ouverte garantissant son libre accès et sa réutilisation par tous sans restriction technique, juridique ou financière. L'anonymisation peut être une bonne stratégie pour conserver les avantages et atténuer les risques [1]. Une fois qu'un ensemble de données est vraiment anonymisé et que les individus ne sont plus identifiables, la loi européenne sur la protection des données ne s'applique plus. Cependant, il ressort clairement des études de cas et des publications de recherche que la création d'un jeu de données véritablement anonyme à partir d'un ensemble riche de données personnelles, tout en conservant autant d'informations sous-jacentes que requises pour la tâche, n'est pas simple. Par exemple, un ensemble de données considéré comme anonyme peut être associé à un autre ensemble de données de telle sorte qu'un ou plusieurs individus peuvent être identifiés. D'autres données distinctives, comme la date de naissance et le code postal, se combinent souvent et peuvent être liées à des informations accessibles au public pour ré-identifier les individus.
Dans la littérature il existe plusieurs méthodes d’anonymisation de données tels que : k- anonymat [2], l-diversité [4], t-closeness [3]. Dans le cadre de ce stage, on va s’intéresser aux méthodes qui existent dans le domaine afin de les adapter au cadre de l’apprentissage non-supervisé.
Objectifs :
- Étudier l’état de l’art sur les méthodes d’anonymisation de données.
- Développer et tester de nouvelles méthodes en les adaptant au cadre de l’apprentissage non-supervisé.
- Valider les méthodes sur différents jeux de données réels.
Références bibliographiques
- [1] Bayardo, R.J., Agrawal, R.: Data privacy through optimal k-anonymization. In: International Conference on Data Engineering (2005)
- [2] Sweeney, L.: Achieving k-anonymity privacy protection using generalization and suppression. International Journal on Uncertainty, Fuzziness and Knowledge-based Systems (2002)
- [3] Ninghui, L., Tiancheng, L., & Venkatasubramanian, S. (2007). t-Closeness: Privacy beyond k-anonymity and l-diversity. In Proceedings - International Conference on Data Engineering (pp. 106-115). [4221659] DOI: 10.1109/ICDE.2007.367856
- [4] Ashwin Machanavajjhala, Daniel Kifer, Johannes Gehrke, and Muthuramakrishnan Venkitasubramaniam. 2007. L-diversity: Privacy beyond k-anonymity. ACM Trans. Knowl. Discov. Data 1, 1, Article 3 (March 2007). DOI=http://dx.doi.org/10.1145/1217299.1217302
Technologies
- Python et/ou R
Contraintes:
n/a
Mots-clés
- Data Mining
Remarques
n/a
Sujet L3AD - Sélection de descripteurs de forme par le biais de l’intégrale de Choquet
Encadrant : Laurent Wendling
Mail de l'encadrant :
Catégorie(s): intelligence artificielle
Contexte
Les descripteurs de formes utilisés pour reconnaître des « pattern » (objets dans des images, symboles ou données expertes) sont souvent sensibles aux transformations et sont généralement considérés comme indépendants alors que c'est rarement le cas car ils visent le même objectif. Pour de nombreuses applications (défauts dans des planches de bois, symboles, gradation de cancers, sondages…) nous disposons de résultats de descripteurs (valeurs numériques comme la compacité, le degré d’allongement, le nombre de segments…) pour chaque classe considérée (diode, résistance, condensateur… si on considère une base de symboles électroniques). Nous proposons ici d’étudier et d’implémenter une méthode de sélection automatique qui permet de sélectionner le groupe des descripteurs les plus performants en fonction d’une application donnée et qui est efficace lorsque l’on possède peu de données d’apprentissage.
Objectifs :
Une manière efficace de pallier ce problème, dans le cadre de la mise en correspondance de descripteurs (ou critères), est fournie par le mécanisme de calcul de l'intégrale de Choquet. L’apprentissage de cette mesure floue (qui peut s’apparenter à un réseau de neurones de type perceptron sur plusieurs aspects) se fait à partir d’un algorithme de descente de Gradient avec contraintes à partir des données d’apprentissage obtenues pour chaque descripteur. Il s’agira ici de poursuivre des travaux commencés l’année passée en calculant des indices (importance et interactions) et en les intégrant dans un mécanisme de sélection de descripteurs pour affiner la reconnaissance.
Les étapes à suivre sont les suivantes :
- Étude de l’existant et compréhension du concept.
- Calcul des indices d’importance de descripteurs (mesure provenant de la théorie des jeux) et de l’interaction entre descripteurs.
- Définition d’un mécanisme de sélection automatique (en fonction par exemple du taux de reconnaissance)
- Éventuellement la création d’une interface permettant de tester plus facilement cette approche sur différentes bases (valeurs des descripteurs fournies par classe).
Références bibliographiques
- M. Grabisch, A new algorithm for identifying fuzzy measures and its application to pattern recognition, Int. Joint Conf. 4th IEEE Int. Conf. Fuzzy Systems and the 2nd Int. Fuzzy Engineering Symp., Yokohama, Japan (March 1995), pp. 145–150.
- Rendek J., Wendling L., “On Determining Suitable Subsets of Decision Rules using Choquet Integral”, International Journal of Pattern Recognition and Artificial Intelligence, 22(2):207-232, 2008.
- D’autres références (articles) seront fournies
Technologies
- Java (ou éventuellement Python)
Contraintes:
n/a
Mots-clés
- Reconnaissance des formes, agrégation multicritères, apprentissage, classification
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Sujet L3AE - Recherche de séries ordonnées de pattern en combinant descripteur de Fourier générique et représentation structurelle spatiale
Encadrant : Laurent Wendling
Mail de l'encadrant :
Catégorie(s): app. scientifique
Objectifs :
Les symboles sont des formes graphiques, en deux dimensions, intégrant dans leur composition une information conceptuelle de plus haut niveau. L’extraction et la reconnaissance de symboles, à l’intérieur d’un document, sont des étapes clefs vers la compréhension et l’interprétation de son contenu.
Lorsque l’on considère une grande base d’images de documents techniques (ici des plans de type avionique), il peut être intéressant de rechercher à la volée un symbole particulier dans un ensemble d’images et déterminer si les patterns correspondants sont structurés entre eux (par exemple des cercles ou des segments qui suivent une droite).
Nous proposons ici d’étudier une approche hybride (statistique à partir d’un descripteur de Fourier générique) et structurelle (avec des règles de composition suivant une direction par exemple) pour extraire des séries de patterns.
Références bibliographiques
- fournis avec le projet
Technologies
C/C++ ou java
Contraintes:
n/a
Mots-clés
symbole, description structurelle, descripteurs de forme
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AF - Extraction d’annotations dans des images médicales à partir d’une segmentation fondée sur le calcul de l’entropie floue
Encadrant : Laurent Wendling
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
Les praticiens utilisent souvent des annotations en imagerie médicale pour pointer ou donner des indications sur des zones d’intérêt pouvant être associées à différentes pathologies. Les bases d’images deviennent de plus en plus conséquentes et un des challenges actuels est le recensement automatique des zones pointées pour mieux catégoriser les pathologies, leur évolution… La segmentation est souvent la première étape d’un système de reconnaissance des formes. La qualité de ce traitement est importante car il conditionne la précision des traitements ultérieurs. De ce fait, la plupart des modèles se fondent sur des seuils fixés à la main. Ces derniers sont difficilement transposables lorsque les conditions d’acquisition changent et sont fortement dépendants du contenu des images. Il est donc important d’avoir des modèles robustes, et automatiques, permettant de trouver les régions contenues dans les images.
Objectifs :
L’objectif de ce sujet est de définir un critère automatique de segmentation permettant une meilleure localisation des annotations (symboles, textes, flèches…) contenus dans les images médicales.
Les étapes à suivre sont les suivantes
- Étudier et d’implémenter, une approche de binarisation en deux régions (forme et fond) à partir d’un critère d’entropie floue,
- Calcul des composantes connexes sur chaque niveaux et extraction (1 fichier par cc),
- Classification des différentes composantes (à partir descripteur de formes fournis) à partir d’une vérité terrain (petites images correspondant à des annotation types recherchées).
Références bibliographiques
- articles et documentation fournis avec le projet
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Ce sujet entre dans le cadre d’une collaboration avec le National Institutes of Health (NIH) de Washintgon et l’université du Dakota du Sud.
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AG - Reconnaissance de configurations fondée sur la mise en correspondance de k-formules relationnelles dans des graphes à structure rigide
Encadrant : Laurent Wendling
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
Ces dernières années, la disposition spatiale des objets (ou des différents sous-objets composant les objets) présents dans une image a reçu une attention particulière dans le domaine de l’analyse d’images. Les relations spatiales liant les différents objets de scènes constituent en effet, une information particulièrement importante sur la composition de celles-ci. De nouveaux axes de recherche (via par exemple l’utilisation de drones) se focalisent sur la reconnaissance de scènes correspondant à des configurations connues (ensemble de bâtiments, groupes de personnes, de véhicules…) suivant des échelles et des orientations différentes.
Objectifs :
L’objectif de ce sujet est de mettre en œuvre et d’analyser la faisabilité sur des images tests de l’intérêt d’une nouvelle approche d’appariement entre scènes qui intègre représentation de la scène sous la forme d’un graphe et une description spatiale entre couples de régions (arcs).
Les étapes à suivre sont les suivantes
- Lecture d’images déjà segmentées et calcul de la représentation des graphes associés à partir du barycentre de chaque région,
- Calcul d’une série de distributions directionnelles relationnelles (vecteurs de caractéristiques à normaliser pour prendre en compte l’échelle) entre chaque couple de régions ; le programme générant les distributions entre deux régions sera fourni,
- Génération des k-formules à partir d’une direction fixée pour les deux graphes,
- Modélisation de l’appariement (calcul de distance entre les distribuions portées par les k-formules de même cardinalité) pour obtenir une première distance globale entre les deux représentations,
- Rotations successives sur un graphe pour obtenir l’appariement optimal (prise en compte de la rotation),
- Suivant l’état d’avancement la détection des changements (déplacement et suivi d’une région) pourra être étudiée.
Références bibliographiques
n/a
Technologies
C/C
Contraintes:
n/a
Mots-clés
Graphes, appariement, relations spatiales
Remarques
Ce sujet entre dans une collaboration entre l’équipe de recherche SIP et une entreprise Toulousaine (Magellium) spécialisée dans la détection de situations à risque.
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AH - Plateforme de suggestion de voyage en ligne
Encadrant : Maxime Lhoumeau
Mail de l'encadrant :
Catégorie(s): app. autonome, framework/librairie, open-source, web-service
Contexte
Le réseau français de transports est aujourd'hui très présent sur les réseaux. Routes, trains, avions sont traqués et le suivi des prévisions de traffic est accessible au grand public. Ou allez ce week-end ? Creer une plateforme simple d'usage usant de tout les flux.
Objectifs :
L'objectif est d'alimenter une base de données avec des flux provenant:
-du réseau routier
-du réseau ferroviaire via la plateforme open data sncf
-d'autres réseaux
-de flux météo
Fournir à l'utilisateur une plateforme de suggestion de voyage (ou voyager depuis Paris pour avoir le soleil en moins de 2h ?).
Les technologies utilisées seront :
-Front en JS ou frameworks
-Back permettant la récupération des données, l'aggrégation et mise en place d'une API en JAVA
-Connexion à une base de données NOSQL ou SQL
Références bibliographiques
n/a
Technologies
JAVA,JS,Frameworks
Contraintes:
Bases de données
Mots-clés
API,
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AI - Unity 3D : Jeu de la Vie.
Encadrant : Claude Lattaud
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
Le jeu de la vie, élaboré en 1970 par J. Conway, est un problème particulièrement étudié en Vie Artificielle. A partir d’un système à base de règles très simples, de nombreuses structures typiques émergent, certaines de celles-ci dénotant des propriétés proches de celles rencontrées dans la nature. L’objectif de ce projet est d’étendre une des notions du jeu de la vie classique en 2D vers la 3D.
Objectifs :
Initialement, le jeu de la vie est un automate cellulaire construit à partir d'une grille discrète à deux dimensions. Il s’agira alors de construire un jeu de la vie étendu considérant non plus deux dimensions mais trois et évoluant à partir d'un jeu de règles de type Life32, de Johan Bontes. La deuxième étape sera de rechercher les règles aux frontières du chaos, i.e. dont les constructions 3D ont des propriétés proches de la vie. Plusieurs questions peuvent ainsi se poser, telles que, quel est l’effet de l'augmentation de la dimension sur les comportements globaux du système ? Pourquoi ? Est-il possible de distinguer de nouvelles classes de complexité ? Etc. Après une bibliographie concernant le jeu de la vie et la classification des automates cellulaires de Wolfram, en regard du passage à la 3D, il sera donc nécessaire d’analyser la problématique de ce sujet. Finalement, les expérimentations mettront en évidence des structures et comportements prenant place dans la classification de Wolfram, telles que des structures stables, des oscillateurs ou encore des structures mobiles, voire d’autres types de structures à définir.
Selon les compétences des étudiants, ce jeu de la vie pourra être enrichi de nouvelles options, modifiant par exemple le type et l'extension du voisinage lors du calcul des transitions de t à t+1, différents états intermédiaires entre la vie et la mort d'une cellule, etc.
Références bibliographiques
Technologies
Unity
Contraintes:
n/a
Mots-clés
Jeu de la Vie
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AJ - Unity 3D : Proies – prédateurs.
Encadrant : Claude Lattaud
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
Les systèmes proies – prédateurs sont des systèmes particulièrement étudiés en Vie Artificielle. Ils permettent, entre autres, de mettre en évidence de nombreux comportements, individuels comme collectifs, très proches de ceux observés dans le milieu naturel. L'objectif de ce projet est de développer une application 3D, basée sur Unity, mettant en jeu des agents mobiles de types différents et se nourrissant les uns des autres, i.e. des proies et des prédateurs.
Objectifs :
Dans un premier temps, les étudiants devront lire une bibliographie du domaine orientée vers les systèmes proies – prédateurs. Ensuite, ils établiront un modèle multi-agents, avec des agents autotrophes et d'autres agents hétérotrophes, basés sur ce qui est observable dans la nature. Ils construiront une sorte de laboratoire virtuel où l'ensemble des paramètres de simulation sera accessible à l'utilisateur. Celui-ci pourra, par exemple, ajuster la quantité et la consommation de ressources, pour n types de ressources, dans n onglets séparés.
En modulant les paramètres de leur laboratoire virtuel, les étudiants mettront en évidence l'émergence de comportements individuels et collectifs tels que la prédation, l'effondrement de populations, l'apparition de cascades trophiques, etc. Finalement, ils devront être capables, lors de la soutenance, de présenter plusieurs simulations aboutissant à des résultats à l'aide de leur application.
Références bibliographiques
Technologies
Unity
Contraintes:
n/a
Mots-clés
Simulation
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AK - Java Android – Aide à la randonnée et astronomie.
Encadrant : Claude Lattaud
Mail de l'encadrant :
Catégorie(s): smartphone
Contexte
L'objectif de ce projet est d'apporter des améliorations à une application Android développée durant les années précédentes. Celle-ci est une suite d'outils d'aide à la randonnée, allant de la reconnaissance de plantes et de champignons à la reconnaissance de constellations.
Objectifs :
Cette année, les étudiants devront aborder deux pans de l'application. Premièrement, ils ajouteront au module d'astronomie non pas une surcouche de reconnaissance automatique mais une variation consistant en la reproduction d'un ciel étoilé en fonction des coordonnées GPS et de l'orientation du mobile. Ainsi, ce ciel virtuel pourra venir se plaquer sur le ciel réel, en réalité augmentée, et apporter à l'utilisateur toutes les informations requises, telles que les noms et les informations des étoiles, des planètes et des constellations, les points cardinaux, etc.
Dans un second temps, les étudiants sépareront bien les différentes parties liées à la reconnaissance automatique qui existent dans l'application afin de pouvoir les télécharger séparément, sous forme de modules. Ceux-ci correspondent à la reconnaissance des plantes, des champignons, des empreintes animales, des chants d'oiseaux et finalement des constellations.
Selon le temps et la motivation des étudiants, ils pourraient ajouter d'autres modules tels que la reconnaissance de fleurs, par exemple. L'application devra être autonome, i.e. fonctionner sans accès à internet, robuste et permettre des enrichissements à l'avenir via d'autres projets et donc d'autres modules.
Références bibliographiques
Java Android : https://openclassrooms.com/courses/creez-des-applications-pour-android
Technologies
Java Android
Contraintes:
n/a
Mots-clés
Astronomie
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Sujet L3AL - Unity 3D - Jeu de stratégie et IA
Encadrant : Claude Lattaud
Mail de l'encadrant :
Catégorie(s): jeu vidéo
Contexte
Ce projet se base sur un projet développé par des étudiants durant les années passées. Ceux-ci ont défini les règles d'un jeu de stratégie, conçu les pièces en 3D et réalisé une application fonctionnelle, mais sans y intégrer une IA un minimum efficace. Le rôle de chaque pièce est bien délimité par son type. L'an dernier, un groupe d'étudiants a travaillé sur l'amélioration d'une approche générique d'une méthode d'IA nommée « systèmes de classifieurs ». Cependant, cette approche ne s'est pas révélée particulièrement efficace.
Objectifs :
L'objectif du projet de cette année est donc d'aborder le problème sous un autre angle, i.e. une « IA » dépourvue d'apprentissage. Après avoir bien assimilé les travaux de leurs prédécesseurs, les étudiants devront donc se pencher sur la réalisation d'un module du jeu présentant certains aspects d'une IA, mais sans aucune capacité d'apprentissage. Les comportements des unités seront alors guidés par des scripts, ou suites de scripts, prédéfinis par les étudiants. Ensuite, ils devront tester les performances de leur module contre un joueur humain, puis contre les différentes IA implémentées actuellement dans le jeu.
Finalement, lors de la soutenance, les étudiants feront une démonstration de leur application dans un face-à-face contre l'ordinateur.
Références bibliographiques
Technologies
Unity
Contraintes:
n/a
Mots-clés
Jeux vidéo, IA
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Oui
Sujet L3AM - Mise en place d’un outil collaboratif pour gérer une association en ligne
Encadrant : Fouad MILOUDI
Mail de l'encadrant :
Catégorie(s): app. gestion
Contexte
Contexte :
le monde associatif a besoin de se structurer avec des outils performants afin d'être plus efficaces et effectuer ses missions dans les meilleurs conditions possible
Objectifs :
Objectifs :
L’objectif de cette plateforme est d’aider les bénévoles d’une association à mieux se structurer, suivre l’évolution de leurs associations et superviser leurs adhérents
Réalisations attendues (e.g. site web, application mobile) :
Mettre en place les fonctionnalités suivantes :
- L’objectif est de réaliser une plateforme web.
Description détaillée du projet
Description des tâches fonctionnelles :
- Gestion d’adhésion
- Ajouter un nouvel adhérent
- Envoyer une carte d’adhésion
- Relancer l’adhérent lorsque l’adhésion arrive à expiration
- Charger en masse des adhérents depuis un fichier excel
- Communication
- Possibilité d’envoyer un mail à l’adhérent
- Possibilité de faire publipostage
- Billetterie
- Création d’une billetterie et la diffuser en ligne
- Paiement
- Voir la possibilité de mettre en place un outil de paiement d’adhésion
- Mettre en place plusieurs formules
- Gratuit pour les associations de moins 30 Adhérents
- 10 par mois association moins de 200 adhérents
- 20 par mois association moins de 500 adhérents
- 50 euros illimités
Description des tâches techniques :
- Réalisation d’une plateforme administration
- Réalisation d’une plateforme pour président d’une association
Références bibliographiques
n/a
Technologies
Libre
Contraintes:
application web
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AN - Mise en place d'une plateforme web permettant d'enregistrer automatiquement sur un Sharepoint et suivre une mission
Encadrant : RAKOTOZAFY Lova
Mail de l'encadrant :
Catégorie(s): site web
Contexte
Notre entreprise est une entreprise spécialisé dans le conseil et dans l'Audit.
Dans le cadre de l'amélioration de nos processus, nous souhaiterions mettre en place un outil centralisant nos travaux année par année
Objectifs :
- Créer un onglet dans Excel permettant de mettre un état d'avancement :
Réalisé par : “Rempli automatiquement avec le nom de l'utilisateur”
(option disponible seulement si le document a été “réalisé par”)Revu par : “Rempli automatiquement avec le nom de l'utilisateur” (option disponible seulement si le document a été “revu par”) Revue finale par : “Rempli automatiquement avec le nom de l'utilisateur”
Requis
- Pour chaque document, utilisation du template préfait
- Laisser la possibilité aux utilisateurs d'utiliser un template provenant de leur ordinateur
- Les documents doivent être stockées sur un cloud - Nous utilisons l'outil Sharepoint et Teams pour sauvegarder les données
- Pouvoir catégoriser les documents excel par thème
- Grâce aux états présentés ci-dessus, mettre à disposition une base de données permettant de réaliser des KPI pour suivre l'avancement d'une mission (au format BI, intégré dans la page d'accueil web
- “Lier” des fichiers au document Excel pour qu'ils soient rattachés exclusivement au document utilisé
Notre entreprise ayant besoin d'historiser les travaux chaque année, il faut que la “base” puissent être archivée
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Oui
Sujet L3AO - Tetris 4G
Encadrant : Nicolas Denis
Mail de l'encadrant :
Catégorie(s): app. autonome, framework/librairie, jeu vidéo, smartphone
Contexte
Créer un jeu de Tetris innovant, pour smartphone
Objectifs :
Créer un jeu de Tétris dans lequel :
- Les pièces apparaissent au centre de l’écran,
- la gravité s’exerce dans une direction différente pour chaque quart d’écran : vers le bas pour le ¼ bas de l’écran, la droite pour le ¼ droit, etc.
- La partie est terminée quand les pièces ont rejoint le centre de l’écran.
- Les pièces doivent pouvoir tourner sur elles-mêmes (tours de 90°).
- La complexité doit aller croissante avec le temps : pièces de plus en plus complexes, vitesse augmentant, etc.
En supplément :
- Possibilité de voir la pièce suivante.
- Possibilité d’enregistrer ses scores, d’avoir accès aux scores d’autres joueurs, etc.
- Imaginer des bonus (pièces de Tétris spéciales).
Références bibliographiques
n/a
Technologies
java, Unity
Contraintes:
Avoir un smartphone
Mots-clés
Tétris, jeu sur smartphone, Unity, Android
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AP - MiniStratege - Jeu vidéo pour tablette
Encadrant : Nicolas Denis
Mail de l'encadrant :
Catégorie(s): app. autonome, jeu vidéo, smartphone
Contexte
Développer un jeu de stratégie à deux joueurs simple, pour tablettes
Objectifs :
Le jeu propose un plateau rectangulaire composés de carrés.
Le terrain est constitué à chaque nouveau jeu :
- case terre, déplacement normal pour les unités terrestres,
- case collines, déplacement -10% pour les unités terrestres,
- case montagnes, déplacement -30% pour les unités terrestres,
- case mer, déplacement normal pour les unités maritimes.
Chaque joueur reçoit 100 points de production, avec lesquels il doit sélectionner des unités, avec les caractéristiques suivantes :
- attaque de 1 à 5
- défense de 1 à 5
- vitesse de déplacement de 1 à 5
- puissance de 1 à 5
- rayon d'action de 1 à 5
Chaque niveau (1 à 5) de chaque caractéristique coûte autant de points de production. Terrestre/Maritime/Aérien Il est possible de construire des aéroports.
Un spécificité pour la puissance 5 : l'armement ne pourra servir qu'une seule fois.
Les unités aériennes ne peuvent passer plus de 4 tours sans se poser sur un aéroport.
Les attaques se jouent au dé :
l'attaquant et le défenseur lancent sucessivement le dé : les points obtenus s'ajoutent respectivement aux points d'attaque de l'un et aux points de défense de l'autre. Celui obtenant le plus fort résultat l'emporte.
Références bibliographiques
n/a
Technologies
java, Unity
Contraintes:
n/a
Mots-clés
jeu; stratégie; tablette
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AQ - MycoKey
Encadrant : Gwenaël Ruprich-Robert
Mail de l'encadrant :
Catégorie(s): app. autonome
Contexte
Le pharmacien d’officine doit être capable d’identifier les principaux champignons que l’on peut ramasser en forêt. Dans ce cadre, il est proposé de développer un outil simple d’identification des grands groupes, tels que les Cèpes ou les Amanites. Pour ces grands groupes, l’ajout de clés permettant d’aller jusqu’à l’espèce serait un vrai plus. La cueillette des champignons en France est très répandue et cette application vise à faciliter l’identification et à alerter sur les espèces toxiques.
Objectifs :
L'objectif de ce projet est de réaliser une application qui fonctionne sur smartphones Androïd et Apple. Elle devra permettre :
- De recenser et d'explorer les différents groupes de champignon en s’appuyant sur des clés d’identification déjà existantes ;
- D'informer sur les principales espèces et les risques associés ;
- De présenter les caractéristiques des différents groupes de champignons
- De proposer des conseils pour la cueillette et la préparation des espèces comestibles ;
- De proposer un aide-mémoire pour les espèces les plus fréquentes.
Références bibliographiques
n/a
Technologies
n/a
Contraintes:
n/a
Mots-clés
n/a
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AR - Kourte : l'art à la rencontre de la route
Encadrant : Flavie Tonon
Mail de l'encadrant :
Catégorie(s): app. autonome
Contexte
Claude-CLd est une artiste visuelle, doctorante en recherche-création à l'université Paris 8. Son projet, Kourte, est un projet d'application mobile permettant d'obtenir un tracé de la route.
Pour l'instant, Claude-CLd a fait ce tracé manuellement en se laissant guider par les mouvements du véhicule (les virages, les feux rouge ou les stop qui impliquent un arrêt, donc un point qui grossit selon la durée de l'attente, etc.). 5 de ces œuvres ont été publiées sur son site internet (https://www.claude-cld.com).
Elle souhaite automatiser ce processus à l'aide d'une application mobile qui exploiterait les données des capteurs du smartphone.
A Montréal, il existe des véhicules équipés permettant d'ausculter l'état des routes à l'aide de capteurs. Le principe est proche mais la finalité est différente. C'est l'idée du parcours qui compte non l'état de la route qui n'est qu'un des facteurs.
Objectifs :
- Enregistrer chaque vibration d'un trajet et la coordonnée GPS associée.
- Afficher à postériori une animation des vibrations enregistrées, une courbe qui se dessine en temps réel pour pouvoir revivre le trajet. Les coordonnées GPS doivent être indiquées.
- Il est important de gérer la pression selon la route avec parfois des traits rapides et légers et parfois des traits lourds, empâtés.
Références bibliographiques
Technologies
n/a
Contraintes:
n/a
Mots-clés
mobile,gps,capteur,smartphone,art
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AS - Le guide urbain mobile 2.0
Encadrant : Julia Rea
Mail de l'encadrant :
Catégorie(s): smartphone
Contexte
Le but est de présenter la ville différemment, via une application mobile, et de découvrir ses secrets architecturaux, comme pourrait le faire un guide audio dans un musée.
Objectifs :
L'objectif est d'avoir une carte interactive sur smartphone, type GoogleEarth, de la ville de Paris, qui géolocalise des lieux sur la carte et permet d'accéder à des articles/informations les concernant. Ces informations sont principalement du texte et quelques images pour parler des lieux en question.
La carte GoogleEarth doit être de bonne qualité, fluide, facilement manipulable. Les articles peuvent être soit lus, soit écoutés. La mise en page doit permettre un confort de lecture, comme le fait un ebook. Une section “commentaires” doit permettre aux utilisateurs de s'exprimer et d'échanger.
Une progressive web app semble plus appropriée pour ce travail, et doit offrir les avantages d'une application mobile classique. Des wireframes ont été réalisées pour orienter les étudiants.
Références bibliographiques
Technologies
Progressive Web App
Contraintes:
Mots-clés
Géolocalisation / Guide audio / GoogleEarth / Carte interactive / Culture / Architecture
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non
Sujet L3AT - objets connectés et protocole MQTT
Encadrant : Olivier Grossat
Mail de l'encadrant :
Catégorie(s): prototypage
Contexte
Pour Union internationale des chemins de fer, il s’agit par ce POC (Proof Of Concept) de montrer la faisabilité technique sur des installations réelles du protocole mqtt avec un serveur node-red pour la remonter des alertes, l’enregistrement des événements et ainsi permettre de déclencher au bon moment les opérations de maintenance correspondant au défaut.
Objectifs :
Le projet consiste à modifier le code source des trois projets réalisés en C++ pour y ajouter la couche réseau IP et MQTT et permettre l'usage des projets avec un serveur node-red.
Les projets sont :
- Surveillance non intrusive de la chaine cinématique de manœuvre des aiguillages
- Surveillance non intrusive et accélérateur de shunt pour circuits de voies à fréquences musicales
- Dispositif de détection et de localisation de rupture de rai
Références bibliographiques
https://deltalabprototype.fr/tutoriel-objet-connecte/
Technologies
MQTT,Node-Red,C++,Arduion,4G
Contraintes:
n/a
Mots-clés
TCP/IP,MQTT,Node-Red,C++,Arduion,4G
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Oui
Sujet L3AU - Intelligence artificielle appliquée à l'agriculture et au vivant
Encadrant : Olivier Grossat
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
Les changements climatiques, l'agriculture intensive, l'appauvrissement des sols, et de nouvelles maladies rendent de plus en plus incertaine la gestion agricole.
Il devient essentiel d'avoir un dispositif permettant de comprendre les signaux avant-coureurs des végétaux pour chaque situation et y répondre au mieux.
Le sujet rentre dans le cadre d'un projet plus grand lié à DeltaLab FabLab au sud de la France, qui développe un réseau d'objets connectés ouvert et gratuit en utilisant la technologie lorawan pour le domaine agricole
Objectifs :
Nous vous proposons de travailler sur un dispositif s'appuyant sur une Raspberry Pi qui permettra par de l'intelligence artificielle de comprendre au mieux chaque situation agricole, et y répondre avec les mesures les plus adaptées et ainsi éviter le maximum de traitement chimique.
Le dispositif sera équipé d'une caméra qui permettra l'analyse par réseau de neurones dès végétaux filmer il sera aussi équipé de capteur d'humidité de pression atmosphérique et de température en I2C.
Le principe retenu en Intelligence artificiel est une série de réseau de neurones. Les images de la caméra seront traitées: Par la première série de réseau de neurones qui permettra de reconnaître les différents types de végétaux pour les classifier et les trier. Par la seconde série utilisera un quadrillage pour regrouper par situation homogène Les plantes observer par leur couleur, leur taille et leur densité. Par la troisième série permettra de classifier chaque îlot appartenant à une classe homogène leur niveau sanitaire. Comparera les îlots d'une classe homogène par rapport à leur développement et la saison en cours pour trier en cinque catégorie sanitaire“très bien, bien, passable, mauvais, grave” Pour les deux dernières catégories sanitaires, ses informations seront mises en correspondance avec les capteurs de pression atmosphérique de température et d'humidité ainsi que la date pour avoir une saisonnalité des plantes pour faire un pré diagnostic de leurs possible maladies.
Le résultat des analyses sera envoyé par wifi ou lorawan un serveur node-red pour qu'il génère des graphiques de vitalité des plantes observés en fonction de la date de l'humidité de la pression atmosphérique et de la température.
Références bibliographiques
n/a
Technologies
Raspberry Pi, Intelligence artificiel, MQTT
Contraintes:
n/a
Mots-clés
Raspberry Pi, Intelligence artificiel, réseau de neurones, LoraWan,Wifi, NodeRed
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AV - Application web d'analyse de faux comptes de réseaux sociaux
Encadrant : Olivier Grossat
Mail de l'encadrant :
Catégorie(s): intelligence artificielle
Contexte
L'importance des réseaux sociaux comme Twitter est un baromètre de l'opinion publique pour les grands médias.
Cela a généré une très forte augmentation de faux utilisateur de réseaux sociaux, aussi bien sur Twitter Facebook et autres, pour manipuler l'opinion publique et devient au fur et à mesure des années de plus en plus problématique pour la Démocratie.
Certaines grandes sociétés ou partis politiques se servant de faux utilisateurs de réseaux sociaux pour légitimer des politiques peu vertueuses ou peu sociales.
Objectifs :
Créer une application web permettant d'identifier de faux utilisateurs de réseaux sociaux en s'appuyant sur de l'intelligence artificielle.
- La première étape sera de caractériser le type de faux utilisateur.
- La seconde étape sera de diagnostiquer par type de faux utilisateurs les marqueurs qui permettent de les trouver.
- La troisième étape sera d'entraîner une intelligence artificielle à repérer ses différents marqueurs de manière à classifier les faux utilisateurs et repérer les vrais.
- La 4e étape sera la création d'une interface web permettant à n'importe quelle personne faire une recherche sur un sujet et voir le nombre de faux compte utilisateur utiliser ainsi que leur orientation ainsi qu’une carte pour en simplifier la lecture.
Cette application web permettra au journaliste et au citoyen d'avoir une idée plus objective des leviers utilisés pour influencer les opinions publiques.
Références bibliographiques
n/a
Technologies
Intelligence Artificielle, Web
Contraintes:
n/a
Mots-clés
Twitter, Facebook, Démocratie, Intelligence Artificielle, Web
Remarques
Possibilité de stage à l’issue du projet: Non
Poursuite d’un projet déjà existant: Non
Sujet L3AW - Boite à questions
Encadrant : Alaa DANDAN
Mail de l'encadrant :
Catégorie(s): intelligence artificielle, jeu vidéo, smartphone
Contexte
Le but de ce projet est de réaliser un jeu ludique qui permet de se souvenir des choses que l’on pense essentielles.
Comme vous le savez sûrement, l'être humain a la fâcheuse tendance d’oublier, même si malheureusement cela n’est pas son intention, il est confronté à un problème assez ennuyeux qui est de réviser plusieurs fois la même chose. Certains spécialistes se sont penchés sur la question et ont mis en place un ensemble de solutions pour ne plus oublier.
Objectifs :
Le but de notre programme est d'exploiter une de ces solutions par la création d’un programme interactif nommé la boite à questions.
La boite à question consiste à prendre une boite et à mettre à l’intérieur des questions. Si la personne répond correctement à la question disposée en pôle position, la question est placée à la fin de la boîte. Si la réponse est fausse il faudra dans ce cas mettre la question le plus proche possible de la pôle position pour la revoir le plus rapidement possible.
L'application Android développée devra, grâce à une interface simple et intuitive, proposer à un utilisateur de créer des questions et/ou d’y répondre.
Références bibliographiques
n/a
Technologies
Android Studio, MySQL / MariaDB / PostgreSql
Contraintes:
n/a
Mots-clés
Application Android, Base de données
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non
Sujet L3AX - Facturation
Encadrant : Alaa DANDAN
Mail de l'encadrant :
Catégorie(s): app. gestion, framework/librairie, site web
Contexte
Toute entreprise a un besoin fonctionnel important, la facturation de ses clients.
Objectifs :
Le but de ce projet est de créer une application web capable de générer des factures en PDF et de générer des relances de factures non payées.
L'application devra également permettre de gérer l'ensemble des factures éditées.
Références bibliographiques
n/a
Technologies
Le choix des langages
- Langage serveur : JAVA EE
- Frameworks :iText, log4J, JDBC
- Gestion de base de données : PostgreSQL
- Langages front-end : HTML, CSS, JavaScript (React/Angular)
Contraintes:
n/a
Mots-clés
Application Web, Base de données
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Non
Sujet L3AY - Optimization d'un programme de tri pour les donnees de sequencage NGS.
Encadrant : Frederic Jarlier
Mail de l'encadrant :
Catégorie(s): app. scientifique
Contexte
Il s'agit d'optimiser des outils HPC developpes par l'Institut Curie. Ces outils servent a l'interpretation des donnees
issues d'un sequencage massivement parallele.
Ce projet est a la frontiere entre le HPC et la bioinformatique.
Objectifs :
Le bottleneck que nous rencontrons actuellement sur un outil de tri parallelise est la lecture et l'ecriture et la lecture des donnees.
En effet a l'heure actuelle le format supporte a la lecture et l'ecriture est au format texte (SAM). Alors qu'un format standard binaire existe (BAM) ainsi qu'un format compact (CRAM).
Le but de ce projet est de developper une librairie, ecrite en C et compatible avec la norme MPI, permettant de supporter le format BAM dans le programme existant (mpiSORT). Et ainsi le rendre compatible avec les outils de la bioinformatiques standards.
Le projet consiste aussi a evaluer les performances et le gain obtenu.
Ce programme devra s'executer sur l'architecture HPC de l'Institut Curie.
A l'issue de ce projet les etudiants seront capables de manipuler plus facilement des donnees bioinformatiques et maitriserons le format de compressions BAM.
Références bibliographiques
- Jarlier F, Joly N, Fedy N et al. QUARTIC: QUick pArallel algoRithms for high-Throughput sequencIng data proCessing. F1000Research 2020, 9:240 (https://doi.org/10.12688/f1000research.22954.2)
Technologies
- MPI
Contraintes:
- langage C
Mots-clés
- MPI, IO, BAM, CRAM, C
Remarques
Possibilité de stage à l’issue du projet: Oui
Poursuite d’un projet déjà existant: Oui
Sujet L3AZ - Big data application
Nom de l'encadrant: Dragutin Jastrebic, Koviljka Lukic Jastrebic
Mail de l'encadrant :
Catégorie(s): Découverte
Présentation du sujet
Selon Wikipedia, Big data, littéralement les « grosses données », ou mégadonnées , parfois appelées données massives , désignent des ensembles de données qui deviennent tellement volumineux qu'ils en deviennent difficiles à travailler avec des outils classiques de gestion de base de données ou de gestion de l'information .
D’où provient cette masse de données ?
Les systèmes traditionnels, contenant les données structurés, appelées les SGBDR, stockent des données de plus en plus volumineuses.
- Ils gardent de plus en plus de données historiques.
- Les logiciels sont de plus en plus nombreux, à part les logiciels dédiés aux entreprises, les sites internet et/ou des logiciels grand public tel que Youtube,Facebook, Twiter contribuent à cette explosion de données
- Les bases de données contiennent les données de plus en plus détaillées.
Par exemple les systèmes de facturations des téléphones portables stockent les informations sur la géo-localisation avec l'apparition des smartphones
La croissance des données non-structurées est également présente:
Par exemple, pour développer le logiciel X un groupe de Y développeurs à travaillé sur Z ordinateurs et a échangé N mails, et a écrit M documents qui accompagnent le logiciel. Le logiciel en question produit aussi une quantité importante de traces applicatives, indiquant le nombre de connexions, le nombre d'actions (lectures, mises à jour) etc. Ces données (e-mails, documents, traces) sont potentiellement intéressantes pour le management de l'entreprise.
Toutes ces données, structurées et non-structurées, publiques, données d’entreprise, sont en format électronique, donc, potentiellement exploitables par des logiciels.
Toutes ces données sont donc Big Data.
Les bases de données traditionnelles Oracle, SQL Server DB2 ont été conçues pour garantir l'accès concurrent aux données, l'aspect transactionnel des traitements, pour pouvoir accepter des centaines de sessions utilisateurs, pour fournir des métriques précises sur l'utilisation du système au niveau de processeur, mémoire, réseau.
Ces bases de données sont donc plus lentes en termes de consultation de données massives et non structurées.
Des nouvelles technologies comme Hadoop, et bien d'autres sont orientées uniquement vers la consultation des données, traitement massif des données, structurées ou non structurés.
Hadoop implémente la technologie du sharding, qui distribue le travail sur plusieurs nœuds et permet de cette façon de traiter une masse de données importante. Les outils qui accompagnent Hadoop sont Hive, Hbase, Spark…
Dans le contexte de notre projet, nous allons travailler sur le développement d'un nouveau logiciel orientée Big Data, qui va collectionner les données liées aux performances du système informatique de l’entreprise.
Langage(s) et technologie(s) :
- JavaScript, HTML, CSS, Apache, Tomcat, Oracle, SQL Server, MongoDB, PostgreSQL, Hadoop, Cloud databases, Blockchain databases
Contrainte(s) :