งานหาจุดสังเกตของมือของ MediaPipe ช่วยให้คุณตรวจหาจุดสังเกตของมือในรูปภาพได้ คุณสามารถใช้งานนี้เพื่อหาจุดสำคัญของมือและแสดงผลภาพบนมือ งานนี้จะดำเนินการกับข้อมูลรูปภาพด้วยโมเดลแมชชีนเลิร์นนิง (ML) เป็นข้อมูลแบบคงที่หรือสตรีมต่อเนื่อง และแสดงผลจุดสังเกตของมือในพิกัดรูปภาพ จุดสังเกตของมือในพิกัดโลก และลักษณะการจับถือ(มือซ้าย/ขวา) ของมือหลายมือที่ตรวจพบ
เริ่มต้นใช้งาน
เริ่มใช้แท็บงานนี้โดยทําตามคําแนะนําการใช้งานแพลตฟอร์มเป้าหมายข้อใดข้อหนึ่งต่อไปนี้ คำแนะนำเฉพาะแพลตฟอร์มเหล่านี้จะแนะนำการใช้งานพื้นฐานของงานนี้ รวมถึงโมเดลที่แนะนำและตัวอย่างโค้ดพร้อมตัวเลือกการกำหนดค่าที่แนะนำ
- Android - Code example
 - Python - Code example
 - เว็บ - ตัวอย่างโค้ด - คำแนะนำ
 
รายละเอียดงาน
ส่วนนี้จะอธิบายความสามารถ อินพุต เอาต์พุต และตัวเลือกการกำหนดค่าของงานนี้
ฟีเจอร์
- การประมวลผลรูปภาพอินพุต - การประมวลผลประกอบด้วยการหมุนรูปภาพ การปรับขนาด การทำให้เป็นมาตรฐาน และการแปลงพื้นที่สี
 - เกณฑ์คะแนน - กรองผลลัพธ์ตามคะแนนการคาดการณ์
 
| อินพุตงาน | เอาต์พุตของงาน | 
|---|---|
เครื่องมือระบุจุดสังเกตบนมือยอมรับอินพุตประเภทข้อมูลต่อไปนี้
 
 
  | 
      เครื่องมือระบุจุดสังเกตบนมือจะแสดงผลลัพธ์ต่อไปนี้
 
 
  | 
    
ตัวเลือกการกําหนดค่า
งานนี้มีตัวเลือกการกำหนดค่าต่อไปนี้
| ชื่อตัวเลือก | คำอธิบาย | ช่วงของค่า | ค่าเริ่มต้น | 
|---|---|---|---|
running_mode | 
      ตั้งค่าโหมดการทํางานสําหรับงาน โดยโหมดมี 3 แบบ ดังนี้ รูปภาพ: โหมดสำหรับอินพุตรูปภาพเดียว วิดีโอ: โหมดสำหรับเฟรมที่ถอดรหัสของวิดีโอ LIVE_STREAM: โหมดสตรีมแบบสดของข้อมูลอินพุต เช่น จากกล้อง ในโหมดนี้ คุณต้องเรียกใช้ resultListener เพื่อตั้งค่า Listener เพื่อรับผลลัพธ์แบบไม่พร้อมกัน  | 
      
      {IMAGE, VIDEO, LIVE_STREAM} | 
      IMAGE | 
      
      
    
num_hands | 
      จํานวนมือสูงสุดที่ตรวจพบโดยตัวตรวจจับจุดสังเกตของมือ | Any integer > 0 | 
      1 | 
    
min_hand_detection_confidence | 
      คะแนนความน่าเชื่อถือขั้นต่ำที่การตรวจจับมือจะถือว่าประสบความสำเร็จในโมเดลการตรวจจับฝ่ามือ | 0.0 - 1.0 | 
      0.5 | 
    
min_hand_presence_confidence | 
      คะแนนความเชื่อมั่นขั้นต่ำสำหรับคะแนนการมีอยู่ของมือในโมเดลการตรวจหาจุดสังเกตของมือ ในโหมดวิดีโอและโหมดสตรีมแบบสด หากคะแนนความเชื่อมั่นของมือจากโมเดลจุดสังเกตของมือต่ำกว่าเกณฑ์นี้ ตัวระบุจุดสังเกตของมือจะทริกเกอร์โมเดลการตรวจจับฝ่ามือ หรืออัลกอริทึมการติดตามมือแบบเบาจะระบุตำแหน่งของมือเพื่อการตรวจหาจุดสังเกตในภายหลัง | 0.0 - 1.0 | 
      0.5 | 
    
