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

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

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

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

تجربة الميزة

البدء

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

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

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

الميزات

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

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

تتضمن هذه المهمة خيارات الإعداد التالية:

اسم الخيار الوصف نطاق القيمة القيمة التلقائية
running_mode تحدِّد هذه السياسة وضع التشغيل للمهمة. هناك ثلاثة أوضاع:

IMAGE: وضع إدخالات الصورة الفردية.

فيديو: وضع لقطات الفيديو التي تم فك ترميزها

البث المباشر: وضع بث مباشر لبيانات الإدخال، مثل الكاميرا. في هذا الوضع، يجب استدعاء resultsListener لإعداد أداة معالجة الصوت لكي تتلقى النتائج بشكل غير متزامن.
{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 Scriptr API. رمز اللغة en
result_callback تعمل هذه السياسة على ضبط أداة معالجة النتائج لتلقّي نتائج التقسيم على نحو غير متزامن عندما يكون مقسّم الصور في وضع البث المباشر. لا يمكن استخدام هذا الخيار إلا عند ضبط وضع التشغيل على 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)
اسم النموذج إدخال الشكل نوع الكمية بطاقة النموذج الإصدارات
SelfieMulticlass (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 ملي ثانية