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.

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
Istruzioni dell'esercizio
- Istanzia il modello U-Net come
model. - Genera
semantic_maskspassando 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()