叠加实例掩码
上一题中您已经成功生成了语义掩码,做得很好!现在,您将把实例掩码覆盖到由实例分割模型识别出的目标位置上,从而改写这些位置的像素值。
您将使用工作区中预训练的 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()