НачатьНачать бесплатно

Наложение масок экземпляров

Отличная работа по созданию семантической маски в предыдущем упражнении! Теперь вы можете перезаписать её масками экземпляров в тех областях, где модель сегментации экземпляров обнаружила объекты.

Вы воспользуетесь предобученной моделью 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()
Редактировать и запускать код