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

الميزات الرئيسية
-
YOLOv3:قدم استخدام ثلاثة مقاييس مختلفة للاكتشاف، مستفيداً من ثلاثة أحجام مختلفة لنواة الاكتشاف: 13x13، و26x26، و52x52. أدى هذا إلى تحسين دقة الاكتشاف بشكل ملحوظ للكائنات ذات الأحجام المختلفة. بالإضافة إلى ذلك، أضاف YOLOv3 ميزات مثل التنبؤات متعددة التصنيفات لكلإحداثيات صندوق الإحاطة (bounding box)وشبكة أفضل لاستخراج الميزات.
-
YOLOv3u:يدمج هذا النموذج المحدث الرأس المنفصل الخالي من الـ anchor والـ objectness من YOLOv8. من خلال القضاء على الحاجة إلى مربعات الـ anchor المحددة مسبقاً ودرجات الـ objectness، يمكن لتصميم الـ detection head هذا تحسين قدرة النموذج على اكتشاف الكائنات ذات الأحجام والأشكال المختلفة. وهذا يجعل YOLOv3u أكثر قوة ودقة لمهام اكتشاف الكائنات.
المهام والأنماط المدعومة
صُمم YOLOv3 خصيصاً لمهاماكتشاف الكائنات. تدعم Ultralytics ثلاثة متغيرات من YOLOv3:yolov3u, yolov3-tinyu و yolov3-sppu.uتشير الـ u في الاسم إلى أن هذه النماذج تستخدم الـ head الخالي من الـ anchor الخاص بـ YOLOv8، على عكس بنيتها الأصلية التي تعتمد على الـ anchor. تشتهر هذه النماذج بفعاليتها في سيناريوهات واقعية متنوعة، حيث توازن بين الدقة والسرعة. يقدم كل متغير ميزات وتحسينات فريدة، مما يجعلها مناسبة لمجموعة من التطبيقات.
تدعم جميع النماذج الثلاثة مجموعة شاملة من الأنماط، مما يضمن التنوع في مراحل مختلفة مننشر النموذجوالتطوير. تشمل هذه الأنماطInference, التحقق, التدريب، و التصدير (Export)، مما يوفر للمستخدمين مجموعة أدوات كاملة لاكتشاف الكائنات بفعالية.
| نوع النموذج | الأوزان المدربة مسبقاً | المهام المدعومة | Inference | التحقق | التدريب | التصدير (Export) |
|---|---|---|---|---|---|---|
| YOLOv3(u) | yolov3u.pt | كشف الأشياء | ✅ | ✅ | ✅ | ✅ |
| YOLOv3-Tiny(u) | yolov3-tinyu.pt | كشف الأشياء | ✅ | ✅ | ✅ | ✅ |
| YOLOv3u-SPP(u) | yolov3-sppu.pt | كشف الأشياء | ✅ | ✅ | ✅ | ✅ |
يوفر هذا الجدول نظرة سريعة على قدرات كل متغير من متغيرات YOLOv3، مسلطاً الضوء على تنوعها ومدى ملاءمتها للمهام المختلفة وأنماط التشغيل في سير عمل اكتشاف الكائنات.
أمثلة الاستخدام
يقدم هذا المثال أمثلة بسيطة للتدريب والاستدلال باستخدام YOLOv3. للحصول على وثائق كاملة حول هذه المهام وغيرها منmodesراجعالتنبؤ, التدريب, التحقق (Val) و التصدير (Export)صفحات التوثيق.
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}
}شكراً لـ جوزيف ريدمون (Joseph Redmon) وعلي فرهادي (Ali Farhadi) لتطويرهما لـ YOLOv3 الأصلي.
FAQ
ما هي الاختلافات بين YOLOv3 و YOLOv3-Ultralytics و YOLOv3u؟
YOLOv3 هو الإصدار الثالث من خوارزميةاكتشاف الكائناتYOLO (You Only Look Once) التي طورها جوزيف ريدمون، وتشتهر بتوازنها بينالدقةوالسرعة، مستخدمة ثلاثة مقاييس مختلفة (13x13، و26x26، و52x52) للاكتشافات. YOLOv3-Ultralytics هي تكيف Ultralytics لـ YOLOv3 الذي يضيف دعماً لمزيد من النماذج المدربة مسبقاً ويسهل تخصيص النموذج. YOLOv3u هو متغير مطور من YOLOv3-Ultralytics، يدمج الرأس المنفصل الخالي من الـ anchor والـ objectness من 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)لمزيد من خيارات التدريب الشاملة والإرشادات، قم بزيارةوثائق نمط التدريب (Train mode).
ما الذي يجعل YOLOv3u أكثر دقة لمهام اكتشاف الكائنات؟
يعمل YOLOv3u على تحسين YOLOv3 و YOLOv3-Ultralytics من خلال دمج الرأس المنفصل الخالي من الـ anchor والـ objectness المستخدم في نماذج YOLOv8. يلغي هذا التحديث الحاجة إلى مربعات الـ anchor ودرجات الـ objectness المحددة مسبقاً، مما يعزز قدرته على اكتشاف الكائنات ذات الأحجام والأشكال المختلفة بدقة أكبر. وهذا يجعل YOLOv3u خياراً أفضل لمهام اكتشاف الكائنات المعقدة والمتنوعة. لمزيد من المعلومات، راجعالميزات الرئيسية.
كيف يمكنني استخدام نماذج YOLOv3 للاستدلال (inference)؟
يمكنك إجراء الاستدلال باستخدام نماذج 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}
}لمزيد من تفاصيل الاقتباس، راجعالاقتباسات والشكر.