XYZNOT

งานวิจัย · arXiv 2304.02643

Segment Anything

เผยแพร่ cs.CVcs.AIcs.LG arXivPDF

อ่านพร้อมคำแปลและ AI

สรุปสามบรรทัด

  1. 🎯 การแบ่งส่วนคอนเซปต์ทางสายตาที่ไม่เคยเห็นมาก่อน และการปรับตัวเข้ากับงานแบ่งส่วนภาพปลายทางที่หลากหลายโดยไม่ต้อง fine-tune สำหรับงานนั้นๆ
  2. 🔧 นำเสนองานการแบ่งส่วนภาพแบบใช้ prompt, โมเดล Segment Anything Model (SAM) พร้อมตัวถอดรหัสมาสก์แบบเรียลไทม์ที่ลดทอนภาระการคำนวณ (amortized real-time mask decoder) และ data engine แบบสามขั้นตอน
  3. 📈 เมื่อฝึกฝนบน SA-1B (1.1 พันล้านมาสก์บน 11 ล้านภาพ) SAM สามารถถ่ายทอดการเรียนรู้แบบ zero-shot ไปยังการตรวจจับขอบ, การสร้าง object proposal และการแบ่งส่วนอินสแตนซ์ โดยมีประสิทธิภาพเหนือกว่า baseline แบบโต้ตอบได้ใน 16 จาก 23 ชุดข้อมูล

บทคัดย่อ

เราขอนำเสนอโครงการ Segment Anything (SA): ซึ่งประกอบด้วยงานวิจัยใหม่ โมเดล และชุดข้อมูลสำหรับการแบ่งส่วนภาพ (image segmentation) ด้วยการใช้โมเดลที่มีประสิทธิภาพสูงของเราในลูปการเก็บรวบรวมข้อมูล เราได้สร้างชุดข้อมูลการแบ่งส่วนภาพที่มีขนาดใหญ่ที่สุดในปัจจุบัน (โดยทิ้งห่างจากชุดข้อมูลอื่นมาก) ซึ่งประกอบด้วยมาสก์มากกว่า 1 พันล้านชิ้นบนภาพที่ได้รับอนุญาตและคำนึงถึงความเป็นส่วนตัวจำนวน 11 ล้านภาพ โมเดลได้รับการออกแบบและฝึกฝนให้สามารถรับคำสั่ง (promptable) ได้ จึงสามารถถ่ายทอดการเรียนรู้แบบ zero-shot ไปยังการแจกแจงของภาพและงานใหม่ๆ ได้ เราได้ประเมินขีดความสามารถของโมเดลในหลากหลายงานและพบว่าประสิทธิภาพแบบ zero-shot นั้นน่าประทับใจเป็นอย่างยิ่ง โดยมักจะมีความสามารถทัดเทียมหรือเหนือกว่าผลลัพธ์ของโมเดลแบบ fully supervised ก่อนหน้านี้ เราได้เผยแพร่ Segment Anything Model (SAM) และชุดข้อมูลที่สอดคล้องกัน (SA-1B) ซึ่งมี 1 พันล้านมาสก์และ 11 ล้านภาพที่ https://segment-anything.com เพื่อส่งเสริมการวิจัยเกี่ยวกับโมเดลพื้นฐาน (foundation models) สำหรับคอมพิวเตอร์วิทัศน์

บทคัดย่อต้นฉบับ (ภาษาอังกฤษ)

We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we built the largest segmentation dataset to date (by far), with over 1 billion masks on 11M licensed and privacy respecting images. The model is designed and trained to be promptable, so it can transfer zero-shot to new image distributions and tasks. We evaluate its capabilities on numerous tasks and find that its zero-shot performance is impressive -- often competitive with or even superior to prior fully supervised results. We are releasing the Segment Anything Model (SAM) and corresponding dataset (SA-1B) of 1B masks and 11M images at https://segment-anything.com to foster research into foundation models for computer vision.

คู่มือการอ่าน

ปัญหาและแรงจูงใจ

โมเดลพื้นฐาน (Foundation models) ที่ผ่านการฝึกฝนล่วงหน้าบนข้อมูลระดับเว็บได้ปฏิวัติวงการ NLP และการปรับแนวความสอดคล้องระหว่างภาพและภาษา (เช่น CLIP) แต่วงการคอมพิวเตอร์วิทัศน์ทั่วไปยังขาดระบบพื้นฐานที่มีความสามารถในการขยายผลทั่วไปแบบ zero-shot ครอบคลุมงานการแบ่งส่วนภาพที่หลากหลาย ชุดข้อมูลที่มีอยู่ในปัจจุบันสำหรับการแบ่งส่วนภาพมีขนาดเล็กมากเมื่อเทียบกับคลังข้อมูลภาพและข้อความระดับเว็บ และสถาปัตยกรรมการแบ่งส่วนภาพแบบเดิมมักจะผูกติดอยู่กับคลาสเชิงความหมาย (semantic classes) ที่คงที่ หรือการตั้งค่าแบบโต้ตอบเฉพาะทาง

เพื่อสร้างโมเดลพื้นฐานด้านการมองเห็นสำหรับการแบ่งส่วนภาพ คณะผู้วิจัยจึงได้จัดการกับองค์ประกอบหลัก 3 ประการไปพร้อมกัน:

  1. Task: วัตถุประสงค์ใดที่ทำให้สามารถถ่ายทอดผลการเรียนรู้แบบ zero-shot ได้อย่างกว้างขวาง?
  2. Model: สถาปัตยกรรมใดที่รองรับการรับ prompt ที่ยืดหยุ่นในแบบเรียลไทม์ไปพร้อมกับการแก้ปัญหาความคลุมเครือทางสายตาที่มีอยู่แต่เดิม?
  3. Data: จะสามารถได้มาซึ่งมาสก์การแบ่งส่วนภาพในระดับเว็บได้อย่างไร ในเมื่อข้อมูลบนอินเทอร์เน็ตขาดการกำกับมาสก์ที่หนาแน่น?

แนวคิดหลัก

  • Promptable Segmentation Task: โมเดลจะต้องส่งคืนมาสก์การแบ่งส่วนภาพที่ถูกต้องเมื่อได้รับ prompt ใดๆ เช่น จุด foreground/background, กล่องขอบเขต (bounding box), มาสก์แบบหนาแน่น หรือข้อความอิสระ เมื่อ prompt มีความคลุมเครือ (เช่น จุดเดียวบนเสื้อ) โมเดลจะต้องส่งออก hierarchical mask ที่เป็นไปได้หลายรูปแบบ (ส่วนย่อย, ชิ้นส่วน, ทั้งหมด)
  • Asymmetric Amortized Architecture (SAM): ตัวเข้ารหัสภาพ (image encoder) ที่ใช้การคำนวณสูงจะทำงานเพียงครั้งเดียวต่อภาพเพื่อสร้าง embedding ในขณะที่ตัวเข้ารหัส prompt ที่มีน้ำหนักเบาและตัวถอดรหัส Transformer สองชั้นจะประมวลผล prompt ได้ในเวลา บน CPU ภายในเว็บเบราว์เซอร์
  • Flywheel Data Engine: ไปป์ไลน์การกำกับข้อมูลแบบสามขั้นตอน:
    1. Assisted-manual: SAM ช่วยเหลือผู้กำกับข้อมูลในเบราว์เซอร์ ลดเวลาการกำกับข้อมูลจาก 34 วินาทีเหลือ 14 วินาทีต่อมาสก์ (เก็บรวบรวมได้ 4.3 ล้านมาสก์)
    2. Semi-automatic: SAM ตรวจจับมาสก์ที่มั่นใจเพื่อนำทางผู้กำกับข้อมูลไปยังวัตถุที่ยังไม่ได้กำกับและมีความโดดเด่นน้อยกว่า (เก็บรวบรวมเพิ่มได้ 5.9 ล้านมาสก์)
    3. Fully automatic: SAM ได้รับ prompt บนกริดจุดขนาด สม่ำเสมอร่วมกับภาพครอปที่ซูมเข้า ทำให้สร้างมาสก์ได้ถึง 1.1 พันล้านชิ้นใน SA-1B

ระเบียบวิธีวิจัย

สถาปัตยกรรมโมเดล

