IniziaInizia gratis

Configura le maschere semantiche

Un modo comune per eseguire la segmentazione panottica è combinare gli output della segmentazione semantica e di quella per istanze. Considera la seguente immagine di una strada di New York.

street image

Il tuo compito è segmentarla in modo panottico, così che ogni taxi sia identificato come oggetto distinto, distinguendo al contempo tra l’asfalto e gli edifici sullo sfondo.

Per riuscirci, inizierai producendo una maschera semantica con una U-Net pre-addestrata, disponibile come UNet(). Idealmente, dovrebbe distinguere tra i due tipi di sfondo (ma non tra i singoli taxi)!

Questo esercizio fa parte del corso

Deep Learning per Immagini con PyTorch

Visualizza il corso

Istruzioni dell'esercizio

  • Istanzia il modello U-Net come model.
  • Genera semantic_masks passando al modello il tensore dell’immagine di input.
  • Crea un’unica maschera semantica scegliendo la classe con probabilità più alta per ciascun pixel.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice