การแบ่งกลุ่ม

จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ

การแบ่งส่วนรูปภาพเป็นกระบวนการแบ่งพาร์ติชันรูปภาพดิจิทัลออกเป็นหลายส่วน (ชุดของพิกเซล หรือที่เรียกว่าวัตถุรูปภาพ) เป้าหมายของการแบ่งส่วนคือการทำให้ง่ายขึ้นและ/หรือเปลี่ยนการแสดงรูปภาพเป็นสิ่งที่มีความหมายและวิเคราะห์ได้ง่ายขึ้น

รูปภาพต่อไปนี้แสดงผลลัพธ์ของโมเดลการแบ่งส่วนรูปภาพบน Android ตัวแบบจะสร้างหน้ากากเหนือวัตถุเป้าหมายด้วยความแม่นยำสูง

เริ่ม

หากคุณเพิ่งเริ่มใช้ TensorFlow Lite และกำลังทำงานกับ Android หรือ iOS ขอแนะนำให้คุณสำรวจตัวอย่างแอปพลิเคชันต่อไปนี้ที่สามารถช่วยคุณเริ่มต้นได้

คุณสามารถใช้ API แบบสำเร็จรูปจาก TensorFlow Lite Task Library เพื่อรวมโมเดลการแบ่งส่วนรูปภาพภายในโค้ดเพียงไม่กี่บรรทัด คุณยังสามารถรวมโมเดลโดยใช้ TensorFlow Lite Interpreter Java API

ตัวอย่าง Android ด้านล่างสาธิตการใช้งานสำหรับทั้งสองวิธีเป็น lib_task_api และ lib_interpreter ตามลำดับ

ดูตัวอย่าง Android

ดูตัวอย่าง iOS

หากคุณกำลังใช้แพลตฟอร์มอื่นที่ไม่ใช่ Android หรือ iOS หรือคุณคุ้นเคยกับ TensorFlow Lite API แล้ว คุณสามารถดาวน์โหลดโมเดลการแบ่งกลุ่มรูปภาพเริ่มต้นของเราได้

ดาวน์โหลดรุ่นสตาร์ท

คำอธิบายแบบจำลอง

DeepLab เป็นโมเดลการเรียนรู้เชิงลึกล้ำสมัยสำหรับการแบ่งส่วนรูปภาพเชิงความหมาย โดยมีเป้าหมายเพื่อกำหนดป้ายกำกับเชิงความหมาย (เช่น คน สุนัข แมว) ให้กับทุกพิกเซลในภาพอินพุต

มันทำงานอย่างไร

การแบ่งส่วนรูปภาพเชิงความหมายจะคาดการณ์ว่าแต่ละพิกเซลของรูปภาพเชื่อมโยงกับคลาสใดคลาสหนึ่งหรือไม่ ซึ่งตรงกันข้ามกับ การตรวจจับวัตถุ ซึ่งตรวจจับวัตถุในพื้นที่สี่เหลี่ยม และ การจัดประเภทรูปภาพ ซึ่งจัดประเภทรูปภาพโดยรวม

การใช้งานปัจจุบันมีคุณสมบัติดังต่อไปนี้:

  1. DeepLabv1: เราใช้การบิดแบบรุนแรงเพื่อควบคุมความละเอียดอย่างชัดเจนซึ่งการตอบสนองของฟีเจอร์จะถูกคำนวณภายใน Deep Convolutional Neural Networks
  2. DeepLabv2: เราใช้ atrous spatial pyramid pooling (ASPP) เพื่อแบ่งกลุ่มวัตถุอย่างแข็งแกร่งในหลายมาตราส่วนด้วยตัวกรองที่อัตราการสุ่มตัวอย่างหลายอัตราและขอบเขตการมองเห็นที่มีประสิทธิภาพ
  3. DeepLabv3: เราเพิ่มโมดูล ASPP ด้วยคุณสมบัติระดับภาพ [5, 6] เพื่อเก็บข้อมูลช่วงที่ยาวขึ้น เรายังรวมพารามิเตอร์การทำให้เป็นมาตรฐานแบบกลุ่ม [7] เพื่ออำนวยความสะดวกในการฝึกอบรม โดยเฉพาะอย่างยิ่ง เราใช้การโน้มน้าวใจอย่างหนักเพื่อดึงคุณลักษณะของเอาต์พุตที่ก้าวของเอาต์พุตที่ต่างกันระหว่างการฝึกอบรมและการประเมินผล ซึ่งช่วยให้การฝึก BN ที่เอาต์พุต stride = 16 มีประสิทธิภาพสูงและบรรลุผลการปฏิบัติงานสูงที่เอาต์พุต stride = 8 ระหว่างการประเมิน
  4. DeepLabv3+: เราขยาย DeepLabv3 เพื่อรวมโมดูลตัวถอดรหัสที่เรียบง่ายแต่มีประสิทธิภาพ เพื่อปรับแต่งผลลัพธ์การแบ่งส่วนโดยเฉพาะตามขอบเขตของวัตถุ นอกจากนี้ ในโครงสร้างตัวเข้ารหัส-ตัวถอดรหัสนี้ เราสามารถควบคุมความละเอียดของคุณสมบัติตัวเข้ารหัสที่แยกออกมาได้ตามอำเภอใจ โดยการบิดเบี้ยวเพื่อแลกกับความแม่นยำและรันไทม์

มาตรฐานประสิทธิภาพ

ตัวเลขเปรียบเทียบประสิทธิภาพสร้างขึ้นด้วยเครื่องมือที่ อธิบายไว้ที่นี่

ชื่อรุ่น ขนาดรุ่น อุปกรณ์ GPU ซีพียู
Deeplab v3 2.7 Mb พิกเซล 3 (แอนดรอยด์ 10) 16ms 37ms*
พิกเซล 4 (แอนดรอยด์ 10) 20ms 23ms*
iPhone XS (iOS 12.4.1) 16ms 25ms**

* ใช้ 4 เธรด

** ใช้ 2 เธรดบน iPhone เพื่อผลลัพธ์ประสิทธิภาพที่ดีที่สุด

อ่านเพิ่มเติมและทรัพยากร