开始使用免费开始使用

使用预训练的 Mask R-CNN 进行分割

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

two cats image

您将使用的模型已在 COCO 数据集 上进行了预训练。该数据集包含常见物体(包括动物)的图像。因此,模型无需微调就应该可以直接识别猫。

您的任务是加载模型和两只猫的图像,准备图像,并将其传入模型以获得预测结果。PIL 中的 Imagetorchtorchvision 中的 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)
编辑并运行代码