Ultralytics YOLOv5#
نظرة عامة#
يمثل YOLOv5u تقدمًا في منهجيات object detection. استنادًا إلى البنية الأساسية لنموذج YOLOv5 الذي طورته Ultralytics، يدمج YOLOv5u الرأس المنفصل الخالي من نقاط الارتكاز (anchor-free) وخالي من كينونة الأجسام (objectness-free)، وهي ميزة تم تقديمها مسبقًا في نماذج YOLOv8. يعمل هذا التكيف على تحسين بنية النموذج، مما يؤدي إلى توازن أفضل بين الدقة والسرعة في مهام اكتشاف الأجسام. بالنظر إلى النتائج التجريبية وميزاته المشتقة، يوفر YOLOv5u بديلاً فعالاً لأولئك الذين يبحثون عن حلول قوية في كل من البحث والتطبيقات العملية.

توفر Ultralytics anchor-free variant of YOLOv5 model. لا يمكن تحميل النماذج المدربة باستخدام مستودع ultralytics/yolov5 باستخدام مكتبة ultralytics/ultralytics. لاستخدام YOLOv5 هنا، قم بتدريب نموذج جديد من نقطة تفتيش Ultralytics YOLOv5u (على سبيل المثال yolov5su.pt).
استكشف وشغل نماذج YOLOv5 مباشرة على Ultralytics Platform.
الميزات الرئيسية#
-
الرأس المنفصل الخالي من المراسي من Ultralytics: تعتمد نماذج اكتشاف الكائنات التقليدية على صناديق مراسٍ محددة مسبقاً للتنبؤ بمواقع الكائنات. ومع ذلك، يقوم YOLOv5u بتحديث هذا النهج. فمن خلال اعتماد رأس Ultralytics المنفصل والخالي من المراسي، فإنه يضمن آلية اكتشاف أكثر مرونة وتكيفاً، مما يعزز الأداء في سيناريوهات متنوعة.
-
Optimized Accuracy-Speed Tradeoff: غالبًا ما تتعارض السرعة والدقة في اتجاهين متعاكسين. لكن YOLOv5u يتحدى هذه المقايضة. فهو يقدم توازنًا مدروسًا، مما يضمن إجراء عمليات الكشف في الوقت الفعلي دون المساومة على الدقة. تعتبر هذه الميزة ذات قيمة خاصة للتطبيقات التي تتطلب استجابات سريعة، مثل autonomous vehicles، وrobotics، وتحليلات الفيديو في الوقت الفعلي.
-
مجموعة متنوعة من النماذج المدربة مسبقاً: نظراً لإدراكنا أن المهام المختلفة تتطلب مجموعات أدوات مختلفة، يوفر YOLOv5u وفرة من النماذج المدربة مسبقاً. سواء كنت تركز على الاستدلال (Inference) أو التحقق (Validation) أو التدريب (Training)، فهناك نموذج مصمم خصيصاً في انتظارك. يضمن هذا التنوع أنك لا تستخدم حلاً واحداً يناسب الجميع، بل نموذجاً تم ضبطه بدقة لتحديك الفريد.
المهام والأوضاع المدعومة#
تتفوق نماذج YOLOv5u، بأوزانها المدربة مسبقًا المختلفة، في مهام Object Detection. فهي تدعم مجموعة شاملة من الأوضاع، مما يجعلها مناسبة لتطبيقات متنوعة، بدءًا من التطوير وحتى النشر.
| نوع النموذج | الأوزان المدربة مسبقاً | المهمة | التدريب | التحقق | الاستنتاج | التصدير |
|---|---|---|---|---|---|---|
| YOLOv5u | yolov5nu، yolov5su، yolov5mu، yolov5lu، yolov5xu، yolov5n6u، yolov5s6u، yolov5m6u، yolov5l6u، yolov5x6u | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
يوفر هذا الجدول نظرة عامة تفصيلية على متغيرات نموذج YOLOv5u، مسلطًا الضوء على مدى إمكانية تطبيقها في مهام اكتشاف الأجسام ودعمها لمختلف أوضاع التشغيل مثل Inference، وValidation، وTraining، وExport. يضمن هذا الدعم الشامل أن يتمكن المستخدمون من الاستفادة الكاملة من إمكانيات نماذج YOLOv5u في مجموعة واسعة من سيناريوهات اكتشاف الأجسام.
مقاييس الأداء#
راجع مستندات الاكتشاف لمعرفة أمثلة الاستخدام مع هذه النماذج المدربة على COCO، والتي تتضمن 80 فئة مدرّبة مسبقاً.
| النموذج | YAML | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة 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 | 7.8 |
| yolov5s6u.pt | yolov5s6.yaml | 1280 | 48.6 | 422.6 | 2.34 | 15.3 | 24.6 |
| yolov5m6u.pt | yolov5m6.yaml | 1280 | 53.6 | 810.9 | 4.36 | 41.2 | 65.7 |
| yolov5l6u.pt | yolov5l6.yaml | 1280 | 55.7 | 1470.9 | 5.47 | 86.1 | 137.4 |
| yolov5x6u.pt | yolov5x6.yaml | 1280 | 56.8 | 2436.5 | 8.98 | 155.4 | 250.7 |
أمثلة الاستخدام#
يقدم هذا المثال أمثلة بسيطة لتدريب والاستدلال باستخدام YOLOv5. للحصول على الوثائق الكاملة حول هذه modes وغيرها، راجع صفحات توثيق Predict، وTrain، وVal، وExport.
يمكن تمرير نماذج *.pt المدربة مسبقًا باستخدام PyTorch بالإضافة إلى ملفات تكوين *.yaml إلى فئة YOLO() لإنشاء مثيل نموذج في python:
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv5n model
model = YOLO("yolov5n.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 YOLOv5n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")الاقتباسات والشكر#
لم تقم Ultralytics بنشر ورقة بحثية رسمية لـ YOLOv5 نظرًا للطبيعة المتطورة بسرعة للنماذج. نحن نركز على تطوير التكنولوجيا وجعلها أكثر سهولة في الاستخدام، بدلاً من إنتاج وثائق ثابتة. للحصول على أحدث المعلومات حول بنية YOLO والميزات والاستخدام، يرجى الرجوع إلى GitHub repository وdocumentation الخاصين بنا.
إذا كنت تستخدم 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، تدمج الرأس المنفصل الخالي من نقاط الارتكاز (anchor-free) وخالي من كينونة الأجسام (objectness-free) والذي يعزز مقايضة الـ accuracy-speed لمهام اكتشاف الأجسام في الوقت الفعلي. على عكس YOLOv5 التقليدي، يعتمد YOLOv5u آلية اكتشاف خالية من نقاط الارتكاز، مما يجعله أكثر مرونة وقابلية للتكيف في السيناريوهات المتنوعة. لمزيد من المعلومات التفصيلية حول ميزاته، يمكنك الرجوع إلى YOLOv5 Overview.
يعمل رأس Ultralytics الخالي من نقاط الارتكاز في YOLOv5u على تحسين أداء اكتشاف الأجسام عن طريق إزالة الاعتماد على مربعات الارتكاز المحددة مسبقًا. وينتج عن ذلك آلية اكتشاف أكثر مرونة وقابلية للتكيف يمكنها التعامل مع مختلف أحجام وأشكال الأجسام بكفاءة أكبر. يساهم هذا التحسين بشكل مباشر في تحقيق مقايضة متوازنة بين الدقة والسرعة، مما يجعل YOLOv5u مناسبًا للتطبيقات في الوقت الفعلي. تعرف على المزيد حول بنيته في قسم Key Features.
نعم، يمكنك استخدام نماذج YOLOv5u المدربة مسبقًا لمهام مختلفة مثل Object Detection. تدعم هذه النماذج أوضاعًا متعددة، بما في ذلك Inference، وValidation، وTraining، وExport. تتيح هذه المرونة للمستخدمين الاستفادة من إمكانيات نماذج YOLOv5u عبر متطلبات التشغيل المختلفة. للحصول على نظرة عامة مفصلة، تحقق من قسم Supported Tasks and Modes.
تختلف مقاييس أداء نماذج YOLOv5u اعتمادًا على النظام الأساسي والأجهزة المستخدمة. على سبيل المثال، يحقق نموذج yolov5nu معدل 34.3 mAP على مجموعة بيانات COCO بسرعة 73.6 ميلي ثانية على وحدة المعالجة المركزية (ONNX) و 1.06 ميلي ثانية على A100 TensorRT. يمكن العثور على مقاييس أداء مفصلة لنماذج YOLOv5u المختلفة في قسم Performance Metrics، والذي يوفر مقارنة شاملة عبر الأجهزة المختلفة.
يمكنك تدريب نموذج YOLOv5u عن طريق تحميل نموذج مدرب مسبقاً وتشغيل أمر التدريب مع مجموعة البيانات الخاصة بك. إليك مثال سريع:
مثالfrom ultralytics import YOLO # Load a COCO-pretrained YOLOv5n model model = YOLO("yolov5n.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)لمزيد من الإرشادات التفصيلية، تفضل بزيارة قسم Usage Examples.