YOLOv5 ضد PP-YOLOE+: مقارنة فنية مفصلة
يُعد اختيار نموذج الكشف عن الأجسام المناسب قرارًا بالغ الأهمية يوازن بين الدقة والسرعة وسهولة التنفيذ. تقدم هذه الصفحة مقارنة فنية متعمقة بين نموذجين بارزين: Ultralytics YOLOv5، وهو معيار صناعي معتمد على نطاق واسع ومعروف بتعدد استخداماته وأدائه، و PP-YOLOE+، وهو نموذج عالي الدقة من نظام PaddlePaddle البيئي الخاص بـ Baidu. سوف نستكشف الاختلافات المعمارية ومعايير الأداء وحالات الاستخدام المثالية لمساعدتك في اتخاذ خيار مستنير لمشاريع الرؤية الحاسوبية الخاصة بك.
Ultralytics YOLOv5: معيار الصناعة المعمول به
أصبح Ultralytics YOLOv5 معيارًا في مجتمع رؤية الحاسوب منذ إطلاقه. يُحتفى به لتوازنه الاستثنائي بين السرعة والدقة، مما يجعله خيارًا عمليًا للغاية لمجموعة واسعة من التطبيقات الواقعية. إن تطويره في PyTorch والنظام البيئي الشامل المحيط به جعله المفضل لدى المطورين والباحثين.
المؤلف: Glenn Jocher
المنظمة: Ultralytics
التاريخ: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
المستندات: https://docs.ultralytics.com/models/yolov5/
البنية والميزات الرئيسية
يعد هيكل YOLOv5 شهادة على التصميم الفعال، حيث تم إنشاؤه بالكامل في PyTorch لتحقيق أقصى قدر من المرونة وسهولة الاستخدام.
- Backbone: يستخدم CSPDarknet53 backbone، وهو نوع من Darknet يتضمن وحدات Cross Stage Partial (CSP) لتقليل العمليات الحسابية مع الحفاظ على قدرات عالية لاستخلاص الميزات.
- الرقبة: يتم استخدام شبكة تجميع المسار (PANet) لتجميع الميزات، والجمع الفعال بين الميزات من مستويات العمود الفقري المختلفة لتحسين الاكتشاف بمقاييس مختلفة.
- الرأس: يستخدم YOLOv5 رأس كشف قائم على المرساة، والذي يتنبأ بالمربعات المحيطة بناءً على مجموعة من مربعات المرساة المحددة مسبقًا. هذا النهج مُحسَّن للغاية لتحقيق السرعة.
- قابلية التوسع: يأتي بأحجام مختلفة (n, s, m, l, x)، مما يتيح للمستخدمين اختيار نموذج يناسب احتياجاتهم الخاصة، من النماذج خفيفة الوزن للأجهزة الطرفية edge devices إلى النماذج الأكبر لتحقيق أقصى قدر من الدقة.
نقاط القوة والضعف
نقاط القوة:
- توازن أداء استثنائي: يوفر YOLOv5 حلاً وسطًا رائعًا بين سرعة الاستدلال ودقة الكشف، مما يجعله مناسبًا للعديد من سيناريوهات الاستدلال في الوقت الفعلي.
- سهولة الاستخدام: تشتهر بتجربة المستخدم المبسطة وواجهات Python و CLI البسيطة و الوثائق الشاملة.
- نظام بيئي مُدار بشكل جيد: يستفيد من النظام البيئي المتكامل لـ Ultralytics، بما في ذلك التطوير النشط، ومجتمع كبير وداعم، وتحديثات متكررة، وأدوات مثل Ultralytics HUB للتدريب بدون تعليمات برمجية.
- كفاءة التدريب: يوفر عمليات تدريب فعالة، وأوزان مُدرَّبة مسبقًا متاحة بسهولة، ومتطلبات ذاكرة أقل بشكل عام مقارنة بالعديد من البدائل.
- تنوع الاستخدامات: يدعم مهامًا متعددة، بما في ذلك اكتشاف الكائنات، وتقسيم الحالات، وتصنيف الصور.
نقاط الضعف:
- في حين أنها عالية الدقة، يمكن للنماذج الأحدث أن تتجاوز درجات mAP الخاصة بها في المعايير القياسية مثل COCO.
- قد يتطلب اعتمادها على مربعات الارتساء المزيد من ضبط المعلمات الفائقة لمجموعات البيانات ذات الأشكال غير التقليدية للكائنات مقارنة بالطرق الخالية من الارتساء.
حالات الاستخدام
إن سرعة وتنوع YOLOv5 يجعله مثاليًا لـ:
- تتبع الكائنات في الوقت الفعلي: مثالي للمراقبة والروبوتات والأنظمة المستقلة، كما هو مفصل في دليل تقسيم وتتبع المثيلات الخاص بنا.
- النشر على جهاز الحافة: تعمل النماذج الفعالة (YOLOv5n، YOLOv5s) بفعالية على الأجهزة ذات الموارد المحدودة مثل Raspberry Pi و NVIDIA Jetson.
- الأتمتة الصناعية: تستخدم في مراقبة الجودة، واكتشاف العيوب، و أتمتة إعادة التدوير.
PP-YOLOE+: دقة عالية في نظام PaddlePaddle البيئي
PP-YOLOE+، الذي تم تطويره بواسطة Baidu، هو كاشف كائنات أحادي المرحلة وخالي من المرساة تم إنشاؤه داخل إطار عمل التعلم العميق PaddlePaddle. وهو يعتمد على نموذج PP-YOLOE، ويقدم تحسينات تهدف إلى دفع حدود الدقة مع الحفاظ على الكفاءة.
المؤلفون: مؤلفو PaddlePaddle
المنظمة: بايدو
التاريخ: 2022-04-02
Arxiv: https://arxiv.org/abs/2203.16250
GitHub: https://github.com/PaddlePaddle/PaddleDetection/
المستندات: https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md
البنية والميزات الرئيسية
يتضمن PP-YOLOE+ العديد من خيارات التصميم الحديثة لزيادة الأداء إلى أقصى حد.
- تصميم بدون نقاط ارتكاز: إنه يلغي الحاجة إلى مربعات ارتكاز محددة مسبقًا، مما يمكن أن يبسط خط سير العمل ويقلل من ضبط المعلمات الفائقة. يمكنك اكتشاف المزيد حول أجهزة الكشف الخالية من نقاط الارتكاز في مسرد المصطلحات الخاص بنا.
- Backbone: يستخدم backbone فعال مثل CSPRepResNet، المصمم لتمثيل الميزات القوية.
- الرقبة: تستخدم شبكة تجميع المسار (PAN) المشابهة في المبدأ لـ YOLOv5 لدمج الميزات القوي.
- الرأس: يتميز برأس منفصل (ET-Head) يفصل بين مهام التصنيف والانحدار، مما يؤدي غالبًا إلى تحسين الدقة.
- دالة الخسارة: تستخدم تقنيات متقدمة مثل Task Alignment Learning (TAL) و VariFocal Loss لتحسين التوافق بين نتائج التصنيف ودقة تحديد الموقع.
نقاط القوة والضعف
نقاط القوة:
- إمكانات دقة عالية، خاصة مع متغيرات النماذج الأكبر التي تتصدر غالبًا قوائم المتصدرين.
- يمكن لنهج عدم الارتباط (Anchor-free approach) تبسيط عملية ضبط المعلمات الفائقة في بعض الحالات.
- سرعات استدلال فعالة، خاصة عند التحسين باستخدام TensorRT.
- متكاملة بشكل جيد داخل نظام PaddlePaddle البيئي.
نقاط الضعف:
- الأمثلية الأساسية لإطار عمل PaddlePaddle، مما قد يحد من سهولة الاستخدام لغالبية المطورين الذين يفضلون PyTorch.
- المجتمع والموارد المتاحة أصغر مقارنة بالنظام البيئي الواسع المحيط بنماذج Ultralytics YOLO.
- هناك تركيز أقل على سهولة الاستخدام وبساطة النشر، مما يتطلب غالبًا المزيد من التعليمات البرمجية الجاهزة ومعرفة خاصة بالإطار.
حالات الاستخدام
PP-YOLOE+ مناسب لـ:
- فحص الجودة الصناعية: الدقة العالية مفيدة لاكتشاف العيوب الطفيفة في الذكاء الاصطناعي في التصنيع.
- البيع بالتجزئة الذكي: يمكن للتطبيقات مثل إدارة المخزون وتحليلات العملاء الاستفادة من دقته.
- المشاريع التي تركز على PaddlePaddle: إنه الخيار الأمثل للمطورين الذين يستثمرون بالفعل في إطار عمل PaddlePaddle أو يعتمدونه كمعيار.
الأداء والمعايير: YOLOv5 ضد PP-YOLOE+
عند مقارنة الأداء، يعتمد الاختيار بشكل كبير على الجهاز المستهدف والهدف الأساسي (السرعة مقابل الدقة).
- الدقة (mAP): تحقق نماذج PP-YOLOE+ عمومًا درجات mAPval أعلى على مجموعة بيانات COCO مقارنة بنظيراتها من YOLOv5 ذات الحجم المماثل. بالنسبة للتطبيقات التي يهم فيها كل جزء من نقطة مئوية في الدقة، يعد PP-YOLOE+ منافسًا قويًا.
- سرعة الاستدلال: يُظهر Ultralytics YOLOv5 سرعة فائقة، خاصة على وحدات المعالجة المركزية CPUs. نموذج YOLOv5n سريع بشكل استثنائي، مما يجعله مثاليًا للتطبيقات في الوقت الفعلي على مجموعة واسعة من الأجهزة. في حين أن PP-YOLOE+ سريع على وحدات معالجة الرسومات GPUs مع TensorRT، إلا أن YOLOv5 يحافظ على ميزة قوية في الأداء لكل واط، خاصة على الأجهزة الطرفية.
- الكفاءة (المعلمات و FLOPs): تم تصميم نماذج YOLOv5 لتكون خفيفة الوزن. على سبيل المثال، يحتوي YOLOv5n على عدد أقل بكثير من المعلمات و FLOPs من PP-YOLOE+s، مما يجعله أسهل في النشر في البيئات ذات الموارد المحدودة.
النموذج | الحجم (بالبكسل) |
mAPval 50-95 |
السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) |
السرعة T4 TensorRT10 (بالمللي ثانية) |
المعلمات (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
التدريب وسهولة الاستخدام والنظام البيئي
بالإضافة إلى الأداء الخام، تعتبر تجربة المطور عاملاً حاسماً. هذا هو المكان الذي تتألق فيه Ultralytics YOLOv5 حقًا.
-
YOLOv5: تم تصميم النظام البيئي Ultralytics لإنتاجية المطورين. كونه أصليًا في PyTorch، فإنه يتكامل بسلاسة في سير عمل التعلم العميق الأكثر شيوعًا. سهولة الاستخدام لا مثيل لها، مع واجهة برمجة تطبيقات بسيطة وموثقة جيدًا تسمح بالتدريب والتحقق والاستدلال ببضعة أسطر فقط من التعليمات البرمجية. يوفر النظام البيئي الذي تتم صيانته جيدًا ميزة هائلة، مع تحديثات مستمرة ومجتمع ضخم للدعم وعمليات تكامل مع أدوات مثل Weights & Biases و ClearML. علاوة على ذلك، فإن كفاءة التدريب هي محور التركيز الأساسي، مع النماذج التي تتدرب بسرعة وتتطلب ذاكرة أقل.
-
PP-YOLOE+: يقتصر التدريب على إطار عمل PaddlePaddle. على الرغم من قوته، إلا أن هذا يخلق حاجزًا أمام المطورين غير المألوفين بنظامه البيئي. إن الوثائق ودعم المجتمع، على الرغم من أنها جيدة، ليست واسعة النطاق أو يسهل الوصول إليها مثل تلك الخاصة بـ YOLOv5. يتطلب دمجه في خط أنابيب يعتمد على PyTorch خطوات إضافية وتحويلات محتملة، مما يزيد من تعقيد دورة حياة MLOps.
الخلاصة: أي نموذج يجب أن تختاره؟
يعتبر كل من YOLOv5 و PP-YOLOE+ من النماذج الممتازة، لكنهما يخدمان احتياجات مختلفة.
Ultralytics YOLOv5 هو الخيار الموصى به للغالبية العظمى من المشاريع. إن توازنه المتميز بين السرعة والدقة، جنبًا إلى جنب مع نظام بيئي لا مثيل له سهل الاستخدام للمطورين، يجعله الخيار الأكثر عملية وكفاءة. سواء كنت مبتدئًا تقوم بإنشاء نموذج أولي لفكرة جديدة أو خبيرًا يقوم بنشر نظام قوي على أجهزة الحافة، فإن سهولة استخدام YOLOv5 وتعدد استخداماته ودعم المجتمع القوي سيسرع دورة التطوير الخاصة بك ويضمن النجاح.
PP-YOLOE+ هي أداة متخصصة تتفوق في السيناريوهات التي يكون فيها تحقيق أعلى mAP مطلق هو الهدف الأساسي، وفريق التطوير يتمتع بالفعل بالكفاءة في إطار PaddlePaddle. إنه نموذج قوي للبحث والتطبيقات التي لا يمكن فيها التنازل عن الدقة، بشرط أن تكون على استعداد للعمل داخل النظام البيئي المحدد الخاص به.
استكشف نماذج أخرى
تواصل Ultralytics دفع حدود ما هو ممكن في الكشف عن الأجسام. بالنسبة لأولئك الذين يبحثون عن أداء وميزات أكبر، نوصي باستكشاف نماذج أحدث مثل YOLOv8 وأحدث YOLO11. تعتمد هذه النماذج على أساس YOLOv5، وتقدم دقة محسنة ومهام مدعومة أكثر وكفاءة أكبر. يمكنك العثور على المزيد من المقارنات على صفحة المقارنة الرئيسية الخاصة بنا.