min_tracking_confidence | 
      คะแนนความเชื่อมั่นขั้นต่ำสำหรับการติดตามมือที่ถือว่าสำเร็จ นี่คือเกณฑ์ IoU ของขอบเขตระหว่างมือในเฟรมปัจจุบันกับเฟรมสุดท้าย ในโหมดวิดีโอและโหมดสตรีมของ Hand Landmarker หากการติดตามไม่สำเร็จ Hand Landmarker จะทริกเกอร์การตรวจจับมือ ไม่เช่นนั้น ระบบจะข้ามการตรวจจับมือ | 0.0 - 1.0 | 
      0.5 | 
    
result_callback | 
      ตั้งค่าโปรแกรมรับฟังผลลัพธ์ให้รับผลลัพธ์การตรวจจับแบบไม่พร้อมกันเมื่อเครื่องหมายจุดสังเกตของมืออยู่ในโหมดสตรีมแบบสด
      มีผลเฉพาะเมื่อตั้งค่าโหมดการทํางานเป็น LIVE_STREAM | 
      ไม่มี | ไม่มี | 
โมเดล
เครื่องมือระบุจุดสังเกตของมือใช้กลุ่มโมเดลที่มีโมเดล 2 รายการที่บรรจุไว้ด้วยกัน ได้แก่ โมเดลการตรวจจับฝ่ามือและโมเดลการตรวจจับจุดสังเกตของมือ คุณต้องมีกลุ่มโมเดลที่มีทั้ง 2 โมเดลนี้จึงจะทํางานนี้ได้
| ชื่อโมเดล | รูปร่างอินพุต | ประเภทการแปลงค่าเป็นจำนวนเต็ม | การ์ดโมเดล | เวอร์ชัน | 
|---|---|---|---|---|
| HandLandmarker (full) | 192 x 192, 224 x 224 | ลอย 16 | info | ล่าสุด | 
แพ็กเกจโมเดลจุดสังเกตของมือจะตรวจหาตําแหน่งจุดสังเกตของพิกัดข้อต่อของมือ 21 จุดภายในบริเวณมือที่ตรวจพบ โมเดลได้รับการฝึกจากรูปภาพในชีวิตจริงประมาณ 30, 000 ภาพ รวมถึงโมเดลมือสังเคราะห์ที่ผ่านการจัดการเรนเดอร์หลายแบบซึ่งวางซ้อนกันบนพื้นหลังต่างๆ

แพ็กเกจโมเดลจุดสังเกตของมือประกอบด้วยโมเดลการตรวจจับฝ่ามือและโมเดลการตรวจจับจุดสังเกตของมือ โมเดลการตรวจจับฝ่ามือจะหาตำแหน่งมือในรูปภาพอินพุต และโมเดลการตรวจจับจุดสังเกตของมือจะระบุจุดสังเกตของมือที่เฉพาะเจาะจงในรูปภาพมือที่ครอบตัดซึ่งกำหนดโดยโมเดลการตรวจจับฝ่ามือ
เนื่องจากโมเดลการตรวจจับฝ่ามือใช้เวลานาน เมื่ออยู่ในโหมดการเรียกใช้วิดีโอหรือสตรีมแบบสด ตัวระบุจุดสังเกตของมือจะใช้กล่องขอบเขตที่โมเดลจุดสังเกตของมือกำหนดไว้ในเฟรมเดียวเพื่อหาตำแหน่งของมือในเฟรมต่อๆ ไป เครื่องมือระบุจุดสังเกตของมือจะเรียกใช้โมเดลการตรวจจับฝ่ามืออีกครั้งก็ต่อเมื่อโมเดลจุดสังเกตของมือไม่พบมืออีกต่อไปหรือติดตามมือภายในเฟรมไม่สำเร็จ วิธีนี้ช่วยลดจำนวนครั้งที่ Hand Landmarker จะทริกเกอร์โมเดลการตรวจจับฝ่ามือ
การเปรียบเทียบงาน
ต่อไปนี้เป็นการเปรียบเทียบประสิทธิภาพของงานสำหรับทั้งไปป์ไลน์โดยอิงตามโมเดลที่ผ่านการฝึกล่วงหน้าข้างต้น ผลลัพธ์เวลาในการตอบสนองคือเวลาในการตอบสนองโดยเฉลี่ยใน Pixel 6 ที่ใช้ CPU / GPU
| ชื่อแบบจำลอง | เวลาในการตอบสนองของ CPU | เวลาในการตอบสนองของ GPU | 
|---|---|---|
| HandLandmarker (เต็ม) | 17.12 มิลลิวินาที | 12.27 มิลลิวินาที |