دليل مهمة تضمين الصور

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

تجربة الميزة

البدء

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

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

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

الميزات

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

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

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

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

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

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

البث المباشر: وضع بث مباشر لبيانات الإدخال، مثل الكاميرا. في هذا الوضع، يجب استدعاء resultsListener لإعداد أداة معالجة الصوت لكي تتلقى النتائج بشكل غير متزامن.
{IMAGE, VIDEO, LIVE_STREAM} IMAGE
l2_normalize ما إذا كان سيتم تسوية الخط المتجه للميزة الذي تم إرجاعه باستخدام معيار L2. لا تستخدم هذا الخيار إلا إذا لم يكن النموذج يحتوي على L2_NORMALIZATION TFLite Op أصلي. في معظم الحالات، يتم تسوية L2 من خلال استنتاج TFLite بدون الحاجة إلى هذا الخيار. Boolean False
quantize ما إذا كان يجب تحديد قيمة التضمين التي تم إرجاعها إلى وحدات البايت من خلال تحديد كمّية عددية ومن المفترض ضمنيًا أن تكون عمليات التضمين عبارة عن معيار وحدة، وبالتالي يمكن أن يكون لأي سمة قيمة في [ -1.0, 1.0]. واستخدِم الخيار l2_normalize إذا لم يكن الأمر كذلك. Boolean False
result_callback يضبط أداة معالجة النتائج لتلقّي نتائج التضمين بشكل غير متزامن عندما تكون أداة تضمين الصور في وضع البث المباشر. لا يمكن استخدام هذا الخيار إلا عند ضبط وضع التشغيل على LIVE_STREAM. لا ينطبق لم يتم الضبط.

النماذج

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

طراز MobileNetV3

تستخدم مجموعة النماذج هذه بنية MobileNet V3 تم تدريبها باستخدام بيانات ImageNet. يستخدم هذا النموذج مضاعفًا قيمته 0.75 للعمق (عدد الميزات) في الطبقات الالتفافية من أجل ضبط وقت الاستجابة بدقة. بالإضافة إلى ذلك، يأتي MobileNet V3 بحجمين مختلفين، صغير وكبير، لتكييف الشبكة مع حالات استخدام الموارد المنخفضة أو العالية.

اسم النموذج إدخال الشكل نوع الكمية الإصدارات
MobileNet-V3 (صغير) 224 × 224 لا شيء (float32) الأحدث
MobileNet-V3 (كبير) 224 × 224 لا شيء (float32) الأحدث

مقاييس أداء المهام

إليك مقاييس أداء المهمة لمسار العملية بأكمله بناءً على النماذج المدربة مسبقًا أعلاه. وتكون نتيجة وقت الاستجابة هي متوسط وقت الاستجابة على هاتف Pixel 6 باستخدام وحدة المعالجة المركزية (CPU)/وحدة معالجة الرسومات.

اسم النموذج وقت استجابة وحدة المعالجة المركزية (CPU) وقت استجابة وحدة معالجة الرسومات
MobileNet-V3 (صغير) 3.94 ملي ثانية 7.83 ملي ثانية
MobileNet-V3 (كبير) 9.75 ملي ثانية 9.08 ملي ثانية