Zacznij terazZacznij za darmo

Konfiguracja masek semantycznych

Popularnym podejściem do segmentacji panoptycznej jest łączenie wyników segmentacji semantycznej i segmentacji instancji. Przyjrzyj się poniższemu zdjęciu ulicy w Nowym Jorku.

street image

Twoim zadaniem jest przeprowadzenie segmentacji panoptycznej tego obrazu – tak, aby każda taksówka została rozpoznana jako osobny obiekt, a tło asfaltu i budynków było wyraźnie oddzielone.

Zacznij od wygenerowania maski semantycznej za pomocą wstępnie wytrenowanego modelu U-Net, dostępnego jako UNet(). Powinien on rozróżniać dwa typy tła – choć nie poszczególne taksówki!

To ćwiczenie jest częścią kursu

Głębokie uczenie dla obrazów z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz instancję modelu U-Net jako model.
  • Wygeneruj semantic_masks, przekazując wejściowy tensor obrazu do modelu.
  • Utwórz pojedynczą maskę semantyczną, wybierając klasę o najwyższym prawdopodobieństwie dla każdego piksela.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod