تتيح لك مهمة أداة تقسيم صور MediaPipe تقسيم الصور إلى مناطق بناءً على نموذج محدد مسبقًا الفئات. يمكنك استخدام هذه الوظيفة لتحديد كائنات معينة أو مثلاً، ثم تطبيق التأثيرات البصرية مثل تمويه الخلفية. هذه المهمة العديد من النماذج المدربة خصيصًا لتقسيم الأشخاص الميزات ضمن بيانات الصور، بما في ذلك:
- الشخص والخلفية
- شعر الشخص فقط
- شعر الشخص ووجهه وبشرته وملابسه وإكسسواراته
تعمل هذه المهمة على بيانات الصور باستخدام نموذج تعلُّم آلة (ML) مع الصور أو بث الفيديو المستمر. تُخرج قائمة بالمناطق المقسّمة لتمثيل كائنات أو مناطق في الصورة، اعتمادًا على النموذج الذي نختارها.
البدء
يمكنك بدء استخدام هذه المهمة باتّباع أحد أدلة التنفيذ التالية المنصة المستهدفة. ترشدك هذه الأدلة الخاصة بنظام التشغيل خلال لتنفيذ هذه المهمة، بما في ذلك النموذج المقترح ومثال على الرمز البرمجي مع خيارات الضبط المقترَحة:
- Android - الرمز مثال - الدليل
- Python - مثال على الرمز الدليل
- الويب - الرمز مثال - الدليل
تفاصيل المهمة
يصف هذا القسم الإمكانات والمدخلات والمخرجات والإعدادات. الخيارات لهذه المهمة.
الميزات
- معالجة إدخال الصور - تشمل المعالجة تدوير الصور وتغيير حجمها والتسوية وتحويل مساحة اللون.
إدخالات المهام | نتائج المهام |
---|---|
يمكن أن يكون الإدخال أحد أنواع البيانات التالية:
|
تُخرج أداة تقسيم الصور بيانات الصور المقسّمة، والتي يمكن أن تتضمن واحدًا أو
كليهما، بناءً على خيارات الضبط التي تحدّدها:
|
خيارات الإعدادات
تتضمّن هذه المهمة خيارات الضبط التالية:
اسم الخيار | الوصف | نطاق القيمة | القيمة الافتراضية |
---|---|---|---|
running_mode |
لضبط وضع التشغيل للمهمة. هناك ثلاثة
وسائل النقل: IMAGE: وضع إدخالات الصورة الفردية فيديو: وضع الإطارات التي تم فك ترميزها لفيديو معيّن LIVE_STREAM: وضع البث المباشر للإدخال البيانات، مثل تلك الواردة من الكاميرا. في هذا الوضع، يجب أن يكون resultListener يتم استدعاءها لإعداد مستمع للحصول على النتائج بشكل غير متزامن. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
output_category_mask |
في حال ضبط القيمة على True ، سيشمل الناتج قناع تصنيف إلى شرائح.
كصورة uint8، حيث تشير كل قيمة بكسل إلى الفئة الفائزة
|
{True, False } |
False |
output_confidence_masks |
في حال ضبط القيمة على True ، سيشمل الناتج قناع تصنيف إلى شرائح.
كصورة قيمة عائمة، حيث تمثل كل قيمة عائمة الثقة
خريطة النقاط للفئة. |
{True, False } |
True |
display_names_locale |
لتعيين لغة التسميات لاستخدامها في الأسماء المعروضة المقدمة في
بيانات التعريف لنموذج المهمة، إن وجد. القيمة التلقائية هي en لمدة
الإنجليزية. يمكنك إضافة تصنيفات مترجَمة إلى البيانات الوصفية لنموذج مخصّص.
باستخدام TensorFlow Lite Metadata Writer API |
رمز اللغة | en |
result_callback |
تعيين أداة معالجة النتائج لتلقّي نتائج التقسيم
بشكل غير متزامن عندما يكون أداة تقسيم الصور في وضع LIVE_STREAM .
لا يمكن استخدام الإذن إلا عند ضبط "وضع التشغيل" على LIVE_STREAM |
لا ينطبق | لا ينطبق |
النماذج
يمكن استخدام "أداة تقسيم الصور" مع أكثر من نموذج تعلُّم الآلة. معظم ما يلي يتم إنشاء نماذج التصنيف وتدريبها على إجراء تقسيم باستخدام صور الأشخاص. ومع ذلك، تم إنشاء نموذج DeepLab-v3 كنموذج عام مجزأ صورة الغرض. حدد النموذج الأنسب لتطبيقك.
نموذج تقسيم الصور الذاتية
يمكن أن يقسّم هذا النموذج صورة شخص، ويمكن استخدامه لاستبداله. أو تعديل الخلفية في الصورة. ينتج عن النموذج فئتين، الخلفية في الفهرس 0 وشخص في الفهرس 1. يحتوي هذا النموذج على إصدارات ذات أشكال إدخال مختلفة بما في ذلك الإصدار المربع والإصدار الأفقي الذي أكثر كفاءة للتطبيقات حيث يكون المدخل دائمًا بهذا الشكل، مثل مكالمات الفيديو.
اسم الطراز | شكل الإدخال | نوع الكمية | بطاقة الطراز | الإصدارات |
---|---|---|---|---|
أداة تقسيم الصور الذاتية (مربّعة) | 256 × 256 | العدد العائم 16 | المعلومات | الأحدث |
أداة تقسيم الصور الذاتية (أفقية) | 144 × 256 | العدد العائم 16 | المعلومات | الأحدث |
نموذج تقسيم الشعر
يلتقط هذا النموذج صورة لشخص، ويحدد موضع الشعر على رأسه، خريطة لتقسيم الصور لشعرهم. يمكنك استخدام هذا النموذج إعادة تلوين الشعر أو تطبيق تأثيرات أخرى على الشعر. يُنتج النموذج ما يلي فئات التصنيف إلى قطاعات أو شرائح:
0 - background
1 - hair
اسم الطراز | شكل الإدخال | نوع الكمية | بطاقة الطراز | الإصدارات |
---|---|---|---|---|
HairSegmenter | 512 × 512 | لا شيء (float32) | المعلومات | الأحدث |
نموذج تصنيف الصور الذاتية إلى فئات متعدّدة
يلتقط هذا النموذج صورة لشخص، ويحدد مواقع مناطق مختلفة مثل والشعر والجلد والملابس، وينتج مخططًا لتقسيم الصور لهذه العناصر. يمكنك استخدام هذا النموذج لتطبيق تأثيرات متنوعة على الأشخاص في الصور أو الفيديو القادم. يُنتج النموذج فئات التقسيم التالية:
0 - background
1 - hair
2 - body-skin
3 - face-skin
4 - clothes
5 - others (accessories)
اسم الطراز | شكل الإدخال | نوع الكمية | بطاقة الطراز | الإصدارات |
---|---|---|---|---|
صورة ذاتية المتعددّة (256 × 256) | 256 × 256 | لا شيء (float32) | المعلومات | الأحدث |
نموذج DeepLab-v3
يحدّد هذا النموذج المقاطع لعدد من الفئات، بما في ذلك الخلفية شخص وقط وكلب ونبات في أصيص. يستخدم النموذج الهرم المكاني الغاضب التجميع لالتقاط معلومات أطول المدى. لمزيد من المعلومات، يُرجى مراجعة DeepLab-v3:
اسم الطراز | شكل الإدخال | نوع الكمية | الإصدارات |
---|---|---|---|
DeepLab-V3 | 257 × 257 | لا شيء (float32) | الأحدث |
مقاييس أداء المهام
وفيما يلي مقاييس أداء المهام لمسار العمل بالكامل بناءً على التدريبات المسبقة النماذج. نتيجة وقت الاستجابة هي متوسط وقت الاستجابة على هاتف Pixel 6 عند استخدام وحدة المعالجة المركزية (CPU) أو وحدة معالجة الرسومات.
اسم النموذج | وقت استجابة وحدة المعالجة المركزية (CPU) | وقت استجابة وحدة معالجة الرسومات |
---|---|---|
أداة تقسيم الصور الذاتية (مربّعة) | 33.46 ملي ثانية | 35.15 ملي ثانية |
أداة تقسيم الصور الذاتية (أفقية) | 34.19 ملي ثانية | 33.55 ملي ثانية |
HairSegmenter | 57.90 ملي ثانية | 52.14 ملي ثانية |
SelfieMulticlass (256 × 256) | 217.76 ملي ثانية | 71.24 ملي ثانية |
DeepLab-V3 | 123.93 ملي ثانية | 103.30 ملي ثانية |