انتقل إلى المحتوى

رؤى حول تقييم النموذج وضبطه

مقدمة

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

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

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

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

درجة الثقة

تمثل درجة الثقة يقين النموذج بأن الكائن المكتشف ينتمي إلى فئة معينة. يتراوح من 0 إلى 1 ، مع درجات أعلى تشير إلى ثقة أكبر. تساعد درجة الثقة في تصفية التنبؤات. تعتبر فقط الاكتشافات ذات درجات الثقة أعلى من عتبة محددة صالحة.

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

التقاطع فوق الاتحاد

التقاطع عبر الاتحاد (IoU) هو مقياس في اكتشاف الكائن يقيس مدى تداخل المربع المحيط المتوقع مع المربع المحيط بالحقيقة الأرضية. تتراوح قيم IoU من 0 إلى 1 ، حيث يمثل المرء تطابقا مثاليا. يعد IoU ضروريا لأنه يقيس مدى تطابق الحدود المتوقعة مع حدود الكائن الفعلية.

نظرة عامة على التقاطع على الاتحاد

متوسط الدقة

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

دعنا نركز على مقياسين محددين ل mAP:

  • mAP@.5: يقيس متوسط الدقة عند عتبة تقاطع واحد (تقاطع على الاتحاد) تبلغ 0.5. يتحقق هذا المقياس مما إذا كان النموذج يمكنه العثور على الكائنات بشكل صحيح مع متطلبات دقة أقل. يركز على ما إذا كان الكائن في المكان الصحيح تقريبًا، ولا يحتاج إلى وضع مثالي. يساعد في معرفة ما إذا كان النموذج جيدًا بشكل عام في اكتشاف الأجسام.
  • mAP@.5:.95: متوسطات قيم mAP المحسوبة عند عتبات IoU متعددة، من 0.5 إلى 0.95 بزيادات قدرها 0.05. هذا المقياس أكثر تفصيلاً وصرامة. وهو يعطي صورة أكمل عن مدى دقة النموذج في العثور على الأجسام عند مستويات مختلفة من الدقة، وهو مفيد بشكل خاص للتطبيقات التي تحتاج إلى اكتشاف دقيق للأجسام.

تشمل مقاييس mAP الأخرى mAP@0.75، والتي تستخدم عتبة أكثر صرامة لوحدة قياس IoU تبلغ 0.75، و mAP@ الصغير والمتوسط والكبير، والتي تقيّم الدقة عبر كائنات ذات أحجام مختلفة.

نظرة عامة على متوسط الدقة المتوسطة

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

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

أسئلة المجتمع الشائعة

عند تقييم YOLOv8 نموذج ، قد تواجه بعض الفواق. استنادا إلى أسئلة المجتمع الشائعة ، إليك بعض النصائح لمساعدتك في تحقيق أقصى استفادة من YOLOv8 نموذج:

التعامل مع أحجام الصور المتغيرة

تقييم YOLOv8 يمكن أن يساعدك النموذج الذي يحتوي على صور بأحجام مختلفة على فهم أدائه على مجموعات البيانات المتنوعة. باستخدام الزر rect=true معلمة التحقق من الصحة ، YOLOv8 يضبط خطوة الشبكة لكل دفعة بناء على أحجام الصور ، مما يسمح للنموذج بالتعامل مع الصور المستطيلة دون إجبارها على حجم واحد.

ال imgsz تحدد معلمة التحقق من الصحة الحد الأقصى لأبعاد تغيير حجم الصورة، وهو 640 بشكل افتراضي. يمكنك ضبط ذلك بناءً على الأبعاد القصوى لمجموعة البيانات الخاصة بك والذاكرة GPU المتاحة. حتى مع imgsz جبر rect=true يتيح للنموذج إدارة أحجام الصور المختلفة بشكل فعال عن طريق ضبط الخطوة ديناميكيا.

الوصول YOLOv8 المقاييس

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

استخدام

from ultralytics import YOLO

# Load the model
model = YOLO("yolov8n.pt")

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Average precision:", results.box.ap)
print("Average precision at IoU=0.50:", results.box.ap50)
print("Class indices for average precision:", results.box.ap_class_index)
print("Class-specific results:", results.box.class_result)
print("F1 score:", results.box.f1)
print("F1 score curve:", results.box.f1_curve)
print("Overall fitness score:", results.box.fitness)
print("Mean average precision:", results.box.map)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean average precision at IoU=0.75:", results.box.map75)
print("Mean average precision for different IoU thresholds:", results.box.maps)
print("Mean results for different metrics:", results.box.mean_results)
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Precision:", results.box.p)
print("Precision curve:", results.box.p_curve)
print("Precision values:", results.box.prec_values)
print("Specific precision metrics:", results.box.px)
print("Recall:", results.box.r)
print("Recall curve:", results.box.r_curve)

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

كيف يعمل الضبط الدقيق؟

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

نصائح لضبط النموذج الخاص بك

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

البدء بمعدل تعليم أعلى

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

عند تقييم YOLOv8 نموذج ، يمكنك ضبط warmup_epochs معلمة التحقق من الصحة إلى warmup_epochs=0 لمنع معدل التعلم من البدء بشكل مرتفع للغاية. باتباع هذه العملية ، سيستمر التدريب من الأوزان المقدمة ، مع التكيف مع الفروق الدقيقة في بياناتك الجديدة.

تبليط الصور للكائنات الصغيرة

