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

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

لتدريب نموذج رصد الأجسام، عليك تزويد أداة AutoML Vision Edge بمجموعة من الصور التي تتضمّن تصنيفات الأجسام وحدودها المقابلة. يستخدم تطبيق AutoML Vision 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" بعد تحميلها. لا يُنصح باستخدام هذا الإجراء إلا مع المجموعات الصغيرة من البيانات. يُرجى الاطّلاع على الخطوة التالية.

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

بعد ذلك، يمكنك تدريب نموذج باستخدام صورك:

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

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

  3. في علامة التبويب استيراد ضمن مجموعة البيانات، حمِّل صور التدريب أو أرشيفًا مضغوطًا لصور التدريب أو ملف CSV يحتوي على Cloud Storage المواقع الجغرافية التي حمّلتها إليها. يمكنك الاطّلاع على تجميع بيانات التدريب.

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

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

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

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

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

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

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

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

      أوقات التدريب المعتادة
      مجموعات صغيرة جدًاساعة واحدة
      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، يمكنك تعديله بدون طرح إصدار جديد من التطبيق، ويمكنك استخدام Remote Config وA/B Testing لعرض نماذج مختلفة ديناميكيًا لمجموعات مختلفة من المستخدمين.

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

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

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

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

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

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

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

    projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
    PROJECT_NUMBER رقم مشروع حزمة Cloud Storage التي تحتوي على النموذج. قد يكون هذا مشروعك على 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.