Configurar máscaras semânticas
Uma maneira comum de fazer a segmentação panóptica é juntar os resultados da segmentação semântica e da segmentação de instâncias. Olha só essa foto de uma rua em Nova York.
A tua tarefa é dividir tudo de forma que cada táxi seja um objeto separado, e ao mesmo tempo separar o asfalto e os prédios do fundo.
Para conseguir isso, você vai começar criando uma máscara semântica com uma U-Net pré-treinada, que você encontra em UNet()
. Espero que ele consiga diferenciar os dois tipos de fundo (mas não os táxis em si)!
Este exercício faz parte do curso
Aprendizado profundo para imagens com PyTorch
Instruções do exercício
- Instancie o modelo U-Net como um
model
. - Gere um tensor de entrada (
semantic_masks
) passando o tensor da imagem de entrada para o modelo. - Crie uma máscara semântica única escolhendo a classe com maior probabilidade para cada pixel.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()