Máscaras de instancia superpuestas
¡Buen trabajo creando la máscara semántica en el ejercicio anterior! Ahora, puedes sobrescribirlo con máscaras de instancia en las ubicaciones donde el modelo de segmentación de instancias ha identificado los objetos.
Utilizarás el modelo de red neuronal preentrenado « MaskRCNN
» disponible en tu espacio de trabajo para generar máscaras de segmentación de instancias. A continuación, recorrerás estas máscaras y, para cada una de ellas, superpondrás las partes en las que se detecta un objeto con alta certeza sobre la máscara semántica.
torch
ya está importado para ti.
Este ejercicio forma parte del curso
Aprendizaje profundo para imágenes con PyTorch
Instrucciones del ejercicio
- Inicializa
panoptic_mask
clonandosemantic_mask
. - Define el bucle for para iterar sobre las máscaras de instancia, llamando a la variable iteradora c
mask
. - Para cada máscara de instancia, en la ubicación donde sea mayor que
0.5
, sobrescribe la máscara panóptica con la máscara actualinstance_id
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
# 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()