تقدير تشكل

تقدير الوضع هو مهمة استخدام نموذج ML لتقدير وضع الشخص من صورة أو مقطع فيديو عن طريق تقدير المواقع المكانية لمفاصل الجسم الرئيسية (نقاط المفاتيح).

البدء

إذا كنت مستخدمًا جديدًا لـ TensorFlow Lite وتعمل مع Android أو iOS، فاستكشف أمثلة التطبيقات التالية التي يمكن أن تساعدك على البدء.

مثال أندرويد مثال iOS

إذا كنت معتادًا على واجهات برمجة التطبيقات TensorFlow Lite ، فقم بتنزيل نموذج تقدير الوضع المبدئي MoveNet والملفات الداعمة.

تحميل نموذج البداية

إذا كنت تريد تجربة تقدير الوضعية على متصفح الويب، فاطلع على العرض التوضيحي لـ TensorFlow JS .

نموذج الوصف

كيف تعمل

يشير تقدير الوضعية إلى تقنيات الرؤية الحاسوبية التي تكتشف الأشكال البشرية في الصور ومقاطع الفيديو، بحيث يمكن للمرء، على سبيل المثال، تحديد مكان ظهور مرفق شخص ما في الصورة. من المهم أن تكون على دراية بحقيقة أن تقدير الوضعية يقوم فقط بتقدير مكان وجود مفاصل الجسم الرئيسية ولا يتعرف على الشخص الموجود في الصورة أو الفيديو.

تأخذ نماذج تقدير الوضعية صورة الكاميرا المعالجة كمدخلات ومخرجات للمعلومات حول نقاط المفاتيح. تتم فهرسة نقاط المفاتيح المكتشفة بواسطة معرف الجزء، مع درجة ثقة تتراوح بين 0.0 و1.0. تشير درجة الثقة إلى احتمالية وجود نقطة أساسية في هذا الموضع.

نحن نقدم تطبيقًا مرجعيًا لنموذجين لتقدير الوضع TensorFlow Lite:

  • MoveNet: نموذج تقدير الوضعية المتطور متوفر في نسختين: الإضاءة والرعد. انظر المقارنة بين هذين في القسم أدناه.
  • PoseNet: نموذج تقدير وضعية الجيل السابق الذي تم إصداره في عام 2017.

يتم جدولة مفاصل الجسم المختلفة التي اكتشفها نموذج تقدير الوضع أدناه:

بطاقة تعريف جزء
0 أنف
1 leftEye
2 العين اليمنى
3 الأذن اليسرى
4 الاذن اليمنى
5 الكتف الأيسر
6 rightShoulder
7 الكوع الأيسر
8 الكوع الأيمن
9 معصم اليد اليسرى
10 الرسغ الايمن
11 الورك الأيسر
12 الورك الأيمن
13 الركبة اليسرى
14 الركبة اليمنى
15 في الكاحل الأيسر
16 rightAnkle

يظهر مثال على الإخراج أدناه:

الرسوم المتحركة تظهر تقدير الموقف

معايير الأداء

MoveNet متوفر في نكهتين:

  • يعد MoveNet.Lightning أصغر وأسرع ولكنه أقل دقة من إصدار Thunder. يمكن تشغيله في الوقت الفعلي على الهواتف الذكية الحديثة.
  • MoveNet.Thunder هو الإصدار الأكثر دقة ولكنه أيضًا أكبر وأبطأ من Lightning. إنه مفيد لحالات الاستخدام التي تتطلب دقة أعلى.

يتفوق MoveNet على PoseNet في مجموعة متنوعة من مجموعات البيانات، خاصة في الصور التي تحتوي على صور حركات اللياقة البدنية. ولذلك، نوصي باستخدام MoveNet عبر PoseNet.

يتم إنشاء أرقام قياس الأداء باستخدام الأداة الموضحة هنا . يتم قياس أرقام الدقة (mAP) على مجموعة فرعية من مجموعة بيانات COCO التي نقوم فيها بتصفية كل صورة واقتصاصها لتحتوي على شخص واحد فقط.

نموذج الحجم (ميجابايت) خريطة الكمون (ملي ثانية)
بكسل 5 - خيوط وحدة المعالجة المركزية 4 بكسل 5 - وحدة معالجة الرسومات راسبيري باي 4 - خيوط وحدة المعالجة المركزية 4
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 (العمود الفقري لـ MobileNetV1، FP32) 13.3 ميجابايت 45.6 80 مللي ثانية 40 مللي ثانية 338 مللي ثانية

مزيد من القراءة والموارد

  • راجع منشور المدونة هذا لمعرفة المزيد حول تقدير الوضعية باستخدام MoveNet وTensorFlow Lite.
  • راجع منشور المدونة هذا لمعرفة المزيد حول تقدير الوضعية على الويب.
  • راجع هذا البرنامج التعليمي للتعرف على كيفية تشغيل MoveNet على Python باستخدام نموذج من TensorFlow Hub.
  • يمكن لـ Coral/EdgeTPU أن يجعل تقدير الوضعية يعمل بشكل أسرع بكثير على الأجهزة المتطورة. راجع نماذج EdgeTPU المحسنة لمزيد من التفاصيل.
  • اقرأ ورقة PoseNet هنا

تحقق أيضًا من حالات الاستخدام هذه لتقدير الوضع.