يشبه نموذج رصد الأجسام نموذج تصنيف الصور، ولكن بدلاً من تخصيص التصنيفات للصور بأكملها، يخصّص التصنيفات لمناطق من الصور. يمكنك استخدام نماذج رصد الأجسام للتعرّف على الأجسام في الصورة وتحديد موقعها الجغرافي أو تتبُّع حركاتها في سلسلة من الصور.
لتدريب نموذج رصد الأجسام، عليك تزويد أداة AutoML Vision Edge بمجموعة من الصور التي تتضمّن تصنيفات الأجسام وحدودها المقابلة. يستخدم تطبيق AutoML Vision Edge مجموعة البيانات هذه لتدريب نموذج جديد في السحابة الإلكترونية، والذي يمكنك استخدامه للقيام بميزة اكتشاف الأجسام على الجهاز.
تستند ميزة تدريب النماذج فيقبل البدء
إذا لم يكن لديك مشروع على Firebase، أنشئ مشروعًا في وحدة تحكّم Firebase.
اطّلِع على الإرشادات الواردة في دليل الذكاء الاصطناعي الشامل - AutoML.
إذا كنت تريد فقط تجربة AutoML Vision Edge، ولم يكن لديك بيانات تدريب خاصة بك، نزِّل عيّنة من مجموعة بيانات، مثل أحد الخيارَين التاليَين:
- إحدى مجموعات البيانات المقترَحة في TensorFlow
- مجموعة بيانات مستضافة على Kaggle
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- تدريب النموذج
بعد ذلك، يمكنك تدريب نموذج باستخدام صورك:
افتح صفحة مجموعات بيانات الرؤية في وحدة تحكّم Google Cloud. اختَر مشروعك عندما يُطلب منك ذلك.
انقر على مجموعة بيانات جديدة، وأدخِل اسمًا لمجموعة البيانات، واختَر نوع ال نموذج الذي تريد تدريبه، ثم انقر على إنشاء مجموعة بيانات.
في علامة التبويب استيراد ضمن مجموعة البيانات، حمِّل صور التدريب أو أرشيفًا مضغوطًا لصور التدريب أو ملف CSV يحتوي على Cloud Storage المواقع الجغرافية التي حمّلتها إليها. اطّلِع على مقالة تجميع بيانات التدريب.
بعد اكتمال مهمة الاستيراد، استخدِم علامة التبويب الصور للتحقّق من بيانات التدريب.
إذا لم تحمِّل ملف CSV، ارسم مربّعات حدودية حول العناصر التي تريد التعرّف عليها وتصنيفها في كل صورة.
في علامة التبويب تدريب، انقر على بدء التدريب.
أدخِل اسمًا للنموذج واختَر نوع النموذج Edge.
اضبط إعدادات التدريب التالية التي تحدّد أداء النموذج الذي تم إنشاؤه:
تحسين النموذج من أجل... إعدادات النموذج المطلوب استخدامها يمكنك تدريب نماذج أسرع وأكثر صغرًا عندما يكون وقت الاستجابة المنخفض أو حجم الحزمة الصغير مهمّين، أو نماذج أبطأ وأكبر حجمًا عندما تكون الدقة هي أهم ما يجب مراعاته. ميزانية العقدة في الساعة الحد الأقصى للوقت المستغرَق في تدريب النموذج، بوحدة ساعات الحوسبة يؤدي عمومًا وقت التدريب الأطول إلى تحسين دقة نموذجك.
يُرجى العِلم أنّه يمكن إكمال عملية التدريب في وقت أقل من الوقت المحدّد إذا رصد النظام أنّ النموذج محسّن وأنّ التدريب الإضافي لن يُحسِّن الدقة. لا يتم تحصيل رسوم منك إلا مقابل الساعات المستخدَمة فعليًا.
أوقات التدريب المعتادة مجموعات صغيرة جدًا ساعة واحدة 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 للمشرف:
انشر النموذج.
عليك تحديد معرّف مورد النموذج، وهو سلسلة تشبه المثال التالي:
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.