Traitement d’images : Keras, Pytorch, OpenCV
Objectifs
- Connaître les apports de Keras, PyTorch et OpenCV pour le traitement d'images
- Savoir les mettre en oeuvre
- Faire le choix de l'outil adéquat
Connaissances préalables
- 1-Connaissance d'un langage de programmation comme python
- 2-Connaissance des principes de base de la manipulation de données
- 3-Connaissances du machine learning
Profil des stagaires
Chefs de projet, data-scientists, souhaitant comprendre les apports de l'IA pour le traitement d'images
Méthodes pédagogiques
- 6 à 12 personnes maximum par cours, 1 poste de travail par stagiaire
- Remise d’une documentation pédagogique papier ou numérique pendant le stage
- La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
Méthodes d'évaluations des acquis
- Auto-évaluation des acquis par le stagiaire via un questionnaire
- Attestation de fin de stage adressée avec la facture
Durée
3 jours (21 heures)
Programme de formation
Traitement d'Images et IA
- Introduction au traitement d’images et à l’apprentissage automatique, les apports de l’IA
- Cas d’applications : analyse, tri d’images, détection d’objets, reconnaissance faciale, génération d’images, etc.
- Présentation de Keras, PyTorch et OpenCV : principes de fonctionnement, caractéristiques, points fort
Présentation des RN
- Principe des réseaux de neurones
- Différents types de couches: denses, convolutions, activations
- Fonctionnement des réseaux de neurones convolutifs (CNN)
- Descente de gradient
- Multi-Layer Perceptron
Le projet Tensorflow et Keras
- Historique, fonctionnalités
- Architecture distribuée, plateformes supportées
- Principe des tenseurs, caractéristiques d’un tenseur : type de données, dimensions
- Définition de tenseurs simples
- Gestion de variables et persistance
- Représentation des calculs et des dépendances entre opérations par des graphes
Mise en oeuvre avec Keras
- Conception d’un réseau de neurones
- Création et entraînement d’un modèle CNN simple avec Keras
- Classification d’images avec Keras
- Notion de classification, cas d’usage
- Architectures des réseaux convolutifs, réseaux ImageNet
- RCNN et SSD
- Démonstrations
Optimisation d'un modèle
- Visualisation avec Tensorboard
- Optimisation des couches de convolutions
- Choix des hyper-paramètres avec Keras et Keras Tuner
- Utilisation de checkpoints
Segmentation d'Images avec PyTorch
- Comprendre la segmentation d’images
- Création d’un modèle de segmentation convolutif avec PyTorch
- Préparation des données d’entraînement pour la segmentation
- Entraînement et évaluation des performances du modèle
Détection d'Objets avec OpenCV et IA
- Principes de la détection d’objets
- Les différents types de modèles de détection d’objets (classificateurs en cascade, YOLO, SSD, Faster R-CNN, etc.)
- Mise en oeuvre d’OpenCV pour la détection d’objets
- Introduction aux classificateurs en cascade d’OpenCV pour la détection d’objets
- Présentation des modèles IA pré-entraînés pour la détection d’objets
- Comparaison des différents modèles disponibles (YOLO, SSD, Faster R-CNN, etc.)
- Choix du modèle en fonction des besoins de l’application
Génération d'Images avec les GAN
- Introduction aux réseaux génératifs adverses (GAN)
- Création d’un modèle GAN simple avec PyTorch