งาน MediaPipe Face Marker จะช่วยให้คุณตรวจหาจุดสังเกตของใบหน้าและสีหน้าในรูปภาพและวิดีโอได้ คุณสามารถใช้งานนี้เพื่อระบุการแสดงออกทางสีหน้าของมนุษย์ ใช้ฟิลเตอร์ใบหน้าและเอฟเฟกต์ต่างๆ และสร้างรูปโปรไฟล์เสมือนได้ งานนี้ใช้โมเดลแมชชีนเลิร์นนิง (ML) ที่ใช้งานได้กับรูปภาพเดียวหรือสตรีมรูปภาพแบบต่อเนื่อง งานนี้จะแสดงจุดสังเกตของใบหน้า 3 มิติ คะแนนเกล็ด (ค่าสัมประสิทธิ์แสดงการแสดงออกทางใบหน้า) เพื่ออนุมานรายละเอียดพื้นผิวใบหน้าในแบบเรียลไทม์ และเมทริกซ์การแปลงเพื่อเปลี่ยนรูปแบบที่จำเป็นสำหรับการแสดงผลเอฟเฟกต์
เริ่มต้นใช้งาน
เริ่มใช้งานนี้โดยทำตามคำแนะนำในการติดตั้งใช้งานอย่างใดอย่างหนึ่งสำหรับแพลตฟอร์มเป้าหมาย คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานเบื้องต้นของงานนี้ ซึ่งรวมถึงโมเดลที่แนะนำและตัวอย่างโค้ดที่มีตัวเลือกการกำหนดค่าที่แนะนำ
- Android - ตัวอย่างโค้ด - คำแนะนำ
- Python - ตัวอย่างโค้ด - คำแนะนำ
- เว็บ - ตัวอย่างโค้ด - คำแนะนำ
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้
ฟีเจอร์
- การประมวลผลรูปภาพอินพุต - การประมวลผลจะรวมถึงการหมุนรูปภาพ การปรับขนาด การทำให้เป็นมาตรฐาน และการแปลงพื้นที่สี
- เกณฑ์คะแนน - กรองผลลัพธ์ตามคะแนนการคาดการณ์
ข้อมูลงาน | เอาต์พุตของงาน |
---|---|
จุดสังเกตสำหรับใบหน้าจะยอมรับการป้อนข้อมูลประเภทใดประเภทหนึ่งต่อไปนี้
|
จุดสังเกตสำหรับใบหน้าจะแสดงผลลัพธ์ต่อไปนี้
|
ตัวเลือกการกำหนดค่า
งานมีตัวเลือกการกำหนดค่าต่อไปนี้
ชื่อตัวเลือก | คำอธิบาย | ช่วงของค่า | ค่าเริ่มต้น |
---|---|---|---|
running_mode |
ตั้งค่าโหมดการทำงาน มี 3 โหมดดังนี้ IMAGE: โหมดสำหรับการป้อนข้อมูลรูปภาพเดียว วิดีโอ: โหมดสำหรับเฟรมที่ถอดรหัสของวิดีโอ LIVE_Stream: โหมดสำหรับสตรีมแบบสดของข้อมูลอินพุต เช่น จากกล้อง ในโหมดนี้ ต้องมีการเรียกใช้ resultsListener เพื่อตั้งค่า Listener เพื่อรับผลลัพธ์แบบไม่พร้อมกัน |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
num_faces |
จำนวนใบหน้าสูงสุดที่ FaceLandmarker ตรวจพบได้ ระบบจะใช้การทำให้เนียนก็ต่อเมื่อตั้งค่า num_faces เป็น 1 เท่านั้น
|
Integer > 0 |
1 |
min_face_detection_confidence |
คะแนนความเชื่อมั่นขั้นต่ำสำหรับการตรวจจับใบหน้าจะถือว่าสำเร็จ | Float [0.0,1.0] |
0.5 |
min_face_presence_confidence |
คะแนนความเชื่อมั่นขั้นต่ำของคะแนนการแสดงใบหน้าของใบหน้าในการตรวจจับจุดสังเกตของใบหน้า | Float [0.0,1.0] |
0.5 |
min_tracking_confidence |
คะแนนความเชื่อมั่นขั้นต่ำสำหรับการติดตามใบหน้าจึงจะถือว่าประสบความสำเร็จ | Float [0.0,1.0] |
0.5 |
output_face_blendshapes |
กำหนดว่าจะให้จุดสังเกตสำหรับใบหน้าแสดงรูปร่างการผสานใบหน้าหรือไม่ รูปร่างกลมกลืนของใบหน้าใช้ในการแสดงผลโมเดลใบหน้า 3 มิติ | Boolean |
False |
output_facial_transformation_matrixes |
เลือกว่าจะให้ FaceLandmarker แสดงผลเมทริกซ์การเปลี่ยนแปลงใบหน้าหรือไม่ FaceLandmarker ใช้เมทริกซ์เพื่อเปลี่ยนจุดสังเกตของใบหน้าจากรูปแบบใบหน้า Canonical เป็นใบหน้าที่ตรวจพบ เพื่อให้ผู้ใช้ใส่เอฟเฟกต์กับจุดสังเกตที่ตรวจพบได้ | Boolean |
False |
result_callback |
ตั้งค่า Listener ผลลัพธ์ให้รับผลลัพธ์ของจุดสังเกตแบบไม่พร้อมกันเมื่อ FaceLandmarker อยู่ในโหมดสตรีมแบบสด
ใช้ได้เมื่อตั้งค่าโหมดการทำงานเป็น LIVE_STREAM เท่านั้น |
ResultListener |
N/A |
รูปแบบ
จุดสังเกตของใบหน้าใช้ชุดโมเดลเพื่อคาดการณ์จุดสังเกตของใบหน้า รูปแบบแรกจะตรวจจับใบหน้า รูปแบบที่ 2 จะระบุจุดสังเกตบนใบหน้าที่ตรวจพบ และรูปแบบที่ 3 ใช้จุดสังเกตเหล่านี้เพื่อระบุลักษณะและการแสดงสีหน้า
โมเดลต่อไปนี้จะรวมกันเป็นแพ็กเกจโมเดลที่ดาวน์โหลดได้
- รูปแบบการตรวจจับใบหน้า: ตรวจหาการแสดงใบหน้าด้วยจุดสังเกตใบหน้าที่สำคัญ 2-3 รายการ
- รูปแบบตาข่ายใบหน้า: เพิ่มการแมปใบหน้าที่สมบูรณ์ โมเดลนี้จะแสดงจุดสังเกตของใบหน้า 3 มิติโดยประมาณจำนวน 478 จุด
- โมเดลการคาดการณ์ Blendshape: รับเอาต์พุตจากโมเดลตาข่ายของใบหน้า คาดการณ์คะแนนการรวมรูปร่าง 52 รายการ ซึ่งเป็นค่าสัมประสิทธิ์ที่แสดงการแสดงสีหน้าที่แตกต่างกัน
โมเดลการตรวจจับใบหน้าคือรุ่น BlazeFace ระยะสั้นซึ่งเป็นตัวตรวจจับใบหน้าที่น้ำหนักเบาและแม่นยำ ซึ่งเพิ่มประสิทธิภาพสำหรับการอนุมาน GPU บนอุปกรณ์เคลื่อนที่ ดูข้อมูลเพิ่มเติมได้ที่งานตัวตรวจจับใบหน้า
รูปภาพด้านล่างแสดงการแมปจุดสังเกตบนใบหน้าที่สมบูรณ์จากเอาต์พุตกลุ่มโมเดล
หากต้องการดูรายละเอียดของจุดสังเกตของใบหน้า โปรดดูรูปภาพขนาดเต็ม
แพ็กเกจโมเดล | รูปร่างอินพุต | ประเภทข้อมูล | การ์ดโมเดล | ฉบับ |
---|---|---|---|---|
FaceLandmarker | FaceDetector: 192 x 192 FaceMesh-V2: 256 x 256 รูปร่างเกลี่ยสี: 1 x 146 x 2 |
ทศนิยม 16 |
FaceDetector FaceMesh-V2 Blendshape |
ล่าสุด |