YOLOv3 و YOLOv3u#
نظرة عامة#
يقدم هذا المستند نظرة عامة على ثلاثة نماذج لاكتشاف الكائنات مترابطة بشكل وثيق، وهي YOLOv3 و YOLOv3-Ultralytics و YOLOv3u.
-
YOLOv3: هذا هو الإصدار الثالث من خوارزمية اكتشاف الكائنات (You Only Look Once - YOLO). طوره في الأصل جوزيف ريدمون (Joseph Redmon)، وعمل YOLOv3 على تحسين الإصدارات السابقة من خلال تقديم ميزات مثل التنبؤات متعددة المقاييس وثلاثة أحجام مختلفة من حبات الاكتشاف.
-
YOLOv3u: هذا إصدار محدث من YOLOv3-Ultralytics يدمج رأس التقسيم الخالي من المربعات الوهمية (anchor-free) وخلوه من درجة وجود الكائن (objectness-free) المستخدم في نماذج YOLOv8. يحتفظ YOLOv3u بنفس بنية العمود الفقري والعنق مثل YOLOv3 ولكن مع رأس الاكتشاف المحدث من YOLOv8.

الميزات الرئيسية#
-
YOLOv3: قدم استخدام ثلاثة مقاييس مختلفة للاكتشاف، مستفيداً من ثلاثة أحجام مختلفة من حبات الاكتشاف: 13x13، و26x26، و52x52. وقد أدى هذا إلى تحسين دقة الاكتشاف بشكل كبير للأجسام ذات الأحجام المختلفة. بالإضافة إلى ذلك، أضاف YOLOv3 ميزات مثل التنبؤات متعددة التسميات لكل صندوق محيط وشبكة استخراج ميزات أفضل.
-
YOLOv3u: يدمج هذا النموذج المحدث رأس التقسيم الخالي من المربعات الوهمية وخلوه من درجة وجود الكائن من YOLOv8. من خلال القضاء على الحاجة إلى مربعات وهمية محددة مسبقاً ودرجات وجود الكائن، يمكن تصميم رأس الاكتشاف هذا من تحسين قدرة النموذج على اكتشاف الأجسام ذات الأحجام والأشكال المتفاوتة. هذا يجعل YOLOv3u أكثر قوة ودقة لمهام اكتشاف الكائنات.
المهام والأوضاع المدعومة#
تم تصميم YOLOv3 خصيصاً لمهام اكتشاف الكائنات. تدعم Ultralytics ثلاثة متغيرات من YOLOv3 وهي: yolov3u و yolov3-tinyu و yolov3-sppu. الحرف u في الاسم يشير إلى أن هذه النماذج تستخدم رأس YOLOv8 الخالي من المربعات الوهمية، على عكس بنيتها الأصلية القائمة على المربعات الوهمية. تشتهر هذه النماذج بفعاليتها في سيناريوهات العالم الحقيقي المختلفة، حيث توازن بين الدقة والسرعة. يقدم كل متغير ميزات وتحسينات فريدة، مما يجعلها مناسبة لمجموعة من التطبيقات.
تدعم النماذج الثلاثة جميعها مجموعة شاملة من الأوضاع، مما يضمن التنوع في مختلف مراحل نشر النموذج والتطوير. تشمل هذه الأوضاع الاستدلال، والتحقق، والتدريب، والتصدير، مما يوفر للمستخدمين مجموعة أدوات كاملة لاكتشاف الكائنات بفعالية.
| نوع النموذج | الأوزان المدربة مسبقاً | المهام المدعومة | التدريب | التحقق | الاستنتاج | التصدير |
|---|---|---|---|---|---|---|
| YOLOv3(u) | yolov3u.pt | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-Tiny(u) | yolov3-tinyu.pt | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
| YOLOv3u-SPP(u) | yolov3-sppu.pt | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
يوفر هذا الجدول نظرة سريعة على إمكانيات كل متغير من متغيرات YOLOv3، مسلطاً الضوء على تنوعها وملاءمتها للمهام المختلفة وأوضاع التشغيل في سير عمل اكتشاف الكائنات.
أمثلة الاستخدام#
يوفر هذا المثال أمثلة بسيطة لتدريب واستدلال YOLOv3. للاطلاع على الوثائق الكاملة حول هذه الأوضاع وغيرها من الأوضاع، راجع صفحات وثائق التنبؤ، والتدريب، والتحقق، والتصدير.
يمكن تمرير نماذج 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 هو التكرار الثالث لخوارزمية اكتشاف الكائنات (You Only Look Once) التي طورها جوزيف ريدمون، وتشتهر بتوازنها بين الدقة والسرعة، مستخدمة ثلاثة مقاييس مختلفة (13x13 و 26x26 و 52x52) للاكتشافات. YOLOv3-Ultralytics هو تكييف Ultralytics لنموذج YOLOv3 الذي يضيف دعماً لمزيد من النماذج المدربة مسبقاً ويسهل تخصيص النموذج. YOLOv3u هو متغير مطور من YOLOv3-Ultralytics، يدمج رأس التقسيم الخالي من المربعات الوهمية والخالي من وجود الكائنات من YOLOv8، مما يحسن قوة الدقة والتدقيق لمختلف أحجام الكائنات. لمزيد من التفاصيل حول المتغيرات، راجع سلسلة YOLOv3.
كيف يمكنني تدريب نموذج YOLOv3 باستخدام Ultralytics؟#
تدريب نموذج YOLOv3 باستخدام Ultralytics أمر بسيط للغاية. يمكنك تدريب النموذج باستخدام لغة Python أو سطر comandos (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}
}لمزيد من تفاصيل الاستشهاد، راجع قسم الاستشهادات والشكر والتقدير.