تخطي إلى المحتوى

التحقق من صحة النموذج باستخدام Ultralytics YOLO

Ultralytics YOLO النظام البيئي والتكاملات

مقدمة

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



شاهد: Ultralytics البرنامج التعليمي للأوضاع: التحقق من الصحة

لماذا التحقق من الصحة باستخدام Ultralytics YOLO ؟

إليك السبب الذي يجعل استخدام وضع فال YOLO11 مفيدًا:

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

الميزات الرئيسية لوضع فال

هذه هي الوظائف البارزة التي يوفرها وضع فال YOLO11:

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

نصيحة

  • YOLO11 تتذكّر النماذج إعدادات التدريب الخاصة بها تلقائيًا، لذا يمكنك التحقق من صحة النموذج بنفس حجم الصورة وعلى مجموعة البيانات الأصلية بسهولة باستخدام yolo val model=yolo11n.pt أو model('yolo11n.pt').val()

أمثلة على الاستخدام

التحقق من صحة نموذج YOLO11n المدرّب الدقة على مجموعة بيانات COCO8. لا حاجة لوسائط لأن model تحتفظ بتدريبها data والوسائط كسمات نموذجية. انظر قسم الوسيطات أدناه للحصول على قائمة كاملة بوسائط التصدير.

مثال على ذلك

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list contains map50-95 of each category
yolo detect val model=yolo11n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

الحجج الخاصة بالتحقق من صحة النموذج YOLO

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

الجدال النوع افتراضي الوصف
data str None يحدد المسار إلى ملف تكوين مجموعة البيانات (على سبيل المثال, coco8.yaml). يتضمن هذا الملف مسارات إلى بيانات التحقق من الصحةوأسماء الفصول، وعدد الفصول.
imgsz int 640 يحدد حجم الصور المدخلة. يتم تغيير حجم جميع الصور إلى هذا البعد قبل المعالجة.
batch int 16 تعيين عدد الصور لكل دفعة. الاستخدام -1 للدفعات التلقائية، والتي يتم ضبطها تلقائيًا بناءً على توفر الذاكرة GPU .
save_json bool False إذا كان Trueيحفظ النتائج في ملف JSON لمزيد من التحليل أو التكامل مع أدوات أخرى.
save_hybrid bool False إذا كان Trueيحفظ نسخة هجينة من التسميات تجمع بين التسميات التوضيحية الأصلية والتنبؤات النموذجية الإضافية.
conf float 0.001 يضبط الحد الأدنى للثقة للكشف عن الاكتشافات. يتم تجاهل الاكتشافات التي تقل الثقة فيها عن هذه العتبة.
iou float 0.6 يضبط عتبة التقاطع فوق الاتحاد (IoU) للقمع غير الأقصى (NMS). يساعد في تقليل عمليات الكشف المكررة.
max_det int 300 يحد من الحد الأقصى لعدد الاكتشافات لكل صورة. مفيد في المشاهد الكثيفة لمنع الاكتشافات المفرطة.
half bool True تمكين الحوسبة بنصف دقة (FP16)، مما يقلل من استخدام الذاكرة ويزيد من السرعة مع الحد الأدنى من التأثير على الدقة.
device str None يحدد الجهاز للتحقق من الصحة (cpu, cuda:0إلخ). يتيح المرونة في استخدام الموارد CPU أو GPU .
dnn bool False إذا كان Trueيستخدم OpenCV وحدة DNN للاستدلال على النماذج ONNX ، مما يوفر بديلاً عن PyTorch طرق الاستدلال.
plots bool False عند ضبطها على Trueينشئ ويحفظ مخططات للتنبؤات مقابل الحقيقة الأرضية للتقييم البصري لأداء النموذج.
rect bool True إذا كان Trueيستخدم الاستدلال المستطيلي للتجميع، مما يقلل من الحشو ويزيد من السرعة والكفاءة.
split str val يحدد تقسيم مجموعة البيانات المراد استخدامها للتحقق من الصحة (val, testأو train). يتيح المرونة في اختيار شريحة البيانات لتقييم الأداء.
project str None اسم دليل المشروع حيث يتم حفظ مخرجات التحقق من الصحة.
name str None اسم عملية تشغيل التحقق من الصحة. يُستخدم لإنشاء دليل فرعي داخل مجلد المشروع، حيث يتم تخزين سجلات ومخرجات التحقق من الصحة.

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

مثال على التحقق من صحة الحجج

