LoslegenKostenlos loslegen

Semantische Masken einrichten

Eine gängige Methode für panoptische Segmentierung ist, die Ausgaben der semantischen und der Instanzsegmentierung zu kombinieren. Betrachte das folgende Bild einer Straße in New York.

street image

Deine Aufgabe ist es, das Bild panoptisch zu segmentieren, sodass jedes Taxi als separates Objekt erkannt wird und gleichzeitig zwischen Asphalt und Gebäudeflächen im Hintergrund unterschieden wird.

Dafür beginnst du mit einer semantischen Maske aus einem vortrainierten U-Net, das dir als UNet() zur Verfügung steht. Idealerweise unterscheidet es die beiden Hintergrundtypen (aber nicht die einzelnen Taxis)!

Diese Übung ist Teil des Kurses

Deep Learning für Bilder mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Instanziiere das U-Net-Modell als model.
  • Erzeuge semantic_masks, indem du den Eingabebild-Tensor durch das Modell leitest.
  • Erstelle eine einzelne semantische Maske, indem du für jedes Pixel die Klasse mit der höchsten Wahrscheinlichkeit auswählst.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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()
Code bearbeiten und ausführen