رؤى حول تقييم النموذج وصقله
مقدمة
بمجرد أن تقوم بتدريب نموذج الرؤية الحاسوبية الخاص بك، فإن تقييمه وتنقيحه لتحقيق الأداء الأمثل أمر ضروري. مجرد تدريب نموذجك لا يكفي. تحتاج إلى التأكد من أن نموذجك دقيق وفعال ويحقق الهدف من مشروع الرؤية الحاسوبية الخاص بك. من خلال تقييم نموذجك وصقله، يمكنك تحديد نقاط الضعف وتحسين دقته وتعزيز الأداء العام.
في هذا الدليل، سنشارك رؤى حول تقييم النموذج والضبط الدقيق الذي سيجعل هذه الخطوة من مشروع الرؤية الحاسوبية أكثر سهولة. سنناقش كيفية فهم مقاييس التقييم وتنفيذ تقنيات الضبط الدقيق، مما يمنحك المعرفة اللازمة لرفع قدرات نموذجك.
تقييم أداء النموذج باستخدام المقاييس
يساعدنا تقييم مدى جودة أداء النموذج على فهم مدى فعاليته. تُستخدم مقاييس مختلفة لقياس الأداء. توفر مقاييس الأداء هذه رؤى رقمية واضحة يمكن أن توجه التحسينات نحو التأكد من أن النموذج يحقق الأهداف المرجوة منه. دعنا نلقي نظرة فاحصة على بعض المقاييس الرئيسية.
درجة الثقة
تمثل درجة الثقة مدى تأكد النموذج من أن الكائن المكتشف ينتمي إلى فئة معينة. تتراوح من 0 إلى 1، حيث تشير الدرجات الأعلى إلى ثقة أكبر. تساعد درجة الثقة في تصفية التنبؤات؛ حيث تُعتبر الاكتشافات التي تحصل على درجات ثقة أعلى من الحدّ المُحدّد صالحة فقط.
نصيحة سريعة: عند تشغيل الاستدلالات، إذا كنت لا ترى أي تنبؤات وكنت قد تحققت من كل شيء آخر، حاول خفض درجة الثقة. في بعض الأحيان، تكون العتبة عالية جدًا، مما يتسبب في تجاهل النموذج للتنبؤات الصحيحة. يسمح خفض الدرجة للنموذج بالنظر في المزيد من الاحتمالات. قد لا يفي هذا بأهداف مشروعك، لكنها طريقة جيدة لمعرفة ما يمكن أن يفعله النموذج وتحديد كيفية ضبطه.
تقاطع فوق الاتحاد
التقاطع على الاتحاد (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@ الصغير والمتوسط والكبير، والتي تقيّم الدقة عبر كائنات ذات أحجام مختلفة.
تقييم أداء النموذج YOLO11
فيما يتعلق بـ YOLO11 ، يمكنك استخدام وضع التحقق من الصحة لتقييم النموذج. تأكد أيضًا من إلقاء نظرة على دليلنا الذي يتعمق في مقاييس الأداءYOLO11 وكيف يمكن تفسيرها.
أسئلة المجتمع الشائعة
عند تقييم طراز YOLO11 الخاص بك، قد تواجه بعض العوائق. استناداً إلى أسئلة المجتمع الشائعة، إليك بعض النصائح لمساعدتك في الحصول على أقصى استفادة من طراز YOLO11 الخاص بك:
التعامل مع أحجام الصور المتغيرة
يمكن أن يساعدك تقييم نموذج YOLO11 الخاص بك باستخدام صور بأحجام مختلفة على فهم أدائه على مجموعات بيانات متنوعة. باستخدام rect=true
معلمة التحقق من الصحة، YOLO11 يضبط خطى الشبكة لكل دفعة بناءً على أحجام الصور، مما يسمح للنموذج بالتعامل مع الصور المستطيلة دون إجبارها على حجم واحد.
إن imgsz
تحدد معلمة التحقق من الصحة الحد الأقصى لأبعاد تغيير حجم الصورة، وهو 640 بشكل افتراضي. يمكنك ضبط ذلك بناءً على الأبعاد القصوى لمجموعة البيانات الخاصة بك والذاكرة GPU المتاحة. حتى مع imgsz
مجموعة, rect=true
يتيح للنموذج إدارة أحجام الصور المتفاوتة بفعالية من خلال ضبط الخطوة ديناميكيًا.
الوصول إلى YOLO11 المقاييس
إذا كنت ترغب في الحصول على فهم أعمق لأداء نموذج YOLO11 الخاص بك، يمكنك الوصول بسهولة إلى مقاييس تقييم محددة باستخدام بضعة أسطر من التعليمات البرمجية Python . سيسمح لك مقتطف الكود أدناه بتحميل نموذجك وتشغيل تقييم وطباعة مقاييس مختلفة توضح مدى جودة أداء نموذجك.
الاستخدام
from ultralytics import YOLO
# Load the model
model = YOLO("yolo11n.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)
يتضمن كائن النتائج أيضًا مقاييس للسرعة مثل وقت ما قبل المعالجة، ووقت الاستدلال، والخسارة، ووقت ما بعد المعالجة. من خلال تحليل هذه المقاييس، يمكنك ضبط وتحسين نموذج YOLO11 الخاص بك للحصول على أداء أفضل، مما يجعله أكثر فعالية لحالة استخدامك المحددة.
كيف يعمل الضبط الدقيق؟
يتضمن الضبط الدقيق أخذ نموذج مُدرّب مسبقًا وتعديل معلماته لتحسين الأداء في مهمة أو مجموعة بيانات محددة. تسمح هذه العملية، التي تُعرف أيضًا باسم إعادة تدريب النموذج، للنموذج بفهم وتوقع النتائج بشكل أفضل للبيانات المحددة التي سيواجهها في تطبيقات العالم الحقيقي. يمكنك إعادة تدريب نموذجك بناءً على تقييم النموذج الخاص بك لتحقيق أفضل النتائج.
نصائح لضبط النموذج الخاص بك
إن ضبط النموذج يعني إيلاء اهتمام كبير للعديد من المعايير والتقنيات الحيوية لتحقيق الأداء الأمثل. إليك بعض النصائح الأساسية لإرشادك خلال هذه العملية.
البدء بمعدل تعلم أعلى
عادة، أثناء حلقات التدريب الأولية، يبدأ معدل التعلّم منخفضًا ويزداد تدريجيًا لتثبيت عملية التدريب. ومع ذلك، بما أن نموذجك قد تعلم بالفعل بعض الميزات من مجموعة البيانات السابقة، فإن البدء بمعدل تعلم أعلى على الفور قد يكون أكثر فائدة.
عند تقييم نموذج YOLO11 الخاص بك، يمكنك تعيين warmup_epochs
معلمة التحقق من الصحة إلى warmup_epochs=0
لمنع معدل التعلم من البدء بمعدل مرتفع للغاية. من خلال اتباع هذه العملية، سيستمر التدريب من الأوزان المقدمة، مع التكيف مع الفروق الدقيقة للبيانات الجديدة.
تبليط الصور للأجسام الصغيرة
يمكن أن يؤدي تجانب الصور إلى تحسين دقة الكشف عن الأجسام الصغيرة. من خلال تقسيم الصور الأكبر حجمًا إلى مقاطع أصغر، مثل تقسيم الصور مقاس 1280 × 1280 إلى عدة مقاطع مقاس 640 × 640، يمكنك الحفاظ على الدقة الأصلية، ويمكن للنموذج التعلم من الأجزاء عالية الدقة. عند استخدام YOLO11 ، تأكد من ضبط التسميات لهذه المقاطع الجديدة بشكل صحيح.
الانخراط مع المجتمع
يمكن أن تلهمك مشاركة أفكارك وأسئلتك مع عشاق الرؤية الحاسوبية الآخرين حلولاً إبداعية للعقبات التي تعترض مشاريعك. إليك بعض الطرق الممتازة للتعلم واستكشاف الأخطاء وإصلاحها والتواصل.
العثور على المساعدة والدعم
- مشكلات GitHub: استكشف مستودع YOLO11 GitHub واستخدم علامة تبويب المشكلات لطرح الأسئلة والإبلاغ عن الأخطاء واقتراح الميزات. المجتمع والمشرفون متاحون للمساعدة في أي مشاكل تواجهك.
- Ultralytics خادم ديسكورد: انضم إلى خادمUltralytics Discord Server للتواصل مع المستخدمين والمطورين الآخرين والحصول على الدعم ومشاركة المعرفة وتبادل الأفكار وتبادل الأفكار.
الوثائق الرسمية
- Ultralytics YOLO11 التوثيق: راجع الوثائق الرسمية YOLO11 للحصول على أدلة شاملة ورؤى قيمة حول مختلف مهام ومشاريع الرؤية الحاسوبية.
الأفكار النهائية
يُعد تقييم نموذج الرؤية الحاسوبية الخاص بك وضبطه خطوات مهمة لنشر النموذج بنجاح. تساعد هذه الخطوات على التأكد من أن نموذجك دقيق وفعال وملائم لتطبيقك العام. مفتاح تدريب أفضل نموذج ممكن هو التجريب والتعلم المستمر. لا تتردد في تعديل المعلمات وتجربة تقنيات جديدة واستكشاف مجموعات بيانات مختلفة. استمر في التجريب وتجاوز حدود الممكن!
الأسئلة الشائعة
ما هي المقاييس الرئيسية لتقييم أداء النموذج YOLO11 ؟
لتقييم أداء النموذج YOLO11 ، تشمل المقاييس المهمة درجة الثقة، والتقاطع على الاتحاد (IoU)، ومتوسط متوسط الدقة (mAP). تقيس درجة الثقة مدى يقين النموذج لكل فئة من فئات الكائنات المكتشفة. يقيّم IoU مدى تداخل المربع المحدد المتوقع مع الحقيقة الأرضية. يجمع متوسط الدقة المتوسطة (mAP) درجات الدقة عبر الفئات، حيث إن mAP@.5 و mAP@.5:.95 هما نوعان شائعان لتفاوت عتبات IoU. تعرف على المزيد حول هذه المقاييس في دليل مقاييس الأداءYOLO11 الخاص بنا.
كيف يمكنني ضبط نموذج YOLO11 المدرب مسبقاً على مجموعة البيانات الخاصة بي؟
يتضمن الضبط الدقيق لنموذج YOLO11 المُدرَّب مسبقًا تعديل معلماته لتحسين الأداء على مهمة أو مجموعة بيانات محددة. ابدأ بتقييم النموذج الخاص بك باستخدام المقاييس، ثم قم بتعيين معدل تعلم أولي أعلى عن طريق ضبط warmup_epochs
إلى 0 للاستقرار الفوري. استخدم معلمات مثل rect=true
للتعامل مع أحجام الصور المتنوعة بفعالية. لمزيد من الإرشادات التفصيلية، راجع القسم الخاص بنا عن الضبط الدقيق لنماذج YOLO11.
كيف يمكنني التعامل مع أحجام الصور المتغيرة عند تقييم نموذج YOLO11 الخاص بي؟
للتعامل مع أحجام الصور المتغيرة أثناء التقييم، استخدم الدالة rect=true
في YOLO11 ، والتي تضبط خطوة الشبكة لكل دفعة بناءً على أحجام الصور. إن imgsz
تُعيِّن المعلمة الحد الأقصى للبُعد الأقصى لتغيير حجم الصورة، ويكون افتراضيًا 640. ضبط imgsz
لتناسب مجموعة بياناتك وذاكرة GPU . لمزيد من التفاصيل، تفضل بزيارة قسم التعامل مع أحجام الصور المتغيرة.
ما الخطوات العملية التي يمكنني اتخاذها لتحسين متوسط الدقة المتوسطة لنموذجي YOLO11 ؟
يتضمن تحسين متوسط الدقة المتوسطة (mAP) لنموذج YOLO11 عدة خطوات:
- ضبط المعلمات الفائقة: جرب معدلات تعلم مختلفة وأحجام دفعات مختلفة وزيادات في الصور.
- زيادة البيانات: استخدم تقنيات مثل Mosaic و MixUp لإنشاء عينات تدريب متنوعة.
- تبليط الصور: تقسيم الصور الأكبر إلى مربعات أصغر لتحسين دقة الكشف عن الأجسام الصغيرة. ارجع إلى دليلنا المفصل حول الضبط الدقيق للنموذج للحصول على استراتيجيات محددة.
كيف يمكنني الوصول إلى مقاييس تقييم النموذج YOLO11 في Python ؟
يمكنك الوصول إلى مقاييس تقييم النموذج YOLO11 باستخدام Python بالخطوات التالية:
الاستخدام
from ultralytics import YOLO
# Load the model
model = YOLO("yolo11n.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)
يساعد تحليل هذه المقاييس على ضبط وتحسين نموذج YOLO11 الخاص بك . للتعمق أكثر، راجع دليلنا على YOLO11 المقاييس.