ComeçarComece de graça

Máscaras de instância de sobreposição

Boa, você conseguiu criar a máscara semântica no exercício anterior! Agora, você pode substituí-lo por máscaras de instância nos locais onde os objetos foram identificados pelo modelo de segmentação de instâncias.

Você vai usar o modelo pré-treinado MaskRCNN disponível na sua área de trabalho pra criar máscaras de segmentação de instâncias. Depois, você vai passar por todas essas máscaras e, para cada uma delas, vai sobrepor as partes onde um objeto foi detectado com alta certeza em cima da máscara semântica.

torch já foi importado pra você.

Este exercício faz parte do curso

Aprendizado profundo para imagens com PyTorch

Ver curso

Instruções do exercício

  • Inicialize o panoptic_mask clonando o semantic_mask.
  • Defina o loop for para iterar sobre as máscaras de instância, chamando a variável iteradora d mask.
  • Para cada máscara de instância, nos locais onde ela for maior que 0.5, substitua a máscara panóptica pela atual instance_id.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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()
Editar e executar o código