YOLOv5 مقابل YOLOv10#
شهد مجال الرؤية الحاسوبية في الزمن الفعلي نموًا أُسّيًا خلال السنوات القليلة الماضية، إذ دفعت بنيات مختلفة حدود ما يمكن تحقيقه على الأجهزة الحديثة. وعند تقييم البنيات المتطورة، تبرز المقارنة بين YOLOv5 وYOLOv10 خطوةً تطوريةً مهمةً في مجال اكتشاف الكائنات. يستكشف هذا التحليل التقني المتعمق نماذجهما المعمارية، والمفاضلات المتعلقة بالأداء، وكيف يمكن للمطورين الاستفادة من هذه الأدوات في بيئات الإنتاج.
تحليل معماري متعمق#
يُعد فهم الاختلافات البنيوية بين هذه النماذج أمرًا بالغ الأهمية لنشرها بكفاءة في العالم الحقيقي.
Ultralytics YOLOv5: المعيار الصناعي#
قدّمت Ultralytics نموذج YOLOv5، الذي لطالما عُرف بتوازنه الذي لا يُضاهى بين السرعة والدقة وسهولة الوصول.
- المؤلف: Glenn Jocher
- المنظمة: Ultralytics
- التاريخ: 2020-06-26
- GitHub: مستودع YOLOv5
- التوثيق: مستندات YOLOv5
يعتمد YOLOv5 على آلية اكتشاف قائمة على المراسي، مقترنةً بجذع CSPDarknet محسّن بعمق. وتعتمد هذه البنية اعتمادًا كبيرًا على العمليات القياسية المدعومة في جميع محركات الاستدلال تقريبًا، ما يجعلها متعددة الاستخدامات بدرجة كبيرة. وتكمن قوتها الرئيسية في Ultralytics Python SDK، الذي يوفر تجربة مستخدم مبسطة، وواجهة API سهلة، وتوثيقًا شاملًا. بالإضافة إلى ذلك، تعني متطلبات الذاكرة الأقل لدى YOLOv5 مقارنةً بالنماذج القائمة على Transformer أنه يتدرب بسرعة على وحدات GPU المخصصة للمستهلكين، من دون التكلفة الكبيرة لذاكرة VRAM.
YOLOv10: تطوير النموذج المعماري#
طوّر باحثون في جامعة تسينغهوا YOLOv10 بهدف معالجة اختناقات محددة في زمن الاستجابة وُجدت في البنيات السابقة.
- المؤلفون: Ao Wang، Hui Chen، Lihao Liu، وآخرون.
- الجهة: جامعة تسينغهوا
- التاريخ: 2024-05-23
- ArXiv: 2405.14458
- GitHub: مستودع YOLOv10
- الوثائق: وثائق YOLOv10
تتمثل السمة المميزة لـ YOLOv10 في تصميمه الأصلي الخالي من NMS (كبت القيمة غير العظمى). ومن خلال استخدام تعيينات مزدوجة متسقة أثناء التدريب، يلغي النموذج الحاجة إلى المعالجة اللاحقة لـ NMS أثناء الاستدلال. ويُعد هذا الخفض النظري في زمن الاستجابة مفيدًا للغاية لعمليات النشر التي تعمل على أجهزة متطورة مع تسريع NVIDIA TensorRT القوي، رغم أنه قد يضيف تعقيدات بنيوية إلى الأجهزة الطرفية.
رغم أن YOLOv10 يقدم ابتكارات معمارية مثيرة للاهتمام، فإن نماذج Ultralytics مثل YOLOv5 وYOLO26 الأحدث مدعومة أصلاً ضمن منصة Ultralytics، ما يوفر كفاءة تدريب فائقة، وتطورًا تلقائيًا للمعلمات الفائقة، وخيارات تصدير واسعة جاهزة للاستخدام.
تحليل الأداء#
عند مقارنة هذه النماذج، يحدد التوازن بين الدقة (mAP) والتكلفة الحاسوبية (زمن الاستجابة وعدد المعلمات) أفضل حالة استخدام. فيما يلي مقارنة الأداء التقني على مجموعة بيانات COCO.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (مللي ثانية) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
يحقق YOLOv10 بوضوح قيمة mAP50-95 أعلى عند مقاييس الحجم المتكافئة، مستفيدًا من تصميم نموذجه الحديث المدفوع بالكفاءة والدقة. ومع ذلك، يحافظ YOLOv5 على زمن استجابة تنافسي للغاية، لا سيما في فئتي Nano وSmall، ما يجعله موثوقًا بدرجة كبيرة للبيئات المضمنة محدودة الموارد، مثل سلسلة NVIDIA Jetson، أو وحدات CPU القياسية عبر OpenVINO.
منهجيات التدريب والمنظومة#
ترتبط قيمة النموذج ارتباطًا وثيقًا بالنظام المتكامل المحيط به. وتحافظ Ultralytics على نظام متكامل مُدار جيدًا بصورة استثنائية، ويدعم مجموعة واسعة للغاية من المهام. وبينما يركز YOLOv10 بصرامة على اكتشاف الكائنات ثنائي الأبعاد، تدعم Ultralytics أصلاً تقسيم الكائنات، وتصنيف الصور، وتقدير الوضعية، والمربعات المحيطة الموجّهة (OBB).
علاوةً على ذلك، يتطلب تدريب نموذج من Ultralytics تكلفة إضافية للذاكرة أقل بكثير من الأساليب المنافسة القائمة على Transformer، ما يحافظ على سرعة دورة التطوير وفعاليتها من حيث التكلفة.
تنفيذ سلس للتعليمات البرمجية#
يُوحَّد تدريب النماذج والتحقق منها وتصديرها ضمن واجهة API واحدة. ويمكنك التبديل بين النماذج بمجرد تغيير سلسلة نصية.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for baseline testing
model_v5 = YOLO("yolov5s.pt")
# Load a YOLOv10 model for comparison
model_v10 = YOLO("yolov10s.pt")
# Train the model on the COCO8 dataset efficiently
results = model_v5.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
device="0", # Automatically utilizes PyTorch CUDA acceleration
batch=16,
)
# Export to ONNX for CPU inference deployment
model_v5.export(format="onnx", simplify=True)حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv5 وYOLOv10 على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام المتكامل.
متى تختار YOLOv5#
يُعد YOLOv5 خيارًا قويًا من أجل:
- أنظمة الإنتاج المجربة: عمليات النشر الحالية التي تُقدّر سجل YOLOv5 الطويل من الاستقرار، ووثائقه الشاملة، والدعم الواسع من المجتمع.
- التدريب في ظل قيود الموارد: البيئات ذات موارد GPU المحدودة، حيث توفر مسارات تدريب YOLOv5 الفعالة ومتطلبات الذاكرة الأقل مزايا مهمة.
- دعم موسّع لتنسيقات التصدير: المشاريع التي تتطلب النشر عبر العديد من التنسيقات، بما في ذلك ONNX وTensorRT وCoreML وTFLite.
متى تختار YOLOv10#
يوصى باستخدام YOLOv10 من أجل:
- الاكتشاف في الوقت الفعلي الخالي من NMS: التطبيقات التي تستفيد من الاكتشاف من الطرف إلى الطرف دون كبت القيم غير العظمى، ما يقلل تعقيد النشر.
- المفاضلة المتوازنة بين السرعة والدقة: المشاريع التي تتطلب توازنًا قويًا بين سرعة الاستدلال ودقة الاكتشاف عبر مقاييس نماذج مختلفة.
- التطبيقات ذات زمن الانتقال المتسق: سيناريوهات النشر التي تكون فيها أزمنة الاستدلال المتوقعة أمرًا بالغ الأهمية، مثل الروبوتات أو الأنظمة الذاتية.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي الخالي من NMS: التطبيقات التي تتطلب استدلالًا متسقًا منخفض زمن الانتقال دون تعقيد المعالجة اللاحقة لكبت القيم غير العظمى.
- البيئات المعتمدة على CPU فقط: الأجهزة التي لا تتضمن تسريع GPU مخصصًا، حيث يوفر استدلال YOLO26 الأسرع على CPU بنسبة تصل إلى 43% ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل الصور الجوية الملتقطة بالطائرات المسيّرة أو تحليل مستشعرات إنترنت الأشياء، حيث يعزّز ProgLoss وSTAL الدقة بدرجة كبيرة عند التعامل مع الأجسام الصغيرة جدًا.
المستقبل: Ultralytics YOLO26#
في حين أحدث YOLOv5 ثورةً في سهولة الوصول، ودفع YOLOv10 حدود البنية الخالية من NMS، يواصل أحدث ما توصل إليه المجال تطوره. وبالنسبة إلى المشاريع الجديدة، نوصي بشدة باستخدام Ultralytics YOLO26 المتطور، الذي أُصدر في يناير 2026.
يدمج YOLO26 موثوقية نظام Ultralytics المتكامل مع تطورات رائدة:
- تصميم شامل خالٍ من NMS: من خلال دمج النموذج الخالي من NMS مباشرةً في إطار عمل Ultralytics، يبسّط YOLO26 عملية النشر ويضمن زمن استجابة أقل.
- استدلال على CPU أسرع بنسبة تصل إلى 43%: مع إزالة خسارة البؤرة التوزيعية (DFL)، يصبح YOLO26 أسرع بدرجة ملحوظة على الأجهزة الطرفية التي لا تحتوي على وحدات GPU.
- مُحسِّن MuSGD: مستوحًى من ابتكارات تدريب LLM من Moonshot AI، يوفر مُحسِّن MuSGD استقرارًا غير مسبوق وتقاربًا سريعًا.
- ProgLoss + STAL: تحسّن دوال الخسارة الجديدة هذه بدرجة كبيرة التعرّف على الكائنات الصغيرة، وهو أمر بالغ الأهمية لمجالات مثل التصوير بواسطة الطائرات المسيّرة والروبوتات.
يمكنك إدارة YOLO26 وتدريبه ونشره مباشرةً عبر منصة Ultralytics.
الخلاصة#
غالبًا ما يتوقف الاختيار بين YOLOv5 وYOLOv10 على قيود المشروع المحددة. يوفر YOLOv10 قيمة mAP ممتازة للباحثين والتطبيقات التي تستفيد من معدل إنتاجية GPU الخام. وعلى العكس، يظل YOLOv5 أداةً عمليةً ثابتة ومتوافقة بدرجة عالية لعمليات النشر القياسية.
ومع ذلك، فإن مجال الرؤية الحاسوبية ديناميكي. وللاستفادة من أفضل توازن ممكن بين الأداء والتنوع وسهولة الاستخدام، ينبغي للمطورين التوجه إلى Ultralytics YOLO26. فهو يجمع بين سرعة الاستدلال الخالي من NMS ونظام Ultralytics المتكامل القوي والموثق جيدًا، ما يضمن حلول ذكاء اصطناعي للرؤية قادرة على مواكبة المستقبل. ولحالات الاستخدام المتخصصة، يمكن للمطورين أيضًا استكشاف YOLO11 لتحقيق المتانة العامة، أو RT-DETR لتحقيق دقة قائمة على Transformer.