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

Сегментация с помощью предобученной модели Mask R-CNN

В этом упражнении вы воспользуетесь предобученной моделью Mask R-CNN для выполнения сегментации экземпляров на следующем изображении двух кошек.

two cats image

Модель была предобучена на наборе данных COCO, который содержит изображения распространённых объектов, в том числе животных. Благодаря этому модель способна распознавать кошек без дополнительной дообучения.

Ваша задача — загрузить модель и изображение двух кошек, подготовить изображение и передать его в модель для получения предсказаний. Библиотеки Image из PIL, torch, transforms из torchvision, а также maskrcnn_resnet50_fpn уже импортированы.

Это упражнение является частью курса

Глубокое обучение для работы с изображениями на PyTorch

Посмотреть курс

Инструкции к упражнению

  • Загрузите предобученную модель Mask R-CNN в переменную model с помощью maskrcnn_resnet50_fpn().
  • Преобразуйте изображение двух кошек в тензор и добавьте к нему дополнительную размерность с помощью unsqueeze.
  • Выполните инференс, передав изображение в модель, и сохраните результат в переменную prediction.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Load a pre-trained Mask R-CNN model
model = ____(____)
model.eval()

# Load an image and convert to a tensor
image = Image.open("two_cats.jpg")
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = transform(image).____

# Perform inference
with torch.no_grad():
    prediction = ____
    print(prediction)
Редактировать и запускать код