مقارنة بين YOLO11 وYOLOv5#
يُعد اختيار بنية الشبكة العصبية المناسبة قرارًا محوريًا لأي مبادرة في الرؤية الحاسوبية. ومع تطور مشهد الذكاء الاصطناعي، تتطور كذلك الأدوات المتاحة للمطورين والباحثين. يقدم هذا الدليل الشامل مقارنة تقنية معمقة بين نموذجين بارزين من منظومة Ultralytics: YOLOv5 ذائع الصيت وYOLO11 المتقدم.
سواء كنت تنشر نماذج خفيفة الوزن لتطبيقات الذكاء الاصطناعي الطرفي أو تعالج تدفقات فيديو عالية الدقة على وحدات GPU سحابية، فإن فهم الفروق المعمارية الدقيقة ومقاييس الأداء وحالات الاستخدام المثالية لهذه النماذج سيضمن اتخاذك قرارًا قائمًا على البيانات، بما يتناسب مع قيود النشر الخاصة بك.
السلالة النموذجية والتفاصيل التقنية#
يعكس كلا النموذجين التزام Ultralytics بالتعاون مفتوح المصدر، والأداء المتين، وسهولة الاستخدام الفائقة، مما يجعلهما محل تفضيل كبير لدى مجتمع التعلم الآلي العالمي.
تفاصيل YOLO11#
- المؤلفان: Glenn Jocher وJing Qiu
- المنظمة: Ultralytics
- التاريخ: 2024-09-27
- GitHub: ultralytics/ultralytics
- الوثائق: وثائق YOLO11
تفاصيل YOLOv5#
- المؤلفون: Glenn Jocher
- المنظمة: Ultralytics
- التاريخ: 2020-06-26
- GitHub: ultralytics/yolov5
- التوثيق: وثائق YOLOv5
الاختلافات المعمارية#
ينطوي التطور من YOLOv5 إلى YOLO11 على عدة تحولات معمارية جوهرية صُممت لتحسين الدقة وكفاءة المعلمات.
كان YOLOv5 رائدًا في منظومة PyTorch، إذ قدم هيكل CSPNet (الشبكة الجزئية عبر المراحل) وعنق PANet (شبكة تجميع المسارات) المحسّنين بدرجة كبيرة. واعتمد على الكشف القائم على المراسي، الذي يتطلب صناديق مراسي محددة مسبقًا للتنبؤ بحدود الكائنات. ورغم فعالية هذا النهج الكبيرة، فإن ضبط هذه المراسي لمجموعات بيانات الرؤية الحاسوبية المخصصة قد يكون معقدًا.
في المقابل، ينتقل YOLO11 إلى نهج حديث للكشف خالٍ من المراسي. ويلغي ذلك الحاجة إلى ضبط صناديق المراسي يدويًا، مما يبسط عملية التدريب ويحسن التعميم عبر مجموعات بيانات متنوعة مثل مجموعة بيانات COCO. بالإضافة إلى ذلك، يتميز YOLO11 برأس مفصول، ما يعني معالجة مهام التصنيف وانحدار الصندوق المحيط في فرعين منفصلين. ويحسن هذا الفصل بدرجة كبيرة سرعة التقارب ومتوسط الدقة، لا سيما في سيناريوهات كشف الكائنات المعقدة.
مقاييس الأداء والمعايير المرجعية#
يقارن الجدول أدناه المقاييس الرئيسية عبر أحجام مختلفة من النماذج. وتشتهر نماذج Ultralytics بمتطلبات الذاكرة المنخفضة، إذ تستهلك عادةً ذاكرة CUDA أقل أثناء التدريب مقارنة بالبدائل الثقيلة القائمة على Transformer، مما يخفض بدرجة كبيرة عتبة متطلبات العتاد اللازمة للبدء.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (مللي ثانية) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
| 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 |
وكما يتضح، يحقق YOLO11 توازنًا ملائمًا للغاية في الأداء، إذ يقدم باستمرار درجات mAP أعلى عند أعداد معلمات مماثلة لنماذج YOLOv5 المناظرة.
منهجيات التدريب وسهولة الاستخدام#
تتمثل إحدى الركائز الأساسية لفلسفة Ultralytics في سهولة الاستخدام الاستثنائية، التي يدعمها نظام بيئي يحظى بصيانة جيدة ودعم مجتمعي واسع.
اعتمد YOLOv5 تاريخيًا على نصوص متينة لواجهة سطر الأوامر (CLI) (train.py، detect.py) للتنفيذ. ورغم قوتها، فإن دمج هذه النصوص مباشرةً في تطبيقات Python المخصصة كان يتطلب غالبًا حلولًا التفافية.
أحدث YOLO11 تحولًا جذريًا في ذلك من خلال تقديم حزمة Python المبسطة ultralytics. وتتولى واجهة API الموحدة هذه كل شيء، بدءًا من التدريب ووصولًا إلى تصدير النماذج بتنسيقات مثل ONNX وOpenVINO وTensorRT بطريقة أصلية.
للحصول على تجربة خالية تمامًا من البرمجة، يمكن للمطورين استخدام منصة Ultralytics لإضافة التعليقات التوضيحية إلى البيانات، وتدريب النماذج في السحابة، ونشرها على الأجهزة الطرفية بسلاسة.
مقارنة الشيفرات#
أصبح تدريب نموذج من Ultralytics اليوم فعالًا للغاية. إليك كيفية تدريب YOLO11 باستخدام Python API الأصلية الخاصة به:
from ultralytics import YOLO
# Load a pretrained YOLO11 small model
model = YOLO("yolo11s.pt")
# Train the model on custom data
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device=0)
# Export the model to ONNX for deployment
model.export(format="onnx")بالنسبة إلى الأنظمة القديمة التي تستخدم YOLOv5، يبدو التدريب عبر CLI كما يلي:
# Clone the repository and run the training script
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt
python train.py --img 640 --batch 16 --epochs 50 --data coco128.yaml --weights yolov5s.ptحالات الاستخدام المثالية والتطبيقات الواقعية#
يمتلك كلا النموذجين نقاط قوة مميزة تلائم بيئات تشغيل مختلفة.
متى تستخدم YOLOv5#
على الرغم من ظهور جيل أحدث، يظل YOLOv5 نموذجًا قويًا. ويوصى به بشدة في الحالات التالية:
- تكامل الأنظمة القديمة: البيئات المدمجة بعمق مع هياكل tensor أو مسارات نشر محددة لـYOLOv5، والتي يتعذر إعادة هيكلتها بسهولة.
- خطوط الأساس الأكاديمية: الباحثون الذين يحتاجون إلى خطوط أساس راسخة ومستقرة منذ فترة طويلة لإجراء دراسات أكاديمية قابلة لإعادة الإنتاج في تحليل الصور الطبية.
متى تستخدم YOLO11#
يمثل YOLO11 الخيار المثالي لمسارات الإنتاج الحديثة بفضل تعدد استخداماته المذهل:
- بيئات المهام المتعددة: بخلاف YOLOv5، الذي يُعد كاشفًا بالدرجة الأولى (مع إضافات لاحقة للتجزئة)، يدعم YOLO11 أصليًا تجزئة المثيلات وتصنيف الصور وتقدير الوضعية وكشف الصندوق المحيط الموجّه (OBB) مباشرةً.
- تحليلات الفيديو عالية الكثافة: مثالي لأنظمة المرور الذكية أو إدارة مخزون البيع بالتجزئة، حيث يُعد استخراج أقصى قدر من الدقة من المشاهد المعقدة أمرًا بالغ الأهمية.
نظرة مستقبلية: بنية YOLO26#
رغم أن YOLO11 يمثل معيارًا استثنائيًا، فإن حدود الرؤية الحاسوبية تواصل تقدمها السريع. وينبغي للمطورين الساعين إلى بلوغ أقصى كفاءة ممكنة أن ينظروا أيضًا في أحدث إصدار من Ultralytics YOLO26 (الصادر في يناير 2026).
يمثل YOLO26 قفزة هائلة إلى الأمام، وقد صُمم صراحةً لتحسين الأداء على الأجهزة الطرفية والتوسع على مستوى المؤسسات. وتشمل الابتكارات الرئيسية ما يلي:
- تصميم شامل من البداية إلى النهاية وخالٍ من NMS: يعمل YOLO26 أصليًا من البداية إلى النهاية، ويلغي المعالجة اللاحقة الخاصة بـالكبت غير الأقصى (NMS) لتحقيق نشر أسرع وأبسط.
- إزالة DFL: أُزيلت خسارة البؤرة التوزيعية لتبسيط تصدير النموذج وتعزيز التوافق مع الأجهزة منخفضة الطاقة.
- مُحسِّن MuSGD: مزيج هجين رائد من SGD وMuon، ينقل استقرار تدريب نماذج اللغة الكبيرة إلى الرؤية الحاسوبية لتحقيق تقارب أسرع.
- استدلال أسرع على CPU بنسبة تصل إلى 43%: مُحسَّن بدرجة كبيرة لعمليات نشر إنترنت الأشياء والأجهزة التي لا تحتوي على وحدات GPU مخصصة.
- ProgLoss + STAL: دوال خسارة محسّنة بدرجة كبيرة تحقق تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر بالغ الأهمية للصور الجوية الملتقطة بالطائرات المسيّرة.
الملخص#
يعتمد الاختيار بين YOLO11 وYOLOv5 في نهاية المطاف على مرحلة دورة حياة مشروعك. ولا يمكن إنكار إرث YOLOv5، إذ يوفر استقرارًا بالغًا ودعمًا مجتمعيًا واسعًا. ومع ذلك، يُوصى بشدة باستخدام YOLO11 على الأجيال الأقدم لأي مشروع جديد. فهو يجمع بين الدقة المتطورة وواجهة Python API أنيقة للغاية وعبء أقل على ذاكرة التدريب، مما يرسخ مكانة Ultralytics في طليعة ابتكار الذكاء الاصطناعي. ولمن يرغبون في دفع الحدود إلى أبعد من ذلك، فإن استكشاف YOLO26 المتطور على منصة Ultralytics سيحقق نتائج لا مثيل لها.