CommencerCommencer gratuitement

Préparer des masques sémantiques

Une manière courante de réaliser la segmentation panoptique consiste à combiner les sorties de la segmentation sémantique et de la segmentation d’instances. Examinez l’image suivante d’une rue de New York.

street image

Votre objectif est de la segmenter de façon panoptique : chaque taxi jaune doit être identifié comme un objet distinct, tout en distinguant l’asphalte de l’arrière-plan des bâtiments.

Pour cela, vous commencerez par produire un masque sémantique avec un U-Net pré-entraîné, accessible via UNet(). Idéalement, il devrait différencier les deux types d’arrière-plan (mais pas les taxis individuellement) !

Cet exercice fait partie du cours

Deep Learning pour l’image avec PyTorch

Afficher le cours

Instructions

  • Instanciez le modèle U-Net sous le nom model.
  • Générez semantic_masks en passant le tenseur d’image d’entrée au modèle.
  • Créez un masque sémantique unique en choisissant, pour chaque pixel, la classe à plus forte probabilité.

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()
Modifier et exécuter le code