يمكن أن يؤدي تجانب الصورة إلى تحسين دقة الكشف عن الكائنات الصغيرة. من خلال تقسيم الصور الأكبر إلى مقاطع أصغر، مثل تقسيم الصور مقاس 1280 × 1280 إلى مقاطع متعددة بحجم 640 × 640، فإنك تحافظ على الدقة الأصلية، ويمكن للنموذج التعلم من الأجزاء عالية الدقة. عند استخدام YOLOv8، تأكد من ضبط تصنيفاتك لهذه الشرائح الجديدة بشكل صحيح.

الانخراط مع المجتمع

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

العثور على المساعدة والدعم

  • مشكلات GitHub: استكشف مستودع YOLOv8 GitHub واستخدم علامة تبويب المشكلات لطرح الأسئلة والإبلاغ عن الأخطاء واقتراح الميزات. المجتمع والمشرفون متاحون للمساعدة في أي مشاكل تواجهك.
  • Ultralytics خادم ديسكورد: انضم إلى خادم Ultralytics Discord Server للتواصل مع المستخدمين والمطورين الآخرين والحصول على الدعم ومشاركة المعرفة وتبادل الأفكار وتبادل الأفكار.

الوثائق الرسمية

  • Ultralytics YOLOv8 التوثيق: راجع الوثائق الرسمية YOLOv8 للحصول على أدلة شاملة ورؤى قيمة حول مختلف مهام ومشاريع الرؤية الحاسوبية.

افكار اخيرة

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

الأسئلة المتداولة

ما هي المقاييس الرئيسية لتقييم أداء النموذج YOLOv8 ؟

لتقييم أداء النموذج YOLOv8 ، تتضمن المقاييس المهمة نقاط الثقة، والتقاطع على الاتحاد (IoU)، ومتوسط الدقة (mAP). تقيس درجة الثقة مدى يقين النموذج لكل فئة من فئات الكائنات المكتشفة. يقيّم IoU مدى تداخل المربع المحدد المتوقع مع الحقيقة الأرضية. يجمع متوسط الدقة المتوسطة (mAP) درجات الدقة عبر الفئات، حيث إن mAP@.5 و mAP@.5:.95 هما نوعان شائعان لتفاوت عتبات IoU. تعرف على المزيد حول هذه المقاييس في دليل مقاييس الأداءYOLOv8 الخاص بنا.

كيف يمكنني ضبط نموذج YOLOv8 المدرب مسبقاً على مجموعة البيانات الخاصة بي؟

يتضمن الضبط الدقيق لنموذج YOLOv8 المُدرَّب مسبقًا تعديل معلماته لتحسين الأداء على مهمة أو مجموعة بيانات محددة. ابدأ بتقييم النموذج الخاص بك باستخدام المقاييس، ثم قم بتعيين معدل تعلم أولي أعلى عن طريق ضبط warmup_epochs إلى 0 للاستقرار الفوري. استخدم معلمات مثل rect=true للتعامل مع أحجام الصور المتنوعة بفعالية. لمزيد من الإرشادات التفصيلية، راجع القسم الخاص بنا عن الضبط الدقيق لنماذج YOLOv8.

كيف يمكنني التعامل مع أحجام الصور المتغيرة عند تقييم نموذج YOLOv8 الخاص بي؟

للتعامل مع أحجام الصور المتغيرة أثناء التقييم، استخدم الدالة rect=true في YOLOv8 ، والتي تضبط خطوة الشبكة لكل دفعة بناءً على أحجام الصور. إن imgsz تُعيِّن المعلمة الحد الأقصى للبُعد الأقصى لتغيير حجم الصورة، ويكون افتراضيًا 640. ضبط imgsz لتتناسب مع مجموعة بياناتك وذاكرة GPU . لمزيد من التفاصيل، تفضل بزيارة قسم التعامل مع أحجام الصور المتغيرة.

ما الخطوات العملية التي يمكنني اتخاذها لتحسين متوسط الدقة المتوسطة لنموذجي YOLOv8 ؟

يتضمن تحسين متوسط الدقة المتوسطة (mAP) لنموذج YOLOv8 عدة خطوات:

  1. ضبط المعلمات الفائقة: جرب معدلات تعلم مختلفة وأحجام دفعات مختلفة وزيادات في الصور.
  2. زيادة البيانات: استخدم تقنيات مثل Mosaic و MixUp لإنشاء عينات تدريب متنوعة.
  3. تبليط الصور: تقسيم الصور الأكبر إلى مربعات أصغر لتحسين دقة الكشف عن الأجسام الصغيرة. ارجع إلى دليلنا المفصل حول الضبط الدقيق للنموذج للحصول على استراتيجيات محددة.

كيف يمكنني الوصول إلى مقاييس تقييم النموذج YOLOv8 في Python ؟

يمكنك الوصول إلى مقاييس تقييم النموذج YOLOv8 باستخدام Python بالخطوات التالية:

استخدام

from ultralytics import YOLO

# Load the model
model = YOLO("yolov8n.pt")

# Run the evaluation
results = model.val(data="coco8.yaml")

# Print specific metrics
print("Class indices with average precision:", results.ap_class_index)
print("Average precision for all classes:", results.box.all_ap)
print("Mean average precision at IoU=0.50:", results.box.map50)
print("Mean recall:", results.box.mr)

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



تم الإنشاء 2024-06-29، تم التحديث 2024-07-05
المؤلفون: جلين-جوتشر (1)، الضحك-ك (1)، أبيرامي-فينا (1)

التعليقات