Instanzmasken überlagern
Gute Arbeit bei der Erstellung der semantischen Maske in der vorherigen Übung! Jetzt kannst du sie an den Stellen, an denen das Instanzsegmentierungsmodell Objekte erkannt hat, mit Instanzmasken überschreiben.
Du verwendest das vortrainierte MaskRCNN in deinem Workspace, um Instanzsegmentierungsmasken zu erzeugen. Anschließend iterierst du über diese Masken und überlagert für jede Maske die Bereiche, in denen ein Objekt mit hoher Sicherheit erkannt wurde, über der semantischen Maske.
torch ist bereits für dich importiert.
Diese Übung ist Teil des Kurses
Deep Learning für Bilder mit PyTorch
Anleitung zur Übung
- Initialisiere
panoptic_mask, indem dusemantic_maskklonst. - Definiere die for-Schleife, um über die Instanzmasken zu iterieren, und nenne die Iterationsvariable
mask. - Überschreibe für jede Instanzmaske an den Positionen, an denen sie größer als
0.5ist, die panoptische Maske mit der aktuelleninstance_id.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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()