Suprapunerea măștilor de instanță
Bravo că ai generat masca semantică în exercițiul anterior! Acum, o poți suprascrie cu măști de instanță în locațiile unde modelul de segmentare a instanțelor a identificat obiecte.
Vei folosi modelul pre-antrenat MaskRCNN disponibil în spațiul de lucru pentru a genera măști de segmentare a instanțelor. Apoi, vei itera peste aceste măști și, pentru fiecare dintre ele, vei suprapune zonele unde un obiect este detectat cu grad ridicat de certitudine peste masca semantică.
torch este deja importat pentru tine.
Acest exercițiu face parte din cursul
Deep Learning pentru imagini cu PyTorch
Instrucțiuni pentru exercițiu
- Inițializează
panoptic_maskclonândsemantic_mask. - Definește bucla
forpentru a itera peste măștile de instanță, folosind variabila iteratormask. - Pentru fiecare mască de instanță, în locațiile unde aceasta este mai mare decât
0.5, suprascrie masca panoptică cuinstance_id-ul curent.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()