راهنمای تشخیص نشانه های دستی

وظیفه MediaPipe Hand Landmarker به شما این امکان را می دهد که نشانه های دست ها را در یک تصویر تشخیص دهید. می توانید از این کار برای مکان یابی نقاط کلیدی دست ها و ارائه جلوه های بصری بر روی آنها استفاده کنید. این کار بر روی داده های تصویری با مدل یادگیری ماشینی (ML) به عنوان داده ایستا یا یک جریان پیوسته عمل می کند و نشانه های دستی را در مختصات تصویر، نشانه های دستی در مختصات جهانی و دستی (چپ/راست) چند دست شناسایی شده را خروجی می دهد.

آن را امتحان کنید!

شروع کنید

استفاده از این کار را با دنبال کردن یکی از این راهنماهای پیاده سازی برای پلتفرم هدف خود شروع کنید. این راهنماهای مخصوص پلتفرم شما را از طریق اجرای اساسی این کار، از جمله یک مدل توصیه شده، و نمونه کد با گزینه های پیکربندی توصیه شده، راهنمایی می کنند:

جزئیات کار

این بخش قابلیت ها، ورودی ها، خروجی ها و گزینه های پیکربندی این کار را شرح می دهد.

امکانات

  • پردازش تصویر ورودی - پردازش شامل چرخش تصویر، تغییر اندازه، عادی سازی و تبدیل فضای رنگی است.
  • آستانه امتیاز - نتایج را بر اساس نمرات پیش بینی فیلتر کنید.
ورودی های وظیفه خروجی های وظیفه
Hand Landmarker ورودی یکی از انواع داده های زیر را می پذیرد:
  • تصاویر ثابت
  • فریم های ویدئویی رمزگشایی شده
  • فید ویدیوی زنده
Hand Landmarker نتایج زیر را به دست می دهد:
  • دستی دست های شناسایی شده
  • نشانه های دست های شناسایی شده در مختصات تصویر
  • نشانه های دست های شناسایی شده در مختصات جهان

گزینه های پیکربندی

این کار دارای گزینه های پیکربندی زیر است:

نام گزینه شرح محدوده ارزش مقدار پیش فرض
running_mode حالت اجرا را برای کار تنظیم می کند. سه حالت وجود دارد:

IMAGE: حالت برای ورودی های تک تصویر.

VIDEO: حالت برای فریم های رمزگشایی شده یک ویدیو.

LIVE_STREAM: حالت پخش زنده داده های ورودی، مانند دوربین. در این حالت، resultListener باید فراخوانی شود تا شنونده ای را برای دریافت نتایج به صورت ناهمزمان تنظیم کند.
{ 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 حداقل امتیاز اطمینان برای امتیاز حضور دست در مدل تشخیص نقطه عطف دست. در حالت ویدیو و حالت پخش زنده، اگر امتیاز اطمینان حضور دست از مدل نقطه عطف دست کمتر از این آستانه باشد، Hand Landmarker مدل تشخیص کف دست را فعال می‌کند. در غیر این صورت، یک الگوریتم ردیابی دست سبک، مکان دست(ها) را برای تشخیص نشانه های بعدی تعیین می کند. 0.0 - 1.0 0.5
min_tracking_confidence حداقل امتیاز اطمینان برای ردیابی دست که موفقیت آمیز در نظر گرفته شود. این آستانه جعبه محدود کننده IoU بین دست ها در فریم فعلی و آخرین فریم است. در حالت ویدیو و حالت جریان از Hand Landmarker، اگر ردیابی ناموفق باشد، Hand Landmarker تشخیص دست را فعال می‌کند. در غیر این صورت، تشخیص دست را نادیده می گیرد. 0.0 - 1.0 0.5
result_callback شنونده نتیجه را طوری تنظیم می کند که وقتی نشانگر دستی در حالت پخش زنده است، نتایج تشخیص را به صورت ناهمزمان دریافت کند. فقط زمانی قابل اجراست که حالت اجرا روی LIVE_STREAM تنظیم شده باشد N/A N/A

مدل ها

Hand Landmarker از یک بسته مدل با دو مدل بسته بندی شده استفاده می کند: یک مدل تشخیص کف دست و یک مدل تشخیص نشانه های دستی. برای اجرای این کار به یک بسته مدل نیاز دارید که شامل هر دو مدل باشد.

نام مدل شکل ورودی نوع کوانتیزاسیون مدل کارت نسخه ها
HandLandmarker (کامل) 192 x 192، 224 x 224 شناور 16 اطلاعات آخرین

بسته مدل نقطه عطف دست، مکان یابی نقطه کلیدی 21 مختصات بند انگشتی دست را در نواحی دست شناسایی شده تشخیص می دهد. این مدل بر روی تقریباً 30 هزار تصویر دنیای واقعی و همچنین چندین مدل دست مصنوعی ارائه شده در پس‌زمینه‌های مختلف آموزش داده شد.

بسته مدل نشانگر دستی شامل یک مدل تشخیص کف دست و یک مدل تشخیص نشانه های دستی است. مدل تشخیص کف دست‌ها را در تصویر ورودی قرار می‌دهد و مدل تشخیص نشانه‌های دست، نشانه‌های مشخصی از دست را روی تصویر دست بریده شده که توسط مدل تشخیص کف تعریف شده است، شناسایی می‌کند.

از آنجایی که اجرای مدل تشخیص کف دست زمان‌بر است، زمانی که در حالت اجرای ویدئو یا پخش زنده است، Hand Landmarker از جعبه مرزی تعریف‌شده توسط مدل نشانه‌های دستی در یک فریم برای بومی‌سازی ناحیه دست‌ها برای فریم‌های بعدی استفاده می‌کند. Hand Landmarker تنها زمانی مدل تشخیص کف دست را دوباره فعال می‌کند که مدل نشانه‌های دست دیگر وجود دست‌ها را شناسایی نکند یا نتواند دست‌ها را در کادر ردیابی کند. این تعداد دفعاتی را که Hand Landmarker مدل تشخیص کف دست را ببر می کند، کاهش می دهد.

معیارهای وظیفه

در اینجا معیارهای کار برای کل خط لوله بر اساس مدل های از پیش آموزش دیده بالا آمده است. نتیجه تأخیر، متوسط ​​تأخیر پیکسل 6 با استفاده از CPU / GPU است.

نام مدل تاخیر CPU تاخیر GPU
HandLandmarker (کامل) 17.12 میلی‌ثانیه 12.27 میلی‌ثانیه