เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การแบ่งส่วนภาพด้วย Mask R-CNN ที่ผ่านการเทรนมาแล้ว

ในแบบฝึกหัดนี้ จะใช้โมเดล Mask R-CNN ที่ผ่านการเทรนมาแล้วเพื่อทำ instance segmentation กับภาพแมวสองตัวด้านล่างนี้

two cats image

โมเดลนี้ถูกเทรนบน COCO dataset ซึ่งประกอบด้วยภาพวัตถุทั่วไป รวมถึงสัตว์ต่าง ๆ ด้วยเหตุนี้ โมเดลจึงสามารถจดจำแมวได้ทันทีโดยไม่ต้องทำ fine-tune เพิ่มเติม

โจทย์คือให้โหลดโมเดลและภาพแมวสองตัว จากนั้นเตรียมภาพ แล้วส่งเข้าโมเดลเพื่อรับผลการทำนาย โดย Image จาก PIL, torch, transforms จาก torchvision และ maskrcnn_resnet50_fpn ได้ถูก import ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning สำหรับภาพด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • โหลด Mask R-CNN แบบ pretrained ไปยังตัวแปร model โดยใช้ maskrcnn_resnet50_fpn()
  • แปลงภาพแมวสองตัวให้เป็น tensor แล้ว unsqueeze
  • ทำการ inference โดยส่งภาพเข้าโมเดล จากนั้นกำหนดผลลัพธ์ให้กับตัวแปร 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)
แก้ไขและรันโค้ด