YOLOv3 و YOLOv3u

نظرة عامة

تقدم هذه الوثيقة نظرة عامة على ثلاثة نماذج مترابطة لاكتشاف الكائنات، وهي YOLOv3، و YOLOv3-Ultralytics، و YOLOv3u.

  1. YOLOv3: هذا هو الإصدار الثالث من خوارزمية اكتشاف الكائنات You Only Look Once (YOLO). قام جوزيف ريدمون بتطويره في الأصل، وقد تفوق YOLOv3 على سابقاته بتقديم ميزات مثل التنبؤات متعددة المقاييس وثلاثة أحجام مختلفة لنوى الاكتشاف.

  2. YOLOv3u: هذا إصدار محدث من YOLOv3-Ultralytics يدمج الرأس المنقسم الخالي من القواعد (anchor-free) والخالي من مقاييس الكائنية (objectness-free) المستخدم في نماذج YOLOv8. يحافظ YOLOv3u على نفس بنية backbone والعنق الموجودة في YOLOv3 ولكن مع detection head المحدث من YOLOv8.

شعار نموذج اكتشاف الكائنات YOLOv3

الميزات الرئيسية

  • YOLOv3: قدم استخدام ثلاثة مقاييس مختلفة للاكتشاف، مستفيداً من ثلاثة أحجام مختلفة لنوى الاكتشاف: 13x13 و 26x26 و 52x52. أدى هذا إلى تحسين دقة الاكتشاف بشكل ملحوظ للكائنات ذات الأحجام المختلفة. بالإضافة إلى ذلك، أضاف YOLOv3 ميزات مثل التنبؤات متعددة التصنيفات لكل bounding box وشبكة أفضل لاستخراج الميزات.

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

المهام والأنماط المدعومة

تم تصميم YOLOv3 خصيصاً لمهام object detection. تدعم Ultralytics ثلاثة متغيرات من YOLOv3: yolov3u و yolov3-tinyu و yolov3-sppu. يشير الحرف u في الاسم إلى أن هذه النماذج تستخدم رأس YOLOv8 الخالي من القواعد، على عكس بنيتها الأصلية التي تعتمد على القواعد. تشتهر هذه النماذج بفعاليتها في سيناريوهات العالم الحقيقي المختلفة، حيث توازن بين الدقة والسرعة. يقدم كل متغير ميزات وتحسينات فريدة، مما يجعلها مناسبة لمجموعة من التطبيقات.

تدعم النماذج الثلاثة مجموعة شاملة من الأنماط، مما يضمن التنوع في مراحل مختلفة من model deployment والتطوير. تشمل هذه الأنماط Inference و Validation و Training و Export، مما يوفر للمستخدمين مجموعة أدوات كاملة لاكتشاف الكائنات بفعالية.

نوع النموذجالأوزان المدربة مسبقاًالمهام المدعومةالاستدلالالتحققالتدريبتصدير
YOLOv3(u)yolov3u.ptاكتشاف الكائنات
YOLOv3-Tiny(u)yolov3-tinyu.ptاكتشاف الكائنات
YOLOv3u-SPP(u)yolov3-sppu.ptاكتشاف الكائنات

يوفر هذا الجدول نظرة سريعة على قدرات كل متغير من متغيرات YOLOv3، مما يبرز تنوعها ومدى ملاءمتها للمهام المختلفة وأنماط التشغيل في سير عمل اكتشاف الكائنات.

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

This example provides simple YOLOv3 training and inference examples. For full documentation on these and other modes see the Predict, Train, Val and Export docs pages.

مثال

يمكن تمرير نماذج PyTorch المدربة مسبقاً بصيغة *.pt بالإضافة إلى ملفات الإعداد بصيغة *.yaml إلى فئة YOLO() لإنشاء مثيل للنموذج في Python:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

الاقتباسات والشكر

إذا كنت تستخدم YOLOv3 في بحثك، يرجى الاستشهاد بأوراق بحث YOLO الأصلية ومستودع Ultralytics YOLOv3:

اقتباس
@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

