Les deux révisions précédentes
Révision précédente
Prochaine révision
|
Révision précédente
|
projet:sujets [2025/09/03 10:09] alexandre_meyer [AM4. Animation physique et optimisation de la morphologie de créatures animées] |
projet:sujets [2025/09/04 13:32] (Version actuelle) remy |
| |
Slides de présentation des sujets: | Slides de présentation des sujets: |
* [[|Samir Aknine]] | * [[https://cazabetremy.fr/Teaching/lifprojet/slides2025aut/SA.pdf|Samir Aknine]] |
* [[|Alexandre Meyer]] | * [[https://cazabetremy.fr/Teaching/lifprojet/slides2025aut/AM.pdf|Alexandre Meyer]] |
* [[|Rémy Cazabet]] | * [[https://cazabetremy.fr/Teaching/lifprojet/slides2025aut/BY.pdf|Bruno Yun]] |
* [[|Louis Bagot]] | |
* [[|Bruno Yun]] | |
| |
| |
Sujet mélangeant simulation, rendu 3D, optimisation, framework de calcul, etc. | 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. | Il existe plusieurs frameworks de calcul proposant une manière de paralléliser et d'optimiser efficacement. Typiquement les framework de Deep learning ou autre (Taishi, Genesis) 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 frameworks permettent facilement de paralléliser du code pour profiter d'un GPU par exemple. Ces frameworks sont rapide et facilitent l'optimisation grâce au fait que chaque noeud comporte du code inversible. |
| |
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. | 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 parallélisme. |
| |
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. | Ce sujet propose de réaliser deux parties. Une partie réalisant le calcul d'une simulation de fluide (eau ou fumée) parallélisée . Et une partie autour du problème inverse qui va chercher à guider la simulation de fluide vers une cible (une forme particulière), 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 complexifier 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. | 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. | On commencera par des choses très simples et le problème sera complexifié au fur et à mesure. |
| |
https://www.taichi-lang.org/ | https://www.taichi-lang.org/ |
| https://github.com/Genesis-Embodied-AI/Genesis |
https://fr.wikipedia.org/wiki/D%C3%A9rivation_automatique#:~:text=En%20math%C3%A9matique%20et%20en%20calcul,fonction%20par%20un%20programme%20informatique. | 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 | |
| |
| |
===== AM4. Animation physique et optimisation de la morphologie de créatures animées ===== | ===== AM4. Animation physique et optimisation de la morphologie de créatures animées ===== |
===== AM5. Modélisation, Rendu, Animation de nuages ou de la surface de l'eau ===== | ===== AM5. Modélisation, Rendu, Animation de nuages ou de la surface de l'eau ===== |
^ Domaine | Synthèse d'images | | ^ Domaine | Synthèse d'images | |
^ Langage | C++ (ou C# avec Unity) | | ^ Langage | C++/OpenGL; ou Python/Genesis ou C#/Unity | |
^ Responsable du sujet | Alexandre Meyer | | ^ Responsable du sujet | Alexandre Meyer | |
^ Information à voir || | ^ Information à voir || |
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. | 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. | La réalisation pourra se faire en C++ avec gkit (ou autre code en C++), ou en python avec Genesis ou en C# sous Unity. |
| |
| |
^ Responsable du sujet | Rémy Cazabet | | | ^ Responsable du sujet | Rémy Cazabet | | |
| |
Dans un projet récent, nous avons produit un grand jeu de données concernant Bitcoin (https://www.nature.com/articles/s41597-025-04595-8#:~:text=The%20dataset%20covers%20all%20Bitcoin,regarding%20daily%2Dbased%20conversion%20rate.). Il est constitué de tous les échanges effectué depuis le début de Bitcoin jusqu'en 2021. Ce jeu de données pose des challenges en terme d'analyse en raison de sa taille. L'objectif sera tout d'abord de décrire ce jeu de données, puis d'essayer de répondre a une question d'intérêt, telle que par exemple l'identification d'acteurs impliqué dans des transactions illégales, la détection de pattern surprenants, le suivi de coins depuis leur minage jusqu'à leur état à la fin du jeu de données pour évaluer la vitesse a laquelle l'argent circule, la description de la popularité et de la chute des grandes plateformes d'Exchange, etc. | Dans un projet récent, nous avons produit un grand jeu de données concernant Bitcoin (https://www.nature.com/articles/s41597-025-04595-8#:~:text=The%20dataset%20covers%20all%20Bitcoin,regarding%20daily%2Dbased%20conversion%20rate.). Il est constitué de tous les échanges effectués depuis le début de Bitcoin jusqu'en 2021. Ce jeu de données pose des challenges en terme d'analyse en raison de sa taille. L'objectif sera tout d'abord de décrire ce jeu de données, puis d'essayer de répondre a une question d'intérêt, telle que par exemple l'identification d'acteurs impliqués dans des transactions illégales, la détection de patterns surprenants, le suivi de coins depuis leur minage jusqu'à leur état à la fin du jeu de données pour évaluer la vitesse a laquelle l'argent circule, la description de la popularité et de la chute des grandes plateformes d'Exchange, etc. |
| |
=====RC3. Site orienté donné de visualisation des décès en France ===== | =====RC3. Site orienté donné de visualisation des décès en France ===== |
^ Informations à voir | | | ^ Informations à voir | | |
| || | | || |
Aujourd'hui, de nombreuses entreprises proposent de la location de voiture, en particulier de nouveaux acteurs tels que citiz, leo&Go, Drivalia qui ont introduit des facturations a la minute et au km, sur des voitures en libre service. L'objectif est de concevoir un site web, un outil en ligne, permettant de saisir des informations de trajets (distance, temps), et d'être capable de comparer les tarifs de ces diverses solutions. Des graphiques pourront par exemple montrer quand est-ce qu'une solution devient plus intéressante qu'une autre, en fonction du temps de location ou de la distance. | Aujourd'hui, de nombreuses entreprises proposent de la location de voiture, en particulier de nouveaux acteurs tels que citiz, leo&Go, Drivalia qui ont introduit des facturations à la minute et au km, sur des voitures en libre service. L'objectif est de concevoir un site web, un outil en ligne, permettant de saisir des informations de trajets (distance, temps), et d'être capable de comparer les tarifs de ces diverses solutions. Des graphiques pourront par exemple montrer quand est-ce qu'une solution devient plus intéressante qu'une autre, en fonction du temps de location ou de la distance. |
| |
| |
^ Informations à voir | | | ^ Informations à voir | | |
| || | | || |
Dans le cadre d'un projet de recherche, nous avons développé une librairie python appelée Ysocial (https://ysocialtwin.github.io). Cette plateforme est pensé pour simuler des réseaux sociaux peuplés de LLMs. Cela est conçu pour permettre de tester in-silico des hypotheses, par exemple sur la diffusion d'information, ou sur l'impact des systèmes de recommendations. Cette librairie est encore a un stade experimental. Votre objectif sera d'utiliser la librairie pour simuler un petit réseau de discussion autour d'une thématique (par exemple, sport, musique, politique...), et d'évaluer le réalisme des résultats produits. Est-ce que les discussions ont l'air d'avoir du sens ? Est-ce que le comportement des LLMs a l'air d'être réaliste ? Est-ce qu'il y a beaucoup d'hallucinations ? etc. | Dans le cadre d'un projet de recherche, nous avons développé une librairie python appelée Ysocial (https://ysocialtwin.github.io). Cette plateforme est pensé pour simuler des réseaux sociaux peuplés de LLMs. Cela est conçu pour permettre de tester in-silico des hypotheses, par exemple sur la diffusion d'information, ou sur l'impact des systèmes de recommendations dans les réseaux sociaux. Cette librairie est encore a un stade experimental. Votre objectif sera d'utiliser la librairie pour simuler un petit réseau de discussion autour d'une thématique (par exemple, sport, musique, politique...), et d'évaluer le réalisme des résultats produits. Est-ce que les discussions ont l'air d'avoir du sens ? Est-ce que le comportement des LLMs a l'air d'être réaliste ? Est-ce qu'il y a beaucoup d'hallucinations ? etc. |
| |
| |