PP-YOLOE+ مقابل EfficientDet: مقارنة فنية للكشف عن الكائنات
يعد اختيار نموذج الكشف عن الكائنات الصحيح قرارًا حاسمًا يؤثر على الأداء وقابلية التوسع وكفاءة تطبيقات الرؤية الحاسوبية. في هذه المقارنة الفنية، نقوم بتحليل بنيتين بارزتين: PP-YOLOE+، وهو كاشف عالي الأداء وخالي من المرساة من نظام PaddlePaddle البيئي الخاص بـ Baidu، و EfficientDet، وهي بنية Google القابلة للتطوير والمعروفة بطريقة التحجيم المركب الخاصة بها.
PP-YOLOE+: مُحسَّن للسرعة والدقة
يمثل PP-YOLOE+ تطورًا كبيرًا في سلسلة YOLO، تم تطويره لتقديم توازن مثالي بين الدقة وسرعة الاستدلال. بالاعتماد على نموذج الخالي من المرساة، فإنه يبسط خط أنابيب الاكتشاف مع الاستفادة من التقنيات المتقدمة مثل Task Alignment Learning (TAL).
- المؤلفون: مؤلفو 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+ CSPRepResNet backbone، الذي يجمع بين كفاءة CSPNet وقدرات إعادة المعلمات لـ ResNet. يتيح ذلك للنموذج التقاط تمثيلات ميزات غنية دون تكبد تكاليف حسابية مفرطة. تستخدم الرقبة شبكة تجميع المسار (PAN) لدمج الميزات متعددة المقاييس بشكل فعال، مما يضمن اكتشاف الكائنات الصغيرة بموثوقية أعلى.
إحدى الميزات البارزة هي رأس محاذاة المهام الفعال (ET-Head). على عكس الرؤوس المقترنة التقليدية، يفصل ET-Head بين مهام التصنيف والموقع، باستخدام TAL لمحاذاة أفضل المراسي ديناميكيًا مع كائنات الحقيقة الأساسية. يحسن هذا النهج بشكل كبير سرعة التقارب والدقة النهائية.
EfficientDet: كفاءة قابلة للتطوير
قدم EfficientDet نهجًا جديدًا لتوسيع نطاق النموذج، مع التركيز على تحسين الدقة والكفاءة في وقت واحد. يعتمد على EfficientNet backbone ويقدم شبكة Bi-directional Feature Pyramid Network (BiFPN) مرجحة.
- المؤلفون: مينغشينغ تان، رومينغ بانغ، وكوك ف. لي
- المؤسسة:Google
- التاريخ: 2019-11-20
- Arxiv:https://arxiv.org/abs/1911.09070
- GitHub:https://github.com/google/automl/tree/master/efficientdet
- الوثائق:https://github.com/google/automl/tree/master/efficientdet#readme
الميزات المعمارية الرئيسية
يكمن الابتكار الأساسي في EfficientDet في BiFPN، والذي يسمح بدمج الميزات متعددة المقاييس بسهولة وسرعة. على عكس FPNs السابقة التي جمعت الميزات بالتساوي، تقوم BiFPN بتعيين أوزان لكل ميزة إدخال، مما يسمح للشبكة بتعلم أهمية ميزات الإدخال المختلفة. بالإضافة إلى ذلك، تستخدم EfficientDet طريقة توسيع نطاق مركبة تعمل على توسيع النطاق بشكل موحد للدقة والعمق والعرض لجميع الشبكات الأساسية وشبكات الميزات وشبكات التنبؤ بالمربع/الفئة، مما يوفر مجموعة من النماذج (D0 إلى D7) مصممة خصيصًا لقيود الموارد المختلفة.
تعرف على المزيد حول EfficientDet
تحليل الأداء: السرعة مقابل الدقة
عند تقييم هذه النماذج، يصبح التوازن بين سرعة الاستدلال ومتوسط الدقة (mAP) واضحًا. في حين أن EfficientDet وضعت معايير عالية عند إصدارها، فقد استفادت البنى الأحدث مثل PP-YOLOE+ من التصميمات المدركة للأجهزة لتحقيق أداء فائق على وحدات معالجة الرسوميات الحديثة.
| النموذج | الحجم (بالبكسل) | mAPval 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 |
| EfficientDet-d0 | 640 | 34.6 | 10.2 | 3.92 | 3.9 | 2.54 |
| EfficientDet-d1 | 640 | 40.5 | 13.5 | 7.31 | 6.6 | 6.1 |
| EfficientDet-d2 | 640 | 43.0 | 17.7 | 10.92 | 8.1 | 11.0 |
| EfficientDet-d3 | 640 | 47.5 | 28.0 | 19.59 | 12.0 | 24.9 |
| EfficientDet-d4 | 640 | 49.7 | 42.8 | 33.55 | 20.7 | 55.2 |
| EfficientDet-d5 | 640 | 51.5 | 72.5 | 67.86 | 33.7 | 130.0 |
| EfficientDet-d6 | 640 | 52.6 | 92.8 | 89.29 | 51.9 | 226.0 |
| EfficientDet-d7 | 640 | 53.7 | 122.0 | 128.07 | 51.9 | 325.0 |
تُظهر البيانات أن PP-YOLOE+ يتفوق بشكل كبير على EfficientDet في زمن انتقال الاستدلال على GPU. على سبيل المثال، يحقق PP-YOLOE+l قيمة mAP أعلى (52.9) من EfficientDet-d6 (52.6) مع كونه أسرع بأكثر من 10 مرات على T4 GPU (8.36 مللي ثانية مقابل 89.29 مللي ثانية). تحافظ EfficientDet على أهميتها في السيناريوهات التي تكون فيها FLOPs هي القيد الأساسي، مثل وحدات المعالجة المركزية (CPU) المحمولة منخفضة الطاقة جدًا، لكنها تكافح للتنافس في بيئات الخادم عالية الإنتاجية.
تحسين الأجهزة
تم تصميم الخيارات المعمارية في PP-YOLOE+ خصيصًا لتكون صديقة لمسرّعات أجهزة GPU مثل TensorRT. تم تصميم العمليات لزيادة التوازي إلى أقصى حد، في حين أن الاتصالات المعقدة في BiFPN الخاص بـ EfficientDet يمكن أن تخلق أحيانًا اختناقات في الوصول إلى الذاكرة على وحدات معالجة الرسومات.
نقاط القوة والضعف
يساعد فهم إيجابيات وسلبيات كل نموذج في اختيار الأداة المناسبة لمهام رؤية حاسوبية محددة.
PP-YOLOE+
- نقاط القوة:
- نسبة السرعة إلى الدقة العالية: يوفر أحدث mAP مع إمكانات الاستدلال في الوقت الفعلي على وحدات معالجة الرسومات.
- خالٍ من المرتكزات (Anchor-Free): يزيل الحاجة إلى الضبط المعقد لمربع الارتكاز، مما يبسط إعداد التدريب.
- تعيين تسمية ديناميكية: يستخدم TAL لتحسين التوافق بين classify وتحديد الموقع.
- نقاط الضعف:
- تخصص النظام البيئي: مُحسَّن بشكل كبير لإطار عمل PaddlePaddle، والذي قد يمثل منحنى تعليميًا للمستخدمين المعتادين على PyTorch.
- كثافة الموارد: تتطلب المتغيرات الأكبر (L و X) ذاكرة كبيرة، مما قد يحد من النشر على الأجهزة الطرفية ذات حدود RAM الصارمة.
EfficientDet
- نقاط القوة:
- كفاءة المعلمات: تحقيق دقة عالية مع عدد قليل نسبيًا من المعلمات مقارنةً بالكاشفات الأقدم.
- قابلية التوسع: تسمح طريقة القياس المركب للمستخدمين بالتبديل بسهولة بين أحجام النماذج (d0-d7) بناءً على الحوسبة المتاحة.
- BiFPN: دمج مبتكر للميزات يعالج الكائنات بكفاءة بمقاييس مختلفة.
- نقاط الضعف:
- الاستدلال البطيء: على الرغم من انخفاض عدد عمليات الفاصلة العائمة (FLOPs)، غالبًا ما يؤدي هيكل الرسم البياني المعقد إلى أوقات استدلال أبطأ في العالم الحقيقي، خاصة على وحدات معالجة الرسومات (GPUs).
- سرعة التدريب: يمكن أن يكون التدريب أبطأ مقارنةً بأجهزة الكشف الحديثة أحادية المرحلة نظرًا لتعقيد البنية.
حالات الاستخدام في العالم الحقيقي
تتفوق هذه النماذج في بيئات مختلفة بناءً على نقاط قوتها المعمارية.
التصنيع والأتمتة الصناعية: يعتبر PP-YOLOE+ خيارًا ممتازًا لمراقبة الجودة في التصنيع. تتيح سرعة الاستدلال العالية إمكانية الكشف عن العيوب في الوقت الفعلي على خطوط التجميع السريعة حيث الأجزاء من الألف من الثانية مهمة.
البيع بالتجزئة الذكي والمخزون: بالنسبة إلى تحليلات البيع بالتجزئة، مثل الدفع الآلي أو مراقبة الرفوف، تضمن دقة PP-YOLOE+ تحديد المنتجات بشكل صحيح حتى في المشاهد المزدحمة.
الاستشعار عن بعد والتصوير الجوي: إن قدرة EfficientDet على التوسع إلى دقة أعلى (على سبيل المثال، D7) تجعلها مفيدة لتحليل صور الأقمار الصناعية أو الطائرات بدون طيار عالية الدقة حيث تكون سرعة المعالجة أقل أهمية من detect الميزات الصغيرة في الصور الكبيرة.
الأجهزة الطرفية منخفضة الطاقة: يتم تفضيل متغيرات EfficientDet الأصغر (D0-D1) في بعض الأحيان لأجهزة الذكاء الاصطناعي الطرفي القديمة حيث يكون إجمالي FLOPs هو الحد الأقصى، وتسريع GPU غير متاح.
ميزة Ultralytics: لماذا تختار YOLO11؟
بينما يقدم PP-YOLOE+ و EfficientDet حلولًا قوية، فإن نموذج Ultralytics YOLO11 يوفر تجربة فائقة لمعظم المطورين والباحثين. فهو يجمع بين أفضل الابتكارات المعمارية الحديثة مع نظام بيئي يركز على المستخدم.
لماذا تبرز YOLO11
- سهولة الاستخدام: تشتهر نماذج Ultralytics بقابليتها للاستخدام "خارج الصندوق". باستخدام Python API بسيط و CLI بديهي، يمكنك تدريب النماذج والتحقق من صحتها ونشرها في دقائق، على عكس ملفات التكوين المعقدة التي تتطلبها الأطر الأخرى غالبًا.
- نظام بيئي مُدار بشكل جيد: مجتمع Ultralytics نشط ومتنامي. تضمن التحديثات المنتظمة التوافق مع أحدث إصدارات PyTorch و ONNX و CUDA، مما يوفر أساسًا ثابتًا للمشاريع طويلة الأجل.
- موازنة الأداء: يحقق YOLO11 توازنًا ملحوظًا، وغالبًا ما يتجاوز PP-YOLOE+ في السرعة مع مطابقة الدقة أو تجاوزها. إنه مصمم ليكون مستقلاً عن الأجهزة، ويعمل بشكل جيد للغاية على وحدات المعالجة المركزية CPUs ووحدات معالجة الرسومات GPUs ووحدات المعالجة العصبية NPUs.
- كفاءة الذاكرة: بالمقارنة مع النماذج القائمة على المحولات أو البنى القديمة، تم تحسين نماذج Ultralytics YOLO لتقليل استهلاك الذاكرة أثناء التدريب. يتيح ذلك أحجام دفعات أكبر وتقارب أسرع على الأجهزة القياسية.
- تنوع الاستخدامات: على عكس EfficientDet الذي هو في الأساس كاشف للكائنات، يدعم YOLO11 مجموعة واسعة من المهام بما في ذلك تقسيم المثيلات، و تقدير الوضعية، و الكشف عن الكائنات الموجهة (OBB)، والتصنيف داخل إطار عمل موحد واحد.
- كفاءة التدريب: بفضل التحسينات المتقدمة ومحملات البيانات المحسّنة، يكون تدريب نموذج YOLO11 سريعًا وفعالًا. تتوفر أوزان مدربة مسبقًا واسعة النطاق، مما يتيح نتائج قوية للتعلم بالنقل بأقل قدر من البيانات.
مثال: تشغيل YOLO11 في Python
يتطلب فقط بضعة أسطر من التعليمات البرمجية لتحميل نموذج YOLO11 مُدرَّب مسبقًا وتشغيل الاستدلال، مما يدل على بساطة سير عمل Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
الخلاصة
ساهم كل من PP-YOLOE+ و EfficientDet بشكل كبير في مجال رؤية الكمبيوتر. يعتبر PP-YOLOE+ منافسًا قويًا للمستخدمين المدمجين بعمق في نظام Baidu البيئي الذين يحتاجون إلى إنتاجية عالية لوحدة معالجة الرسوميات GPU. يظل EfficientDet مثالًا كلاسيكيًا على كفاءة المعلمات والتصميم القابل للتطوير.
ومع ذلك، بالنسبة لأولئك الذين يبحثون عن حل متعدد الاستخدامات وعالي الأداء وسهل الاستخدام للمطورين، فإن Ultralytics YOLO11 هو الخيار الموصى به. إن جمعه بين الدقة المتطورة والسرعة في الوقت الفعلي والنظام البيئي الداعم يجعله النظام الأساسي المثالي لبناء تطبيقات الذكاء الاصطناعي من الجيل التالي.
لمزيد من المقارنات، ضع في اعتبارك استكشاف YOLO11 مقابل EfficientDet أو PP-YOLOE+ مقابل YOLOv10 لمعرفة كيف تتراكم هذه النماذج مقابل البنى الأخرى الحديثة.