تدريب نموذج لرصد الكائنات باستخدام AutoML Vision Edge

يتشابه نموذج رصد الأجسام مع نموذج تصنيف الصور، ولكنّه بدلاً من وتعيين تسميات للصور بالكامل، وتعيين تسميات لمناطق الصور. يمكنك استخدام نماذج رصد الأجسام للتعرّف على العناصر في صورة وتحديد موقعها تتبع تحركات كائن عبر سلسلة من الصور.

لتدريب نموذج اكتشاف الكائنات، يمكنك تقديم AutoML Vision Edge مجموعة من الصور مع تصنيفات الكائنات وحدود الكائنات المقابلة لها. رؤية AutoML تستخدم Edge مجموعة البيانات هذه لتدريب نموذج جديد في السحابة، والذي يمكنك استخدامه من رصد العناصر على الجهاز فقط.

قبل البدء

1- تجميع بيانات التدريب

أولاً، تحتاج إلى تجميع مجموعة بيانات تدريب للصور المصنفة. إبقاء مع وضع الإرشادات التالية في الاعتبار:

  • يجب أن تكون الصور بأحد التنسيقات التالية: JPEG أو PNG أو GIF أو BMP أو ICO.

  • يجب أن يكون حجم كل صورة 30 ميغابايت أو أقل. يُرجى ملاحظة أنّ AutoML Vision Edge معظم الصور أثناء المعالجة المسبقة، لذلك ليس هناك فائدة من الدقة عمومًا تقديم صور عالية الدقة للغاية.

  • عليك تضمين 10 أمثلة على الأقل لكل تصنيف ويفضّل أن يكون عددها 100 أو أكثر.

  • تضمين زوايا متعددة ودرجات دقة وخلفيات متعددة لكل تصنيف

  • يجب أن تكون بيانات التدريب قريبة قدر الإمكان من البيانات التي التنبؤات. فعلى سبيل المثال، إذا كانت حالة الاستخدام لديك تتضمن معلومات ضبابية والصور المنخفضة الدقة (مثل تلك التي تلتقطها كاميرا المراقبة)، وبيانات التدريب من صور ضبابية منخفضة الدقة.

  • تم تحسين النماذج التي تم إنشاؤها بواسطة AutoML Vision Edge لصور فوتوغرافية الكائنات في العالم الحقيقي. قد لا تعمل بشكل جيد مع الأشعة السينية والرسومات اليدوية المستندات الممسوحة ضوئيًا والإيصالات وما إلى ذلك.

    كذلك، لا يمكن للنماذج التنبؤ بشكل عام بالتصنيفات التي لا يمكن للأشخاص تعيينها. وبالتالي، إذا لم يتمكن الشخص من تعيين تصنيفات من خلال النظر إلى الصورة لمدة ثانية أو ثانيتين، ونموذجًا لا يمكن تدريبه على القيام بذلك أيضًا.

عندما تكون صور التدريب جاهزة، يمكنك إعدادها للاستيراد إلى Google Cloud. ويكون أمامك خياران:

الخيار 1: Cloud Storage باستخدام فهرس CSV

تحميل صور التدريب إلى خدمة Google Cloud Storage وإعداد ملف CSV يسرد عنوان URL لكل صورة، واختياريًا تصنيفات الأجسام الصحيحة والمناطق المحيطة لكل صورة. هذا الخيار مفيدة عند استخدام مجموعات البيانات الكبيرة.

على سبيل المثال، يمكنك تحميل صورك إلى Cloud Storage وإعداد ملف CSV مثل ما يلي:

gs://your-training-data-bucket/001.jpg,accordion,0.2,0.4,,,0.3,0.5,,
gs://your-training-data-bucket/001.jpg,tuba,0.2,0.5,,,0.4,0.8,,
gs://your-training-data-bucket/002.jpg,accordion,0.2,0.2,,,0.9,0.8,,

يتم تحديد المربعات التي تحيط بالكائن كإحداثيات نسبية في الصورة. عرض تنسيق ملف CSV لبيانات التدريب:

