Zacznij terazZacznij za darmo

Nakładanie masek instancji

Świetna robota z wygenerowaniem maski semantycznej w poprzednim ćwiczeniu! Teraz możesz nadpisać ją maskami instancji w miejscach, gdzie model segmentacji instancji wykrył obiekty.

Skorzystasz z wstępnie wytrenowanego modelu MaskRCNN dostępnego w przestrzeni roboczej, aby wygenerować maski segmentacji instancji. Następnie przejdziesz przez te maski w pętli i dla każdej z nich nałożysz obszary, w których obiekt został wykryty z dużą pewnością, na wierzchnią warstwę maski semantycznej.

torch jest już zaimportowany.

To ćwiczenie jest częścią kursu

Głębokie uczenie dla obrazów z PyTorch

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjalizuj panoptic_mask, klonując semantic_mask.
  • Zdefiniuj pętlę for iterującą po maskach instancji, nadając zmiennej iteracyjnej nazwę mask.
  • Dla każdej maski instancji – w miejscach, gdzie jej wartość jest większa niż 0.5 – nadpisz maskę panoptyczną bieżącą wartością instance_id.

Interaktywne ćwiczenie praktyczne

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

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