Configurer les masques sémantiques
Une méthode courante pour effectuer une segmentation panoptique consiste à combiner les résultats de la segmentation sémantique et de la segmentation d'instances. Veuillez examiner l'image suivante d'une rue de New York.
Votre tâche consiste à le segmenter de manière panoptique, de sorte que chaque taxi soit identifié comme un objet distinct, tout en distinguant l'asphalte et les bâtiments en arrière-plan.
Pour ce faire, vous commencerez par produire un masque sémantique à l'aide d'un U-Net pré-entraîné, disponible à l'adresse UNet()
. Nous espérons que cela permettra de distinguer les deux types d'arrière-plans (mais pas les cabines particulières).
Cet exercice fait partie du cours
Deep learning pour les images avec PyTorch
Instructions
- Instancier le modèle U-Net sous le nom d'
model
. - Générez l'
semantic_masks
en transmettant le tenseur de l'image d'entrée au modèle. - Créez un masque sémantique unique en sélectionnant la classe présentant la probabilité la plus élevée pour chaque pixel.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Instantiate the model
model = ____
# Produce semantic masks for the input image
with torch.no_grad():
semantic_masks = ____
# Choose highest-probability class for each pixel
semantic_mask = ____(____, ____)
# Display the mask
plt.imshow(semantic_mask.squeeze(0))
plt.axis("off")
plt.show()