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

توفر Ultralytics متغيراً خالياً من المراسي لنموذج YOLOv5. لا يمكن تحميل النماذج التي تم تدريبها باستخدام مستودع ultralytics/yolov5 باستخدام مكتبة ultralytics/ultralytics. لاستخدام YOLOv5 هنا، قم بتدريب نموذج جديد من نقطة تفتيش (checkpoint) خاصة بـ Ultralytics YOLOv5u (مثل yolov5su.pt).
استكشف وقم بتشغيل نماذج YOLOv5 مباشرة على منصة Ultralytics.
Link to this sectionالميزات الرئيسية#
-
الرأس المنفصل الخالي من المراسي من Ultralytics: تعتمد نماذج اكتشاف الكائنات التقليدية على صناديق مراسٍ محددة مسبقاً للتنبؤ بمواقع الكائنات. ومع ذلك، يقوم YOLOv5u بتحديث هذا النهج. فمن خلال اعتماد رأس Ultralytics المنفصل والخالي من المراسي، فإنه يضمن آلية اكتشاف أكثر مرونة وتكيفاً، مما يعزز الأداء في سيناريوهات متنوعة.
-
توازن مثالي بين الدقة والسرعة: غالباً ما تتجاذب السرعة والدقة في اتجاهين متعاكسين. لكن YOLOv5u يتحدى هذا المقايضة. فهو يقدم توازناً دقيقاً، مما يضمن اكتشافات في الوقت الفعلي دون المساومة على الدقة. هذه الميزة لا تقدر بثمن بشكل خاص للتطبيقات التي تتطلب استجابات سريعة، مثل المركبات ذاتية القيادة والروبوتات وتحليلات الفيديو في الوقت الفعلي.
-
مجموعة متنوعة من النماذج المدربة مسبقاً: نظراً لإدراكنا أن المهام المختلفة تتطلب مجموعات أدوات مختلفة، يوفر YOLOv5u وفرة من النماذج المدربة مسبقاً. سواء كنت تركز على الاستدلال (Inference) أو التحقق (Validation) أو التدريب (Training)، فهناك نموذج مصمم خصيصاً في انتظارك. يضمن هذا التنوع أنك لا تستخدم حلاً واحداً يناسب الجميع، بل نموذجاً تم ضبطه بدقة لتحديك الفريد.
Link to this sectionالمهام والأوضاع المدعومة#
تتفوق نماذج YOLOv5u، ذات الأوزان المدربة مسبقاً المختلفة، في مهام اكتشاف الكائنات. وهي تدعم مجموعة شاملة من الأوضاع، مما يجعلها مناسبة للتطبيقات المتنوعة، من التطوير إلى النشر.
| نوع النموذج | الأوزان المدربة مسبقاً | المهمة | الاستنتاج | التحقق | التدريب | التصدير |
|---|---|---|---|---|---|---|
| YOLOv5u | yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
يوفر هذا الجدول نظرة عامة مفصلة على متغيرات نموذج YOLOv5u، مع تسليط الضوء على قابليتها للتطبيق في مهام اكتشاف الكائنات ودعمها لمختلف أوضاع التشغيل مثل الاستدلال والتحقق والتدريب والتصدير. يضمن هذا الدعم الشامل للمستخدمين الاستفادة الكاملة من قدرات نماذج YOLOv5u في مجموعة واسعة من سيناريوهات اكتشاف الكائنات.
Link to this sectionمقاييس الأداء#
راجع مستندات الكشف للحصول على أمثلة استخدام مع هذه النماذج المدربة على 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 |
Link to this sectionأمثلة الاستخدام#
يقدم هذا المثال أمثلة بسيطة لتدريب واستدلال YOLOv5. للحصول على الوثائق الكاملة حول هذه الأوضاع وغيرها، راجع صفحات وثائق Predict وTrain وVal وExport.
يمكن تمرير نماذج PyTorch المدربة مسبقاً *.pt بالإضافة إلى ملفات التهيئة *.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")Link to this sectionالاقتباسات والشكر#
لم تقم 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.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هو Ultralytics YOLOv5u وكيف يختلف عن YOLOv5؟#
Ultralytics YOLOv5u هو نسخة متقدمة من YOLOv5، تدمج الرأس المنفصل الخالي من المراسي والخالي من الموضعية الذي يعزز المقايضة بين الدقة والسرعة لمهام اكتشاف الكائنات في الوقت الفعلي. على عكس YOLOv5 التقليدي، يعتمد YOLOv5u آلية اكتشاف خالية من المراسي، مما يجعله أكثر مرونة وتكيفاً في سيناريوهات متنوعة. لمزيد من المعلومات التفصيلية حول ميزاته، يمكنك الرجوع إلى نظرة عامة على YOLOv5.
Link to this sectionكيف يحسن رأس Ultralytics الخالي من المراسي أداء اكتشاف الكائنات في YOLOv5u؟#
يعمل رأس Ultralytics الخالي من المراسي في YOLOv5u على تحسين أداء اكتشاف الكائنات من خلال القضاء على الاعتماد على صناديق المراسي المحددة مسبقاً. يؤدي هذا إلى آلية اكتشاف أكثر مرونة وتكيفاً يمكنها التعامل مع أحجام وأشكال مختلفة للكائنات بكفاءة أكبر. يساهم هذا التحسين بشكل مباشر في تحقيق توازن بين الدقة والسرعة، مما يجعل YOLOv5u مناسباً للتطبيقات في الوقت الفعلي. تعرف على المزيد حول بنيته في قسم الميزات الرئيسية.
Link to this sectionهل يمكنني استخدام نماذج YOLOv5u المدربة مسبقاً لمهام وأوضاع مختلفة؟#
نعم، يمكنك استخدام نماذج YOLOv5u المدربة مسبقاً لمهام متنوعة مثل اكتشاف الكائنات. تدعم هذه النماذج أوضاعاً متعددة، بما في ذلك الاستدلال والتحقق والتدريب والتصدير. تسمح هذه المرونة للمستخدمين بالاستفادة من قدرات نماذج YOLOv5u عبر متطلبات تشغيلية مختلفة. للحصول على نظرة عامة مفصلة، تحقق من قسم المهام والأوضاع المدعومة.
Link to this sectionكيف تقارن مقاييس أداء نماذج YOLOv5u على منصات مختلفة؟#
تختلف مقاييس أداء نماذج YOLOv5u بناءً على المنصة والأجهزة المستخدمة. على سبيل المثال، يحقق نموذج YOLOv5nu دقة 34.3 mAP على مجموعة بيانات COCO بسرعة 73.6 مللي ثانية على CPU (باستخدام ONNX) و1.06 مللي ثانية على A100 TensorRT. يمكن العثور على مقاييس أداء مفصلة لنماذج YOLOv5u المختلفة في قسم مقاييس الأداء، والذي يوفر مقارنة شاملة عبر أجهزة مختلفة.
Link to this sectionكيف يمكنني تدريب نموذج YOLOv5u باستخدام واجهة برمجة تطبيقات Python الخاصة بـ Ultralytics؟#
يمكنك تدريب نموذج 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)لمزيد من التعليمات التفصيلية، تفضل بزيارة قسم أمثلة الاستخدام.