Sovrapponi le maschere di istanza
Ottimo lavoro nel produrre la maschera semantica nell'esercizio precedente! Ora puoi sovrascriverla con le maschere di istanza nei punti in cui gli oggetti sono stati identificati dal modello di instance segmentation.
Userai il MaskRCNN pre-addestrato disponibile nel tuo workspace per generare le maschere di instance segmentation. Poi, farai un ciclo su queste maschere e, per ciascuna di esse, sovrapporrai le parti in cui un oggetto è rilevato con alta confidenza sopra la maschera semantica.
torch è già importato per te.
Questo esercizio fa parte del corso
Deep Learning per Immagini con PyTorch
Istruzioni dell'esercizio
- Inizializza
panoptic_maskclonandosemantic_mask. - Definisci un ciclo for per iterare sulle maschere di istanza, chiamando
maskla variabile iteratore. - Per ogni maschera di istanza, nelle posizioni in cui è maggiore di
0.5, sovrascrivi la panoptic mask con l'instance_idcorrente.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Instantiate model and produce instance masks
model = MaskRCNN()
with torch.no_grad():
instance_masks = model(image_tensor)[0]["masks"]
# Initialize panoptic mask as semantic_mask
panoptic_mask = ____
# Iterate over instance masks
instance_id = 3
for ____ in ____:
# Set panoptic mask to instance_id where mask > 0.5
panoptic_mask[____] = ____
instance_id += 1
# Display panoptic mask
plt.imshow(panoptic_mask.squeeze(0))
plt.axis("off")
plt.show()