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

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

AutoML Vision Edge هي إحدى خدمات Google Cloud. يخضع استخدام الخدمة لاتفاقية ترخيص Google Cloud Platform والشروط الخاصة بالخدمة ، ويتم إصدار الفاتورة وفقًا لذلك. للحصول على معلومات الفوترة، راجع صفحة تسعير AutoML.

قبل ان تبدأ

1. قم بتجميع بيانات التدريب الخاصة بك

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

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

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

  • قم بتضمين 10 أمثلة على الأقل، ويفضل 100 أو أكثر، لكل تسمية.

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

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

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

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

عندما تصبح صور التدريب الخاصة بك جاهزة، قم بإعدادها للاستيراد إلى Firebase. لديك ثلاثة خيارات:

الخيار 1: أرشيف مضغوط منظم

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

يمكن أن يصل طول أسماء الدليل في هذا الأرشيف المضغوط إلى 32 حرف ASCII ويمكن أن تحتوي فقط على أحرف أبجدية رقمية وحرف الشرطة السفلية ( _ ).

على سبيل المثال:

my_training_data.zip
  |____accordion
  | |____001.jpg
  | |____002.jpg
  | |____003.jpg
  |____bass_guitar
  | |____hofner.gif
  | |____p-bass.png
  |____clavier
    |____well-tempered.jpg
    |____well-tempered (1).jpg
    |____well-tempered (2).jpg

الخيار 2: التخزين السحابي مع فهرس CSV

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

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

gs://your-training-data-bucket/001.jpg,accordion
gs://your-training-data-bucket/002.jpg,accordion
gs://your-training-data-bucket/003.jpg,accordion
gs://your-training-data-bucket/hofner.gif,bass_guitar
gs://your-training-data-bucket/p-bass.png,bass_guitar
gs://your-training-data-bucket/well-tempered.jpg,clavier
gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier
gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier

يجب تخزين الصور في مجموعة تمثل جزءًا من مشروع Google Cloud المطابق لمشروع Firebase.

راجع إعداد بيانات التدريب الخاصة بك في وثائق Cloud AutoML Vision لمزيد من المعلومات حول إعداد ملف CSV.

الخيار 3: الصور غير المسماة

قم بتسمية صور التدريب الخاصة بك في وحدة تحكم Firebase بعد تحميلها، إما بشكل فردي أو في ملف مضغوط غير منظم. انظر الخطوة التالية.

2. تدريب النموذج الخاص بك

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

  1. افتح صفحة Vision Datasets في وحدة تحكم Google Cloud. حدد مشروعك عندما يُطلب منك ذلك.

  2. انقر فوق مجموعة بيانات جديدة ، وقم بتوفير اسم لمجموعة البيانات، وحدد نوع النموذج الذي تريد تدريبه، ثم انقر فوق إنشاء مجموعة بيانات .

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

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

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

    1. قم بتسمية النموذج وحدد نوع طراز Edge .

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

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

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

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

      أوقات التدريب النموذجية
      مجموعات صغيرة جدًا 1 ساعة
      500 صورة ساعاتين
      1000 صورة 3 ساعات
      5000 صورة 6 ساعات
      10000 صورة 7 ساعات
      50000 صورة 11 ساعة
      100.000 صورة 13 ساعة
      1,000,000 صورة 18 ساعة

3. تقييم النموذج الخاص بك

عند اكتمال التدريب، يمكنك النقر فوق علامة التبويب تقييم لرؤية مقاييس الأداء الخاصة بالنموذج.

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

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

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

يعتمد ما إذا كنت تقوم بتحسين الدقة أو الاستدعاء على حالة الاستخدام الخاصة بك. راجع دليل المبتدئين في AutoML Vision ودليل Inclusive ML - AutoML لمزيد من المعلومات.

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

4. قم بنشر النموذج الخاص بك أو تنزيله

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

نشر النموذج

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

نشر النموذج

من خلال نشر النموذج على Firebase، يمكنك تحديث النموذج دون إصدار إصدار تطبيق جديد، ويمكنك استخدام Remote Config وA/B Testing لتقديم نماذج مختلفة ديناميكيًا لمجموعات مختلفة من المستخدمين.

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

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

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

لنشر النموذج باستخدام واجهة برمجة تطبيقات إدارة نموذج Admin 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.

    بايثون

    # 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 .