شكراً لـ جوزيف ريدمون وعلي فرهادي لتطويرهم YOLOv3 الأصلي.

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

ما هي الاختلافات بين YOLOv3 و YOLOv3-Ultralytics و YOLOv3u؟

YOLOv3 هو التكرار الثالث لخوارزمية object detection المعروفة باسم YOLO (You Only Look Once) والتي طورها جوزيف ريدمون، وتشتهر بتوازنها بين accuracy والسرعة، حيث تستخدم ثلاثة مقاييس مختلفة (13x13 و 26x26 و 52x52) للاكتشافات. YOLOv3-Ultralytics هو تكيف Ultralytics لـ YOLOv3 الذي يضيف دعماً لمزيد من النماذج المدربة مسبقاً ويسهل تخصيص النموذج. YOLOv3u هو متغير مطور من YOLOv3-Ultralytics، يدمج الرأس المنقسم الخالي من القواعد والخالي من مقاييس الكائنية من YOLOv8، مما يحسن من قوة ودقة الاكتشاف لمختلف أحجام الكائنات. لمزيد من التفاصيل حول المتغيرات، راجع سلسلة YOLOv3.

كيف يمكنني تدريب نموذج YOLOv3 باستخدام Ultralytics؟

تدريب نموذج YOLOv3 باستخدام Ultralytics أمر بسيط. يمكنك تدريب النموذج باستخدام Python أو CLI:

مثال
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

لمزيد من خيارات التدريب الشاملة والإرشادات، قم بزيارة توثيق نمط التدريب.

ما الذي يجعل YOLOv3u أكثر دقة لمهام اكتشاف الكائنات؟

يعمل YOLOv3u على تحسين YOLOv3 و YOLOv3-Ultralytics من خلال دمج الرأس المنقسم الخالي من القواعد والخالي من مقاييس الكائنية المستخدم في نماذج YOLOv8. يلغي هذا التحديث الحاجة إلى صناديق قواعد محددة مسبقاً ودرجات الكائنية، مما يعزز قدرته على اكتشاف الكائنات ذات الأحجام والأشكال المتفاوتة بدقة أكبر. وهذا يجعل YOLOv3u خياراً أفضل لمهام اكتشاف الكائنات المعقدة والمتنوعة. لمزيد من المعلومات، راجع قسم الميزات الرئيسية.

كيف يمكنني استخدام نماذج YOLOv3 للاستدلال؟

يمكنك إجراء الاستدلال باستخدام نماذج YOLOv3 عبر نصوص Python البرمجية أو أوامر CLI:

مثال
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv3u model
model = YOLO("yolov3u.pt")

# Run inference with the YOLOv3u model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

راجع توثيق نمط الاستدلال لمزيد من التفاصيل حول تشغيل نماذج YOLO.

ما هي المهام المدعومة بواسطة YOLOv3 ومتغيراته؟

يدعم YOLOv3 و YOLOv3-Tiny و YOLOv3-SPP بشكل أساسي مهام اكتشاف الكائنات. يمكن استخدام هذه النماذج في مراحل مختلفة من نشر وتطوير النموذج، مثل الاستدلال والتحقق والتدريب والتصدير. للحصول على مجموعة شاملة من المهام المدعومة والمزيد من التفاصيل المتعمقة، قم بزيارة توثيق مهام اكتشاف الكائنات.

أين يمكنني العثور على مصادر للاستشهاد بـ YOLOv3 في بحثي؟

إذا كنت تستخدم YOLOv3 في بحثك، يرجى الاستشهاد بأوراق بحث YOLO الأصلية ومستودع Ultralytics YOLOv3. مثال على استشهاد BibTeX:

اقتباس
@article{redmon2018yolov3,
  title={YOLOv3: An Incremental Improvement},
  author={Redmon, Joseph and Farhadi, Ali},
  journal={arXiv preprint arXiv:1804.02767},
  year={2018}
}

لمزيد من تفاصيل الاستشهاد، راجع قسم الاستشهادات والشكر.

التعليقات