يجب تخزين الصور في حزمة في منطقة us-central1 و من مشروع Google Cloud المقابل لمشروع Firebase.

الخيار 2: الصور غير المصنّفة

قم بتسمية صور التدريب الخاصة بك ورسم حدود الكائنات في Google Cloud Console بعد تحميلها. يُنصح باستخدام هذا الخيار فقط للشركات الصغيرة. ومجموعات البيانات. يُرجى الاطّلاع على الخطوة التالية.

2- تدريب نموذجك

بعد ذلك، درِّب أحد النماذج باستخدام صورك:

  1. فتح مجموعات بيانات الرؤية في وحدة تحكُّم Google Cloud. اختَر مشروعك عندما يُطلب منك ذلك.

  2. انقر على مجموعة بيانات جديدة، وأدخِل اسمًا لمجموعة البيانات، ثم اختَر نوع الذي ترغب في تدريبه، وانقر على إنشاء مجموعة بيانات.

  3. في علامة التبويب استيراد ضمن مجموعة البيانات، حمِّل صور التدريب على أرشيف ZIP لصور التدريب أو ملف CSV يحتوي على مساحة التخزين المواقع التي حمّلتها إليها عرض تجميع بيانات التدريب

  4. بعد اكتمال مهمة الاستيراد، استخدِم علامة التبويب الصور للتحقّق من بيانات التدريب.

  5. إذا لم تقم بتحميل ملف CSV، فارسم مربعات إحاطة حول كل صورة الكائنات التي تريد التعرف عليها وتصنيف كل كائن.

  6. في علامة التبويب تدريب، انقر على بدء التدريب.

    1. أدخِل اسمًا للنموذج واختَر نوع النموذج Edge.

    2. ضبط إعدادات التدريب التالية التي تتحكّم في الأداء للنموذج الذي تم إنشاؤه:

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

      الحد الأقصى للوقت، في ساعات الحوسبة، لقضاء تدريب model. ينتج عن زيادة وقت التدريب بشكل عام معلومات أكثر دقة model.

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

      أوقات التدريب المعتادة
      مجموعات صغيرة جدًاساعة واحدة
      500 صورةساعتان
      1,000 صورة3 ساعات
      5,000 صورة6 ساعات
      10,000 صورة7 ساعات
      50,000 صورة11 ساعة
      100,000 صورة13 ساعة
      1,000,000 صورة18 ساعة

3- تقييم النموذج

عند اكتمال التدريب، يمكنك النقر على علامة التبويب تقييم من أجل الاطلاع على مقاييس الأداء للنموذج.

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

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

الاستدعاء هو نسبة عدد الصور التي تم تصنيفها بشكل صحيح عدد الصور التي تشتمل على محتوى كان يجب أن يكون النموذج قادرًا على تصنيفه. فعندما في حالة تذكُّر النموذج بدرجة عالية، فإنه يخفق في تعيين أي تصنيف بمعدل أقل (أقل من ذلك سلبية).

يعتمد تحديد ما إذا كان التحسين للدقة أو التذكُّر على حالة استخدامك. عرض للمبتدئين في مجال AutoML Vision ودليل دليل تعلُّم الآلة الشامل - AutoML للحصول على مزيد من المعلومات

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

4. نشر النموذج أو تنزيله

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

نشر النموذج

في اختبار اختبار يمكنك استخدامها، يمكنك نشر النموذج على الإنترنت التي تقوم بتشغيل نموذجك في السحابة. يتم تناول هذا الخيار في مستندات Cloud AutoML: تشير رسالة الأشكال البيانية المستندات على هذا الموقع مع الخيارين المتبقيين.

نشر النموذج

من خلال نشر النموذج على Firebase، يمكنك تعديل النموذج بدون رفعه. إصدارًا جديدًا من التطبيق، ويمكنك استخدام ميزتَي "الإعداد عن بُعد" و"اختبار A/B" من أجل تعرض نماذج مختلفة ديناميكيًا لمجموعات مختلفة من المستخدمين.

