Summary

This document provides a presentation on Convolutional Neural Networks (CNNs), an important concept in deep learning for computer vision. It details the structure, functioning, and advantages of CNNs.

Full Transcript

4: Réseaux Convolutifs (Convolutional Neural Networks - CNN): partie 2 1 les Réseaux de Neurones Convolutifs (CNN) Les réseaux de neurones convolutifs, ou CNN (Convolutional Neural Networks), sont une classe de réseaux de neurones spécifiquement conçus pour traiter des données en gri...

4: Réseaux Convolutifs (Convolutional Neural Networks - CNN): partie 2 1 les Réseaux de Neurones Convolutifs (CNN) Les réseaux de neurones convolutifs, ou CNN (Convolutional Neural Networks), sont une classe de réseaux de neurones spécifiquement conçus pour traiter des données en grille, telles que les images. Ils sont largement utilisés en vision par ordinateur pour des tâches comme la classification d'images, la détection d'objets, et la segmentation. Exemple : Le jeux de tic tac toe Comment une machine peut classer une image en lettre O ou X. Chaque lettre apparaît comme une grille de carrés noirs et blancs, où le noir représente des pixels remplis et le blanc des pixels vides La section agrandie à gauche affiche la lettre "O", avec une disposition circulaire de pixels noirs formant la forme de la lettre, la section agrandie à droite montre la lettre "X", avec des pixels noirs disposés en forme de croix. 2 les Réseaux de Neurones Convolutifs (CNN) Voyons donc, étape par étape, comment un ordinateur peut classer cette image comme la lettre « o » 6 pixels 6 pixels La lettre "O" :Représentée par une matrice binaire où les contours noirs forment un cercle, avec des 1 entourant des 0 au centre. 1 représente un pixel noir. 0 représente un pixel blanc. 3 les Réseaux de Neurones Convolutifs (CNN) Traitement par un Réseau de Neurones Artificiels (ANN) Étape 1 : Aplatir la Matrice (Une matrice 6x6 devient un vecteur de taille 36×1) nous devons estimer 36 poids nous devons estimer 36 poids si on a une grande image, comme 1000 * 1000 pixels? Limite des ANN pour les Images : Perte d'information spatiale. Moins efficace pour les images complexes. si chaque pixel est décalé d'un pixel vers la droite ? 4 les Réseaux de Neurones Convolutifs (CNN) la classification des images volumineuses et complexes est généralement effectuée à l'aide de CNN Les CNN simplifient la classification d'images en 3 étapes clés : 1. Réduire le nombre de nœuds d'entrée : Grâce aux convolutions et au pooling, les CNN compressent les informations tout en conservant les caractéristiques essentielles. 2. Gérer les variations des images : Assurer une robustesse face aux petites translations, rotations ou déformations dans les images d’entrée. 3. Exploiter les relations spatiales : Capturer les corrélations locales entre les pixels pour extraire des caractéristiques pertinentes. 5 les Réseaux de Neurones Convolutifs (CNN) Avant d'entraîner un réseau neuronal convolutif, nous commençons avec des valeurs de pixels aléatoires (pour le filer). Filtre : Avant l'entrainement Filtre : Après l'entrainement Après un entraînement avec rétropropagation, on obtient un filtre plus utile. 6 les Réseaux de Neurones Convolutifs (CNN) 7 les Réseaux de Neurones Convolutifs (CNN) Max Pooling 1 0 0 1 8 les Réseaux de Neurones Convolutifs (CNN) poid 0.34 biais 9 les Réseaux de Neurones Convolutifs (CNN) 10 les Réseaux de Neurones Convolutifs (CNN) 11 Architectures CNN : Alexnet Krizhevsky et al (2012). “Imagenet classification with deep convolutional neural networks.” Première architecture à démontrer l’efficacité des CNN sur des tâches complexes. Conçu pour le défi ILSVRC 2012 (ImageNet Large Scale Visual Recognition Challenge). 8 couches principales (5 couches convolutionnelles, 3 couches entièrement connectées). Résultats :Taux d’erreur: 15,3 % (contre 26 % pour les modèles traditionnels). Entrainement sur 6 jours avec deux GPU Nvidia GTX 580 12 Architectures CNN : Alexnet 13 Architectures CNN : Inception C.Szegedy et al. 2014. “Going deeper with convolutions” Basée sur des blocs Inception qui combinent des convolutions de différentes tailles (1x1, 3x3, 5x5). Réduction du nombre de paramètres (Utilisation de convolutions 1x1 pour optimiser les calculs.) tout en augmentant la profondeur pour améliorer la performance.: Efficace en termes de calcul et de mémoire (12 fois moins de paramètres qu’AlexNet). Conçu pour ImageNet : taux d’erreur de 5,67% ILSVRC 2014 (ImageNet Large Scale Visual Recognition Challenge). 14 Architectures CNN : Inception 15 Architectures CNN : Inception 16 Architectures CNN : MobileNet Sandler et al. 2019, MobileNetV2: “Inverted Residuals and Linear Bottlenecks” Objectif : Créer des réseaux de neurones légers et efficaces pour applications mobiles. Caractéristiques principales : 1. Optimisé pour : Détection d'objets. Classification fine des catégories. Localisation. 2. Avantages : Modèle léger. Rapide et efficace : Convient aux appareils à ressources limitées. 3. Applications réelles : Vision par ordinateur sur mobile. Réalité augmentée. IoT et périphériques embarqués. 17 Introduction au Transfer Learning en Vision par Ordinateur Qu'est-ce que le Transfer Learning ? Technique qui consiste à utiliser un modèle pré-entraîné sur un grand jeu de données pour résoudre une nouvelle tâche. Idéal pour les tâches avec peu de données d'entraînement. Pourquoi utiliser le Transfer Learning ? 1. Réduit le temps d’entrainement grâce aux poids déjà calculés. 2. Exploite les connaissances d'un modèle pré-entraîné sur des jeux de données comme : ImageNet (1 000 classes), MS COCO, PASCAL VOC. Quand l'utiliser ? Si vous avez un jeu de données limité. Si vous ne souhaitez pas entrainer un réseau entièrement depuis zéro. 18 Exemple d'Application : Transfer Learning en Vision par Ordinateur Tâche : Reconnaître si une image contient : Une pomme, Une banane, Ou aucun des deux. Problème : Vous disposez de peu de données d'entraînement pour les images spécifiques de pommes et de bananes. Solution : 1. Télécharger un réseau pré-entraîné (par exemple, MobileNet ou ResNet formé sur ImageNet). 2. Remplacer la couche de sortie (Softmax) par une nouvelle couche capable de classifier : 3 classes : pomme, banane, aucun des deux. 3. Geler les premières couches (qui détectent les motifs de base comme les bords, les textures, etc.) et n'entraîner que la dernière couche pour adapter la classification au problème spécifique. Résultat : Vous obtenez un modèle performant même avec un petit jeu de données d'entraînement, grâce à l'utilisation des poids pré-entraînés et à l'ajustement de la couche de sortie. 19 Stratégies selon la quantité de données : Transfer Learning en Vision par Ordinateur Avec un petit jeu de données : Geler toutes les couches sauf la dernière. N'entraîner que la couche Softmax. pomme Geler banane Avec un jeu de données moyen : Geler moins de couches. aucun N'entraîner que les couches supérieures et la sortie Softmax. Résumé : pomme Geler Plus vous avez de données, plus vous pouvez entraîner un grand nombre de banane couches. aucun Avantages du Transfer Learning ❑ Efficacité : Entrainement rapide grâce aux poids pré-entraînés. ❑ Flexibilité : Adapter un réseau à une nouvelle tâche avec peu de modifications. Économie de ressources : 20 Augmentation de Données: Méthodes Courantes Pourquoi l'augmentation de données est importante ? Permet d'améliorer les performances du modèle en augmentant artificiellement la taille du jeu de données. Aide à réduire le surapprentissage (overfitting) en rendant le modèle plus robuste à différentes variations des données. Techniques Principales d'Augmentation : 1. Mirroring (Miroir) : Crée une image miroir horizontalement. Idéal pour capturer la symétrie. 2. Random Cropping (Découpage aléatoire) : Découpe aléatoirement une partie de l'image et la redimensionne. Aide à gérer la position et les échelles variables des objets. 21 Augmentation de Données: Méthodes Courantes 3. Rotation : Applique une rotation aléatoire (ex : ±15 degrés) pour gérer différentes orientations. 4. Décalage des Couleurs (Color Shifting) Technique d'augmentation de données où les valeurs des canaux de couleur (RVB) sont modifiées aléatoirement. Cette méthode introduit des variations de teinte et de luminosité dans les images. Avantage : Ces techniques enrichissent les données d'entraînement et permettent au modèle de mieux généraliser dans des environnements variés. 22 Localisation et Détection : Concepts Clés Classification d'images : But : Identifier une classe ou une étiquette pour une image entière. Convient pour des images contenant un seul objet. Classification avec localisation : But : Identifier une classe pour l'image tout en déterminant l'emplacement de l'objet principal. Caractéristique : Adapté pour une seule instance d'objet dans une image. Détection des objets: But : Identifier plusieurs objets dans une image et localiser leurs positions respectives. Caractéristique : Permet de gérer des images contenant plusieurs objets. 23 Classification avec Localisation Cette technique combine classification (identifier la classe de l'objet) et localisation (déterminer les coordonnées de l'objet dans l'image). (0,0) 4 Classes bw bh bx , by , bh , b w CNN (1,1) bx , by , bh , bw sont les coordonnées de la boîte englobante (bounding 1. piéton box) pour délimiter l'objet. 2. voiture bx et by : Position x et Position y du centre de l'objet (bx =0.5 et by =0.7) bh : Hauteur relative de la boîte (bh =0.3). 3. moto bw : Largeur relative de la boîte (bw = 0.4). 4. background 24 Définition du label cible « y » pour la classification avec Localisation Cette technique combine la classification (identifier la classe de l'objet) et la localisation (déterminer les coordonnées de l'objet dans l'image). Prédire simultanément : Pc bx 1. La présence d’un objet ( Pc ). by 2. Les coordonnées de la boîte englobante (bx , by , bh , bw ). y= bh bw 3. La classe de l'objet parmi les catégories définies (1-3). c1 c2 c3 x= c1. piéton 1 0 c2. voiture bx ? by ? c3. moto y= bh y= ? bw ? 0 ? 1 ? 0 ? 25 Détection de Points de Repère (Landmark Detection) La détection de points de repère consiste à localiser des points spécifiques dans une image. Visage ? l1x , l1y l2x , l2y l3x , l3y. CNN. l64x , l64y Sortie du réseau : Chaque point est représenté par des coordonnées (lx, ly ) dans l'image. 26 La Détection d'Objets Identifier les objets dans une image et les localiser avec des boîtes englobantes. Contrairement à la classification, elle nécessite de prédire : 1. Classe de chaque objet. 2. Coordonnées de la boîte englobante (x, y, largeur, hauteur). Méthode des fenêtres glissantes (Sliding Windows) : Principe : Utiliser plusieurs fenêtres de taille fixe. Chaque fenêtre est déplacée (ou "glisse") sur l'ensemble de l'image, de haut en bas et de gauche à droite. À chaque position de la fenêtre, un modèle de classification (par exemple, un CNN) est appliqué pour prédire si la fenêtre contient un objet (piéton, voiture, moto) ou non. Problème : Coût computationnel élevé : Les objets plus grands ou plus petits que la taille de la fenêtre sont mal détectés ou ignorés. 27 La Détection d'Objets La méthode par fenêtres glissantes a été remplacée par des techniques modernes comme YOLO (Redmon et al., 2015, You Only Look Once: Unified real-time object detection). Concept général de l'entraînement de YOLO: 1. Division de l'image en grille : 1. L'image est divisée en une grille de 3×3 cellules (ou 9*9). 2. Chaque cellule est responsable de prédire les objets dont le centre se situe dans cette cellule. 2. Classes cibles (labels) : 1. Les objets sont classifiés en 3 catégories : piéton, voiture, moto. 2. Pour chaque cellule, la sortie indique si un objet est présent et, si oui, ses caractéristiques. 3. Structure de la sortie y : 1. Pour chaque cellule, les prédictions incluent : 1. pc : Probabilité qu'un objet soit présent. 2. Coordonnées de la bounding box (bx,by,bh,bw) : Position et taille. 3. Classes (C1,C2,C3) : Scores pour chaque classe. 2. Dimensions de la sortie : 3×3×8 où : 1. 3×3: Grille de cellules. 2. 8 : pc+ bx+ by+ bh+ bw + #classes 28 La Détection d'Objets La méthode par fenêtres glissantes a été remplacée par des techniques modernes comme YOLO (Redmon et al., 2015, You Only Look Once: Unified real-time object detection). Concept général de l'entraînement de YOLO: 1. Division de l'image en grille : 1. L'image est divisée en une grille de 3×3 cellules (ou 9*9). 2. Si une cellule détecte un objet, ses valeurs sont mises à jour dans le vecteur y. 3. Exemple (encadré rouge) : Une cellule détecte une voiture (classe "Car") avec les coordonnées de sa bounding box. exemple Pc 0 1 1 1 bx ? bx bx 0.4 by ? by by 0.3 y= bh ? bh bh 0.5 bw ? bw bw 0.9 C1 ? 0 0 0 C2 ? 1 1 1 C3 ? 0 0 0 29 Détection d'Objets VS Segmentation sémantique Détection d'objets (Object Detection) : Chaque objet d'intérêt est encadré par une boîte englobante (bounding box). Par exemple, la voiture et le panneau de signalisation sont détectés et délimités par des boîtes. Cela permet d'identifier où se trouvent les objets dans une image. Segmentation sémantique (Semantic Segmentation) : Chaque pixel de l'image est classifié en fonction de la catégorie à laquelle il appartient. Cela produit une image segmentée, où chaque couleur correspond à une classe (par exemple, route en vert, voiture en rouge, bâtiments en violet). Cette technique est utilisée pour comprendre l'image à un niveau plus détaillé. 30 Détection d'Objets VS Segmentation sémantique À gauche : Une radiographie pulmonaire (Chest X-Ray) est utilisée pour segmenter différentes parties, telles que les poumons et le cœur. Les couleurs (vert, rouge, bleu) représentent différentes classes anatomiques. À droite : Une IRM cérébrale (Brain MRI) où une tumeur est identifiée et segmentée (en rouge). Cela permet aux cliniciens de détecter précisément la taille et la position de la tumeur. 31 Segmentation sémantique L'algorithme de segmentation a divisé l'image en deux classes principales : Classe 1 : Voiture : Les pixels correspondant à la voiture sont représentés par la couleur verte et la valeur numérique 1. Classe 0 : Fond : Tous les autres pixels (bâtiment, route, ciel) sont classés comme "non-voiture" et sont représentés par la couleur blanche et la valeur numérique 0. Isoler les objets d'intérêt : Dans cet exemple, la voiture est clairement séparée du reste de la scène. 32 Segmentation sémantique Plusieurs objets ou régions segmentées.: chaque pixel est associé à un nombre (1, 2 ou 3 dans ce cas) correspondant à une classe sémantique précise définie dans la légende. 1 (vert): Correspond aux pixels appartenant à la classe "voiture". 2 (bleu): Correspond aux pixels appartenant à la classe "bâtiment". 3 (rose): Correspond aux pixels appartenant à la classe "route". 33 Bibliographie Cours Deep Learning Specialization–Andrew NG Livres deep learning with python - françois chollet Autres https://guandi1995.github.io/ 3Blue1Brown: https://www.youtube.com/@3blue1brown StatQuest : https://www.youtube.com/@statquest https://towardsdatascience.com/ 34 35

Use Quizgecko on...
Browser
Browser