YOLOv5 في مقابل YOLOv9: مقارنة تقنية متعمقة
لقد شهد مشهد الرؤية الحاسوبية واكتشاف الكائنات في الوقت الفعلي تطورات ملحوظة على مدار السنوات القليلة الماضية. إن اختيار المسار بين النماذج الراسخة والمجربة ميدانيًا وبين بنيات الأبحاث الأحدث يمثل تحديًا شائعًا لمهندسي تعلم الآلة. يقدم هذا الدليل مقارنة تقنية شاملة بين نموذجين مؤثرين للغاية في عائلة YOLO: YOLOv5 و YOLOv9.
سواء كنت تقوم بالنشر على أجهزة طرفية مقيدة، أو تبحث في استخراج الميزات عالي الدقة، أو تبني خطوط أنابيب اكتشاف كائنات معقدة، فإن فهم الفروق الدقيقة في البنية، ومقاييس الأداء، واختلافات النظام البيئي لهذه النماذج أمر بالغ الأهمية.
نظرة عامة على النماذج
قبل الغوص في المقارنات المعمارية، من المفيد فهم أصول وأهداف كل نموذج من النماذج.
Ultralytics YOLOv5
تم تطوير YOLOv5 بواسطة Glenn Jocher وإطلاقه بواسطة Ultralytics في 26 يونيو 2020، وقد شكل تحولاً جذريًا في كيفية تفاعل المطورين مع نماذج الرؤية. من خلال تبني إطار العمل PyTorch بالكامل، استبدل YOLOv5 خطوات التجميع المعقدة لنماذج Darknet السابقة بتجربة مستخدم بديهية تعتمد على لغة Python أولاً.
- المؤلف: Glenn Jocher
- المنظمة: Ultralytics
- التاريخ: 2020-06-26
- GitHub: مستودع YOLOv5
- التوثيق: نظرة عامة على منصة YOLOv5
يشتهر YOLOv5 بسهولة الاستخدام والأداء المستقر عبر بيئات الأجهزة المتنوعة. فهو لا يدعم الاكتشاف فحسب، بل يدعم أيضًا تصنيف الصور وتجزئة المثيلات.
YOLOv9
تم تقديمه بواسطة Chien-Yao Wang و Hong-Yuan Mark Liao من معهد علوم المعلومات في Academia Sinica، تايوان، ويركز YOLOv9 بشكل كبير على النظرية المعمارية للتخفيف من مشاكل عنق زجاجة المعلومات في الشبكات العصبية العميقة.
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2024-02-21
- Arxiv: 2402.13616
- GitHub: مستودع YOLOv9
- التوثيق: توثيق YOLOv9
يعتمد جوهر YOLOv9 على ابتكارين نظريين رئيسيين: معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN). تساعد هذه المفاهيم النموذج على الاحتفاظ بالميزات المكانية الحرجة عبر طبقات الشبكة العميقة.
على الرغم من أن YOLOv5 و YOLOv9 قويان، إلا أن YOLO26 الذي تم إصداره حديثًا يمثل التوازن النهائي بين السرعة والدقة. يتميز YOLO26 بتصميم شامل بدون NMS (Non-Maximum Suppression) وسرعة استنتاج على CPU أسرع بنسبة تصل إلى 43%، ويوصى به بشدة لحوسبة الحافة الحديثة وعمليات النشر الإنتاجية.
الاختلافات المعمارية والتقنية
يعد فهم ما يغذي نماذج الرؤية هذه تحت الغطاء أمرًا حيويًا لتحسين استراتيجيات نشر النموذج.
استخراج الميزات والاحتفاظ بالمعلومات
يستخدم YOLOv5 هيكل شبكة CSPNet (Cross Stage Partial Network)، والذي يقلل بشكل فعال من تكاليف الحوسبة مع الحفاظ على تدفق تدرج دقيق أثناء الانتشار العكسي. هذا التصميم محسن للغاية لـ عمليات GPU التقليدية ويضمن متطلبات ذاكرة أقل أثناء التدريب مقارنة ببدائل Transformer الثقيلة.
يقدم YOLOv9 تقنية GELAN، وهي بنية عامة توسع مبادئ CSPNet. إلى جانب PGI - وهو فرع إضافي قابل للعكس - يضمن YOLOv9 أن الطبقات العميقة لا تفقد البيانات الدلالية الضرورية لوظائف الهدف الدقيقة. يسمح هذا لـ YOLOv9 بتحقيق دقة عالية، خاصة على الأشياء الصغيرة، على الرغم من أن التفرع الإضافي المعقد يمكن أن يعقد أحيانًا خطوط أنابيب التصدير إلى أجهزة الحافة المقيدة بشدة.
متطلبات الذاكرة وكفاءة التدريب
When it comes to training efficiency, YOLOv5 remains incredibly robust. The well-maintained Ultralytics ecosystem ensures that YOLOv5 models consume significantly less CUDA memory, allowing researchers to maximize batch sizes on consumer-grade GPUs. While YOLOv9 achieves excellent parameter efficiency (high accuracy relative to its size), its training process can be more resource-intensive if not utilizing optimized frameworks. Fortunately, integrating YOLOv9 into the Ultralytics API brings it closer to parity with YOLOv5's streamlined resource management.
الأداء والمقاييس
لتقييم هذه البنيات بموضوعية، نقارن أداءها على مجموعات بيانات قياسية مثل COCO. فيما يلي تفصيل مفصل للمقاييس مثل mAP (متوسط الدقة)، وسرعة الاستنتاج، وعدد المعلمات.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
كما يظهر الجدول، يحقق YOLOv9 دقة خام أعلى في المستويات المتكافئة، مما يعكس بنيته الأحدث. ومع ذلك، يحافظ YOLOv5n على زمن انتقال TensorRT منخفض للغاية يبلغ 1.12 مللي ثانية، مما يسلط الضوء على قوته المستمرة لتطبيقات حوسبة الحافة عالية السرعة والمحلية.
منهجيات التدريب وسهولة الاستخدام
تكمن الميزة الحقيقية للاستفادة من الرؤية الحاسوبية اليوم في إمكانية الوصول إلى مجموعة الأدوات.
ميزة Ultralytics
على الرغم من أن مستودعات الأبحاث الأصلية لنماذج مثل YOLOv9 تعتبر أساسية، إلا أنها غالبًا ما تأتي مع مصفوفات تبعية معقدة ونصوص برمجية جاهزة. تقوم واجهة برمجة تطبيقات Python الخاصة بـ Ultralytics بتجريد هذا التعقيد تمامًا. باستخدام نظام Ultralytics البيئي، يمكنك تدريب وتقييم وتصدير كل من YOLOv5 و YOLOv9 بنفس بناء الجملة الموحد.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model for fast deployment
model_v5 = YOLO("yolov5s.pt")
# Or leverage a YOLOv9 model for high-fidelity accuracy
model_v9 = YOLO("yolov9c.pt")
# Train seamlessly on custom data with automatic MLflow logging
results = model_v9.train(data="coco8.yaml", epochs=50, imgsz=640)
# Export the trained model to ONNX
model_v9.export(format="onnx")يوفر نهج واجهة برمجة التطبيقات الواحدة هذا تنوعًا هائلاً، حيث يدعم ليس فقط الاكتشاف، بل أيضًا تقدير الوضع ومربعات الإحاطة الموجهة (OBB) بناءً على النموذج المختار. علاوة على ذلك، تم دمج عمليات التكامل القوية مع أدوات مثل Comet ML و Weights & Biases مباشرة في حلقة التدريب.
حالات الاستخدام المثالية والتطبيقات الواقعية
يعتمد الاختيار بين هذه البنيات إلى حد كبير على قيود أجهزتك والدقة المطلوبة من قبل مجال تطبيقك.
متى تختار YOLOv5
YOLOv5 هو مخضرم مجرب في المعارك يتألق في عمليات النشر التي تعطي الأولوية للاستقرار، والبصمات المنخفضة للذاكرة، وتوافق التصدير الفائق.
- عمليات النشر على الأجهزة المحمولة: يعد تصدير YOLOv5 إلى TFLite أو CoreML للاستنتاج على الجهاز في الهواتف الذكية الأقدم أمرًا سلسًا للغاية.
- أجهزة الحافة القديمة: بالنسبة لأجهزة مثل Raspberry Pi أو الأجيال الأولى من NVIDIA Jetson Nanos، تضمن الالتفافات المباشرة لـ YOLOv5 معدلات إطارات ثابتة لتطبيقات مثل إدارة مواقف السيارات الذكية.
- Rapid Prototyping: The extensive availability of community tutorials, custom pre-trained weights, and massive dataset compatibility makes it the fastest way to validate a proof-of-concept.
متى تختار YOLOv9
يعد YOLOv9 مثاليًا للسيناريوهات التي يكون فيها التقاط التفاصيل المعقدة وتقليل النتائج الإيجابية الكاذبة أمرًا بالغ الأهمية، حتى لو كان ذلك يتطلب حمل حوسبي إضافي قليلاً.
- Aerial and Satellite Imagery: The PGI framework is highly adept at maintaining the fidelity of small objects, making YOLOv9 excellent for drone-based agricultural monitoring.
- تشخيص التصوير الطبي: عند اكتشاف تشوهات أو آفات دقيقة في عمليات المسح عالية الدقة، يوفر تدفق التدرج الدقيق لـ GELAN ميزة ضرورية في الاستدعاء (Recall).
- تحليلات التجزئة المتطورة: تستفيد تتبع المنتجات المتداخلة على الأرفف الكثيفة بشكل كبير من قدرات الاحتفاظ بالميزات الفائقة لـ YOLOv9.
توسيع آفاقك
بينما تقدم مقارنة YOLOv5 و YOLOv9 رؤية واضحة لكيفية تطور البنيات من عام 2020 إلى عام 2024، فإن مجال الذكاء الاصطناعي يتحرك أسرع من أي وقت مضى. بالنسبة للمطورين الذين يسعون إلى أقصى حدود الأداء، يتم تشجيع استكشاف أحدث نماذج YOLO26 بشدة. من خلال استبدال تقنية NMS التقليدية بـ تصميم أصلي شامل بدون NMS واستخدام محسن MuSGD المتقدم، يسد YOLO26 الفجوة بين دقة مستوى الأبحاث وسرعة مستوى الإنتاج. مع إزالة DFL (تمت إزالة Distribution Focal Loss لتبسيط التصدير وتحسين توافق أجهزة الحافة/الأجهزة منخفضة الطاقة)، يحقق YOLO26 استنتاج CPU أسرع بنسبة تصل إلى 43%، مما يجعله مثاليًا لحوسبة الحافة. بالإضافة إلى ذلك، توفر ProgLoss + STAL وظائف خسارة محسنة مع تحسينات ملحوظة في التعرف على الأشياء الصغيرة، وهو أمر بالغ الأهمية لإنترنت الأشياء والروبوتات والصور الجوية.
قد تكون مهتمًا أيضًا بمقارنة هذه البنيات بنماذج أخرى حديثة مثل RT-DETR أو YOLO11 القادر للغاية. إن استخدام إطار عمل Ultralytics الموحد يضمن أنه بغض النظر عن النموذج الذي تختاره، يظل خط أنابيب التطوير الخاص بك نظيفًا وفعالًا وجاهزًا للتوسع.