تخطي إلى المحتوى

YOLOv9 ضد YOLOv5: مقارنة فنية

في مجال الرؤية الحاسوبية سريع التقدم، يعد اختيار النموذج الصحيح لاكتشاف الأجسام أمرًا بالغ الأهمية لنجاح المشروع. يقدم هذا التحليل مقارنة تقنية مفصلة بين YOLOv9الذي يركّز على الأبحاث، والذي يدفع حدود الدقة، و Ultralytics YOLOv5وهو النموذج القياسي في المجال الذي يشتهر بموثوقيته وسرعته وتعدد استخداماته. نستكشف الاختلافات المعمارية ومعايير الأداء وحالات الاستخدام المثالية لمساعدتك على اتخاذ قرار مستنير.

YOLOv9: ابتكار معماري لتحقيق أقصى قدر من الدقة

يستهدف YOLOv9، الذي تم إصداره في أوائل عام 2024، الحدود النظرية لـ الكشف عن الكائنات من خلال معالجة المشكلات الأساسية في تدفق معلومات التعلم العميق. إنه مصمم للسيناريوهات التي تكون فيها الدقة ذات أهمية قصوى.

المؤلفون: تشين-ياو وانغ، هونغ-يوان مارك لياو
المنظمة:معهد علوم المعلومات، أكاديميا سينيكا، تايوان
التاريخ: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
المستندات:توثيق YOLOv9

الهيكل الأساسي

يقدم YOLOv9 مفهومين رائدين: معلومات التدرج القابلة للبرمجة (PGI) و شبكة تجميع الطبقات الفعالة المعممة (GELAN). تكافح PGI مشكلة عنق الزجاجة المعلوماتي المتأصلة في الشبكات العصبية العميقة من خلال ضمان الاحتفاظ بمعلومات الإدخال الكاملة لـ دالة الخسارة، وتحسين موثوقية التدرج. تعمل GELAN على تحسين كفاءة المعلمات، مما يسمح للنموذج بتحقيق دقة أعلى مع موارد حسابية أقل مقارنة بالبنى السابقة التي تستخدم الالتفاف العميق.

نقاط القوة والضعف

تكمن القوة الأساسية لـ YOLOv9 في الدقة المتطورة في المعايير مثل مجموعة بيانات COCO. إنه يتفوق في اكتشاف الكائنات الصغيرة أو المسدودة حيث قد تفشل النماذج الأخرى. ومع ذلك، فإن هذا التركيز على دقة الاكتشاف يأتي مع مفاضلات. يمكن أن تكون عملية التدريب أكثر كثافة من حيث الموارد، وعلى الرغم من أنها مدمجة في نظام Ultralytics البيئي، إلا أن دعم المجتمع الأوسع وأدوات الطرف الثالث لا تزال في طور النضوج مقارنة بالنماذج التي تم إنشاؤها منذ فترة أطول. بالإضافة إلى ذلك، يظل تركيزه الأساسي على الاكتشاف، في حين أن النماذج الأخرى تقدم دعمًا أصليًا أوسع متعدد المهام.

تعرف على المزيد حول YOLOv9

Ultralytics YOLOv5: معيار الصناعة متعدد الاستخدامات

منذ إصداره في عام 2020، حدد Ultralytics YOLOv5 معيارًا للنشر العملي للذكاء الاصطناعي في العالم الحقيقي. إنه يحقق توازنًا دقيقًا بين الأداء وسهولة الاستخدام، مما يجعله أحد النماذج الأكثر استخدامًا على نطاق واسع في التاريخ.

Author: Glenn Jocher
Organization:Ultralytics
Date: 2020-06-26
GitHub:ultralytics/yolov5
Docs:YOLOv5 Documentation

الهيكل الأساسي

تستخدم YOLOv5 بنية مُحسَّنة قائمة على المرساة تتميز بـ CSPDarknet53 backbone و PANet neck لتجميع الميزات القوي. يعطي تصميمها الأولوية لسرعة الاستدلال والتحسين الهندسي. يأتي النموذج بأحجام مختلفة (Nano إلى Extra Large)، مما يسمح للمطورين بملاءمة النموذج تمامًا لقيود الأجهزة الخاصة بهم، من الأجهزة الطرفية المدمجة إلى وحدات معالجة الرسومات السحابية.

ميزة Ultralytics

في حين أن YOLOv9 تدفع الحدود الأكاديمية، إلا أن YOLOv5 تتفوق في التطبيق العملي الهندسي.

  • سهولة الاستخدام: يشتهر YOLOv5 بتجربة "التثبيت والتشغيل". تعمل Python API المبسطة والوثائق الشاملة على تقليل وقت التطوير بشكل كبير.
  • نظام بيئي مُدار بشكل جيد: بدعم من Ultralytics، يتمتع YOLOv5 بصيانة نشطة ومجتمع ضخم على GitHub، وتكامل سلس مع أدوات MLOps.
  • Versatility: بالإضافة إلى الـ detect، يدعم YOLOv5 أصلاً كلاً من instance segmentation و image classification، مما يوفر حلاً موحداً لمهام الرؤية المتنوعة.
  • كفاءة الذاكرة: تم تحسين نماذج Ultralytics لتقليل حجم الذاكرة المستخدمة أثناء كل من التدريب والاستدلال، على عكس المتطلبات الكبيرة للبدائل القائمة على المحولات.

تعرف على المزيد حول YOLOv5

مقاييس الأداء: السرعة مقابل الدقة

