始める無料で始める

マスクを使った画像のセグメンテーション

バイナリマスクの準備ができたら、それを使って画像から対象(ここでは猫)を切り出せます。

そのために、まず元の画像を読み込み、テンソルに変換します。次に、元の画像にマスクをかけてオブジェクトのテンソルを作成します。最後に、結果を表示します。

torchvisiontransforms はインポート済みで、前の演習で作成した binary_mask も利用できます。

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

PyTorch で学ぶ画像向け Deep Learning

コースを見る

演習の手順

  • transform として定義された ToTensor() 変換を生の画像に適用し、image_tensor を作成します。
  • image_tensorbinary_mask を適用してマスキングし、結果を object_tensor に代入して画像をセグメント化します。
  • すでに定義済みの to_pil_image 変換を object_tensor に適用し、表示できるようにします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Load image and transform to tensor
image = Image.open("images/Egyptian_Mau_123.jpg")
transform = transforms.Compose([transforms.ToTensor()])
image_tensor = ____

# Segment object out of the image
object_tensor = ____

# Convert segmented object to image and display
to_pil_image = ____
object_image = to_pil_image(object_tensor)
plt.imshow(object_image)
plt.show()
コードを編集して実行