تخطي إلى المحتوى

EfficientDet ضد PP-YOLOE+: مقارنة فنية

في تطور الرؤية الحاسوبية، هناك القليل من المقارنات التي تسلط الضوء على التحول في فلسفة التصميم بوضوح مثل التباين بين EfficientDet من Google و PP-YOLOE+ من Baidu. في حين أن EfficientDet يمثل علامة فارقة في كفاءة المعلمات من خلال القياس المركب، فإن PP-YOLOE+ يمثل العصر الحديث للكشف عالي السرعة والخالي من الارتكازات والمحسّن للاستدلال GPU .

يتعمق هذا التحليل في بنيتها ومقاييس أدائها وتطبيقاتها العملية لمساعدة المطورين على اختيار الأداة المناسبة لاحتياجاتهم الخاصة في اكتشاف الأجسام.

تحليل الأداء وجهاً لوجه

لقد تغير مشهد الأداء بشكل كبير بين إصدار هذين النموذجين. يركز EfficientDet على تقليل عدد عمليات الفاصلة العائمة ( FLOPs ) وعدد المعلمات إلى الحد الأدنى، مما يجعله فعالاً من الناحية النظرية. ومع ذلك، تم تصميم PP-YOLOE+ لسرعة الاستدلال العملي على مسرعات الأجهزة مثل وحدات معالجة الرسومات، والاستفادة من تحسينات TensorRT .

النموذجالحجم
(بالبكسل)
mAPفال
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
EfficientDet-d064034.610.23.923.92.54
EfficientDet-d164040.513.57.316.66.1
EfficientDet-d264043.017.710.928.111.0
EfficientDet-d364047.528.019.5912.024.9
EfficientDet-d464049.742.833.5520.755.2
EfficientDet-d564051.572.567.8633.7130.0
EfficientDet-d664052.692.889.2951.9226.0
EfficientDet-d764053.7122.0128.0751.9325.0
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

تكشف البيانات عن فكرة مهمة: في حين أن EfficientDet-d0 خفيف الوزن، فإن المتغيرات الأكبر (d5-d7) تعاني من زمن انتقال كبير. وعلى العكس من ذلك، يحقق PP-YOLOE+l متوسط دقة متوسط (mAP) مماثل لمتوسط دقة (mAP) EfficientDet-d6 (52.9 مقابل 52.6) ولكنه يعمل أسرع بأكثر من 10 أضعاف على GPU T4 (8.36 مللي ثانية مقابل 89.29 مللي ثانية).

EfficientDet: الكفاءة القابلة للتطوير

تم تقديم EfficientDet من قِبل فريق Google Brain AutoML بهدف كسر قيود الكفاءة في أجهزة الكشف السابقة. وهو مبني على العمود الفقري EfficientNet، حيث يطبق طريقة تحجيم مركبة تقيس الدقة والعمق والعرض بشكل موحد.

المؤلفون: Mingxing Tan, Ruoming Pang, and Quoc V. Le
المنظمة:Google
التاريخ: 2019-11-20
Arxiv:1911.09070
GitHub:google
المستندات:README

الميزات المعمارية الرئيسية

  1. BiFPPN (شبكة هرم السمات ثنائية الاتجاه): على عكس الشبكات الهرمية للخصائص التقليدية، تسمح الشبكة الهرمية الثنائية الاتجاه بدمج الميزات متعددة النطاقات بسهولة. وهي تقدم أوزانًا قابلة للتعلم لتعلم أهمية ميزات المدخلات المختلفة، وتطبيق دمج الميزات متعددة النطاقات من أعلى إلى أسفل ومن أسفل إلى أعلى بشكل متكرر.
  2. التحجيم المركب: يتحكم المعامل المركب الواحد $\phi$ في عرض الشبكة وعمقها ودقتها، مما يسمح بوجود مجموعة من النماذج (D0 إلى D7) التي تستهدف قيود الموارد المختلفة.

نقاط القوة والضعف

  • نقاط القوة: كفاءة معلمة ممتازة؛ فعالة لوحدات المعالجة المركزية منخفضة الطاقة حيث تكون وحدات المعالجة المركزية ذات الطاقة المنخفضة حيث تكون وحدات FLOP هي عنق الزجاجة الأساسي؛ نهج تحجيم منظم للغاية.
  • نقاط الضعف: غالبًا ما تكون الوصلات المعقدة في BiFPPN والالتفافات القابلة للفصل من حيث العمق مقيدة بالذاكرة على وحدات معالجة الرسومات، مما يؤدي إلى زمن انتقال أبطأ في الاستدلال في العالم الحقيقي على الرغم من انخفاض عدد عمليات التشغيل.

هل تعلم؟

يقلل استخدام EfficientDet المكثف للالتفافات القابلة للفصل على مستوى العمق من عدد المعلمات بشكل كبير ولكن يمكن أن يؤدي إلى استخدام أقل GPU مقارنةً بالالتفافات القياسية المستخدمة في نماذج مثل YOLO.

تعرف على المزيد حول EfficientDet

PP-YOLOE+: المتحدي الخالي من المرساة

تم إصداره من قبل Baidu كجزء من نظام PaddlePaddle PP-YOLOE+ هو تطوير لـ PP-YOLOv2. ويهدف إلى التفوق على أداء YOLOv5 و YOLOX من خلال اعتماد آلية خالية تمامًا من المرساة واستراتيجيات تدريب متقدمة.

