يعد التعرف على الصور في YOLOv8 رائعًا ، لكن تدريب النموذج مهمة مهمة لا يجب إغفالها.

YOLOv8 عبارة عن خوارزمية للكشف عن الكائنات في الوقت الفعلي تُستخدم على نطاق واسع في مجال اكتشاف الكائنات. إنه جزء من سلسلة You Only Look Once (YOLO) التي طورتها Ultralytics. الخوارزمية تتعقب وتكتشف وتقطع مثيلات وتقديرات وتصنف الكائنات في الصور ومقاطع الفيديو. تهدف إلى أن تكون أسرع وأكثر دقة من الخوارزميات السابقة.

غالبًا ما يكون استخدام YOLOv8 في مجموعات البيانات التجريبية مثل CIFAR-10 و CIFAR-100 أسهل لمشاريع إثبات المفهوم (POC) مقارنة بمجموعات البيانات الواقعية التي تتطلب مجموعات بيانات مخصصة.

سيرشدك هذا البرنامج التعليمي خلال الخطوات المتضمنة في تدريب YOLOv8 على البيانات المخصصة.

إعداد بيئة بايثون

ابدأ بتثبيت بيئة التطوير للمشروع ، باتباع الإرشادات أدناه.

  1. انتقل إلى المحطة وأنشئ دليلًا جديدًا باسم yolov8project:
    mkdir yolov8project
  2. انتقل إلى دليل المشروع و خلق بيئة افتراضية:
    cd yolov8project
    python -m venv env
  3. ثم قم بتنشيط البيئة الافتراضية.
    # على نظام Windows
    البيئة / البرامج النصية / التنشيط

    # على Linux / macOS
    مصدر البيئة / بن / التنشيط

    instagram viewer
    لتشغيل التعليمات البرمجية الخاصة بك ، تحتاج إلى تثبيت Ultralytics ، مكتبة لاكتشاف الكائنات وتجزئة الصور. إنها أيضًا تبعية YOLOv8. قم بتثبيته باستخدام النقطة عن طريق تشغيل الأمر أدناه.
    تثبيت نقطة فائقة الدقة
  4. يقوم هذا الأمر بتثبيت نموذج YOLOv8 المدرب مسبقًا ، yolov8n.pt. اختبر النموذج عن طريق تشغيل الأوامر أدناه للقيام بالكشف باستخدام الأوزان المدربة مسبقًا على الصورة أو الفيديو الذي اخترته على التوالي باستخدام YOLOv8.
    #كشف الصورة
    مهمة yolo = وضع الاكتشاف = توقع النموذج = مصدر yolov8n.pt = "path / to / image.png"

    #كشف الفيديو
    مهمة yolo = وضع الاكتشاف = توقع النموذج = مصدر yolov8n.pt = "المسار / إلى / video.mp4"

    إذا كان كل شيء يعمل بشكل مثالي ، فستكون النتائج متاحة في yolov8project الدليل في يعمل / كشف / إكسب دليل فرعي.

تحضير مجموعة البيانات المخصصة الخاصة بك

تتضمن خطوات إعداد مجموعة البيانات المخصصة الخاصة بك جمع البيانات ، وتسمية البيانات ، وتقسيم البيانات (التدريب ، والاختبار ، والتحقق من الصحة).

جمع البيانات

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

وسم البيانات

بعد جمع صورك ، تحتاج إلى تصنيفها. هذا يعني تحديد الكائنات في كل صورة والمربعات المحيطة بها. هناك العديد من الأدوات المتاحة لمساعدتك في تصنيف بياناتك ، مثل LabelImg و CVAT و روبوفلو. هذه الأدوات كلها مجانية للاستخدام.

تقسيم البيانات

لتدريب نماذج التعلم الآلي ، عليك تقسيم بياناتك إلى مجموعات تدريب واختبار. حاول استخدام نسبة تقسيم 70٪ -30٪ عند استخدام كميات كبيرة من البيانات. خلافًا لذلك ، التزم بنسبة 80٪ -20٪ لتجنب زيادة ملاءمة النموذج أو عدم ملاءمته.

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

تكوين YOLOv8 لمجموعة البيانات الخاصة بك

