งาน MediaPipe Face Landmarker ช่วยให้คุณตรวจจับจุดสังเกตบนใบหน้าและการแสดงสีหน้าในรูปภาพและวิดีโอได้ คุณสามารถใช้โมเดลนี้เพื่อระบุการแสดงสีหน้าของมนุษย์ ใช้ฟิลเตอร์และเอฟเฟกต์ใบหน้า รวมถึงสร้างอวตารเสมือนได้ งานนี้ใช้โมเดลแมชชีนเลิร์นนิง (ML) ที่ใช้ได้กับรูปภาพเดี่ยวหรือสตรีมรูปภาพต่อเนื่อง งานจะแสดงผลจุดสังเกตบนใบหน้าแบบ 3 มิติ คะแนน Blendshape (สัมประสิทธิ์ที่แสดงถึงการแสดงออกทางสีหน้า) เพื่ออนุมานพื้นผิวใบหน้าแบบละเอียดในแบบเรียลไทม์ และเมทริกซ์การแปลงเพื่อทำการแปลงที่จำเป็นสำหรับการแสดงผลเอฟเฟกต์
เริ่มต้นใช้งาน
เริ่มใช้ฟีเจอร์นี้โดยทำตามคำแนะนำในการติดตั้งใช้งานสำหรับแพลตฟอร์มเป้าหมายของคุณ คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานพื้นฐานของงานนี้ ซึ่งรวมถึงโมเดลที่แนะนำและตัวอย่างโค้ดพร้อมตัวเลือกการกำหนดค่าที่แนะนำ
- Android - ตัวอย่างโค้ด - คู่มือ
- Python - ตัวอย่างโค้ด - คู่มือ
- เว็บ - ตัวอย่างโค้ด - คู่มือ
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่า ของงานนี้
ฟีเจอร์
- การประมวลผลรูปภาพอินพุต - การประมวลผลรวมถึงการหมุนรูปภาพ การปรับขนาด การทําให้เป็นมาตรฐาน และการแปลงพื้นที่สี
- เกณฑ์คะแนน - กรองผลลัพธ์ตามคะแนนการคาดการณ์
| อินพุตของงาน | เอาต์พุตของงาน |
|---|---|
Face Landmarker รับอินพุตเป็นข้อมูลประเภทใดประเภทหนึ่งต่อไปนี้
|
Face Landmarker จะแสดงผลลัพธ์ต่อไปนี้
|
ตัวเลือกการกำหนดค่า
งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้
| ชื่อตัวเลือก | คำอธิบาย | ช่วงค่า | ค่าเริ่มต้น |
|---|---|---|---|
running_mode |
ตั้งค่าโหมดการทำงานสำหรับงาน มี 3 โหมด
ดังนี้ รูปภาพ: โหมดสำหรับอินพุตรูปภาพเดียว วิดีโอ: โหมดสำหรับเฟรมที่ถอดรหัสแล้วของวิดีโอ LIVE_STREAM: โหมดสำหรับไลฟ์สดของข้อมูลอินพุต เช่น จากกล้อง ในโหมดนี้ ต้องเรียกใช้ resultListener เพื่อตั้งค่า 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 |
ไม่ว่า Face Landmarker จะแสดงผล Face Blendshape หรือไม่ ระบบจะใช้รูปร่างผสมใบหน้าในการแสดงผลโมเดลใบหน้า 3 มิติ | Boolean |
False |
output_facial_transformation_matrixes |
กำหนดว่า FaceLandmarker จะแสดงเมตริกซ์การเปลี่ยนรูปแบบใบหน้าหรือไม่ FaceLandmarker ใช้เมทริกซ์ เพื่อเปลี่ยนเครื่องหมายใบหน้าจากโมเดลใบหน้ามาตรฐานเป็น ใบหน้าที่ตรวจพบ เพื่อให้ผู้ใช้ใช้เอฟเฟกต์กับเครื่องหมายที่ตรวจพบได้ | Boolean |
False |
result_callback |
ตั้งค่า Listener ผลลัพธ์เพื่อรับผลลัพธ์ของ Landmarker
แบบไม่พร้อมกันเมื่อ FaceLandmarker อยู่ในโหมดไลฟ์สด
ใช้ได้เฉพาะเมื่อตั้งค่าโหมดการวิ่งเป็น LIVE_STREAM |
ResultListener |
N/A |
โมเดล
Face Landmarker ใช้โมเดลหลายชุดเพื่อคาดการณ์จุดสังเกตของใบหน้า โมเดลแรกตรวจจับใบหน้า โมเดลที่ 2 ระบุตำแหน่งจุดสังเกตบนใบหน้าที่ตรวจพบ และโมเดลที่ 3 ใช้จุดสังเกตเหล่านั้นเพื่อระบุลักษณะและ การแสดงออกบนใบหน้า
โมเดลต่อไปนี้จะรวมกันเป็นแพ็กเกจในชุดโมเดลที่ดาวน์โหลดได้
- โมเดลการตรวจจับใบหน้า: ตรวจจับการมีอยู่ของใบหน้าโดยใช้จุดสังเกตบนใบหน้าหลัก 2-3 จุด
- โมเดลตาข่ายใบหน้า: เพิ่มการแมปใบหน้าทั้งหมด โมเดล จะแสดงผลค่าประมาณของจุดสังเกตใบหน้าแบบ 3 มิติ 478 จุด
- โมเดลการคาดการณ์ Blendshape: รับเอาต์พุตจากโมเดล Face Mesh คาดการณ์คะแนน Blendshape 52 รายการ ซึ่งเป็นสัมประสิทธิ์ที่แสดงถึง การแสดงออกทางสีหน้าต่างๆ
โมเดลการตรวจจับใบหน้าคือโมเดล BlazeFace ระยะสั้น ซึ่งเป็นเครื่องมือตรวจจับใบหน้าที่มีน้ำหนักเบาและแม่นยำซึ่งได้รับการเพิ่มประสิทธิภาพสำหรับการอนุมาน GPU ของอุปกรณ์เคลื่อนที่ ดูข้อมูลเพิ่มเติมได้ที่งานเครื่องตรวจจับใบหน้า
รูปภาพด้านล่างแสดงการแมปจุดสังเกตบนใบหน้าที่สมบูรณ์จากเอาต์พุตของโมเดล Bundle
ดูมุมมองที่มีรายละเอียดมากขึ้นของจุดสังเกตบนใบหน้าได้ในรูปภาพขนาดเต็ม
| แพ็กเกจโมเดล | รูปร่างอินพุต | ประเภทข้อมูล | การ์ดโมเดล | เวอร์ชัน |
|---|---|---|---|---|
| FaceLandmarker | FaceDetector: 192 x 192 FaceMesh-V2: 256 x 256 Blendshape: 1 x 146 x 2 |
float 16 |
FaceDetector FaceMesh-V2 Blendshape |
ล่าสุด |