Instance-masks overlayen
Mooi werk met het maken van de semantische mask in de vorige oefening! Nu kun je die overschrijven met instance-masks op de plekken waar objecten zijn geïdentificeerd door het instance-segmentationmodel.
Je gebruikt de voorgetrainde MaskRCNN in je workspace om instance-segmentatiemasks te maken. Vervolgens loop je over deze masks en voor elk mask leg je de delen waar met hoge zekerheid een object is gedetecteerd over de semantische mask heen.
torch is al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Deep Learning voor afbeeldingen met PyTorch
Oefeninstructies
- Initialiseer
panoptic_maskdoorsemantic_maskte klonen. - Definieer de for-loop om over de instance-masks te itereren en noem de iteratorvariabele
mask. - Overschrijf voor elk instance-mask, op de posities waar het groter is dan
0.5, de panoptic-mask met de huidigeinstance_id.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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()