SAM ประกอบด้วยองค์ประกอบสามส่วน:

  1. Image Encoder: Vision Transformer ที่ฝึกฝนล่วงหน้าด้วย MAE (ค่าเริ่มต้นคือ ViT-H/16) ปรับใช้ windowed attention และ global attention block สี่บล็อก ประมวลผลอินพุตขนาด เพื่อสร้าง embedding ขนาด ที่มี 256 แชนเนล
  2. Prompt Encoder:
    • Sparse prompts: จุดและกล่องขอบเขตจะถูกแมปเป็นเวกเตอร์ 256 มิติโดยใช้ positional encoding รวมกับ learned type embedding ส่วนข้อความอิสระจะถูกเข้ารหัสโดยใช้ text encoder ของ CLIP
    • Dense prompts: มาสก์อินพุต (ที่ความละเอียดต่ำกว่า ) จะถูกลดขนาดผ่านการคอนโวลูชันขนาด สไตรด์ 2 และบวกเข้ากับ image embedding แบบ element-wise
  3. Mask Decoder: ตัวถอดรหัส Transformer แบบปรับปรุงสองชั้น อัปเดต prompt token และ image embedding ผ่าน self-attention ของ prompt สลับกับ cross-attention แบบสองทิศทาง (tokens-to-image และ image-to-tokens) ฟีเจอร์ของภาพจะถูกขยายขนาด ผ่าน transposed convolution และ MLP จะแปลงค่าโทเค็นเอาต์พุตเพื่อสร้าง dynamic linear classifier ที่นำไปใช้แบบ point-wise กับฟีเจอร์ที่ขยายขนาดแล้ว

การจัดการความคลุมเครือของเอาต์พุตและฟังก์ชันสูญเสีย

บ่อยครั้งที่ prompt เดียวสามารถอธิบายโครงสร้างที่ซ้อนทับกันได้หลายแบบ SAM แก้ไขความคลุมเครือนี้โดยการทำนายมาสก์ 3 ชิ้นพร้อมกันพร้อมกับคะแนน IoU ที่ประเมินได้ ในระหว่างการฝึกฝน การแพร่ย้อนกลับ (backpropagation) จะคำนวณเฉพาะจากค่าความสูญเสียต่ำสุดในบรรดาตัวเลือกเหล่านั้น: หัวช่วยเสริม (auxiliary head) จะลดค่าความคลาดเคลื่อนกำลังสองเฉลี่ยระหว่างค่า IoU ที่ทำนายกับค่า IoU จริง: เมื่อมีหลาย prompt เข้ามา SAM จะส่งออกผลลัพธ์เป็นมาสก์เดี่ยวที่ชัดเจนโดยใช้โทเค็นเอาต์พุตเฉพาะตัวที่สี่


ผลการทดลอง

  • Zero-Shot Point-to-Mask Transfer: ในชุดข้อมูลการแบ่งส่วนภาพที่หลากหลาย 23 ชุด (รวมถึงภาพมุมมองบุคคลที่หนึ่ง ภาพใต้น้ำ ภาพถ่ายทางอากาศ และภาพจุลทรรศน์) SAM ทำผลงานได้ดีกว่า RITM บน 16 จาก 23 ชุดข้อมูลเมื่อใช้ prompt เป็นจุดกึ่งกลางเพียงจุดเดียว (โดยมีค่าต่างสูงสุดถึง IoU) เมื่อแก้ไขความคลุมเครือผ่านตัวเลือกแบบออราเคิล (oracle selector) จากการทำนาย 3 ค่าของ SAM พบว่า SAM มีประสิทธิภาพเหนือกว่า RITM ในทั้ง 23 ชุดข้อมูล และการประเมินคุณภาพโดยมนุษย์ให้คะแนน SAM สูงกว่าอย่างมีนัยสำคัญอย่างสม่ำเสมอ (ระหว่าง 7 ถึง 9 จาก 10 คะแนน)
  • Zero-Shot Edge Detection (BSDS500): เมื่อประเมินแบบ zero-shot โดยใช้กริดขนาด ร่วมกับ Sobel filtering และ edge NMS แล้ว SAM ได้ค่า ODS ที่ 0.768 และ R50 ที่ 0.928 ซึ่งมีความสามารถทัดเทียมกับโมเดลที่มีการควบคุม (supervised) เช่น HED (ODS 0.788, R50 0.923)
  • Zero-Shot Object Proposals (LVIS v1): SAM ทำคะแนนได้ 59.3 AR@1000 โดยไม่มีการควบคุมคลาส ซึ่งมีประสิทธิภาพเหนือกว่า baseline อย่าง ViTDet-H แบบ fully-supervised บนวัตถุขนาดกลาง (81.6 เทียบกับ 80.8), วัตถุขนาดใหญ่ (86.9 เทียบกับ 87.0) และหมวดหมู่ที่หายาก (65.8 เทียบกับ 58.3)
  • Zero-Shot Instance Segmentation: เมื่อได้รับ prompt เป็นกล่องขอบเขตจาก ViTDet แล้ว SAM ทำคะแนนได้ 46.5 AP บน COCO และ 44.7 AP บน LVIS ในการประเมินโดยมนุษย์ ผู้ประเมินให้คะแนนมาสก์ของ SAM ว่ามีความสะอาดและมีคุณภาพสูงกว่าเอาต์พุตของ ViTDet ที่เป็นแบบ fully supervised อย่างสม่ำเสมอ

