การแบ่งส่วนภาพด้วย mask
เมื่อ binary mask พร้อมแล้ว ก็สามารถนำไปใช้แบ่งส่วนวัตถุในภาพ ซึ่งในที่นี้คือแมว ออกจากภาพต้นฉบับได้
โดยจะต้องโหลดภาพต้นฉบับและแปลงเป็น tensor จากนั้นสร้าง object tensor โดยใช้ mask กับภาพต้นฉบับ แล้วแสดงผลลัพธ์
ได้นำเข้า transforms จาก torchvision แล้ว และ binary_mask ที่สร้างในแบบฝึกหัดก่อนหน้าก็พร้อมใช้งาน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning สำหรับภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- สร้าง
image_tensorโดยใช้ transformToTensor()ที่กำหนดไว้เป็นtransformกับภาพต้นฉบับ - แบ่งส่วนภาพโดยนำ
binary_maskมา mask กับimage_tensorแล้วกำหนดผลลัพธ์ให้กับobject_tensor - ใช้ transform
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()