งานเครื่องมือแบ่งกลุ่มรูปภาพ MediaPipe ให้คุณแบ่งรูปภาพออกเป็นภูมิภาคต่างๆ ตามเนื้อหาที่กำหนดไว้ล่วงหน้า หมวดหมู่ต่างๆ คุณสามารถใช้ฟังก์ชันนี้เพื่อระบุออบเจ็กต์ที่เฉพาะเจาะจง หรือ พื้นผิวของคุณ แล้วใช้เอฟเฟกต์ภาพ เช่น การเบลอพื้นหลัง งานนี้ มีโมเดลมากมายที่ได้รับการฝึกมาโดยเฉพาะสำหรับการแบ่งกลุ่มลูกค้าและ ฟีเจอร์ภายในข้อมูลรูปภาพ รวมถึง
- บุคคลและพื้นหลัง
- เส้นผมของบุคคลเท่านั้น
- ผม ใบหน้า ผิวหนัง เสื้อผ้า และเครื่องประดับของบุคคล
งานนี้ดำเนินการกับข้อมูลรูปภาพด้วยโมเดลแมชชีนเลิร์นนิง (ML) ภาพหรือสตรีมวิดีโอแบบต่อเนื่อง โดยจะแสดงรายการภูมิภาคที่แบ่งกลุ่ม แสดงวัตถุหรือพื้นที่ในรูปภาพโดยขึ้นอยู่กับโมเดลที่คุณ เลือก
เริ่มต้นใช้งาน
เริ่มใช้งานนี้โดยปฏิบัติตามคู่มือการติดตั้งใช้งานข้อใดข้อหนึ่งต่อไปนี้สำหรับ แพลตฟอร์มเป้าหมาย คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำคุณเกี่ยวกับข้อมูลเบื้องต้น การนำงานนี้ไปใช้ รวมถึงโมเดลที่แนะนำและตัวอย่างโค้ด พร้อมตัวเลือกการกำหนดค่าที่แนะนำ:
- Android - โค้ด ตัวอย่าง - คำแนะนำ
- Python - ตัวอย่างโค้ด คำแนะนำ
- เว็บ - โค้ด ตัวอย่าง - คำแนะนำ
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และการกำหนดค่า ของงานนี้
ฟีเจอร์
- การประมวลผลรูปภาพอินพุต - การประมวลผลจะรวมถึงการหมุนรูปภาพ การปรับขนาด การแปลงเป็นรูปแบบมาตรฐาน และการแปลงพื้นที่สี
อินพุตงาน | เอาต์พุตของงาน |
---|---|
อินพุตอาจเป็นข้อมูลประเภทใดประเภทหนึ่งต่อไปนี้
|
ตัวแบ่งกลุ่มรูปภาพจะแสดงผลข้อมูลรูปภาพที่แบ่งกลุ่ม ซึ่งอาจประกอบด้วย
ทั้ง 2 อย่างต่อไปนี้ ขึ้นอยู่กับตัวเลือกการกำหนดค่าที่คุณตั้งค่าไว้
|
ตัวเลือกการกำหนดค่า
งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้
ชื่อตัวเลือก | คำอธิบาย | ช่วงค่า | ค่าเริ่มต้น |
---|---|---|---|
running_mode |
ตั้งค่าโหมดการทำงานสำหรับงาน มี 3 แบบ
โหมด: รูปภาพ: โหมดสำหรับอินพุตรูปภาพเดียว วิดีโอ: โหมดสำหรับเฟรมที่ถอดรหัสของวิดีโอ LIVE_STREAM: โหมดสำหรับสตรีมแบบสดของอินพุต เช่น ข้อมูลจากกล้อง ในโหมดนี้ resultsListener ต้องเป็น ถูกเรียกให้ตั้งค่า Listener เพื่อรับผลลัพธ์ แบบไม่พร้อมกัน |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
output_category_mask |
หากตั้งค่าเป็น True เอาต์พุตจะมีมาสก์การแบ่งกลุ่ม
เป็นรูปภาพ uint8 โดยที่ค่าพิกเซลแต่ละค่าจะระบุหมวดหมู่ที่ชนะ
|
{True, False } |
False |
output_confidence_masks |
หากตั้งค่าเป็น True เอาต์พุตจะมีมาสก์การแบ่งกลุ่ม
เป็นภาพค่าจำนวนลอยตัว โดยที่ค่าจำนวนลอยตัวแต่ละค่าแสดงความเชื่อมั่น
ตารางคะแนนของหมวดหมู่ |
{True, False } |
True |
display_names_locale |
ตั้งค่าภาษาของป้ายกำกับที่จะใช้กับชื่อที่แสดงซึ่งระบุไว้ใน
ข้อมูลเมตาของโมเดลงาน (หากมี) ค่าเริ่มต้นคือ en สำหรับ
ภาษาอังกฤษ คุณเพิ่มป้ายกำกับที่แปลแล้วลงในข้อมูลเมตาของโมเดลที่กำหนดเองได้
โดยใช้ TensorFlow Lite Metadata Writer API |
รหัสภาษา | en |
result_callback |
ตั้งค่า Listener ผลลัพธ์เพื่อรับผลลัพธ์การแบ่งกลุ่ม
แบบไม่พร้อมกันเมื่อตัวแบ่งกลุ่มรูปภาพอยู่ในโหมด LIVE_STREAM
ใช้ได้เมื่อตั้งค่าโหมดวิ่งเป็น LIVE_STREAM เท่านั้น |
ไม่มี | ไม่มี |
โมเดล
สามารถใช้ตัวแบ่งกลุ่มรูปภาพกับโมเดล ML ได้มากกว่า 1 โมเดล ส่วนใหญ่ดังต่อไปนี้ โมเดลการแบ่งกลุ่มลูกค้าได้รับการสร้างและฝึกให้ทำการแบ่งกลุ่มลูกค้าด้วยรูปภาพของ บุคคล อย่างไรก็ตาม โมเดล DeepLab-v3 นั้นสร้างขึ้นเพื่อให้ เครื่องมือแบ่งกลุ่มรูปภาพสำหรับวัตถุประสงค์ เลือกรุ่นที่เหมาะกับแอปพลิเคชันของคุณมากที่สุด
รูปแบบการแบ่งกลุ่มเซลฟี
โมเดลนี้สามารถแบ่งกลุ่มภาพบุคคลและสามารถใช้แทนที่ หรือการแก้ไขพื้นหลังในรูปภาพ โมเดลจะให้ผลเป็น 2 หมวดหมู่ ได้แก่ ภูมิหลังที่ดัชนี 0 และบุคคลที่ดัชนี 1 โมเดลนี้มีเวอร์ชันที่มี รูปร่างอินพุตต่างๆ เช่น เวอร์ชันสี่เหลี่ยมจัตุรัสและแนวนอน อาจมีประสิทธิภาพมากกว่าสำหรับแอปพลิเคชัน ที่มีอินพุตเป็นรูปทรงนั้นเสมอ เช่น วิดีโอคอล
ชื่อโมเดล | รูปร่างอินพุต | ประเภทการกำหนดปริมาณ | การ์ดโมเดล | เวอร์ชัน |
---|---|---|---|---|
กล้องเซลฟี (สี่เหลี่ยมจัตุรัส) | 256 x 256 | ทศนิยม 16 | ข้อมูล | ล่าสุด |
กล้องเซลฟี (แนวนอน) | 144 X 256 | ทศนิยม 16 | ข้อมูล | ล่าสุด |
โมเดลการแบ่งกลุ่มผม
โมเดลนี้จะถ่ายภาพบุคคล หาเส้นผมบนศีรษะ และ จะแสดงแผนที่การแบ่งกลุ่มรูปภาพสำหรับผมของแต่ละคน คุณสามารถใช้โมเดลนี้สำหรับ การเปลี่ยนสีผมหรือการใช้เอฟเฟ็กต์ผมอื่นๆ โมเดลจะแสดงผลดังต่อไปนี้ หมวดหมู่การแบ่งกลุ่มลูกค้า
0 - background
1 - hair
ชื่อโมเดล | รูปร่างอินพุต | ประเภทการกำหนดปริมาณ | การ์ดโมเดล | เวอร์ชัน |
---|---|---|---|---|
HairSegmenter | 512 X 512 | ไม่มี (Float 32) | ข้อมูล | ล่าสุด |
โมเดลการแบ่งกลุ่มลูกค้าเซลฟีแบบหลายคลาส
โมเดลนี้จะถ่ายภาพบุคคล ระบุตำแหน่งพื้นที่ต่างๆ เช่น ผม ผิว และเสื้อผ้า และแสดงแผนที่แบ่งกลุ่มรูปภาพสำหรับรายการเหล่านี้ คุณสามารถใช้โมเดลนี้สำหรับใส่เอฟเฟกต์ต่างๆ กับผู้คนในรูปภาพ หรือ ในการสร้างสรรค์วิดีโอ โมเดลแสดงหมวดหมู่การแบ่งกลุ่มต่อไปนี้
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
ชื่อโมเดล | รูปร่างอินพุต | ประเภทการกำหนดปริมาณ | การ์ดโมเดล | เวอร์ชัน |
---|---|---|---|---|
SelfieMulticlass (256 x 256) | 256 x 256 | ไม่มี (Float 32) | ข้อมูล | ล่าสุด |
โมเดล DeepLab-v3
โมเดลนี้จะระบุกลุ่มต่างๆ สำหรับหมวดหมู่ต่างๆ รวมถึงพื้นหลัง คน แมว สุนัข และไม้กระถาง โมเดลนี้ใช้ปิระมิดเชิงพื้นที่แบบอะตอม เพื่อเก็บข้อมูลช่วงได้ยาวขึ้น สำหรับข้อมูลเพิ่มเติม โปรดดู DeepLab-v3
ชื่อโมเดล | รูปร่างอินพุต | ประเภทการกำหนดปริมาณ | เวอร์ชัน |
---|---|---|---|
DeepLab-V3 | 257 X 257 | ไม่มี (Float 32) | ล่าสุด |
การเปรียบเทียบงาน
ต่อไปนี้เป็นการเปรียบเทียบงานสำหรับไปป์ไลน์ทั้งหมดโดยอิงตามคำแนะนำที่ฝึกล่วงหน้าไว้ข้างต้น ผลที่ได้จากเวลาในการตอบสนองคือเวลาในการตอบสนองโดยเฉลี่ยใน Pixel 6 ที่ใช้ CPU / GPU
ชื่อแบบจำลอง | เวลาในการตอบสนองของ CPU | เวลาในการตอบสนองของ GPU |
---|---|---|
กล้องเซลฟี (สี่เหลี่ยมจัตุรัส) | 33.46 มิลลิวินาที | 35.15 มิลลิวินาที |
กล้องเซลฟี (แนวนอน) | 34.19 มิลลิวินาที | 33.55 มิลลิวินาที |
HairSegmenter | 57.90 มิลลิวินาที | 52.14 มิลลิวินาที |
SelfieMulticlass (256 x 256) | 217.76 มิลลิวินาที | 71.24 มิลลิวินาที |
DeepLab-V3 | 123.93 มิลลิวินาที | 103.30 มิลลิวินาที |