YOLOv10 ضد YOLOv5: نظرة معمقة على البنية والأداء
في مجال الرؤية الحاسوبية سريع التطور، يعد اختيار النموذج الصحيح لاكتشاف الأجسام أمرًا بالغ الأهمية لنجاح المشروع. تستكشف هذه المقارنة الاختلافات التقنية بين YOLOv10، وهو إصدار أكاديمي حديث يركز على التدريب NMS و YOLOv5وهو النموذج الأسطوري من Ultralytics المعروف بقوته واعتماده على مستوى الصناعة. وعلى الرغم من أن كلا النموذجين ينبعان من سلالة You Only Look Once، إلا أنهما يلبيان أولويات هندسية وبيئات نشر مختلفة.
نظرات عامة على النموذج
YOLOv10: أخصائي الكفاءة
تم إصدار YOLOv10 في مايو 2024 بواسطة باحثين في جامعة تسينغ هوا، ويقدم آليات معمارية مصممة لإزالة الحاجة إلى تثبيط غير الأقصى (NMS) أثناء الاستدلال. من خلال استخدام تعيينات مزدوجة متسقة أثناء التدريب، يهدف YOLOv10 إلى تقليل زمن الانتقال الشامل، مما يجعله مرشحًا قويًا للتطبيقات الطرفية حيث يهم كل جزء من الألف من الثانية في زمن انتقال الاستدلال.
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المنظمة: جامعة تسينغ هوا
- التاريخ: 2024-05-23
- Arxiv:YOLOv10: Real-Time End-to-End Object Detection
- GitHub:THU-MIG/yolov10
Ultralytics YOLOv5: معيار الصناعة
منذ إصداره في عام 2020 بواسطة Ultralytics، حدد YOLOv5 سهولة الاستخدام في مجتمع الذكاء الاصطناعي. فهو يعطي الأولوية لتحقيق التوازن بين السرعة والدقة وفائدة الهندسة. بالإضافة إلى المقاييس الأولية، يقدم YOLOv5 نظامًا بيئيًا ناضجًا، يتكامل بسلاسة مع أدوات النشر على الأجهزة المحمولة ومنصات تتبع التجارب وسير عمل إدارة مجموعات البيانات. يمتد تنوعه إلى ما هو أبعد من الـ detection ليشمل تصنيف الصور و تقسيم المثيلات.
- المؤلف: جلين جوتشر
- المنظمة: Ultralytics
- التاريخ: 2020-06-26
- GitHub:ultralytics/yolov5
الاختلافات المعمارية
يكمن الاختلاف الأساسي في كيفية معالجة التنبؤات. تستخدم YOLOv5 بنية قائمة على المرساة ومحسّنة للغاية تعتمد على NMS لتصفية مربعات الإحاطة المتداخلة. هذه الطريقة مجربة ومختبرة وقوية عبر مجموعات بيانات متنوعة.
على النقيض من ذلك، تستخدم YOLOv10 استراتيجية تعيين مزدوج متسق. يتيح ذلك للنموذج توقع أفضل مربع واحد لكل كائن أثناء الاستدلال، مما يزيل خطوة NMS بالكامل من الناحية النظرية. هذا التخفيض في النفقات العامة للمعالجة اللاحقة هو الادعاء الرئيسي لشهرة YOLOv10، حيث يقدم زمن انتقال أقل على الأجهزة الطرفية مثل NVIDIA Jetson Orin Nano. بالإضافة إلى ذلك، تشتمل YOLOv10 على تصميمات كفاءة شاملة في هيكلها ورأسها لتقليل المعلمات (params) وعمليات الفاصلة العائمة (FLOPs).
كفاءة الذاكرة
إحدى السمات المميزة لنماذج Ultralytics مثل YOLOv5 (و YOLO11 الأحدث) هي بصمة الذاكرة المحسّنة. على عكس بعض الكاشفات المستندة إلى المحولات التي تستهلك كميات هائلة من ذاكرة CUDA، تم تصميم نماذج Ultralytics للتدريب بكفاءة على أجهزة من الدرجة الاستهلاكية، مما يضفي طابعًا ديمقراطيًا على الوصول إلى أحدث ما توصلت إليه تقنيات الذكاء الاصطناعي.
مقاييس الأداء
يسلط الجدول أدناه الضوء على المفاضلات في الأداء. يحقق YOLOv10 عمومًا متوسط دقة أعلى (mAP) مع عدد أقل من المعلمات مقارنة بهيكل YOLOv5 الأقدم. ومع ذلك، يظل YOLOv5 تنافسيًا في سرعة الاستدلال الخام على تكوينات أجهزة معينة، خاصةً عند استخدام تنسيقات تصدير محسّنة مثل TensorRT أو ONNX.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
نقاط القوة والضعف
تحليل YOLOv10
نقاط القوة:
- بدون NMS: إزالة خطوة التثبيط غير الأقصى يبسط خط أنابيب النشر ويثبت زمن الوصول للاستدلال.
- كفاءة المعلمات: تحقق دقة عالية مع أوزان نموذج أصغر، وهو أمر مفيد للأجهزة ذات مساحة التخزين المحدودة.
- دقة متطورة: يتفوق على إصدارات YOLO الأقدم في مقاييس mAP النقية على معيار COCO.
نقاط الضعف:
- تنوع محدود: يركز بشكل أساسي على اكتشاف الكائنات، ويفتقر إلى الدعم الأصلي للمهام المعقدة مثل تقدير الوضع أو اكتشاف مربعات الإحاطة الموجهة (OBB) الموجودة في نماذج Ultralytics الأحدث.
- تطوير النظام البيئي: كنموذج يركز على البحث، قد يفتقر إلى المكونات الإضافية المجتمعية الشاملة، والتكاملات التي تم اختبارها في المعركة، ودعم المؤسسات المتاح لنماذج Ultralytics الأصلية.
تحليل YOLOv5
نقاط القوة:
- تنوع لا يضاهى: يدعم الكشف والتقسيم والتصنيف خارج الصندوق.
- نظام بيئي قوي: مدعومًا من Ultralytics، يتكامل بسهولة مع أدوات مثل Ultralytics HUB و Roboflow و Comet ML.
- جاهز للنشر: توجد وثائق شاملة للتصدير إلى CoreML و TFLite و TensorRT و OpenVINO، مما يضمن عمليات طرح سلسة للإنتاج.
- كفاءة التدريب: معروفة بديناميكيات التدريب المستقرة وانخفاض استخدام الذاكرة، مما يجعلها في متناول المطورين الذين لديهم إعدادات بوحدة معالجة رسوميات (GPU) واحدة.
نقاط الضعف:
- هندسة معمارية قديمة: على الرغم من أنها لا تزال قوية، إلا أن نسبة mAP/FLOPs الخالصة قد تجاوزتها التكرارات الأحدث مثل YOLOv8 و YOLO11.
- الاعتماد على المرتكزات (Anchor Dependency): يعتمد على مربعات الارتكاز (anchor boxes) التي قد تتطلب ضبطًا يدويًا لمجموعات البيانات ذات نسب العرض إلى الارتفاع المتطرفة للكائنات.
حالات الاستخدام المثالية
غالبًا ما يعتمد الاختيار بين هذين النموذجين على القيود المحددة لبيئة النشر الخاصة بك.
- اختر YOLOv10 إذا: كنت تقوم ببناء نظام مخصص للكشف عن الأجسام لجهاز مدمج حيث يوفر التخلص من النفقات الحسابية العامة لـ NMS ميزة سرعة حاسمة، أو إذا كنت تحتاج إلى أعلى mAP مطلق من بصمة نموذج صغيرة.
- اختر YOLOv5 إذا: كنت بحاجة إلى نموذج موثوق به ومتعدد المهام لخط إنتاج. إن قدرته على التعامل مع تقسيم المثيلات والتصنيف يجعله "سكين الجيش السويسري" للرؤية الاصطناعية. علاوة على ذلك، إذا كان فريقك يعتمد على سير عمل MLOps القياسي، فإن التكامل السلس لـ YOLOv5 في نظام Ultralytics البيئي يقلل بشكل كبير من وقت التطوير.
تجربة المستخدم والنظام البيئي
إحدى الميزات المميزة لنماذج Ultralytics هي التركيز على تجربة المطور. وضعت YOLOv5 معيارًا لـ "إنها تعمل فقط"، وتستمر هذه الفلسفة. يمكن للمستخدمين تدريب نموذج YOLOv5 على بيانات مخصصة ببضعة أسطر فقط من التعليمات البرمجية، والاستفادة من الأوزان المدربة مسبقًا لتسريع التقارب.
على النقيض من ذلك، في حين أن YOLOv10 يقدم نتائج أكاديمية ممتازة، إلا أن دمجه في خطوط إنتاج معقدة قد يتطلب المزيد من الهندسة المخصصة. تحافظ Ultralytics على مجتمع مفتوح المصدر نابض بالحياة، مما يضمن القضاء على الأخطاء بسرعة وإضافة الميزات بناءً على ملاحظات المستخدمين الواقعية.
مقارنة التعليمات البرمجية
يعد تشغيل هذه النماذج أمرًا مباشرًا. فيما يلي أمثلة لكيفية التحميل والتنبؤ بكل نموذج باستخدام Python.
استخدام YOLOv10:
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Perform inference on an image
results = model("path/to/image.jpg")
results[0].show()
استخدام YOLOv5 (عبر PyTorch Hub):
import torch
# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")
# Perform inference
results = model("path/to/image.jpg")
results.show()
الخلاصة
يمثل كلا النموذجين إنجازات كبيرة في رؤية الحاسوب. يدفع YOLOv10 حدود تحسين زمن الوصول من خلال تصميمه الخالي من NMS، مما يجعله خيارًا مثيرًا لمهام الاكتشاف المتخصصة عالية السرعة.
ومع ذلك، بالنسبة لمعظم المطورين والمؤسسات، فإن النظام البيئي Ultralytics - الذي يتمثل هنا في الموثوقية الدائمة لـ YOLOv5 والأداء المتطور لـ YOLO11 - يقدم حلاً أكثر شمولاً. يضمن الجمع بين سهولة الاستخدام والوثائق الشاملة وقدرات المهام المتعددة أن تقضي وقتًا أقل في التصحيح ووقتًا أطول في نشر القيمة.
بالنسبة لأولئك الذين يتطلعون إلى الترقية من YOLOv5 مع الاحتفاظ بمزايا النظام البيئي، نوصي بشدة باستكشاف YOLO11، الذي يوفر أداءً متطورًا واكتشافًا خاليًا من الارتكاز ودعمًا لمجموعة كاملة من مهام الرؤية بما في ذلك OBB و pose estimation.