projet:sujets

Sujets, 2024/2025 Printemps

Slides de présentation des sujets:

Domaines Image Processing / Deep Learning(IA) / Interaction
Techniques et langages Python / PyQt
Responsable du sujet Alexandre Meyer
Niveau de difficulté intermédiaire

L'objectif de ce projet est d'explorer les possibilités qu'offre les réseaux de neurones à traiter des images. Il y a deux grandes pistes qui peuvent être explorées. D'abord la classification d'images qui cherche à reconnaitre un objets à partir de sa photo, c'est à dire à lui donner un label : le nom de la personne, le type d'objet, un caractère pour la reconnaissance d'écriture, des informations sur des images satallitaires ou médicales, etc. Le deuxième aspect est l'édition ou la génération de nouvelles images. Un réseau peut apprendre à modifier, voir à générer une nouvelle image après avoir “appris” sur une base d'images du même type.

Par exemple, les auto-encoders sont une classe d'algorithme basée sur les réseaux de neurones profonds qui transforment un jeu de données (des images pour nous) en une représentation latente (cachée) que l'on nomme un code. Ils sont composés d'un encodeur qui produit le code et d'un décodeur qui repasse du code à la données d'origine (l'image). Une piste pour ce sujet serait de construire cet auto-encoder sur une classe d'images puis d'offrir à l'utilisateur des curseurs pour éditer le code tout en lui montrant l'image décodé. En allant plus loin, il est également envisageable d'explorer les GAN (Generative Adversarial Network) pour produire une nouvelle image … Le domaine est vaste.

GANs vs. Autoencoders: Comparison of Deep Generative Models GAN — Some cool applications of GANs.

Domaines Animation/Interaction/Jeu vidéo
Techniques et langages C# / Unity
Responsable du sujet Alexandre Meyer
Difficulté Raisonnable / Intermédiaire

L'objectif de ce sujet est de développer un jeu vidéo sous Unity se jouant en réseau. A la fin de la partie, le(s) joueur(s) humain(s) indique s'ils avoir jouer avec un autre humain ou avec une machine. Le jeu peut être simple. Ce n'est pas forcément un jeu de plateau. Cela peut-être un Mario plateau ou un Bomberman ou une mini-course de voiture ou un FPS :-) L'humain pilote Mario en 2D avec des plateforme, un autre humain ou une IA pilote les monstres. Le réseau est important car chaque joueur doit être dans une salle différente. Il faudra juste pouvoir proposer un algorithme pour faire jouer l'ordinateur.

Vous allez découvrir Unity, la programmation d'un jeu vidéo, les échanges réseaux, l'“IA”, etc. Il existe de nombreux codes pour faire du réseau en Unity.

Domaines Image Processing, simulation
Techniques et langages Python
Responsable du sujet Alexandre Meyer
Difficulté Sujet progressif

Sujet mélangeant simulation, rendu 3D, optimisation, framework de calcul, etc.

Il existe plusieurs frameworks de calcul proposant une manière de paralléliser et d'optimiser efficacement. Typiquement les framework de Deep learning ou Taishi propose un cadre efficace de calcul où un algorithme est représenté par un arbre de calcul où chaque noeud est différentiable. De plus ces framework permettent facilement de paralléliser du code pour profiter d'un GPU par exemple. De plus, ces frameworks facilitent l'optimisation grâce au fait que chaque noeud comporte du code inversible. Ne prenez pas peur, tout ceci est transparent quand vous écrivez le code. Par exemple, avec Taishi, le code se réalise en python avec quelques balises pour aider au paralélisme.

Ce sujet propose de réaliser deux parties. Une partie réalisant le calcul d'une image à partir soit d'un fluide, soit d'un nuage de points représentant un objet. Et une partie autour du problème inverse qui va chercher à guider la simulation de fluide vers une cible (une forme particulière ou une vidéo), où guider le nuage de points vers l'apparence d'un objet.