تسلط المقارنة أدناه الضوء على الأدوار المتميزة لهذه النماذج. يحقق YOLOv9 عمومًا mAP (متوسط الدقة المتوسطة) أعلى، خاصة في أحجام النماذج الأكبر (c و e). هذا يجعله متفوقًا للمهام التي تتطلب تفاصيل دقيقة.

على العكس من ذلك، يوفر YOLOv5 سرعات استدلال لا تضاهى، خاصة مع متغيراته Nano (n) و Small (s). بالنسبة إلى تطبيقات الوقت الفعلي على الأجهزة الطرفية مثل NVIDIA Jetson أو Raspberry Pi، يظل YOLOv5 منافسًا قويًا نظرًا لطبيعته خفيفة الوزن ونضج تحسين TensorRT.

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

نصيحة حول النشر

لتحقيق أقصى قدر من المرونة في النشر، يمكن تصدير كلا النموذجين إلى تنسيقات مثل ONNX و TensorRT و CoreML باستخدام وضع تصدير Ultralytics. وهذا يضمن تشغيل النماذج الخاصة بك بكفاءة على أي جهاز مستهدف.

التدريب وسهولة الاستخدام

تختلف منهجيات التدريب اختلافًا كبيرًا في تجربة المستخدم. تم تصميم Ultralytics YOLOv5 من أجل كفاءة التدريب، حيث يقدم إعدادات مسبقة قوية تعمل خارج الصندوق لمجموعات البيانات المخصصة. يتميز بحساب المرساة التلقائي، و تطوير المعلمات الفائقة، وعمليات تكامل تسجيل غنية.

قد يتطلب YOLOv9، على الرغم من قوته، ضبطًا أكثر دقة للمعلمات الفائقة لتحقيق الاستقرار والتقارب، خاصة على مجموعات البيانات الأصغر. ومع ذلك، بفضل تكامله في ultralytics حزمة Python، يمكن للمطورين الآن تدريب YOLOv9 باستخدام نفس بناء الجملة البسيط مثل YOLOv5، مما يسد فجوة سهولة الاستخدام.

مثال على التعليمات البرمجية

باستخدام مكتبة Ultralytics، يكون التبديل بين هذه البنى بسيطًا مثل تغيير اسم النموذج. توضح هذه المقتطفة كيفية تحميل وتشغيل الاستدلال مع كلا النموذجين:

from ultralytics import YOLO

# Load the established industry standard YOLOv5 (nano version)
model_v5 = YOLO("yolov5nu.pt")

# Run inference on an image
results_v5 = model_v5("path/to/image.jpg")

# Load the high-accuracy YOLOv9 (compact version)
model_v9 = YOLO("yolov9c.pt")

# Run inference on the same image for comparison
results_v9 = model_v9("path/to/image.jpg")

حالات الاستخدام المثالية

متى تختار YOLOv9

  • فحص عالي الدقة: اكتشاف العيوب الدقيقة في خطوط تجميع التصنيع حيث يهم كل بكسل.
  • بحث متقدم: مشاريع تستكشف هياكل التعلم العميق الجديدة مثل معلومات التدرج القابلة للبرمجة.
  • بيئات معقدة: السيناريوهات التي تتضمن انسدادًا أو فوضى عالية حيث يوفر تجميع الميزات المتقدم في GELAN ميزة حاسمة.

متى تختار YOLOv5

  • النشر على الحافة: التشغيل على الأجهزة التي تعمل بالبطاريات أو المتحكمات الدقيقة حيث يكون استهلاك الطاقة و حجم الذاكرة أمرًا بالغ الأهمية.
  • النماذج الأولية السريعة: عندما تحتاج إلى الانتقال من جمع البيانات إلى عرض توضيحي عملي في غضون ساعات، وليس أيامًا، مع الاستفادة من البرامج التعليمية الشاملة وموارد المجتمع.
  • أنظمة المهام المتعددة: التطبيقات التي تتطلب تقدير الوضع أو الـ classify جنبًا إلى جنب مع الـ detection داخل قاعدة بيانات واحدة.
  • استقرار الإنتاج: بيئات المؤسسات التي تتطلب حلاً مجربًا ومختبرًا مع سنوات من الموثوقية المثبتة.

الخلاصة

يعتمد الاختيار بين YOLOv9 و YOLOv5 على قيودك المحددة. YOLOv9 هو الخيار الأفضل لزيادة الدقة إلى أقصى حد، حيث يقدم تحسينات معمارية متطورة. يظل YOLOv5 بطل التنوع وسهولة الاستخدام، مما يوفر نظامًا بيئيًا قويًا ومدعومًا جيدًا يبسط دورة حياة الذكاء الاصطناعي بأكملها.

بالنسبة للمطورين الباحثين عن الأفضل على الإطلاق في كلا المجالين—الجمع بين سهولة استخدام YOLOv5 والأداء الذي يتجاوز YOLOv9—نوصي باستكشاف YOLO11. باعتباره أحدث تكرار من Ultralytics، يوفر YOLO11 سرعة ودقة متطورة عبر جميع مهام الرؤية، مما يمثل مستقبل عائلة YOLO.

استكشف نماذج أخرى

  • YOLO11: أحدث وأقوى نموذج من Ultralytics لـ detect، segment، وتقدير الوضعية.
  • YOLOv8: نموذج قوي يسبق YOLO11 ويوفر توازنًا رائعًا في الميزات.
  • RT-DETR: كاشف يعتمد على المحولات ومُحسَّن للأداء في الوقت الفعلي.

تعليقات