开始使用免费开始使用

叠加实例掩码

上一题中您已经成功生成了语义掩码,做得很好!现在,您将把实例掩码覆盖到由实例分割模型识别出的目标位置上,从而改写这些位置的像素值。

您将使用工作区中预训练的 MaskRCNN 来生成实例分割掩码。接着,遍历这些掩码,并对每个掩码,在高置信度检测到目标的区域,将其覆盖到语义掩码之上。

已为您导入 torch

本练习是课程的一部分

使用 PyTorch 进行图像深度学习

查看课程

练习说明

  • 通过克隆 semantic_mask 来初始化 panoptic_mask
  • 定义一个 for 循环来遍历实例掩码,迭代变量命名为 mask
  • 对于每个实例掩码,在其大于 0.5 的位置,将全景掩码覆盖为当前的 instance_id

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Instantiate model and produce instance masks
model = MaskRCNN()
with torch.no_grad():
    instance_masks = model(image_tensor)[0]["masks"]

# Initialize panoptic mask as semantic_mask
panoptic_mask = ____

# Iterate over instance masks
instance_id = 3
for ____ in ____:
    # Set panoptic mask to instance_id where mask > 0.5
    panoptic_mask[____] = ____
    instance_id += 1
    
# Display panoptic mask
plt.imshow(panoptic_mask.squeeze(0))
plt.axis("off")
plt.show()
编辑并运行代码