Configurar máscaras semánticas
Una forma habitual de realizar segmentación panóptica es combinar las salidas de segmentación semántica e instancia. Observa la siguiente imagen de una calle de Nueva York.

Tu tarea es segmentarla panópticamente, de modo que cada taxi quede identificado como un objeto distinto, y a la vez diferenciar entre el asfalto y los edificios de fondo.
Para conseguirlo, empezarás generando una máscara semántica con un U-Net preentrenado, disponible como UNet(). Con suerte, distinguirá entre los dos tipos de fondo (¡pero no entre taxis concretos)!
Este ejercicio forma parte del curso
Deep Learning para imágenes con PyTorch
Instrucciones del ejercicio
- Instancia el modelo U-Net como
model. - Genera
semantic_maskspasando el tensor de imagen de entrada al modelo. - Crea una única máscara semántica eligiendo la clase con mayor probabilidad para cada píxel.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Instantiate the model
model = ____
# Produce semantic masks for the input image
with torch.no_grad():
semantic_masks = ____
# Choose highest-probability class for each pixel
semantic_mask = ____(____, ____)
# Display the mask
plt.imshow(semantic_mask.squeeze(0))
plt.axis("off")
plt.show()