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
Instrukcje do ćwiczenia
- Zainicjalizuj
panoptic_mask, klonującsemantic_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()