マスクを使った画像のセグメンテーション
バイナリマスクの準備ができたら、それを使って画像から対象(ここでは猫)を切り出せます。
そのために、まず元の画像を読み込み、テンソルに変換します。次に、元の画像にマスクをかけてオブジェクトのテンソルを作成します。最後に、結果を表示します。
torchvision の transforms はインポート済みで、前の演習で作成した binary_mask も利用できます。
この演習はコースの一部です
PyTorch で学ぶ画像向け Deep Learning
演習の手順
transformとして定義されたToTensor()変換を生の画像に適用し、image_tensorを作成します。image_tensorにbinary_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()