تعرض الأمثلة أدناه التحقق من صحة النموذج YOLO مع وسيطات مخصصة في Python و CLI.

مثال على ذلك

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Customize validation settings
validation_results = model.val(data="coco8.yaml", imgsz=640, batch=16, conf=0.25, iou=0.6, device="0")
yolo val model=yolo11n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0

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

كيف يمكنني التحقق من صحة نموذج YOLO11 الخاص بي باستخدام Ultralytics ؟

للتحقق من صحة نموذجك YOLO11 ، يمكنك استخدام وضع Val الذي يوفره Ultralytics. على سبيل المثال، باستخدام واجهة برمجة التطبيقات Python ، يمكنك تحميل نموذج وتشغيل التحقق من الصحة باستخدام:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # map50-95

بدلاً من ذلك، يمكنك استخدام واجهة سطر الأوامر (CLI):

yolo val model=yolo11n.pt

لمزيد من التخصيص، يمكنك ضبط وسيطات مختلفة مثل imgsz, batchو conf في الوضعين Python و CLI . تحقق من الحجج الخاصة بالتحقق من صحة النموذج YOLO للاطلاع على القائمة الكاملة للمعلمات.

ما المقاييس التي يمكنني الحصول عليها من التحقق من صحة النموذج YOLO11 ؟

YOLO11 يوفر التحقق من صحة النموذج عدة مقاييس رئيسية لتقييم أداء النموذج. وتشمل هذه المقاييس ما يلي:

  • mAP50 (متوسط متوسط الدقة عند عتبة وحدة القياس الدولية 0.5)
  • mAP75 (متوسط متوسط الدقة عند عتبة وحدة القياس الدولية 0.75)
  • mAP50-95 (متوسط متوسط الدقة عبر عتبات IoU المتعددة من 0.5 إلى 0.95)

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

metrics = model.val()  # assumes `model` has been loaded
print(metrics.box.map)  # mAP50-95
print(metrics.box.map50)  # mAP50
print(metrics.box.map75)  # mAP75
print(metrics.box.maps)  # list of mAP50-95 for each category

لإجراء تقييم كامل للأداء، من الضروري مراجعة جميع هذه المقاييس. لمزيد من التفاصيل، راجع الميزات الرئيسية لوضع فال.

ما هي مزايا استخدام Ultralytics YOLO للتحقق من الصحة؟

يوفر استخدام Ultralytics YOLO للتحقق من الصحة عدة مزايا:

  • الدقة: YOLO11 تقدم مقاييس أداء دقيقة بما في ذلك mAP50 و mAP75 و mAP50-95.
  • الملاءمة: تتذكر النماذج إعدادات التدريب الخاصة بها، مما يجعل التحقق من صحتها أمراً سهلاً ومباشراً.
  • المرونة: يمكنك التحقق من الصحة مقابل نفس مجموعات البيانات وأحجام الصور أو مجموعات بيانات مختلفة.
  • ضبط المقياس الفائق: تساعد مقاييس التحقق من الصحة في ضبط النماذج لتحسين الأداء.

تضمن هذه المزايا أن يتم تقييم نماذجك بدقة ويمكن تحسينها للحصول على نتائج فائقة. تعرف على المزيد حول هذه المزايا في قسم لماذا التحقق من الصحة باستخدام Ultralytics YOLO .

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

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

مثال في Python:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Validate with a custom dataset
metrics = model.val(data="path/to/your/custom_dataset.yaml")
print(metrics.box.map)  # map50-95

مثال باستخدام CLI:

yolo val model=yolo11n.pt data=path/to/your/custom_dataset.yaml

للمزيد من الخيارات القابلة للتخصيص أثناء التحقق من الصحة، راجع قسم مثال التحقق من الصحة بالحجج.

كيف يمكنني حفظ نتائج التحقق من الصحة في ملف JSON في YOLO11 ؟

لحفظ نتائج التحقق من الصحة في ملف JSON، يمكنك تعيين save_json حجة لـ True عند تشغيل التحقق من الصحة. يمكن القيام بذلك في كل من Python API و CLI.

مثال في Python:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Save validation results to JSON
metrics = model.val(save_json=True)

مثال باستخدام CLI:

yolo val model=yolo11n.pt save_json=True

هذه الوظيفة مفيدة بشكل خاص لمزيد من التحليل أو التكامل مع أدوات أخرى. راجع الحجج الخاصة بالتحقق من صحة النموذج YOLO لمزيد من التفاصيل.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 2 شهر

التعليقات