YOLOv9 مقابل YOLOv8: مقارنة تقنية للكشف عن الأجسام
يتضمن اختيار النموذج الأمثل للكشف عن الكائنات الموازنة بين الابتكار المعماري واحتياجات النشر العملية. تحلل هذه المقارنة التقنية YOLOv9، وهو نموذج يركز على البحث يقدم تقنيات معلومات التدرج الجديدة، و Ultralytics YOLOv8وهو إطار عمل جاهز للإنتاج مصمم لتعدد الاستخدامات والسرعة. ندرس بنيتيهما ومقاييس أدائهما على مجموعة بياناتCOCO وحالات الاستخدام المثالية لمساعدتك في تحديد النموذج الذي يناسب خط أنابيب الرؤية الحاسوبية لديك.
YOLOv9: معالجة فقدان المعلومات من خلال بنية جديدة
يستهدف YOLOv9 الذي تم إصداره في أوائل عام 2024، المشكلة الأساسية المتمثلة في فقدان المعلومات في الشبكات العصبية العميقة. فكلما أصبحت الشبكات أعمق، يمكن أن تختفي بيانات الإدخال الأساسية قبل الوصول إلى الطبقات النهائية، مما يعقد عملية التدريب.
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المنظمــةمعهد علوم المعلومات، الأكاديمية الصينية للمعلومات، تايوان
- التاريخ: 2024-02-21
- اركسيف:arXiv:2402.13616
- جيثب:مستودعYOLOv9
- المستنداتمستنداتUltralytics YOLOv9
الابتكارات الرئيسية: PGI و GELAN
يقدم YOLOv9 تطورين معماريين أساسيين لمكافحة اختناقات المعلومات:
- معلومات التدرج القابلة للبرمجة (PGI): إطار عمل إشرافي مساعد يولد تدرجات موثوقة لتحديث أوزان الشبكة، مما يضمن الحفاظ على ارتباطات المدخلات الرئيسية في جميع الطبقات. وهذا فعال بشكل خاص لتدريب النماذج العميقة جدًا.
- شبكة تجميع الطبقات المعممة الفعالة المعممة (GELAN): بنية شبكة خفيفة الوزن تعطي الأولوية لكفاءة المعلمات والسرعة الحسابية (FLOPs). تسمح GELAN لـ YOLOv9 بتحقيق دقة عالية مع سرعة استدلال محترمة.
نقاط القوة والقيود
تتفوق YOLOv9 في المعايير الأكاديمية، مع YOLOv9-E المتغير الذي يحقق أعلى مستوى درجات mAP . إنه خيار ممتاز للباحثين الذين يهدفون إلى دفع حدود دقة الكشف. ومع ذلك، كنموذج متجذر بعمق في البحث، فإنه يفتقر إلى الدعم الواسع متعدد المهام الموجود في الأنظمة البيئية الأكثر نضجًا. يركز تطبيقه الأساسي على اكتشاف المربع المحدود، ويمكن أن يكون سير عمل التدريب أكثر كثافة في الموارد مقارنةً بالحلول الصناعية المبسطة.
Ultralytics YOLOv8: معيار الذكاء الاصطناعي للإنتاج
Ultralytics YOLOv8 يمثّل نهجًا شاملاً للذكاء الاصطناعي للرؤية. فبدلاً من التركيز فقط على مقياس واحد، تم تصميم YOLOv8 لتقديم أفضل تجربة للمستخدم، وتعدد الاستخدامات وتوازن الأداء. وهو جزء من نظامUltralytics الإيكولوجي الشامل، مما يضمن بقاءه قويًا وسهل الاستخدام للمطورين من جميع مستويات المهارة.
- المؤلفون: جلين جوتشر، أيوش شوراسيا، جينغ تشيو
- المنظمةUltralytics
- التاريخ: 2023-01-10
- جيثب:مستودعUltralytics
- المستنداتمستنداتUltralytics YOLOv8
مزايا الهندسة المعمارية والنظام البيئي
يستخدم YOLOv8 رأس كشف خالٍ من المرساة وعمود فقري C2f (عنق الزجاجة الجزئي المتقاطع مع التفافين)، مما يعزز تدفق التدرج مع الحفاظ على بصمة خفيفة الوزن. وبعيدًا عن الهندسة المعمارية، تكمن قوته في تكامله:
- سهولة الاستخدام: بفضل واجهة برمجة تطبيقاتPython API الموحدة وواجهة سطر الأوامر (CLI)، لا يتطلب تدريب النموذج ونشره سوى بضعة أسطر من التعليمات البرمجية.
- تعدد الاستخدامات: على عكس المنافسين الذين غالبًا ما يقتصرون على الاكتشاف، يدعم YOLOv8 في الأصل تجزئة المثيل وتقدير الوضعية والمربعات المحدودة الموجهة (OBB) وتصنيف الصور.
- توازن الأداء: يوفر مفاضلة استثنائية بين زمن الاستجابة والدقة، مما يجعله مناسباً للاستدلال في الوقت الحقيقي على الأجهزة المتطورة مثل NVIDIA Jetson أو Raspberry Pi.
- كفاءة الذاكرة: يتطلب YOLOv8 عادةً ذاكرةCUDA أقل أثناء التدريب مقارنةً بالبنى القائمة على المحولات، مما يقلل من عائق دخول الأجهزة.
عمليات سير العمل المتكاملة
تتكامل نماذج Ultralytics بسلاسة مع أدوات مثل TensorBoard للتصور و MLflow لتتبع التجارب، مما يسهل دورة حياة عمليات التشغيل الآلي.
تحليل الأداء: السرعة والدقة والكفاءة
غالبًا ما يعود الاختيار بين النماذج إلى متطلبات محددة للمشروع فيما يتعلق بالسرعة مقابل الدقة البحتة. يقارن الجدول أدناه بين المتغيرات القياسية في مجموعة التحقق من صحة COCO .
| النموذج | الحجم (بالبكسل) | mAPفال 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (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 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
النقاط الرئيسية
- دقة فائقة: في
YOLOv9eيحقق النموذج نسبة 55.6% mAP ملحوظة، متجاوزًا بذلك نسبةYOLOv8x. إذا كان تطبيقك يتطلب الكشف عن أصعب الكائنات والكمون أمرًا ثانويًا، فإن YOLOv9e منافس قوي. - السرعة في الوقت الفعلي: للتطبيقات التي تعتمد على السرعة,
YOLOv8nوYOLOv8sإظهار أداء متفوق.YOLOv8nفعالة بشكل خاص في النشر المتنقليقدم حلاً خفيف الوزن وسريعاً للغاية على كل من CPU GPU. - جاهزية النشر: يسلط الجدول الضوء على سرعات CPU ONNX CPU لـ YOLOv8 وهو مقياس مهم للبيئات GPU وحدة معالجة الرسومات. تعكس شفافية البيانات هذه شفافية البيانات تصميم YOLOv8 لسيناريوهات النشر الواسعة، في حين أن YOLOv9 غالبًا ما يتم قياس YOLOv9 بشكل أساسي على وحدات معالجة الرسومات المتطورة مثل V100 أو T4 في سياقات البحث.
التدريب وسهولة الاستخدام
يكمن أحد أهم الاختلافات في تجربة المطور. تعطي Ultralytics الأولوية لنهج "تضمين البطاريات".
البساطة مع Ultralytics
يتطلب تدريب نموذج YOLOv8 الحد الأدنى من الإعداد. تتعامل المكتبة مع زيادة البيانات، وضبط المعلمة الفائقة، وتحميل الأوزان المدربة مسبقًا تلقائيًا.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train on a custom dataset with a single command
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
تعقيد البحث العلمي
في حين أن YOLOv9 مدمج في قاعدة كود Ultralytics لتسهيل الوصول إليه، فإن مستودعات البحث الأصلية غالبًا ما تتطلب تكوينات بيئة معقدة وإدارة يدوية للمقاييس الفائقة. يضمن لك النظام الإيكولوجي الذي يتم صيانته جيدًا في Ultralytics أنه سواء كنت تستخدم YOLOv8 أو YOLOv9 المنقول، فإنك تستفيد من خطوط أنابيب CI/CD المستقرة والوثائق الشاملة ودعم المجتمع عبر Discord.
حالات الاستخدام المثالية
اختر YOLOv9 إذا:
- الدقة القصوى أمر بالغ الأهمية: مشاريع مثل تحليل الصور الطبية (على سبيل المثال، الكشف عن الأورام) حيث تكون كل نقطة mAP من الدقة القصوى مهمة.
- البحث الأكاديمي: تقوم بالتحقيق في البنى الجديدة مثل PGI أو إجراء دراسات مقارنة حول كفاءة الشبكات العصبية.
- بيئات الحوسبة العالية: أهداف النشر هي خوادم قوية (على سبيل المثال، NVIDIA A100) حيث تكون عمليات FLOP الأعلى مقبولة.
اختر Ultralytics YOLOv8 إذا:
- المهام المتنوعة المطلوبة: تحتاج إلى تنفيذ تتبع الأجسام أو تجزئتها أو تقدير وضعيتها ضمن بنية مشروع واحد.
- نشر الحافة: التطبيقات التي تعمل على أجهزة مقيدة، مثل الكاميرات الذكية أو الطائرات بدون طيار، حيث تكون دورات الذاكرة CPU نادرة.
- التطوير السريع: الشركات الناشئة وفرق المؤسسات التي تحتاج إلى الانتقال من المفهوم إلى الإنتاج بسرعة باستخدام تنسيقات التصدير مثل ONNX أو TensorRT أو OpenVINO.
- الاستقرار والدعم: تحتاج إلى نموذج مدعوم بتحديثات متكررة ومجتمع كبير لاستكشاف المشكلات وإصلاحها بكفاءة.
الخلاصة
بينما YOLOv9 يقدم تطورات نظرية مثيرة للإعجاب ويحقق دقة كشف عالية, Ultralytics YOLOv8 يظل الخيار الأكثر عملية للغالبية العظمى من التطبيقات الواقعية. إن توازنه بين السرعة والدقة وتعدد الاستخدامات، بالإضافة إلى واجهة برمجة التطبيقات سهلة الاستخدام وعملية التدريب الفعالة، يجعله الحل المفضل للمطورين.
لأولئك الذين يبحثون عن الأحدث على الإطلاق في مجموعة Ultralytics فكر في استكشاف YOLO11الذي يعمل على تحسين هذه السمات بشكل أكبر للحصول على أحدث أداء. ومع ذلك، من بين النموذجين اللذين تمت مناقشتهما هنا، يقدم YOLOv8 تجربة مصقولة وجاهزة للإنتاج تعمل على تسريع المسار من البيانات إلى النشر.
استكشف نماذج أخرى
إذا كنت مهتمًا بالبنى الأخرى، فإن مستندات Ultralytics توفر مقارنات للعديد من النماذج الأخرى:
- RT-DETR: كاشف قائم على المحولات يوفر دقة عالية ولكن بمتطلبات مختلفة من الموارد.
- YOLOv5: السلف الأسطوري المعروف بثباته الشديد واعتماده على نطاق واسع.
- YOLO11: أحدث إصدار من Ultralytics الذي يدفع بالكفاءة إلى أبعد من ذلك.