PP-YOLOE+ مقابل YOLOv9: مقارنة تقنية
يتطلب اختيار البنية المثلى لمشاريع الرؤية الحاسوبية التنقل في مشهد من النماذج سريعة التطور. تقدم هذه الصفحة مقارنة تقنية مفصلة بين PP-YOLOE+ من بايدو و YOLOv9وهما كاشفان متطوران للكائنات أحادية المرحلة. نقوم بتحليل ابتكاراتهما المعمارية ومقاييس الأداء وتكامل النظام البيئي لمساعدتك على اتخاذ قرار مستنير. في حين أن كلا النموذجين يُظهران قدرات عالية، إلا أنهما يمثلان فلسفات تصميم وتبعيات إطار عمل متميزة.
PP-YOLOE+: دقة عالية ضمن نظام PaddlePaddle البيئي
PP-YOLOE+ هو نسخة مطوّرة من PP-YOLOE، تم تطويره بواسطة Baidu كجزء من مجموعة PaddleDetection. وقد تم تصميمه لتوفير مفاضلة متوازنة بين الدقة وسرعة الاستدلال، وتم تحسينه خصيصًا ل PaddlePaddle إطار التعلم العميق.
المؤلفون: PaddlePaddle المؤلفون
المنظمة:Baidu
التاريخ: 2022-04-02
Arxiv:https://arxiv.org/abs/2203.16250
GitHub:PaddlePaddle
المستندات:PaddleDetection PP-YOLOE+ README
البنية والميزات الرئيسية
يعمل PP-YOLOE+ ككاشف أحادي المرحلة خالٍ من الارتكاز. وهو يعتمد على العمود الفقري لشبكة CSPRepResNet ويستخدم استراتيجية تعلم محاذاة المهام (TAL) لتحسين المواءمة بين مهام التصنيف والتوطين. الميزة الرئيسية هي الرأس الفعال لمحاذاة المهام (ET-Head)، والتي تقلل من النفقات الحسابية مع الحفاظ على الدقة. يستخدم النموذج دالة خسارة متغيرة البؤرة للتعامل مع اختلال التوازن بين الفئات أثناء التدريب.
نقاط القوة والضعف
تكمن القوة الأساسية لبرنامج PP-YOLOE+ في تحسينه لمكدس أجهزة وبرامج بايدو. فهو يوفر نماذج قابلة للتطوير (s، m، l، x) التي تؤدي أداءً جيدًا في معايير الكشف عن الكائنات القياسية.
ومع ذلك، فإن اعتماده الكبير على نظام PaddlePaddle يمثل عقبة كبيرة أمام مجتمع الذكاء الاصطناعي الأوسع، والذي يفضل إلى حد كبير PyTorch. يمكن أن يكون ترحيل عمليات سير عمل PyTorch الحالية إلى PaddlePaddle كثيف الموارد. بالإضافة إلى ذلك، بالمقارنة مع البنى الأحدث، يتطلب PP-YOLOE+ المزيد من المعلمات لتحقيق دقة مماثلة، مما يؤثر على التخزين والذاكرة على الأجهزة المقيدة.
YOLOv9: معلومات التدرج القابلة للبرمجة لتحسين التعلم
Ultralytics YOLOv9 يقدم نقلة نوعية في الكشف عن الأجسام في الوقت الحقيقي من خلال معالجة مشكلة "عنق الزجاجة المعلوماتي" المتأصلة في الشبكات العصبية العميقة.
المؤلفون: تشين-ياو وانغ وهونغ يوان مارك لياو
المنظمة:معهد علوم المعلومات، الأكاديمية الصينية للعلوم بتايوان
التاريخ: 2024-02-21
Arxiv:https://arxiv.org/abs/2402.13616
GitHub:https://github.com/WongKinYiu/yolov9
التوثيقultralytics
البنية والميزات الرئيسية
YOLOv9 مفهومين رائدين: معلومات التدرج القابلة للبرمجة (PGI ) وشبكة تجميع الطبقات الفعالة المعممة (GELAN).
- PGI: مع تعميق الشبكات، غالبًا ما تُفقد معلومات بيانات الإدخال أثناء عملية التغذية الأمامية. يوفر PGI فرع إشراف إضافي يضمن توليد تدرج موثوق به، مما يسمح للنموذج "بتذكر" الميزات المهمة لمهام تتبع الأجسام واكتشافها دون إضافة تكلفة استدلالية.
- GELAN: يعمل هذا التصميم المعماري على تحسين كفاءة البارامتر، مما يسمح للنموذج بتحقيق دقة أعلى بموارد حسابية أقل (FLOPs) مقارنةً بالعمود الفقري التقليدي باستخدام التدوير العميق.
هل كنت تعلم؟
تعمل تقنية YOLOv9 في YOLOv9 على حل مشكلة عنق الزجاجة المعلوماتية التي كانت تتطلب في السابق أساليب إشراف عميقة مرهقة. وينتج عن ذلك نماذج أخف وزنًا وأكثر دقة، مما يحسن توازن الأداء بشكل كبير.
نقاط القوة والضعف
يتفوق YOLOv9 في كفاءة التدريب واستخدام المعلمات. فهو يحقق أحدث النتائج على مجموعة بياناتCOCO متجاوزًا التكرارات السابقة في الدقة مع الحفاظ على سرعات الوقت الحقيقي. ويعني تكامله في نظام Ultralytics أنه يستفيد من نظام بيئي جيد الصيانة، بما في ذلك النشر البسيط عبر أوضاع التصدير إلى تنسيقات مثل ONNX و TensorRT.
أحد الاعتبارات المحتملة هو أن المتغيرات الأكبرYOLOv9) تتطلب موارد كبيرة من GPU للتدريب. ومع ذلك، تظل بصمة الذاكرة الاستدلالية تنافسية، مما يجنب التكاليف العالية المرتبطة بالنماذج القائمة على المحولات.
تحليل الأداء المقارن
في مقارنة مباشرة، يُظهر YOLOv9 كفاءة أعلى. على سبيل المثال، يُحقق نموذج YOLOv9 mAP أعلى (53.0%) من نموذج YOLOv9(52.9%) مع استخدام نصف المعلمات تقريبًا (25.3 مليون مقابل 52.2 مليون). يسلط هذا الانخفاض الكبير في حجم النموذج دون المساس بالدقة الضوء على فعالية بنية GELAN.
| النموذج | الحجم (بالبكسل) | mAPفال 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
يوضح الجدول أنه بالنسبة لأهداف الدقة المماثلة، يتطلب YOLOv9 باستمرار موارد حسابية أقل. ويتخطى نموذج YOLOv9 الحدود، محققًا 55.6% من الدقة mAP القصوى، وهو ما يمثل ميزة واضحة على أكبر متغير PP-YOLOE+.
ميزة Ultralytics
في حين أن PP-YOLOE+ هو كاشف قادر، فإن اختيار YOLOv9 من خلال إطار عمل Ultralytics يوفر مزايا مميزة فيما يتعلق بسهولة الاستخدام وتعدد الاستخدامات.
تجربة مستخدم مبسطة
تعطي Ultralytics الأولوية للتجربة الملائمة للمطورين. على عكس ملفات التكوين المعقدة التي غالبًا ما يتطلبها PaddleDetection، يمكن تحميل نماذج Ultralytics وتدريبها ونشرها ببضعة أسطر من كود Python . وهذا يقلل بشكل كبير من حاجز الدخول للمهندسين والباحثين.
تعدد الاستخدامات والنظام البيئي
يدعم Ultralytics مجموعة واسعة من المهام التي تتجاوز الاكتشاف البسيط، بما في ذلك تجزئة المثيل وتقدير الوضع واكتشاف الصندوق المحيط الموجه (OBB). يسمح هذا التنوع للمطورين بمعالجة التحديات المتنوعة باستخدام واجهة برمجة تطبيقات واحدة موحدة. وعلاوة على ذلك، يضمن المجتمع النشط والتحديثات المتكررة حصول المستخدمين على أحدث التحسينات والتكاملات مع أدوات مثل TensorBoard و MLflow.
مثال على الكود: استخدام YOLOv9
يوضح المثال التالي كيف يمكنك بسهولة تشغيل الاستدلال باستخدام YOLOv9 باستخدام واجهة برمجة تطبيقات Ultralytics Python . تتناقض هذه البساطة مع الإعداد الأكثر إسهابًا المطلوب غالبًا في PP-YOLOE+.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display results
results[0].show()
حالات الاستخدام المثالية
- PP-YOLOE+: الأنسب للفرق المندمجة بالفعل بعمق في منظومة PaddlePaddle أو لتطبيقات صناعية قديمة محددة في المناطق التي يسود فيها دعم أجهزة PaddlePaddle .
- YOLOv9: مثالي للتطبيقات التي تتطلب أعلى نسبة دقة إلى كفاءة، مثل المركبات ذاتية القيادة، وتحليلات الفيديو في الوقت الحقيقي، والنشر على الحافة حيث تكون متطلبات الذاكرة والتخزين قيودًا.
الخلاصة والتوصيات
بالنسبة لمعظم المطورين والمؤسسات، يمثلYOLOv9 الخيار الأفضل لمعظم المطورين والمؤسسات، نظرًا لبنيته الحديثة (GELAN/PGI)، وكفاءة المعلمات الفائقة، والدعم القوي لنظام Ultralytics البيئي. كما أنه يوفر حلاً مستقبلياً مع أوزان متوفرة مسبقاً ومتاحة بسهولة مع إمكانات تصدير سلسة.
إذا كنت تبحث عن المزيد من التنوع والسرعة، نوصي أيضاً باستكشاف YOLO11وهو أحدث تكرار في سلسلة YOLO . يعمل YOLO11 على تحسين التوازن بين الأداء والكمون بشكل أكبر، حيث يقدم أحدث القدرات لمهام الكشف والتجزئة والتصنيف في حزمة مدمجة.
للراغبين في الحصول على عمالة مجربة, YOLOv8 يظل خيارًا موثوقًا للغاية مع موارد مجتمعية واسعة النطاق وعمليات تكامل مع جهات خارجية.