Jour 1
INTRODUCTION À LA COMPUTER VISION
Les débuts de la CV, élément déclencheur
Frise chronologique de la CV et évolution du marché dans ce sens
Pourquoi le Deep Learning est-il devenu le standard ?
La révolution AlexNet
LES DÉBUTS DE L'IMAGERIE DANS LE NUMÉRIQUE
Rappel de traitement du signal
Représentation d'une image numérique
- Compression
- Encodage
- Résolution d'une image
Applications historiques
- Problème d'aliasing
- Balance des blancs
- Segmentation sémantique
Démonstration des transformations possibles d'une image selon les méthodes présentées
MACHINE LEARNING CLASSIQUE APPLIQUÉ À L'IMAGERIE
Représenter une image pour du Machine Learning
- Tableau de pixels
- Histogram de gradiant et descripteurs SIFT (Scale-invariant feature transform)
Métriques d'évaluation
- Classification
- Détection d'objets
- Segmentation
Démonstration d'application du descripteur SIFT et mob pour implémenter la méthode
DEEP LEARNING APPLIQUÉ À L'IMAGERIE (PARTIE 1)
Introduction aux CNN (Convolutional Neural Network)
Principe du transfert learning
Vision transformers et MaskFormers (HuggingFace)
Applications et métriques d'évaluation
- Classification : Théorie pour comprendre la classification dans le deep / Présentation des modèles à l'état de l'art
- Détection : Comprendre la détection d'objets dans une image / Présentation des modèles à l'état de l'art et particularités
- Segmentation (instance, semantic et panoptic) : Comprendre les différents types de segmentation d'objets (3 types) sur une image / Présentation des modèles à l'état de l'art et particularités
Démonstration d'application des différents types de segmentation et leur évaluation pour identifier leurs spécificités (ex: Bodypix)
Mise en pratique : “Implémenter, en mob, un modèle de Deep Learning effectuant de la détection et segmentation, en évaluant les performances du modèle - en passant par la méthode de transfer learning”
Mise en pratique : “Visualiser les filtres du modèle implémenté”
Jour 2
DEEP LEARNING APPLIQUÉ À L'IMAGERIE (PARTIE 2)
Présentation de Pytorch et Tensorflow
Applications à la vidéo
Mises en pratique :
- “Améliorer le modèle utilisé le jour 1 pour le même cas d'usage mais appliqué à une vidéo”
- “Évaluer la performance en temps de calcul de son modèle”
MODÈLES COMPARATIFS EN IMAGERIE
Contrastive learning (lien)
- Caractéristiques générales d'un ensemble de données sans label, en apprenant au modèle quels points de données sont similaires ou différents
Zero-shot learning
- Lien entre la sémantique textuelle et ses représentations visuelles : Contrastive Language-Image Pretaining (CLIP) - OpenAI
- Guided Language to Image Diffusion for Generation and Editing (GLIDE)
One-shot learning
- Facenet (Google, 2015): face recognition
- “Liveness detection” : distinction entre photo et personne physique (PyimagesSearch)
- RN siamois (lien)
Few-shot learning
Métriques d'évaluation
Démonstration : “Reconnaissance faciale en one-shot learning”
Mise en pratique : “Remplacer son modèle en appliquant un modèle CLIP (zero-shot-learning) et comparer les performances avec un modèle deep classique”
INTERPRÉTABILITÉ
Méthodes spécifiques aux images
Shapley values & LIME
Adversarial Attack
Mises en pratique :
- “Vérifier que son modèle implémenté apprend bien ce que l'on souhaite qu'il apprenne”
- “Tromper le modèle qui doit détecter des personnes”
Jour 3
MODÈLES GÉNÉRATIFS
Data augmentation : Synthetic dataset
GAN
Modèles de diffusion
- DALL-E 2 : architecture - fonctionnement
- Stable diffusion : code avec Stability AI : site web , repo
Applications
- Unconditional image generation
- Inpainting : supprimer les objets indésirables d'une image ou recréer les régions manquantes d'images occluses (DFT) -lien paper
- Super-resolution (medium)
- Correction de défauts (ex: débruitage, augmentation des détails, amélioration de la qualité, niveau de lumière, flou…)
Evaluation des risques
- Applications frauduleuses: DeepFake
- Éthique: biais ethniques et sociaux
Démonstrations
- “Synthetic dataset, concrètement comment ça s'implémente”
- “Transfert de style avec du Deep Learning”
Mise en pratique : “Manipuler Stable Diffusion (prévoir des machines avec GPU)”
IMAGERIE EMBARQUÉE
Contraintes
Optimisation de modèle (pour l'inférence)
- Architecture de modèle spécifique (mobilenet, yolo) : Mobilenet, architecture du modèle et spécificité - avantage et inconvénient (rapide à inférer mais long à entraîner) / YOLO - YOLOv8, spécificité (ce qui le rend rapide et juste à la fois) - zoom sur temps d'entraînement et temps d'inférence
- Considérations énergétiques : Frugalité en ML / Knowledge distillation, quantization, weight pruning, morphnet
- Outils disponibles et accélérateurs d'inférence : TFlite / Tensorflow extended (TFX) / TensorFlow Lite Model Maker / CoralTPU / Tensor RT pour NVDIA
- Mises en pratique : “Embarquer son modèle implémenté le jour 2 sur un Raspberry PI ou sur une Coral” / “Effectuer de la détection en temps réel sur Raspberry Pi ou sur la Coral”
BILAN ET CLÔTURE DE SESSION
Revue des concepts clés présentés tout au long de la formation
Questions et réponses additionnelles
Evaluation et Clôture