Segmenter une image avec un masque
Avec le masque binaire prêt, vous pouvez l’utiliser pour segmenter l’objet — c’est-à-dire le chat — de l’image.
Pour cela, vous devrez charger l’image d’origine et la convertir en tenseur. Ensuite, vous créerez le tenseur de l’objet en appliquant le masque à l’image d’origine. Enfin, vous afficherez le résultat.
transforms de torchvision ont été importés, et le binary_mask que vous avez créé dans l’exercice précédent est à votre disposition.
Cet exercice fait partie du cours
Deep Learning pour l’image avec PyTorch
Instructions
- Créez
image_tensoren appliquant la transformationToTensor(), définie commetransform, à l’image brute. - Segmentez l’image en masquant
image_tensoravecbinary_mask, et affectez le résultat àobject_tensor. - Appliquez la transformation déjà définie
to_pil_imageàobject_tensorafin de l’afficher.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Load image and transform to tensor
image = Image.open("images/Egyptian_Mau_123.jpg")
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = ____
# Segment object out of the image
object_tensor = ____
# Convert segmented object to image and display
to_pil_image = ____
object_image = to_pil_image(object_tensor)
plt.imshow(object_image)
plt.show()