Couches de rééchantillonnage (UpSampling2D)

Les couches UpSampling2D sont utilisées dans les réseaux de neurones convolutionnels pour augmenter la dimension spatiale des images ou des cartes de caractéristiques. L’objectif est de restaurer une résolution plus grande à partir de représentations compressées, par exemple après des opérations de pooling ou de convolution.

Le principe consiste à répéter ou interpoler les pixels le long des axes hauteur et largeur, augmentant ainsi les dimensions spatiales de l’image ou de la carte de caractéristiques. Cette opération est souvent utilisée dans les architectures de segmentation, les autoencodeurs convolutionnels ou les réseaux génératifs.

Les couches UpSampling2D sont utilisées pour reconstruire des images, générer des images de plus grande résolution ou améliorer la granularité spatiale des cartes de caractéristiques.

En résumé, les couches UpSampling2D permettent d’augmenter la résolution des images ou des cartes de caractéristiques, facilitant la reconstruction ou la génération de données visuelles à partir de représentations compressées.

Fonctions :

  • UpSampling2D()

    La couche UpSampling2D augmente la résolution spatiale (hauteur et largeur) d’une image ou d’une carte de caractéristiques en répétant les valeurs selon les dimensions spatiales. Elle est utilisée pour restaurer la taille des données dans les réseaux convolutionnels, notamment dans les réseaux génératifs ou les auto-encodeurs.

    Importation :

    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import UpSampling2D
    import numpy as np

    Attributs :

    Paramètre Type Description Valeur par défaut
    size tuple d’int ou int Facteur d’agrandissement pour les dimensions (hauteur, largeur). Peut être un int unique pour les deux axes ou un tuple. (2, 2)
    data_format string Format des données d'entrée, soit "channels_last" (par défaut, shape: batch, hauteur, largeur, canaux) soit "channels_first" (shape: batch, canaux, hauteur, largeur). "channels_last"

    Exemple de code :

    from tensorflow.keras.models import Sequential
    from tensorflow.keras.layers import UpSampling2D
    import numpy as np
    
    # Données simulées : batch de 1 image, 2x2 pixels, 1 canal
    X = np.array([[[[1], [2]],
                   [[3], [4]]]])
    
    # Modèle avec UpSampling2D
    model = Sequential()
    model.add(UpSampling2D(size=(2, 2), input_shape=(2, 2, 1)))
    
    # Passage des données dans la couche
    output = model.predict(X)
    print(output)
    Résultat du code

    Explication du code :

    Importation des bibliothèques
    On importe la couche `UpSampling2D` ainsi que les modules nécessaires.
    Création des données
    Les données représentent un batch avec une image 2x2 pixels et 1 canal.
    Définition du modèle
    Le modèle contient uniquement la couche `UpSampling2D` avec un facteur d’agrandissement de 2 sur hauteur et largeur.
    Exécution
    Le passage des données produit une image 4x4 où chaque pixel original est répété 2 fois en hauteur et 2 fois en largeur.

⚠️ Ce contenu est réservé aux membres Premium

Abonnez-vous pour débloquer cette page et accéder à tous nos contenus exclusifs.

Souscrire maintenant