Configurar máscaras semánticas
Una forma habitual de realizar la segmentación panóptica es combinar los resultados de la segmentación semántica y la segmentación de instancias. Considera la siguiente imagen de una calle de Nueva York.
Tu tarea consiste en segmentarlo de forma panóptica, de modo que cada taxi se identifique como un objeto independiente, al tiempo que se distingue entre el asfalto y los edificios del fondo.
Para lograrlo, empezarás por crear una máscara semántica con una red U-Net preentrenada, disponible en UNet()
. Con suerte, debería distinguir entre los dos tipos de fondo (¡pero no entre cabinas concretas!).
Este ejercicio forma parte del curso
Aprendizaje profundo para imágenes con PyTorch
Instrucciones del ejercicio
- Instancia el modelo U-Net como un
model
. - Genera un
semantic_masks
a pasando el tensor de la imagen de entrada al modelo. - Crea una máscara semántica única seleccionando la clase con mayor probabilidad para cada píxel.
Ejercicio interactivo práctico
Prueba este ejercicio completando 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()