CommencerCommencer gratuitement

Superposer des masques d’instances

Bravo pour le masque sémantique produit dans l’exercice précédent ! Vous allez maintenant le remplacer par des masques d’instances aux emplacements où les objets ont été identifiés par le modèle de segmentation d’instances.

Vous utiliserez le modèle pré-entraîné MaskRCNN disponible dans votre espace de travail pour produire des masques de segmentation d’instances. Ensuite, vous parcourrez ces masques et, pour chacun d’eux, vous superposerez sur le masque sémantique les zones où un objet est détecté avec une forte certitude.

torch est déjà importé pour vous.

Cet exercice fait partie du cours

Deep Learning pour l’image avec PyTorch

Afficher le cours

Instructions

  • Initialisez panoptic_mask en clonant semantic_mask.
  • Définissez la boucle for pour itérer sur les masques d’instances, en appelant la variable d’itération mask.
  • Pour chaque masque d’instance, aux emplacements où sa valeur est supérieure à 0.5, remplacez le masque panoptique par l’instance_id en cours.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code