تتيح لك مهمة MediaPipe Image inlineer (أداة تضمين الصور MediaPipe) إنشاء تمثيل رقمي للصورة، وهو أمر مفيد في إنجاز العديد من مهام الصور المستندة إلى تعلُّم الآلة. وغالبًا ما تُستخدم هذه الوظيفة لمقارنة تشابه صورتين باستخدام تقنيات المقارنة الرياضية مثل تشابه جيب التمام. تعمل هذه المهمة على بيانات الصور باستخدام نموذج التعلم الآلي (ML) كبيانات ثابتة أو تدفق مستمر، وتُخرج تمثيلاً رقميًا لبيانات الصورة كقائمة متجهات الخصائص عالية الأبعاد، والمعروفة أيضًا باسم متجهات التضمين، إما في شكل نقطة عائمة أو شكل كمي.
البدء
ابدأ في استخدام هذه المهمة باتباع أحد أدلة التنفيذ هذه للنظام الأساسي المستهدف. ترشدك هذه الأدلة الخاصة بنظام التشغيل خلال التنفيذ الأساسي لهذه المهمة، باستخدام نموذج مقترح، وتقدم أمثلة للرموز البرمجية مع خيارات التهيئة المقترحة:
- Android - مثال للرموز - دليل
- Python - مثال حول الرمز - دليل
- الويب - مثال على الرمز - Guide
تفاصيل المهمة
يصف هذا القسم الإمكانات والمدخلات والمخرجات وخيارات الضبط لهذه المهمة.
الميزات
- معالجة إدخال الصور: تشمل المعالجة تدوير الصور وتغيير حجمها وتسويتها وتحويل مساحة اللون.
- منطقة الاهتمام - يتيح هذا الإجراء التضمين في منطقة من الصورة بدلاً من الصورة بأكملها.
- تضمين طريقة حساب التشابه: هي دالة مساعدة مدمجة لحساب تشابه جيب التمام بين متّجهَين للخصائص.
- تحديد الكمية - يدعم تحديد الكمية العددية لمتجهات الخصائص.
إدخالات المهام | نتائج المهام |
---|---|
يمكن أن يكون الإدخال أحد أنواع البيانات التالية:
|
تعرض أداة تضمين الصور قائمة بعمليات التضمين التي تتألّف من:
|
خيارات الإعدادات
تتضمن هذه المهمة خيارات الإعداد التالية:
اسم الخيار | الوصف | نطاق القيمة | القيمة التلقائية |
---|---|---|---|
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 ملي ثانية |