ข้อจำกัดและคำถามปลายเปิด

  • รายละเอียดความละเอียดสูงและการซูมระดับสูง: SAM อาจพลาดโครงสร้างที่มีความละเอียดสูงมากๆ หรือสร้างส่วนประกอบที่ขาดการเชื่อมต่อขนาดเล็ก เมื่อเทียบกับวิธีการแบบโต้ตอบที่ใช้การคำนวณหนักซึ่งซูมเข้าไปยังภาพครอปโดยตรง
  • ความหน่วงของทั้งไปป์ไลน์: แม้ว่าการถอดรหัส prompt จะทำงานได้แบบเรียลไทม์ () แต่การรันตัวเข้ารหัสภาพ ViT-H ที่มีน้ำหนักมากนั้นไม่ได้เป็นแบบเรียลไทม์
  • ความเข้าใจเชิงความหมาย: SAM ให้มาสก์แบบไม่ระบุคลาส (class-agnostic); มันไม่ได้ให้ป้ายกำกับหมวดหมู่เชิงความหมายหรือ panoptic ดั้งเดิมในตัวเองโดยปราศจากตัวจำแนกประเภทภายนอกที่นำมาประกอบเพิ่มเติม
  • การรับ prompt ข้อความเป็นมาสก์ (Text-to-mask prompting): ไปป์ไลน์การรับ prompt ข้อความที่เชื่อมกับ CLIP แบบ zero-shot ยังคงอยู่ในขั้นเริ่มต้นและมีความไวต่อการเปลี่ยนแปลงเมื่อเทียบกับ prompt เชิงเรขาคณิต

คำศัพท์สำคัญ

promptable segmentation task
งานที่กำหนดเป้าหมายในการส่งออกผลลัพธ์เป็นมาสก์การแบ่งส่วนภาพที่ถูกต้องเมื่อได้รับ prompt อินพุตใดๆ เช่น จุด, กล่องขอบเขต, มาสก์ หรือข้อความ
SAM
Segment Anything Model; โมเดลด้านการมองเห็นที่ประกอบด้วยตัวเข้ารหัสภาพ ViT ขนาดใหญ่, ตัวเข้ารหัส prompt และตัวถอดรหัสมาสก์น้ำหนักเบาแบบเรียลไทม์ที่ลดทอนภาระการคำนวณ
SA-1B
ชุดข้อมูล Segment Anything 1-Billion ซึ่งประกอบด้วยมาสก์ที่สร้างขึ้นโดยอัตโนมัติมากกว่า 1.1 พันล้านชิ้น ครอบคลุมภาพความละเอียดสูงที่คำนึงถึงความเป็นส่วนตัวจำนวน 11 ล้านภาพ
data engine
เฟรมเวิร์กการทำงานร่วมกันระหว่างมนุษย์และโมเดลแบบสามขั้นตอน (assisted-manual, semi-automatic และ fully automatic) ที่ใช้เพื่อขยายขนาดการกำกับมาสก์ให้ถึงระดับเว็บ
ambiguity-aware modeling
การออกแบบที่ตัวถอดรหัสจะส่งออก hierarchical mask 3 รูปแบบพร้อมทั้งค่า IoU ที่ทำนายสำหรับ prompt เดียว และคำนวณเกรเดียนต์การฝึกฝนจากเฉพาะผลการทำนายที่มีค่าความสูญเสียต่ำสุดเท่านั้น
amortized real-time inference
การคำนวณ image embedding ที่มีภาระหนักเพียงครั้งเดียวต่อภาพ เพื่อให้การถอดรหัสมาสก์ตามเงื่อนไขของ prompt ในภายหลังสามารถประมวลผลได้ในเวลาประมาณ 50ms บน CPU
zero-shot transfer
การประเมินโมเดลแบบรับ prompt ที่ผ่านการฝึกฝนล่วงหน้าบนงานปลายทางและการแจกแจงของภาพที่ไม่เคยเห็นมาก่อนโดยใช้ prompt engineering โดยไม่ต้อง fine-tune ค่าน้ำหนัก
stable mask filtering
ตัวกรองคุณภาพที่คัดเลือกเฉพาะมาสก์ที่มีรูปทรงไบนารีเปลี่ยนแปลงน้อยมาก เมื่อตัดเกณฑ์แผนที่ความน่าจะเป็นของ logit ที่ เทียบกับ

