LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Initialisiere panoptic_mask, indem du semantic_mask klonst.
  • 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.5 ist, die panoptische Maske mit der 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()
Code bearbeiten und ausführen