Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • Alexandre.Meyer/m1if37-animation
  • Alexandre.Meyer/m2-apprentissage-profond-image
  • Alexandre.Meyer/m2-animation
  • Alexandre.Meyer/hugo-web-minimal
  • Alexandre.Meyer/lifami
  • Alexandre.Meyer/lifapcd
  • Alexandre.Meyer/www
  • Alexandre.Meyer/lifstage
8 results
Show changes
Commits on Source (3)
  • Alexandre MEYER's avatar
    Update 2 files · b69ae6cf
    Alexandre MEYER authored
    - /web/content/_index.md
    - /README.md
    b69ae6cf
  • Alexandre MEYER's avatar
    Update 2 files · a97a1d00
    Alexandre MEYER authored
    - /README.md
    - /web/config.toml
    a97a1d00
  • Alexandre MEYER's avatar
    Update 9 files · ebeca48d
    Alexandre MEYER authored
    - /web/content/personnage/_index.md
    - /web/content/personnage/tp.md
    - /web/content/personnage/video.md
    - /web/content/controle/index.md
    - /web/content/am/_index.md
    - /web/content/am/video.md
    - /web/content/am/tp.md
    - /web/content/_index.md
    - /web/config.toml
    ebeca48d
# Site web et ressources de l'UE UE M1if37 Animation en synthèse d'image # Site web et ressources de l'UE Apprentissage Profond Et Image
[La page de l'UE est ici](http://alexandre.meyer.pages.univ-lyon1.fr/m1if37-animation/) [La page de l'UE est ici](http://alexandre.meyer.pages.univ-lyon1.fr/m2-apprentissage-profond-image/)
## Explication de la génération ## Explication de la génération
Le site web est désormais fabriqué par ```Hugo``` (thème [congo](https://jpanther.github.io/congo/)). les sources se trouvent dans le répertoire ```web```. Le site web est désormais fabriqué par ```Hugo``` (thème [congo](https://jpanther.github.io/congo/)). les sources se trouvent dans le répertoire ```web```. Le site web est mis à jour par intégration continue (CI/CD) à chaque fois que vous faites un push (rien besoin d'autre, à part attendre quelques secondes). Le script d'intégration continue est ```.gitlab-ci.yml```. Pour voir le résultat du script de génération, [allez ici](https://forge.univ-lyon1.fr/Alexandre.Meyer/m2-apprentissage-profond-image/-/jobs) ou depuis l'interface dans CI/Jobs.
Le site web est mis à jour par intégration continue (CI/CD) à chaque fois que vous faites un push (rien besoin d'autre, à part attendre quelques secondes). Le script d'intégration continue est ```.gitlab-ci.yml```. Pour voir le résultat du script de génération, [allez ici](https://forge.univ-lyon1.fr/Alexandre.Meyer/m1if37-animation/-/jobs) ou depuis l'interface dans CI/Jobs.
Le fichier ```site/config.toml``` permet de configurer la génération du site. Mais noramlement il n'y a pas besoin d'y toucher. Le fichier ```site/config.toml``` permet de configurer la génération du site. Mais noramlement il n'y a pas besoin d'y toucher.
* Pour changer les menus et le titre du site il faut changer dans le fichier ```config.toml```
* Les pages web sont générées à partir du répertoire ```web/content```. * Les pages web sont générées à partir du répertoire ```web/content```.
* La page principale du site est ```web/content/_index.html```. Il faut bien laissé le ```_```, il indique qu'il y a des sous-répertoires * La page principale du site est ```web/content/_index.html```. Il faut bien laissé le ```_```, il indique qu'il y a des sous-répertoires
* ```web/content/controle``` pour la partie "Conrtôle d'animation". ```web/content/controle/index.md``` produit la page de cette partie. * ```web/content/```: les pages de contenus
* ```web/content/personnage``` pour la partie "Animation de personnage virtuel".
* ```web/static``` : les fichiers autres (pdf, images, sujets, etc.) sont à ranger dedans. Par exemple, il y a * ```web/static``` : les fichiers autres (pdf, images, sujets, etc.) sont à ranger dedans. Par exemple, il y a
* ```web/static/images``` pour les images du site; * ```web/static/images``` pour les images du site;
* ```web/static/doc``` documents généraux de l'UE; * ```web/static/doc``` documents généraux de l'UE;
* ```web/static/doc_controle``` documents de la partie contrôle (NP);
* ```web/static/doc_charanim``` documents de la partie personnage (AM);
...@@ -32,5 +29,5 @@ Pour tester vos mises à jour en local : ...@@ -32,5 +29,5 @@ Pour tester vos mises à jour en local :
Vous pouvez aussi essayer de contruire le site en static en faisant juste ```hugo``` : le site sera constuit dans le répertoire public. Vous pouvez aussi essayer de contruire le site en static en faisant juste ```hugo``` : le site sera constuit dans le répertoire public.
Toutes les infos sont détaillées ici ! ### D'autres infos
Pour convertir du DOKUWIKI en Markdown, on peut utiliser pandoc??? (todo) ou certains web en ligne. Pour convertir du DOKUWIKI en Markdown, on peut utiliser pandoc??? (todo) ou certains web en ligne.
\ No newline at end of file
baseURL = "http://alexandre.meyer.pages.univ-lyon1.fr/m1if37-animation/" baseURL = "http://alexandre.meyer.pages.univ-lyon1.fr/m2-apprentissage-profond-image/"
title = "M1if37 Animation en synthèse d'images" title = "Apprentissage et Image"
#theme = "etch" #theme = "etch"
#theme = "ucax" #theme = "ucax"
#theme = "paige" #theme = "paige"
#theme = "hugo-flex" #theme = "hugo-flex"
theme = "congo" theme = "congo"
languageCode = "fr-FR" languageCode = "fr-FR"
enableInlineShortcodes = true enableInlineShortcodes = true
pygmentsCodeFences = true pygmentsCodeFences = true
pygmentsUseClasses = true pygmentsUseClasses = true
publishDir = "public" publishDir = "public"
# [author] # [author]
# name = "Alexandre Meyer" # name = "Alexandre Meyer"
# image = "img/author.jpg" # image = "img/author.jpg"
# headline = "M1if37" # headline = "MLImage"
# bio = "" # bio = ""
[params] [params]
description = "Animation en synthèse d'images" description = "Apprentissage Profond Et Image"
copyright = "" copyright = ""
dark = "auto" dark = "auto"
highlight = true highlight = true
mainSections = "personnage;controle;posts" mainSections = "personnage;controle;posts"
#color = "gray" # Any color in CSS syntax #color = "gray" # Any color in CSS syntax
#width = "52rem" # Any length in CSS syntax #width = "52rem" # Any length in CSS syntax
colorScheme = "fire" colorScheme = "fire"
# footer= "" # footer= ""
# rss = "" # rss = ""
article.showDate = false article.showDate = false
# [[footer]] # [[footer]]
# name = "Privacy" # name = "Privacy"
# url = "https://external-link" # url = "https://external-link"
# - name: Aboutaaa # - name: Aboutaaa
# url: about/ # url: about/
# weight: 1 # weight: 1
[menu] [menu]
[[menu.main]] [[menu.main]]
identifier = "Physique" identifier = "PartieAM"
name = "Physique" name = "PartieAM"
title = "Physique" title = "PartieAM"
url = "https://perso.liris.cnrs.fr/fzara/Web/M1Animation.html" url = "am"
weight = 1 weight = 1
[[menu.main]] [[menu.main]]
identifier = "Personnage" identifier = "PartieJD"
name = "Personnage" name = "PartieJD"
title = "Personnage" title = "PartieJD"
url = "/personnage/" url = "/jd/"
weight = 2 weight = 2
[[menu.main]] [[menu.main]]
identifier = "Controle" identifier = "PartieNB"
name = "Controle" name = "PartieNB"
title = "Controle" title = "PartieNB"
url = "/controle/" url = "/nb/"
weight = 3 weight = 3
[permalinks] [permalinks]
posts = "/:title/" posts = "/:title/"
[markup.goldmark.renderer] [markup.goldmark.renderer]
# Allow HTML in Markdown # Allow HTML in Markdown
unsafe = true unsafe = true
[markup.tableOfContents] [markup.tableOfContents]
ordered = true ordered = true
# Master 1 Informatique - UE M1if37 Animation en synthèse d'image (3 ECTS) # Master 2 ID3D et IA - UE Apprentissage Profond Et Image (3 ECTS)
Responsables de l'enseignement : [Alexandre Meyer]( Responsables de l'enseignement : [Alexandre Meyer](http://liris.cnrs.fr/alexandre.meyer),
http://liris.cnrs.fr/alexandre.meyer), [Nicolas Pronost]( [Julie Digne](http://liris.cnrs.fr/jule.digne)
http://liris.cnrs.fr/nicolas.pronost) et [Florence Zara]( et [Nicolas Bonneel](http://liris.cnrs.fr/nicolas.bonneel) - LIRIS, Université Lyon 1
http://liris.cnrs.fr/florence.zara) - LIRIS, Université Lyon 1
Volume horaire : 10h30 CM, 19h30 TP Volume horaire : 30h (CM/TP)
![im_all.png](images/im_all.png) ![im_all.png](images/im_all.png)
## Objectif de l'UE ## Objectif de l'UE
<p style="text-align:justify;">M1if37 est une UE optionnelle de la 1ère année du Master d'Informatique de l'Université Lyon 1. Les cours ont lieu au semestre 2 (printemps). L'objectif de l'UE est de donner les bases de l'animation en synthèse d'images. Nous aborderons les deux grandes familles de méthodes. L'animation basée sur des données, par exemple pour l'animation d'humain virtuel (données issues de capture de mouvement). Et l'animation basée sur un modèle physique pour la simulation de phénomènes naturels comme le mouvement de textiles ou de fluide. L'UE laissera une grande part à l'application pratique avec la réalisation de TPs en C++/OpenGL proposant d'animer par exemple des humains virtuels, des vêtements, des cordes, une surface d'eau, etc.</p> <p style="text-align:justify;">Il s'agit d'une UE optionnelle de la 2ère année du Master d'Informatique parcours IA et ID3D de l'Université Lyon 1. Les cours ont lieu au semestre 1 (automne). L'objectif de l'UE est de donner les bases en apprentissage machine (notamment apprentissage profond) pour les problèmes d'images. </p>
[Les slides de la présentation des options sont ici.](doc/M1if37_PresOption.pdf) [Les slides de la présentation des options sont ici.](doc/MLIMAGE_PresOption.pdf)
## Thématiques abordées ## Thématiques abordées
### Animation par modèles physiques (F. Zara) - 4h30 CM, 6h30 TP ### Deep learning et images (A. Meyer)
* Concepts physiques (forces, lois de Newton) * Les bases de l'apprentissage profond : espace latent, régularisation, etc.
* Méthodes d'intégration numérique * CNN, Autoencodeur
* [La page web de cette partie](https://perso.liris.cnrs.fr/fzara/Web/M1Animation.html) * Segmentation : U-Net
* Tracking : YOLO
* Capture du squelette (type OpenPose, XNect, etc.)
* Notion de transformer/attention pour la reconnaissance
### Deep learning et 3D (J. Digne)
* GAN pour l'image
* Traitement de nuage de points (pointNet, etc.)
* Traitement de maillage (MeshConv, etc.)
* NERF, SIREN
### Animation de personnage (A. Meyer) - 4h30 CM, 6h30 TP
* Animation basée squelette
* Déformation de maillage (skinning)
* [La page web de cette partie](https://perso.liris.cnrs.fr/alexandre.meyer/public_html/www/doku.php?id=charanim_m1#master_1_informatique_-_ue_m1if37_animation_en_synthese_d_image)
### Transport optimal (N. Bonneel)
* Introduction au transport optimal
### Contrôle de mouvement (Nicolas Pronost) - 1h30 CM, 6h30 TP
* Mouvement d'objets rigides articulés
* [La page web de cette partie](controle)
## Emploi du temps 2023 ## Emploi du temps 2023
![documents/M1if37_edt.png](doc/M1if37_edt.png) ![documents/MLIMAGE_edt.png](doc/MLIMAGE_edt.png)
* Cours en salle TD10 Nautibus
* TP en salles TP11, TP12 Nautibus
## Modalités de contrôle des connaissances (MCC) ## Modalités de contrôle des connaissances (MCC)
* **1 note de CCF** portant sur les 3 parties du cours todo
* **3 notes de TP** : TP F. Zara, TP A. Meyer, TP N. Pronost (code + rapport + démo ou vidéo) \ No newline at end of file
* **Dates des évaluations** :
* Examen écrit : mercredi 24 mai 2023 8h-9h30 en C3
* Démo de TP : mercredi 24 mai 2023, de 9h45 à 12h en TP11, TP12
* Date limite de rendu des 3 archives : mercredi 24 mai 2023 12h
* **Modalité de rendu des TPs :** <p style="text-align:justify;">
* Une archive sera à déposer sur TOMUSS (dans les 3 colonnes correspondantes). Cette archive contiendra le code du TP + un rapport.
* Nous vous demandons également de mettre dans les 3 autres colonnes correspondantes de TOMUSS, l'URL pour accéder à une vidéo de votre projet, si vous ne faites pas de démo (car nous ne le compilerons pas forcément, donc il faut montrer tout votre travail).</p>
--- ---
title: "" title: ""
description: "Partie Animation de personnage" description: "Partie Animation de personnage"
--- ---
# Partie Animation de personnage # Partie Animation de personnage
* Alexandre Meyer * Alexandre Meyer
* 4h30 CM, 6h30 TP * 4h30 CM, 6h30 TP
* [L'ancienne page de cette partie](https://perso.liris.cnrs.fr/alexandre.meyer/public_html/www/doku.php?id=charanim_m1#master_1_informatique_-_ue_m1if37_animation_en_synthese_d_image) * [L'ancienne page de cette partie](https://perso.liris.cnrs.fr/alexandre.meyer/public_html/www/doku.php?id=charanim_m1#master_1_informatique_-_ue_m1if37_animation_en_synthese_d_image)
![](../doc_charanim/charanim_tpose.jpg) ![](../doc_charanim/charanim_tpose.jpg)
## Cours ## Cours
* [Systèmes articulés : cinématique directe](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_1_SkeletonBasedAnimation.pdf) * [Systèmes articulés : cinématique directe](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_1_SkeletonBasedAnimation.pdf)
* [Edition d'animations, Graphe d'animations](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_2_MotionControlAndEditing.pdf) * [Edition d'animations, Graphe d'animations](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_2_MotionControlAndEditing.pdf)
* [Capture de mouvements](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_3_MotionCapture.pdf) * [Capture de mouvements](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M1/M1_3_MotionCapture.pdf)
## Les vidéos des 3 CM (2020) ## Les vidéos des 3 CM (2020)
[Les vidéos](video) [Les vidéos](video)
## Le TP ## Le TP
* [TP animation de personnage virtuel](tp) * [TP animation de personnage virtuel](tp)
* [[master_charanim_code|Le code initial]] * [[master_charanim_code|Le code initial]]
#### Rendu #### Rendu
Les archives sont à rendre sur TOMUSS Les archives sont à rendre sur TOMUSS
* TP Animation de personnage virtuel * TP Animation de personnage virtuel
* vous devez rendre une archive avec un readme.txt ou readme.md expliquant ce que vous avez fait et comment lancer le programme * vous devez rendre une archive avec un readme.txt ou readme.md expliquant ce que vous avez fait et comment lancer le programme
* une VIDEO de DEMO ou une démo en LIVE * une VIDEO de DEMO ou une démo en LIVE
* Barème "Personnage" * Barème "Personnage"
* (5 points) TP 1ère partie : affichage d'une animation BVH * (5 points) TP 1ère partie : affichage d'une animation BVH
* (3 points) Contrôleur d'animation : la base (pilotage au clavier d'un déplacement) * (3 points) Contrôleur d'animation : la base (pilotage au clavier d'un déplacement)
* Machine à état (4 points maximum) * Machine à état (4 points maximum)
* basique : pour une machine à état de base avec 4 animations : iddle, marcher, courir, sauter ou kick * basique : pour une machine à état de base avec 4 animations : iddle, marcher, courir, sauter ou kick
* avancé : une machine à état plus complète avec de nombreuses animations (une dizaine) : voir celles du répertoire motionGraph_second_life, etc. * avancé : une machine à état plus complète avec de nombreuses animations (une dizaine) : voir celles du répertoire motionGraph_second_life, etc.
* Motion Graphe (6 points max) * Motion Graphe (6 points max)
* basique : transition vers un autre animation en cherchant à la volée une transition compatible * basique : transition vers un autre animation en cherchant à la volée une transition compatible
* avancé : un motion graph construit automatiquement en pré-calcul (voir la fin de l'énoncé qui pointe vers un complément de sujet). * avancé : un motion graph construit automatiquement en pré-calcul (voir la fin de l'énoncé qui pointe vers un complément de sujet).
* (3 points) Interpolation entre 2 frames, à utilise pour les transitions ou pour une bonne gestion du temps * (3 points) Interpolation entre 2 frames, à utilise pour les transitions ou pour une bonne gestion du temps
* (1 points) Collision entre personnage et sphères (voir le code PhysicalWorld) * (1 points) Collision entre personnage et sphères (voir le code PhysicalWorld)
* (1 points) bonus de qualité/cohérence de la scène * (1 points) bonus de qualité/cohérence de la scène
* Le total fait plus que 20 car les points FSM/graphe d'animation sont à comprendre avec un OU : la machine à état rapporte moins de points, car bien moins difficile. * Le total fait plus que 20 car les points FSM/graphe d'animation sont à comprendre avec un OU : la machine à état rapporte moins de points, car bien moins difficile.
# CM Animation de personnages virtuels (Master 1ère année) # CM Animation de personnages virtuels (Master 1ère année)
* CM = Cours Magistral * CM = Cours Magistral
* Vous pouvez très facilement faire une pause au moment des * Vous pouvez très facilement faire une pause au moment des
exercices, revenir en arrière et/ou accélérer la vitesse de la vidéo exercices, revenir en arrière et/ou accélérer la vitesse de la vidéo
depuis les options de YouTube (x 1.50 ou plus vite) depuis les options de YouTube (x 1.50 ou plus vite)
## CM1 : Animation basée squelette ## CM1 : Animation basée squelette
Il y a 3 vidéos pour le CM1 : Il y a 3 vidéos pour le CM1 :
* L'introduction * L'introduction
* Un exercice d'affichage de squelette animé très simple * Un exercice d'affichage de squelette animé très simple
* Afficage récursif d'un squelette à partir de la structure de données, présentation du format BVH, prise en main du code du TP * Afficage récursif d'un squelette à partir de la structure de données, présentation du format BVH, prise en main du code du TP
#### CM1.a Introduction #### CM1.a Introduction
<iframe width="560" height="315" src="//www.youtube.com/embed/TNSesEPrAn0 " frameborder="0" allowfullscreen></iframe> <iframe width="560" height="315" src="//www.youtube.com/embed/TNSesEPrAn0 " frameborder="0" allowfullscreen></iframe>
#### CM1.b Exercice #### CM1.b Exercice
<iframe width="560" height="315" src="//www.youtube.com/embed/1Js-9r28T-c" frameborder="0" allowfullscreen></iframe> <iframe width="560" height="315" src="//www.youtube.com/embed/1Js-9r28T-c" frameborder="0" allowfullscreen></iframe>
#### CM1.c Arbre/Squelette, Affichage récursif et BVH #### CM1.c Arbre/Squelette, Affichage récursif et BVH
<iframe width="560" height="315" src="//www.youtube.com/embed/1Y8VE9WrSfw" frameborder="0" allowfullscreen></iframe> <iframe width="560" height="315" src="//www.youtube.com/embed/1Y8VE9WrSfw" frameborder="0" allowfullscreen></iframe>
## CM2 : Edition d\'animations et Contrôle d\'un Personnage Virtuel ## CM2 : Edition d\'animations et Contrôle d\'un Personnage Virtuel
<iframe width="560" height="315" src="//www.youtube.com/embed/DfsH9bIIisA" frameborder="0" allowfullscreen></iframe> <iframe width="560" height="315" src="//www.youtube.com/embed/DfsH9bIIisA" frameborder="0" allowfullscreen></iframe>
## CM3 : Animation et Capture de Mouvements ## CM3 : Animation et Capture de Mouvements
<iframe width="560" height="315" src="//www.youtube.com/embed/7t98WLxikOo" frameborder="0" allowfullscreen></iframe> <iframe width="560" height="315" src="//www.youtube.com/embed/7t98WLxikOo" frameborder="0" allowfullscreen></iframe>
# Master 1 Informatique - UE M1if37 Animation en synthèse d'image (3 ECTS)
## Contrôle de mouvement
Télécharger [les transparents du cours](../doc_controle/M1IF37_CM_CONTROLEUR.pdf)
Télécharger [l'énoncé du TP](../doc_controle/M1IF37_TP_CONTROLEUR.pdf)
Accéder [aux ressources pour le TP](../doc_controle/tp.zip)
Télécharger [le modèle pour le rapport](../doc_controle/M1IF37_TP_CONTROLEUR-modele_rapport.docx)
\ No newline at end of file