Une manière de représenter la fumée est dans un tableau 3D (grille régulière) stockant des mesures physiques (densité de fumée, vitesse, etc.) dans chaque case (voxel). Les étapes de simulation sont assez simple, du pseudo code sera donné. La prise en main de Taishi permettra d'accélérer les calculs, sans compléxifier le code.

Pour la partie inverse, le modèle sera initialisé au hasard : on remplira aléatoirement l'espace de fumée ou on placera les points aléatoirement. Une fonction d'erreur (du code) est à définir. Par exemple, l'affichage de la simulation produit une image. L'erreur sera calculée avec la différence entre cette image et une image cible. L'image cible peut être une image d'une vidéo de fumée ou une image formant un motif particulier ou l'image d'un objet. L'optimisation cherchera à modifier les forces appliquées à chaque voxel pour que la fumée tende vers la cible.

On commencera par des choses de très simples et le problème sera complexifié au fur et à mesure.

https://www.taichi-lang.org/ https://fr.wikipedia.org/wiki/D%C3%A9rivation_automatique#:~:text=En%20math%C3%A9matique%20et%20en%20calcul,fonction%20par%20un%20programme%20informatique. https://github.com/OutofAi/2D-Gaussian-Splatting

Domaine Algorithme évolutionniste, simulation physqiue, méta heuristiques, optimisation, moteur physique
Langage C++ ou python avec BulletPhysics; Ou C# avec Unity; etc.
Responsable du sujet Fabien Rico et Alexandre Meyer
Information à voir
http://jvf.free.fr/550_Articles_LinuxMag/GLMF_076_034_041.pdf
https://www.youtube.com/watch?v=JBgG_VSP7f8
https://www.youtube.com/watch?v=m4E9sj9vH1I

Les algorithmes évolutionnistes ou génétiques sont des méta-heuristique d'optimisation c'est à dire des méthodes globales pour résoudre des problèmes de toutes sorte qu'il faut adapté à un problème particulier. Comme leur nom l'indique, ils sont basés sur le concepts d'évolution. On génère une famille aléatoire d'individu dont on conserve les plus performant, que l'on mélange pour générer une nouvelle famille …

Une idée classique de ce choix de projet est d'appliquer ces algorithmes évolutionnistes à un problème de génération de forme de créatures en cherchant à ce que ces créatures réalisent une tâche le mieux possible : par exemple la locomotion. Vous prendrez en main un moteur physique. L'algorithme évolutioniste proposera une série de créatures avec des morphologies différentes encodées par une séquence de “gènes” (un code). La simulation physique donnera une distance de déplacement que l'algo cherchera à maximiser.

L'implémentation peut se faire en C++ ou en python avec le moteur BulletPhysics; mais également en C# avec Unity.

