Skip to content
Snippets Groups Projects
Commit 4649d340 authored by Alexandre MEYER's avatar Alexandre MEYER
Browse files

update 2024, IntoNN new TP

parent 48164257
No related branches found
No related tags found
No related merge requests found
Pipeline #170766 passed
# Master 2 ID3D et IA - UE Apprentissage Machine Et Image (3 ECTS)
# Master 2 ID3D - Analyse, Traitement d'Image et Vision 3D
# Master 2 IA - Apprentissage Machine Et Image
Responsables de l'enseignement : [Alexandre Meyer](http://liris.cnrs.fr/alexandre.meyer),
[Julie Digne](http://liris.cnrs.fr/jule.digne)
......@@ -10,24 +11,30 @@ Volume horaire : 30h (CM/TP)
![MLImage_all.jpg](images/MLImage_all.jpg)
## Objectif de l'UE
<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. Le cours présente d'abord les problèmes classiques liés à limage comme la classification, l'extraction de descripteurs, la reconnaissance de formes, le suivi dobjet, la segmentation, etc. Puis le cours présente les méthodes génératives autour de limage au sens large. Un large panel des différents types de réseaux (CNN, auto-encoder, LSTM, GAN, transformer, réseaux de diffusion, etc.) est donné en se focalisant sur des données de type image, mais également des données de type nuage de points, maillage, animation (squelette), palette de couleur, etc.
<p style="text-align:justify;"> Cette page regroupe des supports pour des cours de 2ère année du Master d'Informatique de l'Université Lyon 1 (ATIV pour ID3D, et "Apprentissage et Image" pour IA). Les cours ont lieu à l'automne. L'objectif de l'UE est de donner les bases en apprentissage machine (notamment apprentissage profond) pour les problèmes d'images. Le cours présente d'abord les problèmes classiques liés à l'image comme la classification, l'extraction de descripteurs, la reconnaissance de formes, le suivi d'objet, la segmentation, etc. Puis le cours présente les méthodes génératives autour de l'image au sens large. Un large panel des différents types de réseaux (CNN, auto-encoder, LSTM, GAN, transformer, réseaux de diffusion, etc.) est donné en se focalisant sur des données de type image, mais également des données de type nuage de points, maillage, animation (squelette), palette de couleur, etc.
</p>
[Les slides de la présentation des options sont ici.](doc/MLImage_PresOption.pdf)
[Les slides de la présentation des options en Master IA sont ici.](doc/MLImage_PresOption.pdf)
## Thématiques abordées
### Deep learning et images (A. Meyer)
* Les bases de l'apprentissage profond : espace latent, régularisation, etc.
* CNN, Autoencodeur
* Segmentation : U-Net
* Tracking : YOLO
* Capture du squelette (type OpenPose, XNect, etc.)
### Deep learning et images
* Les bases de l'apprentissage profond : entrainement, espace latent, régularisation, etc.
* ConvolutionNN
* Segmentation (U-Net, etc.)
* Tracking (YOLO)
* Capture du squelette (OpenPose, XNect, etc.)
* Notion de transformer/attention pour la reconnaissance
### Deep learning génératif et deep learning géometrique (J. Digne)
* Génération d'images: GANs et Réseaux de diffusion
### Deep learning génératif
* Génération d'images
* auto-encoder
* GAN
* Réseaux de diffusion
* Notions étendues à des données 3D
### Deep learning géometrique
* Apprentissage pour les données géométriques :
* Nuages de points (pointNet, etc.)
* Maillages (MeshConv, etc.)
......@@ -35,16 +42,14 @@ Volume horaire : 30h (CM/TP)
* Représentations neuronales implicites (IGR, SIREN)
* Champs de radiance neuronaux (Nerf)
### Transport optimal (N. Bonneel)
### Transport optimal
* Introduction au transport optimal
## Emploi du temps : automne 2023
## Emploi du temps : automne 2024
Les cours sont le jeudi après-midi entre octobre et fin janvier.
![MLImage_all.jpg](images/MLImage_edt.jpg)
......
......@@ -16,9 +16,7 @@ L'entrainement du réseau consistera à lui montrer toute une série de coordonn
### Un neurone
Un neurone artificiel (ou un perceptron) reçoit des valeurs d’entrées, il les multiplie une à une par un poids, puis en fait la somme. Cette
somme est passée à une fonction d'activation. Par exemple une fonction d'activation très simple peut-être de comparer la somme à un seuil. Si
elle est inférieure, la valeur de sortie sera 0, 1 sinon. L’objectif de l’apprentissage/optimisation est de retrouver les poids qui ferons correspondre au mieux la sortie à partir des entrées sur une base de connaissance disponible.
Un neurone artificiel (ou un perceptron) reçoit des valeurs d’entrées, il les multiplie une à une par un poids, puis en fait la somme. Cette somme est passée à une fonction d'activation. Par exemple une fonction d'activation très simple peut-être de comparer la somme à un seuil. Si elle est inférieure, la valeur de sortie sera 0, 1 sinon. L’objectif de l’apprentissage/optimisation est de retrouver les poids qui ferons correspondre au mieux la sortie à partir des entrées sur une base de connaissance disponible.
![Image alt](../images/dl_neuron.png)
......@@ -28,8 +26,7 @@ elle est inférieure, la valeur de sortie sera 0, 1 sinon. L’objectif de l’a
Le principe du réseau de neurones est d’assembler entre-eux des neurones, pour leur faire apprendre des tâches complexes. Les neurones
vont être regroupés en couches, une couche réalisant une tâche donnant un niveau d’abstraction supplémentaire pour la couche suivante. Par
exemple, pour reconnaître une lettre, la couche la plus basse va repérer des morceaux de courbes et la couche supérieure estime que certaines
courbes ensembles forme un 'A' et non un 'S'. L’utilisation de plusieurs couches (layer en anglais) est appelée apprentissage profond/Deep Learning.
exemple, pour reconnaître une lettre, la couche la plus basse va repérer des morceaux de courbes et la couche supérieure estime que certaines courbes ensembles forme un 'A' et non un 'S'. L’utilisation de plusieurs couches (layer en anglais) est appelée apprentissage profond/Deep Learning.
![Image alt](../images/dl_layer.png)
......
---
title: "Apprentissage et images (partie AM) - TP"
description: "Partie A. Meyer"
---
## Tutorial (TP)
The aim of this tutorial is to implement from scratch a simple neural network trained by backpropagation. This will be a formative introduction to more advanced frameworks (such as PyTorch) where learning is automated.
All steps are described in the start code.
## Documents to read
In addition to the course slides:
* [the_four_fundamental_equations_behind_backpropagation](http://neuralnetworksanddeeplearning.com/chap2.html#the_four_fundamental_equations_behind_backpropagation)
* [The backpropagation equations][doc/backpropagation-from-scratch.pdf]
* [Introduction-au-deep-learning(Miximum)](https://www.miximum.fr/blog/introduction-au-deep-learning-2/)
## A solution
\ No newline at end of file
---
title: "Apprentissage et images (partie AM)"
title: "Vision and machine learning (partie AM)"
description: "Partie A. Meyer"
---
......@@ -7,7 +7,7 @@ description: "Partie A. Meyer"
## Les base du Deep Learning pour l'image
## The foundations of Deep Learning for images
* [Alexandre Meyer](https://perso.liris.cnrs.fr/alexandre.meyer)
<!---
* [L'ancienne page de cette partie](https://perso.liris.cnrs.fr/alexandre.meyer/public_html/www/doku.php?id=image_deeplearning)
......@@ -19,13 +19,11 @@ description: "Partie A. Meyer"
### Le Cours
* [CM1](doc/DLIM-CM1_NN.pdf) : les bases
* [CM2](doc/DLIM-CM2_CNN.pdf) : CNN
* [CM3](doc/DLIM-CM3_Vision.pdf) : La vision "moderne" (Segmentation, Tracking (YOLO), AE, GAN)
* [CM1](doc/DLIM-CM1_NN.pdf): Introduction to neural networks
* [CM2](doc/DLIM-CM2_CNN.pdf): ConvNN
* [CM3](doc/DLIM-CM3_Vision.pdf): the “modern” vision (Segmentation, Tracking (YOLO), AE, GAN)
* [anciens slides](https://perso.liris.cnrs.fr/alexandre.meyer/teaching/master_charanim/aPDF_COURS_M2/M2_6_DeepLearning_Images.pdf)
<!---
......@@ -38,10 +36,11 @@ description: "Partie A. Meyer"
### Les TP
### Tutorials (TP)
0. [Installation](tp_installation)
1. [Partie classification](tp_classification) (si vous maitrisez déjà bien la classification et les CNN, passez à la question suivante)
2. [Partie transfert de style entre images](tp_style)
3. [Partie transfert de geste et génération d'images de personne](tp_dance)
1. [A neural network from scratch](tp_nnFromScratch)
2. [Classification](tp_classification) with Pytorch
3. [Style transfer between images](tp_style)
4. [Gesture transfer and person image generation](tp_dance)
* [Ancien TP : autoencodeur et animation](tp_aeanimation)
* [Old TP: autoencoder and animation](tp_aeanimation)
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment