دليل تصنيف الصور إلى شرائح

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

  • الشخص والخلفية
  • شعر الشخص فقط
  • شعر الشخص ووجهه وبشرته وملابسه وإكسسواراته

تعمل هذه المهمة على بيانات الصور باستخدام نموذج تعلُّم آلة (ML) مع الصور أو بث الفيديو المستمر. تُخرج قائمة بالمناطق المقسّمة لتمثيل كائنات أو مناطق في الصورة، اعتمادًا على النموذج الذي نختارها.

جرِّبها.

البدء

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

تفاصيل المهمة

يصف هذا القسم الإمكانات والمدخلات والمخرجات والإعدادات. الخيارات لهذه المهمة.

الميزات

  • معالجة إدخال الصور - تشمل المعالجة تدوير الصور وتغيير حجمها والتسوية وتحويل مساحة اللون.
إدخالات المهام نتائج المهام
يمكن أن يكون الإدخال أحد أنواع البيانات التالية:
  • صور ثابتة
  • إطارات الفيديو التي تم فك ترميزها
  • خلاصة فيديو مباشر
تُخرج أداة تقسيم الصور بيانات الصور المقسّمة، والتي يمكن أن تتضمن واحدًا أو كليهما، بناءً على خيارات الضبط التي تحدّدها:
  • CATEGORY_MASK: قائمة تحتوي على قناع مقسّم كصورة بتنسيق uint8. تشير كل قيمة بكسل إلى ما إذا كانت جزءًا من فئة مقطع معيّنة يدعمها النموذج.
  • CONFIDENCE_MASK: قائمة بالقنوات التي تحتوي على قناع مقسم بقيم بكسل بتنسيق float32. تشير كل قيمة بكسل إلى مستوى الثقة في أنه جزء من فئة معينة معتمد من قبل النموذج.

خيارات الإعدادات

تتضمّن هذه المهمة خيارات الضبط التالية:

اسم الخيار الوصف نطاق القيمة القيمة الافتراضية
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 ملي ثانية