بعد تسمية بياناتك ، تابع تكوين YOLOv8 لمجموعة البيانات المخصصة الخاصة بك. يتضمن ذلك إنشاء ملف تكوين يحدد ما يلي:

  • المسار إلى بيانات التدريب الخاصة بك.
  • المسار إلى بيانات التحقق الخاصة بك.
  • عدد الفئات التي تريد الكشف عنها.

قم بإنشاء ملف config.yaml لتخزين التكوين:

طريق:(مجموعة البياناتالدليلطريق)
يدرب:(يدربمجموعة البياناتمجلدطريق)
امتحان:(امتحانمجموعة البياناتمجلدطريق)
صالح:(تصديقمجموعة البياناتمجلدطريق)

# الطبقات
nc:5# استبدل بناءً على عدد فئات مجموعة البيانات الخاصة بك

# أسماء الفئات
# استبدل جميع أسماء الفئات بأسماء فصولك الخاصة
الأسماء:['الفئة 1'،'الصف 2',"class3","class4","class5"]

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

تأكد من استخدام المسارات الصحيحة لمجموعات البيانات الخاصة بك لأن تدريب النموذج يعتمد بشكل كامل على ملف التكوينات.

تدريب YOLOv8 على البيانات المخصصة

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

مهمة yolo = وضع الاكتشاف = نموذج القطار = بيانات yolov8n.pt = المسار / إلى / config.yaml epochs = 10 imgsz = 640

هناك عدة أجزاء لهذا الأمر.

مهمة يحدد نوع المهمة: كشف أو تقسيم أو تصنيف. وضع يمثل إجراءً: تدريب ، توقع ، تقييم ، تصدير ، تتبع ، أو قياس الأداء. نموذج هو النموذج المراد استخدامه ، في هذه الحالة ، yolov8n.pt. يمكنك أيضًا استخدام yolov8s / yolov8l / yolov8x.

العصور يمثل عدد جولات التدريب (10). imgsz يمثل حجم الصورة (640). يجب ضبط حجم الصورة دائمًا على مضاعفات العدد 32.

فيما يلي مثال على المخرجات التي يمكنك توقعها:

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

بعد اكتمال التدريب ، قم بالاستدلال باستخدام الأوزان الجديدة ، best.pt

مهمة yolo = وضع الاكتشاف = توقع النموذج = "تشغيل / تدريب / أوزان / أفضل .pt" source = "image.png"

انتقل إلى يعمل / تدريب / إكسب / أوزان / best.pt الدليل للوصول إلى الأوزان المدربة حسب الطلب. سيقوم YOLOv8 بتخزين الصورة المتوقعة في ملف يعمل / كشف / إكسب دليل فرعي.

تقييم أداء النموذج

يمكنك تقييم أداء نموذج YOLOv8 باستخدام الأمر التالي الذي يقيم النموذج على مجموعة من صور الاختبار:

نموذج yolo val = بيانات yolov8n.pt = مجموعة المسار / إلى / config.yaml = 1 imgsz = 640

النتائج المتوقعة هي كما يلي:

ستولد عملية التقييم مقاييس مختلفة ، مثل الدقة والاسترجاع ودرجة F1. يقيس مقياس الدقة النسبة المئوية للكائنات التي تم اكتشافها بشكل صحيح. يقيس مقياس الاسترجاع النسبة المئوية للكائنات التي يكتشفها YOLOv8. درجة F1 هي متوسط ​​مرجح لمقاييس الدقة والاسترجاع.

نشر نموذج YOLOv8 المخصص الخاص بك

اختبر أداء طراز YOLOv8 الخاص بك.

yolo اكتشف نموذج التنبؤ = المسار / إلى / أفضل .pt المصدر = 'المسار / إلى / الصورة. jpg'

الإخراج كالتالي:

ثم احفظ أوزان النموذج في ملف.

نموذج تصدير yolo = المسار / إلى / تنسيق best.pt = onnx

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

YOLOv8 الوجبات الجاهزة

قام فريق Ultralytics باستمرار بتحسين نماذج سلسلة YOLO. هذا جعلهم رواد الصناعة في تكنولوجيا الكشف عن الأشياء ومجال رؤية الكمبيوتر.

YOLOv8 هو نموذج محسّن يمكنك استخدامه للتعامل مع العديد من أنواع مشاريع رؤية الكمبيوتر.