تتيح لك مهمة "أداة رصد الوجوه" في MediaPipe رصد الوجوه في صورة أو فيديو. يمكنك استخدام هذه المهمة لتحديد الوجوه وملامح الوجه داخل إطار. تستخدم هذه المهمة نموذج تعلُّم آلي يعمل مع صور فردية أو سلسلة متواصلة من الصور. تعرض المهمة مواقع الوجوه، بالإضافة إلى نقاط الوجه الرئيسية التالية: العين اليسرى والعين اليمنى وطرف الأنف والفم والزاوية الأمامية اليسرى للعين والزاوية الأمامية اليمنى للعين.
البدء
يمكنك البدء باستخدام هذه المهمة باتّباع أحد أدلة التنفيذ هذه للمنصة المستهدفة. ترشدك هذه الأدلة الخاصة بكل منصة إلى كيفية تنفيذ هذه المهمة بشكل أساسي، بما في ذلك نموذج مقترَح ومثال على الرمز البرمجي مع خيارات الإعداد المقترَحة:
- Android - مثال على الرمز - دليل
- Python - مثال على الرمز- دليل
- الويب - مثال على الرمز - دليل
- iOS - مثال للرمز - دليل
تفاصيل المهمة
يوضّح هذا القسم إمكانات هذه المهمة ومدخلاتها ومخرجاتها وخيارات الضبط.
الميزات
- معالجة صورة الإدخال: تشمل المعالجة تدوير الصورة وتغيير حجمها وتسويتها وتحويل مساحة الألوان.
- حدّ النتائج: لفلترة النتائج استنادًا إلى نتائج التوقّعات
| مدخلات المهام | مخرجات المهمة |
|---|---|
تقبل أداة "رصد الوجوه" إدخال أحد أنواع البيانات التالية:
|
تعرض أداة "رصد الوجه" النتائج التالية:
|
خيارات الإعدادات
تتضمّن هذه المهمة خيارات الإعداد التالية:
| اسم الخيار | الوصف | نطاق القيم | القيمة التلقائية |
|---|---|---|---|
running_mode |
تضبط هذه السمة وضع التشغيل للمهمة. تتوفّر ثلاثة أوضاع: الصورة: الوضع المخصّص لإدخال صورة واحدة. VIDEO: وضع الإطارات التي تم فك ترميزها من فيديو LIVE_STREAM: وضع البث المباشر لبيانات الإدخال، مثل البيانات الواردة من كاميرا. في هذا الوضع، يجب استدعاء resultListener لإعداد أداة معالجة لتلقّي النتائج بشكل غير متزامن. |
{IMAGE, VIDEO, LIVE_STREAM} |
IMAGE |
min_detection_confidence |
الحد الأدنى لنتيجة الثقة التي يجب تحقيقها لكي يُعدّ رصد الوجه ناجحًا. | Float [0,1] |
0.5 |
min_suppression_threshold |
الحدّ الأدنى لعملية إزالة التداخل غير القصوى المطلوب لتحديد ما إذا كان هناك تداخل في عملية رصد الوجوه | Float [0,1] |
0.3 |
result_callback |
تضبط هذه السمة أداة معالجة النتائج لتلقّي نتائج عملية التعرّف بشكل غير متزامن عندما يكون "كاشف الوجوه" في وضع البث المباشر. لا يمكن استخدامها إلا عندما يكون وضع التشغيل مضبوطًا على LIVE_STREAM. |
N/A |
Not set |
النماذج
يمكن أن تختلف نماذج التعرّف على الوجوه حسب حالات الاستخدام المقصودة، مثل التعرّف على الوجوه من مسافات قصيرة وطويلة. تتضمن النماذج أيضًا عادةً تسويات بين الأداء والدقة والوضوح ومتطلبات الموارد، وفي بعض الحالات، تتضمن ميزات إضافية.
الطُرز المُدرَجة في هذا القسم هي صيغ مختلفة من BlazeFace، وهي أداة خفيفة الوزن ودقيقة لرصد الوجوه تم تحسينها للاستدلال على وحدات معالجة الرسومات على الأجهزة الجوّالة. تتوفّر نماذج BlazeFace للتطبيقات التي تتطلّب تقدير نقاط الوجه الأساسية الثلاثية الأبعاد، وتصنيف تعابير الوجه، وتقسيم مناطق الوجه. تستخدم BlazeFace شبكة خفيفة الوزن لاستخراج الميزات تشبه MobileNetV1/V2.
BlazeFace (مدى قصير)
نموذج بسيط لرصد وجه واحد أو عدة وجوه في صور ذاتية تم التقاطها باستخدام كاميرا هاتف ذكي أو كاميرا ويب. تم تحسين النموذج ليتوافق مع صور الكاميرا الأمامية للهاتف التي يتم التقاطها من مسافة قصيرة. تستخدم بنية النموذج تقنية الشبكة العصبونية التلافيفية Single Shot Detector (SSD) مع أداة ترميز مخصّصة. لمزيد من المعلومات، يُرجى الاطّلاع على ورقة البحث حول Single Shot MultiBox Detector.
| اسم النموذج | شكل الإدخال | نوع التكميم | بطاقة النموذج | الإصدارات |
|---|---|---|---|---|
| BlazeFace (short-range) | 128 × 128 | float 16 | معلومات | الأحدث |
BlazeFace (نطاق كامل)
نموذج بسيط نسبيًا لرصد وجوه فردية أو متعددة ضمن صور من كاميرا هاتف ذكي أو كاميرا ويب. تم تحسين النموذج للصور ذات النطاق الكامل، مثل الصور التي يتم التقاطها باستخدام الكاميرا الخلفية للهاتف. تستخدم بنية النموذج تقنية مشابهة لشبكة CenterNet التلافيفية مع برنامج ترميز مخصّص.
| اسم النموذج | شكل الإدخال | نوع التكميم | بطاقة النموذج | الإصدارات |
|---|---|---|---|---|
| BlazeFace (النطاق الكامل) | 128 × 128 | float 16 | معلومات | الأحدث |
BlazeFace Sparse (نطاق كامل)
إصدار أخف وزنًا من نموذج BlazeFace العادي ذي النطاق الكامل، وهو أصغر حجمًا بنسبة% 60 تقريبًا. تم تحسين النموذج للصور ذات النطاق الكامل، مثل تلك التي يتم التقاطها باستخدام الكاميرا الخلفية للهاتف. تستخدم بنية النموذج تقنية مشابهة لشبكة تلافيفية CenterNet مع برنامج ترميز مخصّص.
| اسم النموذج | شكل الإدخال | نوع التكميم | بطاقة النموذج | الإصدارات |
|---|---|---|---|---|
| BlazeFace Sparse (النطاق الكامل) | 128 × 128 | float 16 | معلومات | الأحدث |
مقاييس أداء المهام
في ما يلي مقاييس أداء المهام لخط الإنتاج بأكمله استنادًا إلى النماذج المدرَّبة مسبقًا المذكورة أعلاه. نتيجة وقت الاستجابة هي متوسط وقت الاستجابة على هاتف Pixel 6 باستخدام وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات (GPU).
| اسم النموذج | وقت استجابة وحدة المعالجة المركزية | وقت استجابة وحدة معالجة الرسومات |
|---|---|---|
| BlazeFace (مدى قصير) | 2.94 ملي ثانية | 7.41 ملي ثانية |