YOLOv5 ضد PP-YOLOE+: مقارنة فنية لكشف الأجسام
يُعد اختيار نموذج الكشف عن العناصر الأمثل قرارًا محوريًا يؤثر على كفاءة ودقة وقابلية توسع مشاريع الرؤية الحاسوبية. تقارن هذه المقارنة الشاملة بين Ultralytics YOLOv5، وهو نموذج أسطوري مشهور بسهولة استخدامه وسرعته، و PP-YOLOE+، وهو نموذج عالي الدقة من نظام PaddlePaddle البيئي الخاص بـ Baidu. من خلال تحليل بنياتهما ومقاييس الأداء وسير عمل النشر، نهدف إلى مساعدة المطورين والباحثين على اختيار أفضل حل لاحتياجاتهم الخاصة.
Ultralytics YOLOv5: معيار سهولة الاستخدام والسرعة
YOLOv5، الذي تم إصداره بواسطة Ultralytics في عام 2020، غيّر بشكل جذري مشهد رؤية الذكاء الاصطناعي من خلال جعل كشف الأجسام الحديث في متناول الجميع. على عكس سابقاتها، كانت أول نموذج YOLO يتم تنفيذه أصلاً في PyTorch، مما يبسط عملية التدريب والنشر لمجتمع علم البيانات العالمي. تعطي فلسفة تصميمه الأولوية للتوازن بين سرعة الاستدلال في الوقت الفعلي والدقة العالية، وتعبئتها في نظام بيئي سهل الاستخدام بشكل لا يصدق.
المؤلفون: جلين جوتشر
المنظمة:Ultralytics
التاريخ: 2020-06-26
GitHub:https://github.com/ultralytics/yolov5
المستندات:https://docs.ultralytics.com/models/yolov5/
نقاط القوة الرئيسية
- سهولة الاستخدام: يتم الاحتفاء بـ YOLOv5 لتجربة "خارج الصندوق". مع Python API مبسطة و أوامر CLI بديهية، يمكن للمطورين البدء في التدريب على مجموعات البيانات المخصصة في دقائق.
- نظام بيئي مُدار بشكل جيد: بدعم من Ultralytics، فإنه يتمتع بتحديثات متكررة ومجتمع ضخم ونشط. وهذا يضمن الدعم طويل الأجل وثروة من المعرفة المشتركة على منصات مثل GitHub Issues.
- موازنة الأداء: يوفر سرعات استدلال في الوقت الفعلي استثنائية، خاصة على الأجهزة الطرفية مثل Raspberry Pi، دون التضحية بدقة كبيرة.
- Versatility: بالإضافة إلى الـ detect القياسي، يدعم YOLOv5 كلاً من instance segmentation و image classification، مما يجعله أداة مرنة لمهام الرؤية المتنوعة.
PP-YOLOE+: دقة عالية في نظام Paddle البيئي
PP-YOLOE+ هو تطور لسلسلة PP-YOLO، التي طورها باحثون في Baidu. تم إصداره في عام 2022، وهو بمثابة نموذج رائد داخل مجموعة أدوات PaddleDetection. يعتمد على بنية خالية من الـ anchor واستراتيجيات تدريب متقدمة لتوسيع حدود الدقة في مجموعات البيانات القياسية مثل COCO.
المؤلفون: مؤلفو PaddlePaddle
المنظمة:Baidu
التاريخ: 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+ العمود الفقري CSPRepResNet ورأس اكتشاف فريد من نوعه وخالي من النماذج الأولية. كونه كاشفًا خاليًا من المرساة، فإنه يقلل من تعقيد ضبط المعلمات الفائقة المتعلقة بمربعات المرساة. إنه يتفوق في السيناريوهات التي يكون فيها تعظيم متوسط الدقة (mAP) هو الهدف الأساسي، وغالبًا ما يحقق درجات أعلى قليلاً من النماذج المماثلة القائمة على المرساة على حساب زيادة التعقيد الحسابي. ومع ذلك، فإن اعتماده على إطار عمل PaddlePaddle يمكن أن يمثل منحنى تعليميًا للفرق الموحدة على PyTorch أو TensorFlow.
تحليل الأداء: المقاييس والكفاءة
عند مقارنة YOLOv5 و PP-YOLOE+، تكمن المفاضلة عادةً بين الدقة المطلقة والكفاءة التشغيلية (السرعة وسهولة النشر).
السرعة مقابل الدقة
عادةً ما تنشر نماذج PP-YOLOE+ قيم mAP أعلى.التحقق النتائج على مجموعة بيانات COCO، مما يدل على قوتها في قدرات الـ detect الخالصة. على سبيل المثال، PP-YOLOE+l تحقق 52.9 mAP ملحوظة. ومع ذلك، غالبًا ما يصاحب ذلك زمن انتقال أعلى على الأجهزة القياسية مقارنة بـ YOLOv5.
يتألق Ultralytics YOLOv5 في سرعة الاستدلال. إن YOLOv5n نموذج (Nano) خفيف الوزن بشكل لا يصدق، حيث يحقق 28.0 mAP مع وقت استدلال سريع للغاية يبلغ 1.12 مللي ثانية على وحدة معالجة الرسوميات T4 GPU باستخدام TensorRT. هذا يجعل YOLOv5 الخيار الأفضل لـ تطبيقات الذكاء الاصطناعي المتطورة edge حيث تكون الاستجابة في جزء من الألف من الثانية أمرًا بالغ الأهمية.
الكفاءة الحسابية
تم تصميم نماذج YOLOv5 مع وضع قيود الذاكرة في الاعتبار. تتطلب عادةً ذاكرة CUDA أقل أثناء التدريب والاستدلال مقارنة بالبنى المعقدة الخالية من المرساة أو النماذج القائمة على المحولات. تسهل هذه الكفاءة النشر الأكثر سلاسة على الأجهزة ذات الموارد المحدودة، مثل وحدات NVIDIA Jetson، دون بذل جهود تحسين مكثفة.
| النموذج | الحجم (بالبكسل) | 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 من النظام البيئي Ultralytics المتكامل، الذي يبسّط خط أنابيب MLOps بأكمله.
- PyTorch Native: يضمن بناؤه على PyTorch التوافق مع الغالبية العظمى من الأدوات والمكتبات مفتوحة المصدر.
- عمليات تكامل سلسة: دعم مدمج لـ Weights & Biases و Comet و ClearML يجعل تتبع التجارب سهلاً للغاية.
- كفاءة التدريب: الأوزان المدربة مسبقًا متاحة بسهولة ويتم تنزيلها تلقائيًا، مما يسمح بالتعلم بالنقل السريع.
- النشر: يدعم وضع التصدير التحويل بنقرة واحدة إلى ONNX، و CoreML، و TFLite، والمزيد.
تبسيط سير العمل مع Ultralytics HUB
يمكنك تدريب نماذج YOLOv5 ومعاينتها ونشرها دون كتابة سطر واحد من التعليمات البرمجية باستخدام Ultralytics HUB. تدير هذه المنصة المستندة إلى الويب مجموعات البيانات وعمليات التدريب الخاصة بك، مما يجعل رؤية الذكاء الاصطناعي في متناول فرق العمل من جميع مستويات المهارة.
النظام الإيكولوجي PaddlePaddle
يعتمد PP-YOLOE+ على PaddlePaddle، إطار عمل التعلم العميق من Baidu. على الرغم من قوته وشعبيته في آسيا، إلا أنه يتمتع ببصمة أصغر في مجتمع البحث الغربي مقارنةً بـ PyTorch. غالبًا ما يتطلب اعتماد PP-YOLOE+ إعداد بيئة منفصلة وتعلم بناء جملة خاص بـ Paddle (paddle.io, paddle.nn). بينما الوثائق شامل، فإن النظام البيئي للأدوات الخارجية ودعم المجتمع أقل اتساعًا من نظام YOLOv5.
مثال على التعليمات البرمجية: بساطة YOLOv5
يوضح كود python التالي مدى سهولة تحميل نموذج YOLOv5 مُدرَّب مسبقًا وإجراء الاستدلال باستخدام PyTorch Hub.
import torch
# Load a YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image source
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results to console
results.print()
# Show the image with bounding boxes
results.show()
حالات الاستخدام في العالم الحقيقي
أين يتفوق YOLOv5
- الأتمتة الصناعية: تتيح سرعته العالية الكشف عن العيوب في الوقت الفعلي على خطوط التجميع سريعة الحركة.
- الروبوتات الذاتية: إن التحميل الزائد المنخفض للذاكرة يجعله مثاليًا للروبوتات ذات الحوسبة المدمجة المحدودة، مثل تلك المستخدمة في الخدمات اللوجستية.
- تطبيقات المدن الذكية: تتيح أداء وحدة المعالجة المركزية (CPU) الفعال نشرًا واسع النطاق لـ مراقبة حركة المرور على البنية التحتية الحالية.
أين يتناسب PP-YOLOE+
- أبحاث عالية الدقة: المشاريع الأكاديمية التي يكون فيها الضغط على آخر 1٪ من mAP أكثر أهمية من سرعة الاستدلال.
- البيئات التي تركز على Paddle: بيئات المؤسسات المستثمرة بالفعل بكثافة في البنية التحتية للنظام البيئي لـ Baidu.
الخلاصة: ما هو النموذج المناسب لك؟
بالنسبة للغالبية العظمى من المطورين والتطبيقات التجارية، يظل Ultralytics YOLOv5 هو الخيار الموصى به. إن سهولة استخدامه التي لا مثيل لها، ودعم المجتمع القوي، ومرونة النشر تجعله حلاً منخفض المخاطر وعالي المكافأة. إن القدرة على النشر على أي نظام أساسي تقريبًا - من الهواتف المحمولة إلى الخوادم السحابية - بأقل قدر من الاحتكاك تمنحه ميزة حاسمة في بيئات الإنتاج.
PP-YOLOE+ هو بديل قوي للمستخدمين الذين يحتاجون تحديدًا إلى هيكلية خالية من الارتكاز أو أولئك المدمجين بالفعل في سير عمل PaddlePaddle. دقته العالية جديرة بالثناء، ولكن تجزئة النظام البيئي يمكن أن تبطئ التطوير لأولئك الذين اعتادوا على سير عمل PyTorch القياسي.
استكشف نماذج أخرى
يتطور مجال رؤية الكمبيوتر بسرعة. في حين أن مقارنة هذه النماذج الراسخة أمر قيم، فإننا نشجعك على استكشاف أحدث التطورات في عائلة Ultralytics YOLO، والتي تقدم أداءً وميزات أفضل.
- YOLO11: أحدث نموذج SOTA يقدم دقة وكفاءة فائقتين لـ detect، segment، وتقدير الوضعية.
- YOLOv8: إطار عمل موحد وشائع للغاية يدعم مهام الـ OBB والـ classification.
- RT-DETR: كاشف يعتمد على المحولات ومُحسَّن للأداء في الوقت الفعلي.
للحصول على رؤية أوسع، تحقق من صفحة مقارنة النماذج الرئيسية الخاصة بنا لتقييم مختلف البنى وفقًا لمتطلباتك الخاصة.