Sobrepor máscaras de instância
Bom trabalho ao produzir a máscara semântica no exercício anterior! Agora, você pode sobrescrevê-la com as máscaras de instância nos locais onde os objetos foram identificados pelo modelo de segmentação por instância.
Você usará o MaskRCNN pré-treinado disponível no seu workspace para gerar máscaras de segmentação por instância. Em seguida, vai iterar sobre essas máscaras e, para cada uma, sobrepor as partes onde um objeto é detectado com alta confiança por cima da máscara semântica.
torch já está importado para você.
Este exercício faz parte do curso
Deep Learning para Imagens com PyTorch
Instruções do exercício
- Inicialize
panoptic_maskclonando asemantic_mask. - Defina o laço for para iterar sobre as máscaras de instância, chamando a variável do iterador de
mask. - Para cada máscara de instância, nos locais onde ela é maior que
0.5, sobrescreva a máscara panóptica com oinstance_idatual.
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()