使用预训练的 Mask R-CNN 进行分割
在本练习中,您将使用预训练的 Mask R-CNN 模型,对下面这张包含 2 只猫的图像执行实例分割。

您将使用的模型已在 COCO 数据集 上进行了预训练。该数据集包含常见物体(包括动物)的图像。因此,模型无需微调就应该可以直接识别猫。
您的任务是加载模型和两只猫的图像,准备图像,并将其传入模型以获得预测结果。PIL 中的 Image、torch、torchvision 中的 transforms,以及 maskrcnn_resnet50_fpn 已为您导入。
本练习是课程的一部分
使用 PyTorch 进行图像深度学习
练习说明
- 使用
maskrcnn_resnet50_fpn()加载带有pretrained的 Mask R-CNN 到model。 - 将两只猫的图像转换为张量并进行
unsqueeze。 - 将图像传入模型进行推理,并将输出赋给
prediction。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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)