تتيح لك مهمة "إدراج الصور" من MediaPipe إنشاء تمثيل رقمي لصورة، وهو مفيد في إنجاز مهام مختلفة تستند إلى الذكاء الاصطناعي (AI) للصور. تُستخدَم هذه الميزة غالبًا لمقارنة تشابه صورتَين باستخدام أساليب المقارنة الحسابية، مثل تشابه جيب التمام. تعمل هذه المهمة على بيانات الصور باستخدام نموذج تعلُّم آلي (ML) كبيانات ثابتة أو مجرى متواصل، وتُخرج تمثيلاً رقميًا لبيانات الصور كقائمة بمتجهات السمات العالية الأبعاد، والتي تُعرف أيضًا باسم المتجهات المضمّنة، سواءً بالتنسيق العشري أو الكمي.
البدء
ابدأ استخدام هذه المهمة باتّباع أحد أدلة التنفيذ هذه ل منصّتك المستهدفة. ترشدك هذه الأدلة الخاصة بالنظام الأساسي إلى تنفيذ أساسي لهذه المهمة باستخدام نموذج مقترَح، كما تقدّم أمثلة على الرمز البرمجي مع خيارات الإعداد المقترَحة:
- Android - مثال على الرمز المبرمَج - دليل
- Python - مثال على رمز - دليل
- الويب - مثال على الرمز البرمجي - الدليل
تفاصيل المهمة
يصف هذا القسم ميزات هذه المهمة ومدخلاتها ومخرجاتها وخيارات الضبط.
الميزات
- معالجة الصور المُدخلة: تشمل المعالجة تدوير الصور وتغيير حجمها وتسويتها وتحويل مساحة الألوان.
- منطقة الاهتمام: يتمّ إجراء عملية التضمين في منطقة من الصورة بدلاً من الصورة بأكملها.
- حساب التشابه في الدمج: دالة مساعدة مضمّنة لاحتساب تشابه جيب التمام بين متجهَين للميزات
- التكمية: تتيح هذه الطريقة استخدام الكمّات على مستوى العنصر الواحد في متجهات السمات.
مدخلات المهام | نتائج المهام |
---|---|
يمكن أن يكون الإدخال أحد أنواع البيانات التالية:
|
تُخرج أداة "إدراج الصور" قائمة بإدراجات تتألف من:
|
خيارات الإعدادات
تتضمّن هذه المهمة خيارات الضبط التالية:
اسم الخيار | الوصف | نطاق القيمة | القيمة التلقائية |
---|---|---|---|
running_mode |
لضبط وضع التشغيل للمهمة هناك ثلاثة
أوضاع: IMAGE: وضع الإدخالات باستخدام صورة واحدة. VIDEO: وضع الإطارات التي تم فك ترميزها في الفيديو LIVE_STREAM: وضع البث المباشر لبيانات الإدخال ، مثل بيانات الكاميرا في هذا الوضع، يجب استدعاء resultListener لإعداد مستمع لتلقّي النتائج بشكل غير متزامن. |
{IMAGE, VIDEO, LIVE_STREAM } |
IMAGE |
l2_normalize |
ما إذا كان يجب تطبيع متجه السمات المعروض باستخدام معيار L2 لا تستخدِم هذا الخيار إلا إذا كان النموذج لا يحتوي على خطوة معالجة برمجية أساسية L2_NORMALIZATION من TFLite. وفي معظم الحالات، يكون هذا هو الحال، وبالتالي يتم تحقيق تسويّة L2 من خلال الاستنتاج باستخدام TFLite بدون الحاجة إلى هذا الخيار. | Boolean |
False |
quantize |
ما إذا كان يجب تجزئة البيانات المضمّنة التي تم إرجاعها إلى وحدات بايت من خلال التجزئة على مستوى المقياس يُفترض ضمنيًا أنّ القيم المضمّنة هي قيم عادية و بالتالي، يُضمن أن تكون قيمة أيّ سمة ضمن النطاق [-1.0, 1.0]. استخدِم الخيار l2_normalize إذا لم يكن الأمر كذلك. | Boolean |
False |
result_callback |
ضبط مستمع النتائج لتلقّي نتائج التضمين
بشكل غير متزامن عندما يكون أداة تضمين الصور في وضع البث المباشر
لا يمكن استخدامها إلا عند ضبط وضع التشغيل على LIVE_STREAM |
لا ينطبق | لم يتم الضبط |
النماذج
تتطلّب أداة "إدراج الصور" تنزيل نموذج إدراج صور وتخزينه في دليل مشروعك. ابدأ باستخدام النموذج التلقائي المُقترَح لplatfrom targeted عند بدء التطوير باستخدام هذه المهمة. وعادةً ما توازن نماذج الدقة الأخرى المتاحة بين الأداء والدقة ودرجة الدقة ومتطلبات الموارد، وفي بعض الحالات، تتضمّن ميزات إضافية.
نموذج MobileNetV3
تستخدِم عائلة النماذج هذه بنية MobileNet V3 وتم تدريبها باستخدام بيانات ImageNet. يستخدم هذا النموذج مُضاعِفًا قدره 0.75 للعمق (عدد الميزات) في الطبقات التجميعية لضبط التوازن بين الدقة ووقت الاستجابة. بالإضافة إلى ذلك، يأتي MobileNet V3 بحجمَين مختلفَين، صغير وكبير، لتعديل الشبكة وفقًا لحالات استخدام الموارد المنخفضة أو العالية.
اسم الطراز | شكل الإدخال | نوع التقريب | الإصدارات |
---|---|---|---|
MobileNet-V3 (صغير) | 224 x 224 | لا شيء (float32) | الأحدث |
MobileNet-V3 (كبير) | 224 x 224 | لا شيء (float32) | الأحدث |
مقاييس أداء المهام
في ما يلي مقاييس أداء المهام لعملية المعالجة بأكملها استنادًا إلى نماذج pretrained المدرَّبة مسبقًا أعلاه. نتيجة وقت الاستجابة هي متوسط وقت الاستجابة على هاتف Pixel 6 باستخدام وحدة المعالجة المركزية / وحدة معالجة الرسومات.
اسم النموذج | وقت استجابة وحدة المعالجة المركزية | وقت استجابة وحدة معالجة الرسومات |
---|---|---|
MobileNet-V3 (صغير) | 3.94 ملي ثانية | 7.83 ملي ثانية |
MobileNet-V3 (كبير) | 9.75 ملي ثانية | 9.08 ملي ثانية |