Domaine Synthèse d'images
Langage C++ (ou C# avec Unity)
Responsable du sujet Alexandre Meyer
Information à voir
https://tel.archives-ouvertes.fr/tel-00319974/file/defense.pdf

Les nuages ou l'eau font partis des éléments à modéliser, afficher et animer dans une scène d'extérieure en synthèse d'images. Ce projet se propose d'explorer certains aspects des nuages ou de la surface de l'eau : leur formation, leur mouvement, leur interaction avec la lumière.

La réalisation pourra se faire en C++ avec gkit (ou autre code en C++), mais pourra également se réaliser en C# sous Unity.

Domaine Intelligence Artificielle
Langage (proposé) C++, java
Responsable du sujet
A voir https://perso.liris.cnrs.fr/samir.aknine/L3/Battle%20Simulation%20Distributed%20AI%20-%20Vid%c3%a9o%20pr%c3%a9sentation.mp4

L’objectif de ce projet est de proposer une modélisation distribuée d’un jeu stratégique. Nous prendrons comme exemple le tactical RPG. Nous considérerons des personnages qui évoluent sur un environnement dynamique. Les personnages appartiennent à plusieurs groupes. Les personnages peuvent se déplacer en même temps selon des règles préétablies. Nous implémenterons une méthode de résolution distribuée avec des entités autonomes dotée de comportements intelligents. Nous commencerons par définir des stratégies de résolution simples dans lesquelles les personnages effectuent des déplacements uniquement sur la base de leur perception. Dans une deuxième étape, nous définirons des stratégies de résolution plus fines permettant aux personnages de construire des stratégies de jeu collectives en interagissant avec leur voisinage. Plusieurs exemples de jeux ont été déjà implémentés par les étudiants. Nous pourrons mettre a disposition leur code. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/

Domaine Intelligence Artificielle
Langage (proposé) C++, java
Responsable du sujet Samir AKNINE

Plusieurs projets urbains innovants d’ilots autonomes tels que le projet du groupe Bouygues-construction pour la gestion intelligente de l’énergie traitent du problème du partage dynamique de l’énergie avec son réseau de communication énergétique et un système de stockage par des batteries de nouvelle génération directement installées dans les bâtiments. Ce projet vise à équiper les foyers avec de nouveaux dispositifs intelligents pour éprouver des solutions originales pour les futurs réseaux de distribution. Il cible l’ouverture des réseaux et l’exploitation automatique des îlots. L’évolution actuelle de ces ilots est renforcée grâce au développement de nouvelles batteries de stockage à fort potentiel et à faibles coûts, et au transfert intelligent de l’énergie entre les ilots avec un câblage interne indépendamment des systèmes de distribution classiques. Ce transfert permet d’envisager une adaptation de la consommation de manière locale, i.e., à l’échelle d’un quartier, en réduisant les coûts et les pertes du transport de l’énergie.

Pour accompagner le développement de ce projet, une solution pour la gestion du surplus d’énergie s’est inscrite en direction des véhicules autonomes solution de stockage et d’usage intelligent de l’énergie renouvelable. Ce modèle de fonctionnement requière l’installation de bornes de rechargement communicantes au niveau des ilots autonomes permettant aux résidents et aux non-résidents de l’ilot d’accéder au surplus d’énergie produite dans ces ilots moyennant une participation financière mais avec un coup d’achat de cette énergie relativement inférieur à celui appliqué par les fournisseurs standards. La gestion de l’énergie doit ainsi être reformulée comme un problème de planification où l’énergie fournie est considérée comme une ressource partagée et intermittente dont l’usage doit être régulé et optimisé par ce nouveau système intelligent. L’objectif de ce projet est ainsi d’implémenter une méthode de résolution qui permet aux véhicules de se recharger auprès des bornes intelligentes et de contrôler dynamiquement les interactions entre les véhicules autonomes et les bornes. Les étudiants peuvent se baser sur une premiere implementation deja realisee sur projet pour développer les nouveaux mécanismes.

Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/

Domaine Intelligence Artificielle Langage (proposé) C++, java Responsable du sujet Samir AKNINE L’objectif de ce travail est de proposer un planner automatique pour la livraison intelligente de marchandise. Nous allons considérer un ensemble de véhicules de livraison chacun ayant des propriétés spécifiques (ex. poids maximum à transporter, niveau d’autonomie, …). Chaque véhicule possède une liste de tâches à accomplir dans la journée. Il doit planifier l’ordre d’exécution de ses tâches de manière dynamique et parer à tout événement pouvons se produire dans son environnement (ex. blocage ponctuel d’une voie). Nous proposerons une modélisation distribuée dans laquelle chaque véhicule possède des connaissances de son environnement et peut interagir avec les autres véhicules et l’infrastructure. Il décide individuellement de ses actions et peut adapter ses comportements de manière dynamique. Nous implémenterons et testerons un ensemble de mécanismes pour garantir cette interaction et adaptation aux événements imprévus. Une première implémentation de ce travail peut etre mise a disposition des étudiants. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/

Domaine Intelligence Artificielle
Langage (proposé) C++, java
Responsable du sujet Samir AKNINE

L’objectif de ce projet est de proposer une méthode distribuée pour l’affectation des places de stationnement à des véhicules intelligents. Le rôle de l’étudiant est d’implémenter l’ensemble des comportements nécessaires aux véhicules pour interagir avec les parkings et négocier le tarif de stationnement qui est décidé dynamiquement en tenant compte d’un ensemble d’informations, telles que la durée du stationnement, le profil de l’usager, le taux d’occupation du parking, le créneau horaire, etc. Un travail d’implémentation a été déjà mené sur ce projet. Les étudiants peuvent se baser sur ces développements pour implémenter les nouveaux mécanismes. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/

Domaine Intelligence Artificielle Langage (proposé) C++, java Responsable du sujet Samir AKNINE Les récentes évolutions technologiques des dernières années ont permis d’améliorer le niveau d’équipement des véhicules rendus de plus en plus connectés, voire autonomes, ce qui permet de proposer de nouvelles réponses aux problèmes du trafic urbain. Les véhicules sont, à présent, capables de communiquer et de se coordonner. Avec notre projet, nous proposons une approche de régulation du trafic s’appuyant sur des méthodes distribuées pour améliorer les conditions de mobilité des véhicules. Dans le cadre ce travail, nous implémenterons la méthode de régulation que nous avons définie à l’échelle de l’intersection tirant parti des capacités de communication des véhicules, et dans laquelle les véhicules autonomes négocient leur droit de passage dans chaque intersection. Cette négociation s’effectue en utilisant des mécanismes prédéfinis en s’appuyant sur les données de mobilité de chaque véhicule et en permettant ainsi de prendre en compte différents critères pour la prise de décision locale, comme l’état général du trafic, la localisation d’éventuelles congestions, ou encore la circulation des bus, les trajets programmés par les véhicules, etc. L'étudiant peut avoir acces a une premiere implementation deja realisee. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/

Domaine Intelligence Artificielle
Langage (proposé) C++, java
Responsable du sujet Samir AKNINE

L’objectif de ce projet est de proposer une modélisation distribuée d’un jeu stratégique. Nous prendrons comme exemple une variante le jeu d’échés ou de dames. Dans ce jeu, les pièces peuvent se coordonner et communiquer pour mettre en œuvre des stratégies collectives. Elles peuvent effectuer différents mouvements parallèles selon des règles prédéfinies et exhiber différents comportements (tels que des attaques de groupes simultanées). Nous testerons différentes règles de jeu et implémenterons les stratégies collectives. Un travail d'implémentation a été réalisé préalablement sur ce projet. Les étudiants pourront s'ils le souhaitent réutiliser le code existant. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/

Domaine Intelligence Artificielle
Langage (proposé) C++, java
Responsable du sujet Samir AKNINE

Nous utiliserons des modèles de négociation automatique pour la mise en place de sites marchands intelligents. Chaque site dit “vendeur” propose plusieurs items ou produits avec des indications sur les propriétés des items (ex. prix min,…). Un utilisateur peut spécifier, à un site dit “acheteur”, l’item qu’il recherche, ses propriétés ainsi que les contraintes et les préférences associées à cet item. Le site acheteur se chargera alors de mener les négociations automatiques avec les sites vendeurs proposant cet item. Le travail demandé consiste à modéliser les différents comportements de négociation automatique pour la vente et l’achat des items. Nous définirons les protocoles d’interactions et de négociation correspondants. Nous implémenterons et testerons l'ensemble des mécanismes à proposer. Un système a été développé sur ce sujet. Nous pouvons mettre a disposition des étudiants le code associé. Des exemples de développements se trouvent a cette adresse : https://perso.liris.cnrs.fr/samir.aknine/L3/

Domaine Machine Learning, python, application web
Langage (proposé) Python
Responsable du sujet Célestin Coquidé

Ce projet explore la relation entre alimentation et santé dans notre société, illustrée par la célèbre citation de Jean Anthelme Brillat-Savarin : “Dis-moi ce que tu manges, je te dirai ce que tu es.” La nutrition joue un rôle central dans notre bien-être, et ce projet propose d'étudier cette corrélation en utilisant deux bases de données : Open Food Facts (https://fr.openfoodfacts.org/) et FooDB (https://foodb.ca/). Open Food Facts fournit des informations nutritionnelles détaillées (apports journaliers, nutriscore, etc.) sur des produits alimentaires industriels vendus dans le monde entier. FooDB, quant à elle, contient des données sur un large éventail d'ingrédients et d'aliments bruts, incluant leur composition en macro et micro-nutriments. Ce projet peut donner lieu à une application web avec laquelle un utilisateur peut interagir pour améliorer les qualités nutritives d'une recette par exemple. Objectifs :

  • Visualisation des données nutritionnelles par catégories d'aliments.
  • Analyse statistique de la distribution des produits selon leur source nutritive.
  • Prédiction du nutriscore pour des recettes maison.
  • Comparaison entre différents patrimoines culinaires (cuisine européenne, méditerranéenne, végétarienne, etc.).
  • Évaluation de la qualité nutritionnelle de diverses recettes et proposition de recettes alternatives plus saines.
Domaine Machine Learning, python, application web
Langage (proposé) Python, html, javascript
Responsable du sujet Célestin Coquidé

Ce projet se concentre sur le développement d'un outil de prédiction des prix pour les cartes à collectionner issues des Trading Card Games (TCG). À partir d'une base de données complète contenant les prix des cartes, l'objectif est d'analyser les tendances de marché pour anticiper la valeur future des cartes. La base de données MTGJSON (https://mtgjson.com/) fournit des informations détaillées sur les prix journaliers des cartes du jeu Magic: The Gathering, un des TCG les plus anciens et populaires. Ces données incluent les prix de vente actuels sur diverses plateformes (par exemple : CardMarket, CardKingdom…).

Objectifs :

  • Analyse des tendances de prix : Identifier les tendances à court et long terme dans les fluctuations des prix des cartes.
  • Prédiction de prix : Développer des modèles pour prédire les variations de prix des cartes en fonction de divers facteurs.
  • Corrélation avec les sorties d'extensions : Étudier l'impact des nouvelles extensions ou éditions sur les prix des cartes existantes.
  • Évaluation de la rareté : Analyser comment la rareté d'une carte (édition limitée, carte promotionnelle, etc.) influence son prix au fil du temps.
  • Analyse de la demande : Explorer la relation entre la popularité des cartes (tournois, méta-jeux) et leur prix.
Domaine Big data, visualisation de données
Langage (proposé) Python(networkx, pyspark, seaborn)
Responsable du sujet Célestin Coquidé

Ce projet s'inscrit dans une thématique d'analyse de données massives (big data) dans le cadre des transactions Bitcoin. ORBITAAL (https://zenodo.org/records/12581515) est un jeu de données complet qui décrit toutes les transactions Bitcoin réalisées entre janvier 2009 et janvier 2021, exprimées à la fois en Bitcoin et en dollar. Dans le cadre de ce projet, deux représentations de graphes peuvent être explorées : des snapshots construits sur différentes résolutions temporelles et un Stream graph décrivant les transactions avec la résolution temporelle la plus fine. Objectifs :

  • Caractérisation des acteurs importants (riches, centraux…) et leur évolution dans le temps
  • Visualisation de transactions et suivi de Bitcoin provenant d'activités illégales
  • Détections de communautés d'utilisateurs Bitcoin
  • Simulation de crises économiques et impacts sur les acteurs Bitcoin
Domaine Python, application web
Langage (proposé) Python, Dash, html, javascript
Responsable du sujet Sabine Peres

Ce projet se concentre sur le développement d'une plateforme interactive permettant d'explorer, visualiser et analyser des données biologiques dans les celullues de différents patients. Ce projet peut servir à comprendre les processus bioénergétiques ou identifier des anomalies métaboliques associées à certaines situations physiologiques et/ou physio-pathologiques.

Fonctionnalités principales

  • Importation et gestion des données :Chargement de données physiologiques et métaboliques issues de fichiers CSV ou de bases de données publiques. Visualisation des réponses adaptatives et des flux métaboliques sous forme de tableaux ou de graphiques.
  • Graphiques interactifs : visualisation des flux entre différents patients, évolution des concentrations métaboliques ou des flux sur une période donnée, visualisation des réponses adaptatives lors de variations des conditions physiologiques (exemple de l’exercice).
  • Simulation et comparaison : Comparaison des réponses adaptatives et des flux normaux et perturbés pour chaque patient.
  • Analyse avancée : Détection des anomalies métaboliques liées à des maladies, analyse prospective des interventions physiques et cliniques susceptibles d’être proposées dans la prise en charge de ces sujets.

Interface utilisateur:

  • Interface web conviviale avec une navigation intuitive.Options d'exportation des graphiques et des rapports d'analyse.
  • Développement backend : Utiliser Python avec Flask pour gérer les données. Manipuler les données avec pandas.
  • Visualisation frontend : Créer des graphiques interactifs avec Plotly ou Dash pour des diagrammes dynamiques.
Domaine Python, système multi-agents
Langage et biblithèque (proposés) Python, Dash, NumPy, Pygame
Responsable du sujet Sabine Peres

Ce projet se concentre sur le développement d'un un simulateur basé sur un automate cellulaire ou un système multi-agents permettant de modéliser les interactions entre cellules biologiques (exemple : prolifération cellulaire, communication, et réponse aux signaux environnementaux). Ce projet peut être appliqué à des domaines tels que la biologie des tissus, la modélisation des tumeurs, ou la réponse immunitaire.

L’idée est de construire un environnement où les cellules sont représentées par des agents ou des cellules sur une grille. Chaque cellule suit un ensemble de règles ou de comportements pour évoluer en fonction de :

  • Ses propres caractéristiques internes (état, énergie, type, etc.).
  • Les interactions avec ses voisines.
  • Les signaux ou stimuli provenant de l’environnement.

Par exemple :

  • Une cellule saine peut se diviser si elle a suffisamment de ressources.
  • Une cellule tumorale peut proliférer rapidement et émettre des signaux pour perturber l’environnement.
  • Une cellule immunitaire peut détecter et attaquer des cellules anormales.
Domaine Python, visualisation
Langage et biblithèque (proposés) Python, Cytoscape, Dash, Plotly
Responsable du sujet Sabine Peres

Ce projet se concentre sur le développement d'une interface de visualisation interactive permettant d’explorer les voies métaboliques (i.e chemins dans un hypergraphe) calculés par des méthodes d'optimisation (programmation linéaire). L’outil doit permettre aux utilisateurs de comprendre la structure et la dynamique des réseaux métaboliques, ainsi que d’analyser les flux optimaux pour différents scénarios biologiques (par exemple, croissance cellulaire, production de biomolécules, réponse au stress).

  • Visualisation de la carte métabolique
    • Représenter les métabolites et les réactions sous forme de graphe (nœuds et arêtes).
    • Utiliser des codes de couleur et des épaisseurs de lignes pour indiquer l’intensité des flux dans chaque réaction.
  • Interactivité
    • Permettre de zoomer et de se déplacer dans la carte métabolique.
    • Cliquer sur une réaction ou un métabolite pour afficher des informations détaillées
    • Activer/désactiver certaines voies ou métabolites pour analyser leur impact.
  • Analyse de scénarios multiples
    • Comparer les flux entre différents scénarios (par exemple, condition normale vs condition de stress).
    • Générer des graphiques pour visualiser les différences entre scénarios.
  • Exportation des visualisations
    • Exporter les cartes métaboliques en formats PNG, SVG ou PDF pour inclusion dans des rapports scientifiques.
    • Exporter les données enrichies (flux annotés) au format CSV ou XML.
Domaine Python, fouille textuelle
Langage et bibliothèque (proposés) Python, llm/chatGPT
Responsable du sujet Marc BERTIN

Description : Ce projet explore les approches innovantes de fouille textuelle appliquées à des corpus scientifiques, en vue de mieux comprendre et d’exploiter les données académiques pour l’analyse des controverses. Nous interrogerons les articles scientifiques produits par Benoît Mandelbrot lors de sa controverse avec Simon. e corpus a déjà été élaboré, analysé et présenté.

Moyen :

A disposition un serveur avec carte GPU TITAN avec serveur NAS pour le stockage des données.

GROBID utilise des modèles d’apprentissage profond s'appuyant sur la bibliothèque DeLFT, un cadre d’apprentissage profond non spécifique à une tâche, conçu pour l'étiquetage de séquences et la classification de textes, via JEP.

Objectif :

  • découvrir les approches pour la fouille textuelle autour des corpus scientifiques.
  • Extraire les notions et les concepts de la controverse (déjà identifié),
  • Encodage TEI du corpus avec GroBID (voir le github : https://github.com/kermitt2/grobid )
  • Annoter le corpus de la controverse,
  • Navigation dans la controverse scientifique.
  • Si possible proposer une visualisation de la controverse.
  • Rendre l'approche possible à d'autres controverses

Plus d'information sur Mandelbrot : https://epistemofinance.hypotheses.org/14552

Domaine Python, OAI-PMH, Docker
Langage et bibliothèque (proposés) Python, OAI-PMH
Responsable du sujet Marc BERTIN

Description :

OAI-PMH est le sigle de l’Open Archives Initiative - Protocol for Metadata Harvesting, ce qui signifie « protocole pour la collecte de métadonnées de l’Initiative pour les Archives ouvertes ». Ce projet vise à exploiter le protocole OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting) pour constituer un corpus d'articles scientifiques issus de réservoirs de données ouverts. Le corpus sera analysé afin d’identifier et d’extraire les controverses scientifiques qu’il contient.

Moyen :

A disposition un serveur avec carte GPU TITAN avec serveur NAS pour le stockage des données.

Vous pourrez utiliser (liste non exhaustive) :

  • Sickle, oai-harvest ou PyOAI pour le moissonage
  • Hugging Face / llm

Objectif :

  • Proposer un outil de fouille textuel d'article scientifique en langage naturel.
  • Implémenter un outil d'harvesting reposant sur le protocole OAI-PMH.
  • Collecter les données pleins textes via une interface de recherche d'information.
  • Interroger en langage naturel les textes harvaster.
  • La solution sera proposée sous Docker.
Domaine Python, Détection d’événement
Langage et bibliothèque (proposés) Python, openCV, ESP32/CAM
Responsable du sujet Marc BERTIN

Description :

Ce projet propose de développer un système de détection automatique des flèches dans la mato (cible de kyudo) à l’aide d’un module ESP32-CAM. La carte ESP32-Cam intègre un processeur ESP32 et une caméra OV2640 (2M pixels). Elle consiste à transmettre en WIFI et en direct un flux vidéo, des images. Grâce à sa caméra embarquée, l’ESP32-CAM capturera les images de la cible et utilisera un algorithme de traitement d'image léger pour identifier l'emplacement des impacts. Ce dispositif portable et économique permettrait d'automatiser l'évaluation des tirs, réduisant les biais humains et facilitant l’entraînement.

Moyen :

  • Serveur avec carte TITAN
  • ESP32-CAM qui est une carte de développement dotée de capacités Wi-Fi et Bluetooth, comprenant un module ESP32S, une caméra OV2642, un emplacement pour carte micro SD, neuf broches GPIO, un flash LED intégré, une mémoire flash intégrée, 520 Ko de RAM interne et 4 Mo de PSRAM. Le module peut être programmé à l'aide de différents environnements, notamment l'IDE Arduino, l'IDF Espressif, MicroPython, JavaScript, Lua et PlatformIO dans VS Code.
  • Librairie openCV et pyTorch https://opencv.org/, liste non exhaustive

Objectif :

  • Expérimenter la faisabilité d'une solution de détection de la “touche”, c'est-à-dire identification de la flèche dans la mato (cible) pour le déploiement de compétition national.

Lien annexe Le Kyudo en France: https://www.kyudo.fr/la-voie-de-l-arc

  • projet/sujets.txt
  • Dernière modification: 2025/01/13 14:09
  • de remy