Overlay-Instanzmasken
Toll gemacht mit der semantischen Maske in der letzten Übung! Jetzt kannst du es an den Stellen, an denen die Objekte vom Instanzsegmentierungsmodell erkannt wurden, mit Instanzmasken überschreiben.
Du wirst das vorab trainierte Modell „ MaskRCNN
“ aus deinem Arbeitsbereich nutzen, um Instanzsegmentierungsmasken zu erstellen. Dann gehst du diese Masken durch und überlagerst für jede Maske die Teile, in denen ein Objekt mit hoher Sicherheit erkannt wurde, über die semantische Maske.
torch
ist schon für dich importiert.
Diese Übung ist Teil des Kurses
Deep Learning für Bilder mit PyTorch
Anleitung zur Übung
- Starte „
panoptic_mask
“, indem du „semantic_mask
“ klonst. - Definiere die for-Schleife, um die Instanzmasken zu durchlaufen, wobei die Iteratorvariable „
mask
“ auf „1“ gesetzt wird. - Für jede Instanzmaske überschreibst du an Stellen, an denen sie größer als „
0.5
“ ist, die panoptische Maske mit dem aktuellen „instance_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()