إذا اخترت توفير النموذج من خلال استضافته باستخدام Firebase فقط، وليس حزمة التطبيق مع التطبيق، يمكنك تقليل حجم التنزيل الأولي لتطبيقك. ومع ذلك، يُرجى الأخذ في الاعتبار أنه إذا لم يتم إدراج النموذج مع تطبيقك، لن تتوفّر الوظائف المتعلّقة بالطراز إلى أن ينزِّل تطبيقك لأول مرة.

لنشر النموذج، يمكنك استخدام إحدى الطريقتَين التاليتَين:

  • نزِّل نموذج TF Lite من قسم اختبار استخدام في Google Cloud Console، ثم تحميل النموذج على صفحة النموذج المخصّص لوحدة تحكُّم Firebase. عادة ما يكون هذا أسهل طريقة لنشر نموذج واحد.
  • يمكنك نشر النموذج مباشرةً من مشروعك على Google Cloud إلى Firebase باستخدام SDK للمشرف. ويمكنك استخدام هذه الطريقة لنشر عدة نماذج أو المساعدة في إنشاء مسارات للنشر الآلي

لنشر النموذج باستخدام واجهة برمجة تطبيقات إدارة النماذج في "SDK للمشرف":

  1. تثبيت حزمة تطوير البرامج (SDK) وإعدادها

  2. انشر النموذج.

    ستحتاج إلى تحديد معرِّف مورد النموذج، وهو سلسلة الذي يبدو مثل المثال التالي:

    projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
    PROJECT_NUMBER رقم مشروع حزمة Cloud Storage التي تحتوي على model. يمكن أن يكون هذا مشروعك على Firebase أو غيره على Google Cloud. مشروعك. يمكنك العثور على هذه القيمة في صفحة "الإعدادات" في وحدة تحكُّم Firebase أو لوحة بيانات وحدة تحكُّم Google Cloud.
    MODEL_ID رقم تعريف النموذج، الذي حصلت عليه من AutoML Cloud API.

    Python

    # First, import and initialize the SDK.
    
    # Get a reference to the AutoML model
    source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format(
        # See above for information on these values.
        project_number,
        model_id
    ))
    
    # Create the model object
    tflite_format = ml.TFLiteFormat(model_source=source)
    model = ml.Model(
        display_name="example_model",  # This is the name you will use from your app to load the model.
        tags=["examples"],             # Optional tags for easier management.
        model_format=tflite_format)
    
    # Add the model to your Firebase project and publish it
    new_model = ml.create_model(model)
    new_model.wait_for_unlocked()
    ml.publish_model(new_model.model_id)
    

    Node.js

    // First, import and initialize the SDK.
    
    (async () => {
      // Get a reference to the AutoML model. See above for information on these
      // values.
      const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`;
    
      // Create the model object and add the model to your Firebase project.
      const model = await ml.createModel({
        displayName: 'example_model',  // This is the name you use from your app to load the model.
        tags: ['examples'],  // Optional tags for easier management.
        tfliteModel: { automlModel: automlModel },
      });
    
      // Wait for the model to be ready.
      await model.waitForUnlocked();
    
      // Publish the model.
      await ml.publishModel(model.modelId);
    
      process.exit();
    })().catch(console.error);
    

تنزيل & دمج النموذج مع تطبيقك

يمكنك ضمان ميزات تعلُّم الآلة في تطبيقك من خلال دمج نموذجك مع تطبيقك. لا يزال يعمل في حال عدم توفُّر النموذج المستضاف على Firebase.

وفي حال نشر النموذج ووضعه مع تطبيقك، سيستخدم التطبيق أحدث إصدار متاح.

لتنزيل النموذج، انقر على TF Lite في أداة اختبار البيانات واستخدامها.

الخطوات التالية

والآن بعد أن نشرت النموذج أو نزّلته، تعرف على كيفية استخدام النموذج في +iOS تطبيقات Android