始める無料で始める

事前学習済み Mask R-CNN でセグメンテーションする

この演習では、事前学習済みの Mask R-CNN モデルを使って、次の2匹の猫の画像に対してインスタンスセグメンテーションを行います。

two cats image

使用するモデルは COCO dataset で事前学習されており、動物を含む一般的な物体の画像が収録されています。そのため、このモデルは追加の微調整なしで、すぐに猫を認識できるはずです。

あなたのタスクは、モデルと猫の画像を読み込み、画像を前処理してモデルに渡し、予測結果を得ることです。PILImagetorchtorchvisiontransforms、および maskrcnn_resnet50_fpn はインポート済みです。

この演習はコースの一部です

PyTorch で学ぶ画像向け Deep Learning

コースを見る

演習の手順

  • maskrcnn_resnet50_fpn() を用いて、pretrained な Mask R-CNN を model に読み込みます。
  • 猫の画像をテンソルに変換し、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)
コードを編集して実行