DAMO-YOLO مقابل YOLOv8: مقارنة فنية
يُعد اختيار نموذج الكشف عن الأجسام المناسب قرارًا بالغ الأهمية يوازن بين الدقة والسرعة وسهولة التنفيذ. تقدم هذه الصفحة مقارنة فنية مفصلة بين DAMO-YOLO، وهو نموذج عالي الأداء من مجموعة Alibaba، و Ultralytics YOLOv8، وهو نموذج حديث معروف بتعدد استخداماته ونظامه البيئي القوي. سوف نتعمق في الاختلافات المعمارية ومقاييس الأداء وحالات الاستخدام المثالية لمساعدتك في اختيار أفضل نموذج لمشروع الرؤية الحاسوبية الخاص بك.
DAMO-YOLO: طريقة سريعة ودقيقة من علي بابا
المؤلفون: شيانزه شو، يي تشي جيانغ، ويهوا تشن، ييلون هوانغ، يوان تشانغ، وشيو يو صن
المنظمة: مجموعة علي بابا
التاريخ: 2022-11-23
Arxiv: https://arxiv.org/abs/2211.15444v2
GitHub: https://github.com/tinyvision/DAMO-YOLO
المستندات: https://github.com/tinyvision/DAMO-YOLO/blob/master/README.md
البنية والميزات الرئيسية
DAMO-YOLO هو كاشف أجسام قوي ظهر من أبحاث علي بابا، ويقدم العديد من التقنيات المبتكرة لتوسيع حدود المفاضلة بين السرعة والدقة. بنيته هي نتيجة لنهج شامل يجمع بين Neural Architecture Search (NAS) ومبادئ التصميم المتقدمة.
- العمود الفقري المدعوم من NAS: تستخدم DAMO-YOLO عمودًا فقريًا تم إنشاؤه من خلال NAS، مما يسمح له باكتشاف هياكل استخراج ميزات عالية الكفاءة ومصممة خصيصًا للكشف عن الكائنات.
- عنق RepGFPN الفعال: يقدم هيكل عنق جديدًا، وهو شبكة هرم الميزات المعممة (GFPN)، والذي تم تعزيزه بتقنيات إعادة التهيئة لتحسين دمج الميزات بأقل قدر من النفقات الحسابية.
- ZeroHead: يستخدم النموذج رأس كشف بدون مرساة خفيف الوزن يسمى ZeroHead، مما يقلل من التعقيد الحسابي مع الحفاظ على الأداء العالي.
- تعيين تسميات AlignedOTA: يستخدم استراتيجية متقدمة لتعيين التسميات تسمى AlignedOTA، ممّا يحسن استقرار التدريب ودقة النموذج من خلال مواءمة أفضل للعينات الإيجابية مع الأهداف الحقيقية المناسبة.
- تقطير المعرفة: يتم تحسين النماذج الأكبر في عائلة DAMO-YOLO من خلال تقطير المعرفة لزيادة تعزيز الأداء.
نقاط القوة
- دقة وسرعة عاليتان على وحدة معالجة الرسوميات (GPU): تم تحسين DAMO-YOLO بشكل كبير لأجهزة وحدة معالجة الرسوميات (GPU)، مما يوفر توازنًا ممتازًا بين متوسط الدقة (mAP) وسرعة الاستدلال، مما يجعله منافسًا قويًا للتطبيقات التي تكون فيها أداء وحدة معالجة الرسوميات (GPU) أمرًا بالغ الأهمية.
- بنية مبتكرة: إن استخدامه لـ NAS والمكونات المخصصة مثل RepGFPN و ZeroHead يعرض أبحاثًا متقدمة ويوفر بنية عالية الكفاءة.
نقاط الضعف
- نظام بيئي محدود: بالمقارنة مع Ultralytics YOLO، فإن النظام البيئي المحيط بـ DAMO-YOLO أقل تطوراً. يفتقر إلى الوثائق الشاملة والبرامج التعليمية والأدوات المتكاملة مثل Ultralytics HUB التي تبسط سير العمل الشامل.
- تحديد المهمة: تم تصميم DAMO-YOLO بشكل أساسي لاكتشاف الأجسام. لا يوفر دعمًا أصليًا لمهام الرؤية الأخرى مثل التجزئة أو تقدير الوضع أو التصنيف داخل نفس الإطار.
- المجتمع والدعم: على الرغم من أنها مساهمة قيمة مفتوحة المصدر، إلا أنها لا تحظى بنفس المستوى من الدعم المجتمعي النشط أو التحديثات المتكررة مثل سلسلة Ultralytics YOLO.
Ultralytics YOLOv8: تعدد الاستخدامات والأداء
المؤلفون: جلين جوتشر، أيوش شوراسيا، و جينغ تشيو
المنظمة: Ultralytics
التاريخ: 2023-01-10
GitHub: https://github.com/ultralytics/ultralytics
المستندات: https://docs.ultralytics.com/models/yolov8/
البنية والميزات الرئيسية
Ultralytics YOLOv8 هو نموذج حديث يعتمد على نجاح إصدارات YOLO السابقة. إنه مصمم ليكون سريعًا ودقيقًا وسهل الاستخدام بشكل لا يصدق، مع توفير إطار عمل موحد لمجموعة متنوعة من مهام رؤية الكمبيوتر.
- العمود الفقري المحسن CSPDarknet: يستخدم YOLOv8 عمودًا فقريًا متقدمًا من CSPDarknet، مما يحسن عملية استخراج الميزات لتحسين الأداء.
- C2f Neck: يتضمن وحدة C2f في تصميمه، والتي تحل محل وحدة C3 من YOLOv5، مما يتيح دمجًا أكثر كفاءة للميزات.
- رأس مفصول وخالٍ من المربعات المحورية (Anchor-Free Decoupled Head): على غرار DAMO-YOLO، فإن YOLOv8 خالٍ من المربعات المحورية، مما يبسط عملية المطابقة أثناء التدريب. يفصل رأسه المفصول بين مهام التصنيف والانحدار، مما يحسن دقة النموذج الإجمالية.
نقاط القوة
- سهولة الاستخدام: تشتهر YOLOv8 بتصميمها سهل الاستخدام. بفضل واجهة برمجة تطبيقات Python و CLI مبسطة، يمكن للمطورين تدريب النماذج والتحقق من صحتها ونشرها ببضعة أسطر فقط من التعليمات البرمجية.
- نظام بيئي مُدار بشكل جيد: مدعوم بنظام Ultralytics البيئي الشامل، والذي يتضمن توثيق واسع النطاق، وتطوير نشط، ودعم مجتمعي قوي، وتكامل سلس مع أدوات مثل Ultralytics HUB للتدريب بدون تعليمات برمجية و MLOps.
- موازنة الأداء: يوفر YOLOv8 توازنًا استثنائيًا بين السرعة والدقة عبر مجموعة من الأجهزة، بدءًا من الأجهزة الطرفية إلى وحدات معالجة الرسوميات السحابية القوية.
- تعدد الاستخدامات: إحدى الميزات الرئيسية في YOLOv8 هي دعمها الأصلي لمهام متعددة: اكتشاف الأجسام، و تجزئة المثيلات، و تصنيف الصور، و تقدير الوضعية، و اكتشاف الأجسام الموجهة (OBB). وهذا يجعلها حلاً شاملاً لمشاريع الرؤية المعقدة.
- كفاءة التدريب والذاكرة: تم تصميم نماذج YOLOv8 من أجل التدريب الفعال، وغالبًا ما تتطلب ذاكرة CUDA أقل من البدائل. إن توفر الأوزان المُدرَّبة مسبقًا على مجموعات بيانات مثل COCO يسرع تطوير النماذج المخصصة.
نقاط الضعف
- متطلبات الموارد للنماذج الكبيرة: يقدم النموذج الأكبر، YOLOv8x، أعلى دقة ولكنه يتطلب موارد حسابية كبيرة، وهي مقايضة شائعة للنماذج الأفضل أداءً.
تحليل الأداء: السرعة والدقة
تكشف المقارنة المباشرة على مجموعة بيانات COCO عن المشهد التنافسي بين DAMO-YOLO و YOLOv8. يلخص الجدول التالي مقاييس أدائها.
النموذج | الحجم (بالبكسل) |
mAPval 50-95 |
السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) |
السرعة T4 TensorRT10 (بالمللي ثانية) |
المعلمات (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
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 |
من الجدول، يمكننا استخلاص عدة استنتاجات:
- الدقة: يحقق YOLOv8x أعلى mAP بنسبة 53.9٪، متفوقًا على جميع متغيرات DAMO-YOLO. في الأحجام المتوسطة، يكون YOLOv8m (50.2 mAP) أكثر دقة من DAMO-YOLOm (49.2 mAP). ومع ذلك، يتفوق DAMO-YOLOs (46.0 mAP) بشكل طفيف على YOLOv8s (44.9 mAP).
- سرعة وحدة معالجة الرسوميات GPU: كلتا مجموعتي النماذج سريعة للغاية على وحدة معالجة الرسوميات GPU. YOLOv8n هو الأسرع بشكل عام بسرعة 1.47 مللي ثانية. يُظهر DAMO-YOLOt سرعة رائعة تبلغ 2.32 مللي ثانية، وهي أسرع من YOLOv8s.
- سرعة وحدة المعالجة المركزية (CPU): يوفر YOLOv8 معايير واضحة لاستدلال وحدة المعالجة المركزية، وهو عامل حاسم للعديد من تطبيقات الذكاء الاصطناعي الطرفي (Edge AI). إن عدم وجود معايير رسمية لوحدة المعالجة المركزية لـ DAMO-YOLO يجعل من الصعب تقييمها لعمليات النشر المعتمدة على وحدة المعالجة المركزية، في حين أن YOLOv8 هو مؤدٍ مثبت في هذه السيناريوهات.
- الكفاءة: نماذج YOLOv8 أكثر كفاءة بشكل عام في استخدام المعلمات. على سبيل المثال، يحتوي YOLOv8s على عدد أقل من المعلمات (11.2 مليون مقابل 16.3 مليون) وعمليات الفاصلة العائمة في الثانية (FLOPs) (28.6 مليار مقابل 37.8 مليار) مقارنةً بـ DAMO-YOLOs مع تقديم دقة مماثلة.
منهجيات التدريب وسهولة الاستخدام
تستفيد عملية تدريب DAMO-YOLO من التقنيات المتقدمة مثل AlignedOTA وتقطير المعرفة، والتي يمكن أن تحقق أداءً عاليًا ولكنها قد تتطلب خبرة أعمق لتكوينها وضبطها.
في المقابل، يعطي إطار عمل Ultralytics الأولوية لتجربة مستخدم سلسة. يعد تدريب نموذج YOLOv8 أمرًا مباشرًا، سواء باستخدام CLI أو Python SDK. يختصر إطار العمل الكثير من التعقيد، مما يسمح للمستخدمين بالتركيز على بياناتهم وأهداف التطبيق. إن عملية التدريب الفعالة، جنبًا إلى جنب مع الأوزان المدربة مسبقًا المتاحة بسهولة والأدلة الشاملة حول موضوعات مثل ضبط المعلمات الفائقة، تجعل YOLOv8 في متناول المبتدئين والخبراء على حد سواء.
الخلاصة: أي نموذج يجب أن تختاره؟
يعد كل من DAMO-YOLO و YOLOv8 من نماذج الكشف عن الكائنات الاستثنائية التي تدفع حالة التكنولوجيا.
DAMO-YOLO هو خيار ممتاز للباحثين والمطورين الذين يعطون الأولوية لأداء وحدة معالجة الرسوميات (GPU) الخام ويرتاحون للعمل في إطار عمل أكثر تركيزًا على البحث. تقدم بنيته المبتكرة نتائج مبهرة، خاصة في السيناريوهات التي تكون فيها موارد وحدة معالجة الرسوميات (GPU) وفيرة.
ومع ذلك، بالنسبة للغالبية العظمى من المطورين والتطبيقات، يبرز Ultralytics YOLOv8 باعتباره الخيار الأفضل. إن مزاياه الرئيسية تجعله أداة أكثر عملية وقوة لبناء حلول رؤية الكمبيوتر في العالم الحقيقي:
- تنوع لا مثيل له: دعم الاكتشاف، والتجزئة، وتحديد الوضعية، والتصنيف، والتتبع في إطار عمل واحد يوفر وقتًا كبيرًا في التطوير.
- سهولة استخدام فائقة: واجهة برمجة تطبيقات (API) بسيطة وبديهية ووثائق شاملة تقلل من عائق الدخول وتسريع الجداول الزمنية للمشروع.
- نظام بيئي قوي: توفر التحديثات المستمرة ودعم المجتمع القوي وأدوات مثل Ultralytics HUB بيئة شاملة لدورة حياة الذكاء الاصطناعي بأكملها.
- Balanced Performance: يقدم YOLOv8 مزيجًا رائعًا من السرعة والدقة على كل من CPU و GPU، مما يضمن المرونة لأهداف النشر المتنوعة.
في النهاية، في حين أن DAMO-YOLO هو شهادة على أحدث الأبحاث، فإن YOLOv8 يقدم حزمة أكثر اكتمالاً وسهولة في الاستخدام وتنوعًا، مما يجعله الخيار الموصى به لبناء حلول الذكاء الاصطناعي القوية والقابلة للتطوير.
استكشف مقارنات النماذج الأخرى
إذا كنت مهتمًا بمعرفة كيف تقارن هذه النماذج بالبنى الرائدة الأخرى، فراجع هذه المقارنات الإضافية:
- YOLOv9 مقابل DAMO-YOLO
- YOLO11 ضد DAMO-YOLO
- RT-DETR مقابل DAMO-YOLO
- YOLOv8 ضد YOLOv9
- YOLOv8 ضد RT-DETR
- YOLOv8 ضد YOLOv7