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