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

مقدمة

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



Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision

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

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

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

درجة الثقة

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

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

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

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

Intersection over Union Overview

متوسط الدقة المتوسط

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

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

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

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

Mean average precision mAP metric

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

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

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

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

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

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

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

الوصول إلى مقاييس YOLO26

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

الاستخدام
from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.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("Per-image metrics:", results.box.image_metrics)
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)

يحتوي كائن النتائج أيضاً على image_metrics، وهي قاموس لكل صورة مفهرس باسم ملف الصورة مع precision و recall و f1 و tp و fp و fn، بالإضافة إلى مقاييس السرعة مثل وقت المعالجة المسبقة، ووقت الاستدلال، والخسارة، ووقت المعالجة اللاحقة. من خلال تحليل هذه المقاييس، يمكنك ضبط نموذج YOLO26 الخاص بك وتحسينه لأداء أفضل، مما يجعله أكثر فعالية لحالة الاستخدام الخاصة بك.

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

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

نصائح لضبط نموذجك بدقة

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

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

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

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

تقسيم الصور (Tiling) للكائنات الصغيرة

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

تفاعل مع المجتمع

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

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

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

التوثيق الرسمي

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

أفكار ختامية

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

الأسئلة الشائعة

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

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

كيف يمكنني ضبط نموذج YOLO26 مدرب مسبقاً بدقة لمجموعة بياناتي المحددة؟

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

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

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

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

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

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

How do I access YOLO26 model evaluation metrics in Python?

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

الاستخدام
from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.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)

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

التعليقات