คู่มือการตรวจจับจุดสังเกตสำหรับใบหน้า

งาน Face Landmarker

งาน MediaPipe Face Landmarker ช่วยให้คุณตรวจจับจุดสังเกตบนใบหน้าและการแสดงสีหน้าในรูปภาพและวิดีโอได้ คุณสามารถใช้โมเดลนี้เพื่อระบุการแสดงสีหน้าของมนุษย์ ใช้ฟิลเตอร์และเอฟเฟกต์ใบหน้า รวมถึงสร้างอวตารเสมือนได้ งานนี้ใช้โมเดลแมชชีนเลิร์นนิง (ML) ที่ใช้ได้กับรูปภาพเดี่ยวหรือสตรีมรูปภาพต่อเนื่อง งานจะแสดงผลจุดสังเกตบนใบหน้าแบบ 3 มิติ คะแนน Blendshape (สัมประสิทธิ์ที่แสดงถึงการแสดงออกทางสีหน้า) เพื่ออนุมานพื้นผิวใบหน้าแบบละเอียดในแบบเรียลไทม์ และเมทริกซ์การแปลงเพื่อทำการแปลงที่จำเป็นสำหรับการแสดงผลเอฟเฟกต์

ลองเลย

เริ่มต้นใช้งาน

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

รายละเอียดงาน

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

ฟีเจอร์

  • การประมวลผลรูปภาพอินพุต - การประมวลผลรวมถึงการหมุนรูปภาพ การปรับขนาด การทําให้เป็นมาตรฐาน และการแปลงพื้นที่สี
  • เกณฑ์คะแนน - กรองผลลัพธ์ตามคะแนนการคาดการณ์
อินพุตของงาน เอาต์พุตของงาน
Face Landmarker รับอินพุตเป็นข้อมูลประเภทใดประเภทหนึ่งต่อไปนี้
  • ภาพนิ่ง
  • เฟรมวิดีโอที่ถอดรหัสแล้ว
  • ฟีดวิดีโอสด
Face Landmarker จะแสดงผลลัพธ์ต่อไปนี้
  • ตาข่ายใบหน้าที่สมบูรณ์สำหรับใบหน้าแต่ละหน้าที่ตรวจพบ โดยมีคะแนน Blendshape ที่ระบุการแสดงออกทางสีหน้าและพิกัดสำหรับจุดสังเกตบนใบหน้า
  • Blendshape ของใบหน้าและเมทริกซ์การแปลงใบหน้า

ตัวเลือกการกำหนดค่า

งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้

ชื่อตัวเลือก คำอธิบาย ช่วงค่า ค่าเริ่มต้น
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
ล่าสุด