المؤلفون: PaddlePaddle المؤلفون
المنظمة:Baidu
التاريخ: 2022-04-02
Arxiv:2203.16250
GitHub:PaddlePaddle
المستندات:PP-YOLOE+ Configs

الميزات المعمارية الرئيسية

  1. تصميم خالٍ من المرساة: من خلال التخلص من مربعات الارتكاز المحددة مسبقًا، يعمل PP-YOLOE+ على تبسيط رأس الكشف وتقليل عبء ضبط المعلمة الفائقة.
  2. CSPRepResResNet: يستخدم العمود الفقري شبكة RepResResBlock، والتي تجمع بين مزايا الاتصالات المتبقية أثناء التدريب وتعيد تحديدها في بنية مبسطة للاستدلال.
  3. TAL (تعلم محاذاة المهام): استراتيجية تعيين تسمية متقدمة تقوم بمواءمة درجة التصنيف وجودة التوطين بشكل ديناميكي.

نقاط القوة والضعف

  • نقاط القوة: دقة فائقة على مجموعة بياناتCOCO سرعة فائقة على الأجهزة TensorRT تصميم رأس مبتكر.
  • نقاط الضعف: مرتبطة بشكل كبير بإطار عمل PaddlePaddle مما قد يشكل تحديات تكاملية للفرق التي تعتمد على PyTorch عدد معلمات أعلى قليلاً للنماذج الصغيرة مقارنةً بـ EfficientDet-d0.

ميزة Ultralytics : حل موحد

بينما يوفر EfficientDet الكفاءة النظرية ويوفر PP-YOLOE+ السرعة الفائقة، غالبًا ما يحتاج المطورون إلى حل يوازن بين الأداء وسهولة الاستخدام ودعم النظام البيئي. وهنا يأتي دور Ultralytics YOLO11 يتفوق.

على عكس الطبيعة المتخصصة لنماذج المقارنة، صُممت نماذج Ultralytics لتلائم سير عمل MLOPS الحديث، حيث تقدم تجربة PyTorch الأصلية التي يسهل تدريبها ونشرها.

لماذا تختار Ultralytics YOLO11؟

  • سهولة الاستخدام: من خلال التركيز على تجربة المطورين، يتيح لك Ultralytics الانتقال من التثبيت إلى الاستدلال في ثلاثة أسطر من كود Python . ليست هناك حاجة لتجميع مكتبات المشغل المعقدة يدويًا أو تحويل التنسيقات الخاصة.
  • تعدد الاستخدامات: يدعم إطار عمل واحد الكشف عن الكائنات، وتقسيم المثيلات، وتقدير الوضعية، والتصنيف، والمربعات المحدودة الموجهة (OBB).
  • توازن الأداء: يعمل YOLO11 على تحسين المفاضلة بين السرعة والدقة، مما يوفر إمكانات الاستدلال في الوقت الفعلي على أجهزة Edge (مثل Jetson) ووحدات معالجة الرسومات السحابية على حد سواء.
  • متطلبات الذاكرة: تستخدم نماذج Ultralytics YOLO بنيات محسّنة تتطلب عادةً ذاكرة CUDA أقل أثناء التدريب مقارنةً بالبدائل القائمة على المحولات أو شبكات الميزات متعددة النطاقات الأقدم.
  • نظام بيئي جيد الصيانة: يتلقى المستودع المدعوم من مجتمع مفتوح المصدر نابض بالحياة تحديثات متكررة، مما يضمن التوافق مع أحدث إصدارات PyTorch و CUDA و Python.
  • كفاءة التدريب: يمكن للمستخدمين الاستفادة من الأوزان المتوفرة مسبقًا والمتاحة بسهولة لضبط النماذج على مجموعات البيانات المخصصة بسرعة، مما يقلل بشكل كبير من متطلبات بيانات التدريب وتكاليف الحوسبة.

مثال على الكود: البدء باستخدام YOLO11

لا ينبغي أن يكون تشغيل نموذج حديث معقداً. إليك كيفية تنفيذ اكتشاف الكائنات بسهولة باستخدام Ultralytics:

from ultralytics import YOLO

# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")

# Run inference on an image
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

تعرف على المزيد حول YOLO11

الخلاصة

يعتمد الاختيار بين EfficientDet وPP-YOLOE+ إلى حد كبير على قيود الأجهزة والمتطلبات القديمة.

  • يظل EfficientDet مرجعًا صالحًا للبحث في التحجيم الفعال للمعلمات ومناسبًا لسيناريوهات محددة CPU حيث يكون عرض النطاق الترددي للذاكرة ضيقًا.
  • يعد PP-YOLOE+ خيارًا متفوقًا لنشر GPU عالية الأداء، حيث يوفر مفاضلات أفضل بكثير بين زمن الوصول والدقة إذا كنت مرتاحًا في التنقل في نظام PaddlePaddle البيئي.

ومع ذلك، بالنسبة للغالبية العظمى من التطبيقات في العالم الحقيقي - بدءًا من تحليلات المدن الذكية إلى المراقبة الزراعية - فإنUltralytics YOLO11 الخيار الأكثر واقعية. فهو يجمع بين الابتكارات المعمارية لأجهزة الكشف الحديثة الخالية من الارتكاز وتجربة مستخدم لا مثيل لها، مما يسمح لك بالتركيز على حل مشاكل الأعمال بدلاً من تصحيح تعقيدات إطار العمل.

اكتشف موديلات أخرى

ولمزيد من الاستكشاف، يمكنك مراجعة هذه المقارنات ذات الصلة:


تعليقات