การแบ่งส่วนรูปภาพเป็นกระบวนการแบ่งพาร์ติชันรูปภาพดิจิทัลออกเป็นหลายส่วน (ชุดพิกเซลหรือที่เรียกว่าวัตถุรูปภาพ) เป้าหมายของการแบ่งส่วนคือการลดความซับซ้อนและ/หรือเปลี่ยนการนำเสนอรูปภาพเป็นสิ่งที่มีความหมายและวิเคราะห์ได้ง่ายขึ้น
รูปภาพต่อไปนี้แสดงผลลัพธ์ของโมเดลการแบ่งส่วนรูปภาพบน Android โมเดลจะสร้างมาสก์เหนือวัตถุเป้าหมายด้วยความแม่นยำสูง
เริ่ม
หากคุณยังใหม่กับ TensorFlow Lite และใช้งานกับ Android หรือ iOS ขอแนะนำให้คุณสำรวจแอปพลิเคชันตัวอย่างต่อไปนี้ที่สามารถช่วยคุณเริ่มต้นได้
คุณสามารถใช้ประโยชน์จาก API แบบสำเร็จรูปจาก ไลบรารีงาน TensorFlow Lite เพื่อผสานรวมโมเดลการแบ่งส่วนรูปภาพภายในโค้ดเพียงไม่กี่บรรทัด คุณยังสามารถผสานรวมโมเดลโดยใช้ TensorFlow Lite Interpreter Java API
ตัวอย่าง Android ด้านล่างสาธิตการใช้งานทั้งสองวิธีเป็น lib_task_api และ lib_reapter ตามลำดับ
หากคุณใช้แพลตฟอร์มอื่นที่ไม่ใช่ Android หรือ iOS หรือคุณคุ้นเคยกับ TensorFlow Lite API อยู่แล้ว คุณสามารถดาวน์โหลดโมเดลการแบ่งส่วนรูปภาพเริ่มต้นของเราได้
คำอธิบายโมเดล
DeepLab เป็นโมเดลการเรียนรู้เชิงลึกที่ล้ำสมัยสำหรับการแบ่งส่วนภาพเชิงความหมาย โดยมีเป้าหมายเพื่อกำหนดป้ายกำกับเชิงความหมาย (เช่น คน สุนัข แมว) ให้กับทุกๆ พิกเซลในภาพที่นำเข้า
มันทำงานอย่างไร
การแบ่งส่วนภาพเชิงความหมายจะคาดเดาว่าแต่ละพิกเซลของภาพมีความเกี่ยวข้องกับคลาสใดคลาสหนึ่งหรือไม่ ซึ่งตรงกันข้ามกับ การตรวจจับวัตถุ ซึ่งตรวจจับวัตถุในพื้นที่สี่เหลี่ยม และ การจัดหมวด หมู่รูปภาพ ซึ่งแยกประเภทรูปภาพโดยรวม
การใช้งานปัจจุบันมีคุณสมบัติดังต่อไปนี้:
- DeepLabv1: เราใช้การโน้มน้าวใจอย่างรุนแรงเพื่อควบคุมความละเอียดอย่างชัดเจนในการคำนวณการตอบสนองของฟีเจอร์ภายใน Deep Convolutional Neural Networks
- DeepLabv2: เราใช้การรวมกลุ่มพีระมิดเชิงพื้นที่ (ASPP) ของ atrous เพื่อแบ่งส่วนวัตถุอย่างแข็งแกร่งในหลายระดับด้วยตัวกรองที่อัตราการสุ่มตัวอย่างที่หลากหลายและขอบเขตการมองเห็นที่มีประสิทธิภาพ
- DeepLabv3: เราเสริมโมดูล ASPP ด้วยคุณสมบัติระดับภาพ [5, 6] เพื่อบันทึกข้อมูลในระยะไกลขึ้น นอกจากนี้เรายังรวมพารามิเตอร์การทำให้เป็นมาตรฐานแบบแบตช์ [7] เพื่ออำนวยความสะดวกในการฝึกอบรม โดยเฉพาะอย่างยิ่ง เราใช้ atrous convolution เพื่อแยกคุณลักษณะเอาท์พุตที่ก้าวเอาท์เอาท์พุตที่แตกต่างกันระหว่างการฝึกและการประเมินผล ซึ่งช่วยให้การฝึก BN ที่เอาท์พุตก้าว = 16 ได้อย่างมีประสิทธิภาพ และบรรลุประสิทธิภาพสูงที่เอาท์พุตก้าว = 8 ในระหว่างการประเมินผล
- DeepLabv3+: เราขยาย DeepLabv3 ให้รวมโมดูลตัวถอดรหัสที่เรียบง่ายแต่มีประสิทธิภาพ เพื่อปรับแต่งผลลัพธ์การแบ่งส่วน โดยเฉพาะตามแนวขอบเขตของวัตถุ นอกจากนี้ ในโครงสร้างตัวเข้ารหัส-ตัวถอดรหัสนี้ เราสามารถควบคุมความละเอียดของคุณสมบัติตัวเข้ารหัสที่แยกออกมาได้ตามอำเภอใจ โดยการบิดอย่างแรงเพื่อแลกกับความแม่นยำและรันไทม์
เกณฑ์มาตรฐานประสิทธิภาพ
หมายเลขเกณฑ์มาตรฐานประสิทธิภาพสร้างขึ้นด้วยเครื่องมือ ที่อธิบายไว้ที่นี่
ชื่อรุ่น | ขนาดโมเดล | อุปกรณ์ | จีพียู | ซีพียู |
---|---|---|---|---|
ดีพแล็บ เวอร์ชัน 3 | 2.7 ลบ | พิกเซล 3 (Android 10) | 16ms | 37 มิลลิวินาที* |
พิกเซล 4 (Android 10) | 20ms | 23 มิลลิวินาที* | ||
iPhone XS (iOS 12.4.1) | 16ms | 25ms** |
* ใช้ 4 เธรด
** ใช้ 2 เธรดบน iPhone เพื่อผลลัพธ์ประสิทธิภาพที่ดีที่สุด