Наложение масок экземпляров
Отличная работа по созданию семантической маски в предыдущем упражнении! Теперь вы можете перезаписать её масками экземпляров в тех областях, где модель сегментации экземпляров обнаружила объекты.
Вы воспользуетесь предобученной моделью MaskRCNN, доступной в вашем рабочем пространстве, чтобы получить маски сегментации экземпляров. Затем вы пройдётесь по этим маскам и для каждой из них наложите области с высокой уверенностью обнаружения объекта поверх семантической маски.
torch уже импортирован для вас.
Это упражнение является частью курса
Глубокое обучение для работы с изображениями на PyTorch
Инструкции к упражнению
- Инициализируйте
panoptic_mask, клонировавsemantic_mask. - Определите цикл для итерации по маскам экземпляров, назвав переменную итератора
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()