Segmentation avec Mask R-CNN pré-entraîné
Dans cet exercice, vous utiliserez le modèle Mask R-CNN pré-entraîné pour effectuer une segmentation d'instances sur l'image suivante représentant deux chats.
Le modèle que vous utiliserez a été pré-entraîné sur le jeu de données COCO, qui contient des images d'objets courants, y compris des animaux. Grâce à cela, le modèle devrait être capable de reconnaître les chats dès sa mise en service, sans qu'il soit nécessaire de l'ajuster.
Votre tâche consiste à charger le modèle et les deux images de chats, à préparer l'image et à la transmettre au modèle afin d'obtenir les prédictions. Les fichiers Image
provenant de PIL
, torch
, transforms
provenant de torchvision
et maskrcnn_resnet50_fpn
ont été importés pour vous.
Cet exercice fait partie du cours
Deep learning pour les images avec PyTorch
Instructions
- Veuillez charger le modèle Mask R-CNN de l'
pretrained
surmodel
en utilisant le lien suivant :maskrcnn_resnet50_fpn()
. - Transformez l'image des deux chats en un tenseur et décompressez-le.
- Effectuez l'inférence en transmettant l'image au modèle et attribuez le résultat à l'
prediction
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Load a pre-trained Mask R-CNN model
model = ____(____)
model.eval()
# Load an image and convert to a tensor
image = Image.open("two_cats.jpg")
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = transform(image).____
# Perform inference
with torch.no_grad():
prediction = ____
print(prediction)