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
Instruções do exercício
- Inicialize o
panoptic_mask
clonando osemantic_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 atualinstance_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()