تخمین پوز

تخمین پوس وظیفه استفاده از یک مدل ML برای تخمین ژست یک فرد از روی یک تصویر یا یک ویدیو با تخمین مکان‌های مکانی مفاصل کلیدی بدن (نقاط کلیدی) است.

شروع کنید

اگر با TensorFlow Lite تازه کار هستید و با Android یا iOS کار می کنید، نمونه برنامه های زیر را که می توانند به شما در شروع کار کمک کنند را بررسی کنید.

نمونه اندروید نمونه iOS

اگر با API های TensorFlow Lite آشنا هستید، مدل تخمین پوز شروع MoveNet و فایل های پشتیبانی را دانلود کنید.

دانلود مدل استارتر

اگر می‌خواهید تخمین پوز را در یک مرورگر وب امتحان کنید، نسخه آزمایشی TensorFlow JS را بررسی کنید.

توضیحات مدل

چگونه کار می کند

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

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

ما اجرای مرجع دو مدل تخمین پوز TensorFlow Lite را ارائه می دهیم:

  • MoveNet: پیشرفته ترین مدل تخمین ژست موجود در دو رنگ: Lighting و Thunder. مقایسه بین این دو را در بخش زیر مشاهده کنید.
  • PoseNet: نسل قبلی مدل تخمین پوز که در سال 2017 منتشر شد.

مفاصل مختلف بدن که توسط مدل تخمین پوس شناسایی شده اند در جدول زیر آمده است:

شناسه قسمت
0 بینی
1 چشم چپ
2 چشم راست
3 گوش چپ
4 گوش راست
5 شانه چپ
6 راست شانه
7 آرنج چپ
8 آرنج راست
9 مچ دست چپ
10 مچ دست راست
11 هیپ چپ
12 هیپ راست
13 زانوی چپ
14 زانو راست
15 مچ پا چپ
16 مچ پا راست

یک نمونه خروجی در زیر نشان داده شده است:

انیمیشنی که تخمین ژست را نشان می دهد

معیارهای عملکرد

MoveNet در دو نوع موجود است:

  • MoveNet.Lightning نسبت به نسخه Thunder کوچکتر، سریعتر اما دقت کمتری دارد. می تواند به صورت بیدرنگ در گوشی های هوشمند مدرن اجرا شود.
  • MoveNet.Thunder نسخه دقیق تر و همچنین بزرگتر و کندتر از Lightning است. برای موارد استفاده ای که نیاز به دقت بالاتری دارند مفید است.

MoveNet در انواع مجموعه داده ها، به خصوص در تصاویر با تصاویر اکشن تناسب اندام، بهتر از PoseNet عمل می کند. بنابراین، توصیه می کنیم از MoveNet از PoseNet استفاده کنید.

اعداد معیار عملکرد با ابزار توضیح داده شده در اینجا تولید می شوند. اعداد دقت (mAP) بر روی زیرمجموعه‌ای از مجموعه داده COCO اندازه‌گیری می‌شوند که در آن هر تصویر را فیلتر و برش می‌دهیم تا فقط یک نفر را داشته باشد.

مدل اندازه (MB) mAP تأخیر (ms)
Pixel 5 - CPU 4 Threads Pixel 5 - GPU Raspberry Pi 4 - CPU 4 Threads
MoveNet.Thunder (FP16 کوانتیزه شده) 12.6 مگابایت 72.0 155 میلی‌ثانیه 45 میلی‌ثانیه 594 میلی‌ثانیه
MoveNet.Thunder (INT8 کوانتیزه شده) 7.1 مگابایت 68.9 100 میلی‌ثانیه 52 میلی‌ثانیه 251 میلی‌ثانیه
MoveNet.Lightning (کوانتیزه شده FP16) 4.8 مگابایت 63.0 60 میلی‌ثانیه 25 میلی‌ثانیه 186 میلی‌ثانیه
MoveNet.Lightning (INT8 کوانتیزه شده) 2.9 مگابایت 57.4 52 میلی‌ثانیه 28 میلی‌ثانیه 95 میلی‌ثانیه
PoseNet (موبایل NetV1 ستون فقرات، FP32) 13.3 مگابایت 45.6 80 میلی‌ثانیه 40 میلی‌ثانیه 338 میلی‌ثانیه

مطالعه بیشتر و منابع

  • برای کسب اطلاعات بیشتر در مورد تخمین ژست با استفاده از MoveNet و TensorFlow Lite، این پست وبلاگ را بررسی کنید.
  • برای کسب اطلاعات بیشتر در مورد تخمین ژست در وب، این پست وبلاگ را بررسی کنید.
  • برای آشنایی با اجرای MoveNet در پایتون با استفاده از مدلی از TensorFlow Hub، این آموزش را بررسی کنید.
  • Coral/EdgeTPU می‌تواند تخمین پوز را در دستگاه‌های لبه بسیار سریع‌تر اجرا کند. برای جزئیات بیشتر به مدل های بهینه سازی شده EdgeTPU مراجعه کنید.
  • مقاله PoseNet را اینجا بخوانید

همچنین، این موارد استفاده از تخمین پوز را بررسی کنید.