Ultralytics YOLOv5#
نظرة عامة#
يمثل YOLOv5u تقدمًا في منهجيات اكتشاف الأجسام. وقد انبثق من البنية الأساسية لنموذج YOLOv5 الذي طورته Ultralytics، ويدمج YOLOv5u الرأس المنقسم الخالي من المراسي والخالي من التنبؤ بوجود الأجسام، وهي ميزة طُرحت سابقًا في نماذج YOLOv8. ويُحسّن هذا التكييف بنية النموذج، ما يؤدي إلى موازنة أفضل بين الدقة والسرعة في مهام اكتشاف الأجسام. وبالنظر إلى النتائج التجريبية والميزات المستمدة منه، يقدم YOLOv5u بديلًا فعالًا للراغبين في حلول موثوقة في الأبحاث والتطبيقات العملية.

توفر Ultralytics نسخة خالية من المراسي من نموذج YOLOv5. ولا يمكن تحميل النماذج المدرّبة باستخدام مستودع ultralytics/yolov5 عبر مكتبة ultralytics/ultralytics. لاستخدام YOLOv5 هنا، درّب نموذجًا جديدًا انطلاقًا من نقطة تحقق Ultralytics YOLOv5u (مثل yolov5su.pt).
استكشف نماذج YOLOv5 وشغّلها مباشرةً على منصة Ultralytics.
الميزات الرئيسية#
-
رأس Ultralytics المنقسم الخالي من المراسي: تعتمد نماذج اكتشاف الأجسام التقليدية على مربعات مراسي محددة مسبقًا للتنبؤ بمواقع الأجسام. لكن YOLOv5u يحدّث هذا النهج. فمن خلال اعتماد رأس Ultralytics المنقسم الخالي من المراسي، يضمن آلية اكتشاف أكثر مرونة وقدرة على التكيّف، مما يعزز الأداء في سيناريوهات متنوعة.
-
موازنة محسّنة بين الدقة والسرعة: غالبًا ما تتعارض السرعة والدقة. لكن YOLOv5u يتحدى هذه المفاضلة، إذ يوفر توازنًا مضبوطًا يتيح اكتشاف الأجسام في الوقت الفعلي دون التضحية بالدقة. وتُعد هذه الميزة بالغة الأهمية خصوصًا للتطبيقات التي تتطلب استجابات سريعة، مثل المركبات ذاتية القيادة والروبوتات وتحليلات الفيديو الآنية.
-
مجموعة متنوعة من النماذج المدرّبة مسبقًا: إدراكًا لاختلاف الأدوات التي تتطلبها المهام المختلفة، يوفر YOLOv5u طيفًا واسعًا من النماذج المدرّبة مسبقًا. سواء أكان تركيزك على الاستدلال أم التحقق أم التدريب، ستجد نموذجًا مصممًا خصيصًا لاحتياجاتك. ويضمن هذا التنوع ألا تقتصر على حل واحد يناسب الجميع، بل أن تستخدم نموذجًا مضبوطًا خصيصًا لتحديك الفريد.
المهام والأوضاع المدعومة#
تتفوق نماذج YOLOv5u، المزودة بأوزان متنوعة مدرّبة مسبقًا، في مهام اكتشاف الأجسام. وهي تدعم مجموعة شاملة من الأوضاع، ما يجعلها ملائمة لتطبيقات متعددة من التطوير إلى النشر.
| نوع النموذج | الأوزان المدرّبة مسبقاً | المهمة | التدريب | التحقق | الاستدلال | التصدير |
|---|---|---|---|---|---|---|
| YOLOv5u | yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u | كشف الكائنات | ✅ | ✅ | ✅ | ✅ |
يقدم هذا الجدول نظرة مفصلة على متغيرات نموذج YOLOv5u، مع إبراز ملاءمتها لمهام اكتشاف الأجسام ودعمها لأوضاع تشغيل مختلفة مثل الاستدلال والتحقق والتدريب والتصدير. ويضمن هذا الدعم الشامل استفادة المستخدمين الكاملة من إمكانات نماذج YOLOv5u في طيف واسع من سيناريوهات اكتشاف الأجسام.
مقاييس الأداء#
راجع وثائق الكشف للاطلاع على أمثلة استخدام هذه النماذج المدرّبة على COCO، والتي تتضمن 80 فئة مدرّبة مسبقًا.
| النموذج | YAML | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة A100 TensorRT (مللي ثانية) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|---|
| yolov5nu.pt | yolov5n.yaml | 640 | 34.3 | 73.6 | 1.06 | 2.6 | 7.7 |
| yolov5su.pt | yolov5s.yaml | 640 | 43.0 | 120.7 | 1.27 | 9.1 | 24.0 |
| yolov5mu.pt | yolov5m.yaml | 640 | 49.0 | 233.9 | 1.86 | 25.1 | 64.2 |
| yolov5lu.pt | yolov5l.yaml | 640 | 52.2 | 408.4 | 2.50 | 53.2 | 135.0 |
| yolov5xu.pt | yolov5x.yaml | 640 | 53.2 | 763.2 | 3.81 | 97.2 | 246.4 |
| yolov5n6u.pt | yolov5n6.yaml | 1280 | 42.1 | 211.0 | 1.83 | 4.3 | 31.3 |
| yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 97.6 |
| yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 261.3 |
| yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 549.4 |
| yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.5 | 1002.8 |
أمثلة الاستخدام#
يقدم هذا المثال نماذج بسيطة للتدريب والاستدلال باستخدام YOLOv5. للاطلاع على الوثائق الكاملة لهذه الأوضاع وغيرها، راجع صفحات الوثائق الخاصة بـالأوضاع والتنبؤ والتدريب والتحقق والتصدير.
يمكن تمرير نماذج *.pt المدربة مسبقًا من PyTorch، وكذلك ملفات الإعداد *.yaml، إلى الصنف YOLO() لإنشاء مثيل نموذج في Python:
from ultralytics import YOLO
# حمّل نموذج YOLOv5nu المدرّب مسبقًا على COCO
model = YOLO("yolov5nu.pt")
# عرض معلومات النموذج (اختياري)
model.info()
# تدريب النموذج على مجموعة بيانات المثال COCO8 لمدة 100 حقبة
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# نفّذ الاستدلال باستخدام نموذج YOLOv5nu على الصورة 'bus.jpg'
results = model("path/to/bus.jpg")الاستشهادات والشكر والتقدير#
لم تنشر Ultralytics ورقة بحثية رسمية عن YOLOv5 نظرًا إلى التطور السريع لهذه النماذج. ينصب تركيزنا على تطوير التقنية وتيسير استخدامها بدلًا من إنتاج وثائق ثابتة. للحصول على أحدث المعلومات حول بنية YOLO وميزاته واستخدامه، يُرجى الرجوع إلى مستودع GitHub والوثائق.
إذا استخدمت YOLOv5 أو YOLOv5u في أبحاثك، فيُرجى الاستشهاد بمستودع Ultralytics YOLOv5 كما يلي:
@software{yolov5,
title = {Ultralytics YOLOv5},
author = {Glenn Jocher},
year = {2020},
version = {7.0},
license = {AGPL-3.0},
url = {https://github.com/ultralytics/yolov5},
doi = {10.5281/zenodo.3908559},
orcid = {0000-0001-5950-6979}
}يُرجى ملاحظة أن نماذج YOLOv5 متاحة بموجب ترخيصي AGPL-3.0 وEnterprise.
الأسئلة الشائعة#
Ultralytics YOLOv5u إصدار متقدم من YOLOv5، يدمج الرأس المنقسم الخالي من المراسي والخالي من التنبؤ بوجود الأجسام، مما يحسن المفاضلة بين الدقة والسرعة في مهام اكتشاف الأجسام الآنية. وعلى خلاف YOLOv5 التقليدي، يعتمد YOLOv5u آلية اكتشاف خالية من المراسي، ما يجعله أكثر مرونة وقدرة على التكيف في سيناريوهات متنوعة. لمزيد من التفاصيل حول ميزاته، راجع نظرة عامة على YOLOv5.
يحسّن رأس Ultralytics الخالي من المراسي في YOLOv5u أداء اكتشاف الأجسام من خلال الاستغناء عن الاعتماد على مربعات المراسي المحددة مسبقًا. وينتج عن ذلك آلية اكتشاف أكثر مرونة وقدرة على التكيف، يمكنها التعامل بكفاءة أكبر مع مختلف أحجام الأجسام وأشكالها. ويسهم هذا التحسين مباشرةً في تحقيق توازن بين الدقة والسرعة، ما يجعل YOLOv5u مناسبًا للتطبيقات الآنية. تعرّف على المزيد حول بنيته في قسم الميزات الرئيسية.
نعم، يمكنك استخدام نماذج YOLOv5u المدرّبة مسبقًا لمهام متنوعة مثل اكتشاف الأجسام. وتدعم هذه النماذج أوضاعًا متعددة، منها الاستدلال والتحقق والتدريب والتصدير. وتتيح هذه المرونة للمستخدمين الاستفادة من إمكانات نماذج YOLOv5u عبر متطلبات تشغيل مختلفة. للاطلاع على نظرة عامة مفصلة، راجع قسم المهام والأوضاع المدعومة.
تختلف مقاييس أداء نماذج YOLOv5u باختلاف المنصة والعتاد المستخدم. فعلى سبيل المثال، يحقق نموذج YOLOv5nu قيمة mAP تبلغ 34.3 على مجموعة بيانات COCO بسرعة قدرها 73.6 ms على CPU (ONNX) و1.06 ms على A100 TensorRT. ويمكن العثور على مقاييس الأداء التفصيلية لنماذج YOLOv5u المختلفة في قسم مقاييس الأداء، الذي يقدم مقارنة شاملة بين أجهزة متنوعة.
يمكنك تدريب نموذج YOLOv5u بتحميل نموذج مدرّب مسبقًا وتشغيل أمر التدريب على مجموعة بياناتك. إليك مثالًا سريعًا:
مثالfrom ultralytics import YOLO # حمّل نموذج YOLOv5nu المدرّب مسبقًا على COCO model = YOLO("yolov5nu.pt") # عرض معلومات النموذج (اختياري) model.info() # تدريب النموذج على مجموعة بيانات المثال COCO8 لمدة 100 حقبة results = model.train(data="coco8.yaml", epochs=100, imgsz=640)للحصول على تعليمات أكثر تفصيلًا، تفضل بزيارة قسم أمثلة الاستخدام.