คำถามที่พบบ่อย

SAM จัดการกับความคลุมเครืออย่างไรเมื่อจุดเพียงจุดเดียวสามารถหมายถึงวัตถุได้หลายชิ้น?

SAM จะส่งออกผลลัพธ์ 3 มาสก์พร้อมกัน (โดยทั่วไปแทน ส่วนย่อย, ชิ้นส่วน และทั้งหมด) ควบคู่ไปกับคะแนนความเชื่อมั่น IoU ที่ทำนายได้ ในระหว่างการฝึกฝน โมเดลจะส่งค่าความสูญเสียแบบย้อนกลับ (backpropagation) จากเฉพาะผลการทำนายที่มีความคลาดเคลื่อนต่ำที่สุดเท่านั้น

มาสก์จำนวน 1.1 พันล้านชิ้นใน SA-1B ถูกกำกับด้วยมนุษย์ทั้งหมดหรือไม่?

ไม่ 99.1% ของมาสก์ที่เผยแพร่ใน SA-1B ถูกสร้างขึ้นโดยอัตโนมัติทั้งหมดผ่านการป้อน prompt ให้แก่ SAM บนกริดจุดแบบสม่ำเสมอทั่วทั้ง 11 ล้านภาพ พร้อมด้วยการคัดกรองความมั่นใจและความเสถียรของมาสก์อย่างเข้มงวด

SAM สามารถแบ่งส่วนภาพโดยอิงตามคำอธิบายข้อความได้หรือไม่?

ได้ ในรูปแบบของการพิสูจน์แนวคิดขั้นสำรวจ SAM ได้รับการฝึกโดยป้อน CLIP image embedding ของมาสก์ในฐานะ prompt token ระหว่างการฝึกฝน ซึ่งทำให้ text embedding จาก text encoder ของ CLIP สามารถใช้เป็น prompt สำหรับ SAM ในเวลาประมวลผลผลลัพธ์ (inference) ได้

เหตุใดค่า mask AP ของ SAM จึงต่ำกว่า ViTDet บน COCO ทั้งที่มนุษย์ให้คะแนนมาสก์ของ SAM สูงกว่า?

โมเดลแบบมีผู้ดูแลเรียนรู้อคติเชิงรูปหลายเหลี่ยม (polygon biases), ความบกพร่องจากการปรับขอบให้เรียบ และธรรมเนียมปฏิบัติแบบ amodal ที่มีอยู่ใน ground truth ของ COCO ในขณะที่ SAM แบบ zero-shot ส่งออกขอบเขตทางสายตาแบบ modal ที่คมชัดและตรงกับการรับรู้ของมนุษย์มากกว่า แต่ส่งผลให้ถูกหักคะแนน IoU เมื่อเทียบกับคำอธิบายประกอบที่มีอคติเหล่านั้น

คำอธิบายในหน้านี้เขียนโดย AI จากงานวิจัยและอาจมีข้อผิดพลาด โปรดอ่านต้นฉบับเพื่อดูรายละเอียด

อ่านพร้อมคำแปลและ AI