การซ้อนทับ Instance Masks
ยอดเยี่ยมมากที่สร้าง semantic mask ในแบบฝึกหัดก่อนหน้าได้สำเร็จ! ตอนนี้จะมาเขียนทับด้วย instance masks ในตำแหน่งที่โมเดล instance segmentation ตรวจพบวัตถุ
ในแบบฝึกหัดนี้ จะใช้ MaskRCNN ที่ผ่านการเทรนมาแล้วซึ่งมีอยู่ใน workspace เพื่อสร้าง instance segmentation masks จากนั้นวนลูปผ่าน masks เหล่านั้น และสำหรับแต่ละ mask จะซ้อนทับส่วนที่ตรวจพบวัตถุด้วยความมั่นใจสูงลงบน semantic mask
torch ถูก import ไว้ให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning สำหรับภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- กำหนดค่าเริ่มต้นให้
panoptic_maskโดยโคลนจากsemantic_mask - กำหนด for-loop เพื่อวนซ้ำผ่าน instance masks โดยตั้งชื่อตัวแปรในการวนซ้ำว่า
mask - สำหรับแต่ละ instance mask ในตำแหน่งที่มีค่ามากกว่า
0.5ให้เขียนทับ panoptic mask ด้วยค่าinstance_idปัจจุบัน
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Instantiate model and produce instance masks
model = MaskRCNN()
with torch.no_grad():
instance_masks = model(image_tensor)[0]["masks"]
# Initialize panoptic mask as semantic_mask
panoptic_mask = ____
# Iterate over instance masks
instance_id = 3
for ____ in ____:
# Set panoptic mask to instance_id where mask > 0.5
panoptic_mask[____] = ____
instance_id += 1
# Display panoptic mask
plt.imshow(panoptic_mask.squeeze(0))
plt.axis("off")
plt.show()