مقارنة بين YOLOv9 و YOLOv5#
شهد مجال الرؤية الحاسوبية نموا هائلا، حيث تشكل كشف الكائنات العمود الفقري للعديد من التطبيقات الصناعية والبحثية. غالبا ما يتطلب اختيار البنية الصحيحة تقييما دقيقا لمتوسط الدقة (mAP)، وسرعة الاستدلال، وعبء الذاكرة. في هذه المقارنة، نستكشف نموذجين مؤثرين للغاية: YOLOv9، المعروف بإنجازاته الهيكلية في الاحتفاظ بمعلومات التدرج، و**Ultralytics YOLOv5**، المعيار الصناعي المجرب والمختبر المعروف بسهولة استخدامه المذهلة وتعدد استخدامات النشر الذي لا نظير له.
الابتكارات المعمارية والأصول التقنية#
يوفر فهم الآليات الكامنة وراء هذين النموذجين سياقاً حيوياً لملفات الأداء الخاصة بهما.
YOLOv9: معلومات التدرج القابلة للبرمجة#
تم تطوير YOLOv9 من قبل الباحثين Chien-Yao Wang و Hong-Yuan Mark Liao في معهد علوم المعلومات التابع لـ Academia Sinica في تايوان، وأُصدر في 21 فبراير 2024. يقدم النموذج مفهومين رائدين لمعالجة اختناق المعلومات الشائع في الشبكات العصبية العميقة: معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN).
من خلال الاستفادة من PGI، يضمن YOLOv9 الاحتفاظ بالمعلومات الحيوية طوال عملية التمرير الأمامي، مما يؤدي إلى تحديثات تدرج دقيقة للغاية. وفي الوقت نفسه، تعظيم بنية GELAN كفاءة المعلمات، مما يسمح للنموذج بتحقيق دقة متطورة بتكاليف حسابية منخفضة بشكل مدهش. يمكنك استكشاف التفاصيل التقنية في ورقة YOLOv9 Arxiv الرسمية أو عرض مستودع YOLOv9 على GitHub.
Ultralytics YOLOv5: معيار الإنتاج#
بتمويل من Glenn Jocher وإصداره بواسطة Ultralytics في 26 يونيو 2020، أحدث YOLOv5 ثورة في إمكانية الوصول إلى الرؤية الحاسوبية. وباعتباره أحد أول نماذج كشف الكائنات المبنية أصليا على إطار عمل PyTorch، فقد تجاوز تعقيدات إطار عمل Darknet C القديم. يستفيد YOLOv5 من عمود فقري CSPNet محسّن للغاية وعنق PANet، مما يعطي الأولوية لتوازن سلس بين السرعة والدقة.
ومع ذلك، فإن إنجازه الأبرز هو دمجه في نظام Ultralytics البيئي الأوسع. تم تحسين YOLOv5 بشكل كبير لتحقيق كفاءة تدريب سريعة وبيئات منخفضة الذاكرة، مما يجعله مستقرا بشكل لا يصدق لعمليات النشر على الحافة.
عند تقييم النماذج لأجهزة الحافة، تذكر أن نماذج Ultralytics YOLO تتطلب عادةً ذاكرة GPU أقل بكثير أثناء التدريب والاستدلال مقارنة بالبنى الثقيلة القائمة على Transformer.
تحليل الأداء: السرعة مقابل الدقة#
عند تصميم خط أنابيب للرؤية الحاسوبية، يجب على المطورين الموازنة بين المفاضلات بين الدقة ووقت الاستجابة. يوضح الجدول التالي اختلافات الأداء على مجموعة بيانات COCO القياسية.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
تحليل المقايضات#
يثبت YOLOv9 هيمنة مطلق في الدقة الخام. يدفع YOLOv9e حدود mAP إلى 55.6%، مستخدما طبقات GELAN الخاصة به للحفاظ على التفاصيل الدقيقة. هذا يجعله خيارا استثنائيا لـ التصوير الطبي أو السيناريوهات التي تتطلب دقة صارمة على الكائنات الصغيرة.
وعلى العكس من ذلك، يتألق YOLOv5 في سرعة نشره الخام والمرونة في الأجهزة. يُعرف YOLOv5n (Nano) بخفة وزنه الكبيرة، حيث ينفذ عمليات الاستدلال في 1.12 مللي ثانية فقط على وحدة معالجة رسومات T4 عبر TensorRT. إذا كنت تقوم بالنشر على أجهزة إنترنت الأشياء المتقييدة، أو الهواتف المحمولة، أو Raspberry Pi، فإن بصمة الذاكرة لـ YOLOv5 تجعله موثوقا بشكل استثنائي.
ميزة نظام Ultralytics البيئي#
أحد الاعتبارات الرئيسية عند اختيار النموذج هو نظام البرمجيات المحيط. بينما يوفر YOLOv9 معايير بحثية من الطراز الأول، فإن استخدام كلا النموذجين من خلال واجهة برمجة تطبيقات Ultralytics Python الحديثة يسد الفجوة، مما يوفر للمطورين تجربة موحدة ومبسطة.
سهولة الاستخدام والتصدير#
تستخلص Ultralytics العقبات الهندسية المعقدة. يتم التعامل مع ميزات مثل زيادة البيانات التلقائية وضبط المعلمات الفائقة جاهزة للاستخدام. يعد نقل النزماذج إلى الإنتاج أمرا بسيطا بالقدر نفسه، مع أوامر تصدير مدمجة لتحويل النماذج إلى تنسيقات ONNX، أو OpenVINO، أو TFLite.
تعدد استخدامات المهام#
بينما يتفوق كلا النموذجين في كشف الكائنات، فإن نماذج Ultralytics الحديثة مصممة لمعالجة مجموعة متنوعة من تحديات الرؤية الحاسوبية. يتيح الإطار الأوسع دعما أصليا لـ تصنيف الصور، وتجزئة المثيلات، وتقدير الوضعيات، وصناديق الإحاطة الموجهة (OBB)، مما يتيح للمطورين حل مشكلات رؤية متعددة دون تبديل قواعد التعليمات البرمجية.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv9 و YOLOv5 على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv9#
YOLOv9 هي خيار قوي لـ:
- أبحاث اختناق المعلومات: المشاريع الأكاديمية التي تدرس معمارية معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN).
- دراسات تحسين تدفق التدرج: الأبحاث التي تركز على فهم وتخفيف فقدان المعلومات في طبقات الشبكة العميقة أثناء التدريب.
- قياس أداء الكشف عالي الدقة: السيناريوهات التي تكون فيها أداء معيار COCO القوي لـ YOLOv9 مطلوباً كنقطة مرجعية للمقارنات المعمارية.
متى تختار YOLOv5#
يُنصح باستخدام YOLOv5 في الحالات التالية:
- أنظمة الإنتاج المثبتة: عمليات النشر الحالية حيث يتم تقدير سجل YOLOv5 الطويل من الاستقرار، والوثائق الشاملة، ودعم المجتمع الضخم.
- التدريب محدود الموارد: البيئات ذات موارد GPU المحدودة حيث تكون خط أنابيب التدريب الفعال لـ YOLOv5 ومتطلبات الذاكرة الأقل ميزة.
- Extensive Export Format Support: المشاريع التي تتطلب النشر عبر العديد من التنسيقات بما في ذلك ONNX، وTensorRT، وCoreML، وTFLite.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- الكشف عن الأشياء الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء (IoT) حيث تعمل ProgLoss و STAL على تعزيز الدقة بشكل كبير على الأشياء الدقيقة.
مثال على التنفيذ#
جمال نظام Ultralytics البيئي هو أنه يمكنك التبديل بين نموذج YOLOv5 ونموذج YOLOv9 ببساطة عن طريق تغيير سلسلة الأوزان.
from ultralytics import YOLO
# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")
# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")
# Export to ONNX for seamless deployment
model.export(format="onnx")استكشاف البنى الأحدث#
بينما يعد YOLOv5 و YOLOv9 نموذجين ممتازين بمزايا متميزة، فإن المجال يواصل التقدم. قد يرغب المستخدمون الذين يستكشفون مشاريع جديدة أيضاً في تقييم أحدث الإصدارات من Ultralytics.
- YOLO11: تطور قوي ومكرر لسلالة YOLOv8 يقدم توازنا ممتازا بين السرعة والدقة عبر جميع مهام الرؤية.
- YOLO26: تم إصداره في عام 2026، ويعد YOLO26 التوصية النهائية لخطوط الإنتاج الحديثة. وهو يقدم تصميم خالي من NMS من البداية إلى النهاية، مما يلغي تماما اختناقات المعالجة اللاحقة. مع إزالة DFL (تمت إزالة خسارة التركيز للتوزيع من أجل تصصدير مبسط وتوافق أفضل مع أجهزة الحافة/منخفضة الطاقة)، فإنه يحقق استدلال CPU أسرع بنسبة تصل إلى 43%. يتم تعزيز استقرار التدريب بشدة عبر محسن MuSGD الجديد، وتقدم ProgLoss + STAL وظائف خسارة محسنة مع تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر بالغ الأهمية لإنترنت الأشياء، والروبوتات، والصور الجوية، مما يجعله البنية الأكثر قوة لكل من عمليات نشر الحافة والسحابة.
بالنسبة للفرق التي تدير مجموعات بيانات ضخمة وخطوط نشر معقدة، فإن استخدام منصة Ultralytics يوفر حلا بدون تعليمات برمجية للتدريب، والتتبع، ونشر هذه النماذج المتطورة دون عناء.