Накладення інстанс‑масок
Чудова робота зі створення семантичної маски у попередній вправі! Тепер ви можете перезаписати її інстанс‑масками в тих місцях, де об'єкти були визначені моделлю інстанс‑сегментації.
Ви використаєте попередньо натреновану MaskRCNN, доступну у вашому середовищі, щоб отримати інстанс‑маски сегментації. Далі ви пройдетеся циклом по цих масках і для кожної з них накладете ділянки з високою впевненістю в наявності об'єкта поверх семантичної маски.
torch уже імпортовано для вас.
Ця вправа є частиною курсу
Глибоке навчання для зображень із PyTorch
Інструкції до вправи
- Ініціалізуйте
panoptic_mask, клонуючиsemantic_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()