ช่วยปกป้อง Great Barrier Reef กับ TensorFlow บน Kaggle เข้าร่วมท้าทาย

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

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

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

เริ่ม

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

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

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

ดูตัวอย่าง Android

ดูตัวอย่าง iOS

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

ดาวน์โหลดรุ่นเริ่มต้น

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

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

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

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

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

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

เกณฑ์มาตรฐานประสิทธิภาพ

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

ชื่อรุ่น ขนาดโมเดล อุปกรณ์ GPU ซีพียู
Deeplab v3.0 2.7 ล้านบาท พิกเซล 3 (Android 10) 16 มิลลิวินาที 37 มิลลิวินาที *
พิกเซล 4 (Android 10) 20 มิลลิวินาที 23 มิลลิวินาที *
iPhone XS (iOS 12.4.1) 16 มิลลิวินาที 25 มิลลิวินาที **

* 4 เธรดที่ใช้

** 2 เธรดที่ใช้บน iPhone เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด

อ่านเพิ่มเติมและแหล่งข้อมูล