EfficientDet مقابل YOLO11: الموازنة بين الكفاءة والأداء في الوقت الفعلي
لقد تطور مشهد اكتشاف الأجسام بسرعة، مدفوعًا بالحاجة إلى نماذج ليست دقيقة فحسب، بل أيضًا فعالة بما يكفي للنشر في العالم الحقيقي. من المعالم الهامة في هذا التطور EfficientDet من Ultralytics YOLO11 التابع لـ Google. في حين أن كلا التصميمين يهدفان إلى تحسين التوازن بين السرعة والدقة، إلا أنهما يتعاملان مع المشكلة بفلسفات تصميم مختلفة ويستهدفان حالات استخدام أولية مختلفة.
أحدثت EfficientDet ثورة في هذا المجال من خلال تقديم طريقة منهجية لتوسيع أبعاد النموذج، مع التركيز بشكل مكثف على كفاءة المعلمات وتكاليف الحساب النظرية (FLOPs). على النقيض من ذلك، تمثل YOLO11 أحدث ما توصلت إليه رؤية الكمبيوتر في الوقت الفعلي، مع إعطاء الأولوية لسرعة الاستدلال العملي على الأجهزة الحديثة، والتنوع عبر المهام، وتجربة تتمحور حول المطور. تتعمق هذه المقارنة الشاملة في مواصفاتها الفنية وابتكاراتها المعمارية ومعايير الأداء لمساعدتك في اختيار الأداة المناسبة لمشروعك.
EfficientDet من Google
EfficientDet عبارة عن مجموعة من نماذج detect الكائنات طورتها Google Brain team. تم إصداره في أواخر عام 2019، وقد تم تصميمه لمعالجة عدم كفاءة أجهزة الكشف الحديثة السابقة التي غالبًا ما تعتمد على أعمدة فقرية ضخمة أو شبكات دمج ميزات غير محسّنة.
تفاصيل فنية:
- المؤلفون: مينغشينغ تان، رومينغ بانغ، كوك ف. لي
- المؤسسة:Google
- التاريخ: 2019-11-20
- Arxiv:EfficientDet: كشف الأجسام القابل للتطوير والفعال
- GitHub:google/automl/efficientdet
- الوثائق:EfficientDet README
الهندسة المعمارية والابتكارات الرئيسية
يكمن نجاح EfficientDet في مساهمتين معماريتين رئيسيتين تعملان جنبًا إلى جنب لتحقيق أقصى قدر من الكفاءة:
- BiFPN (شبكة الهرم المميز ثنائية الاتجاه): قامت شبكات الهرم المميز (FPN) التقليدية بدمج الميزات من مقاييس مختلفة بطريقة من أعلى إلى أسفل. قدمت EfficientDet شبكة BiFPN، التي تسمح بتدفق المعلومات في اتجاهين من أعلى إلى أسفل ومن أسفل إلى أعلى. علاوة على ذلك، فإنه يستخدم آلية دمج الميزات الموزونة، ويتعلم أهمية كل ميزة إدخال، مما يسمح للشبكة بإعطاء الأولوية للإشارات الأكثر إفادة.
- التحجيم المركب: مستوحاة من EfficientNet، تنشئ هذه الطريقة عائلة من النماذج (D0 إلى D7) عن طريق توسيع نطاق الدقة والعمق والعرض للشبكة الأساسية وشبكة الميزات وشبكات التنبؤ بشكل موحد. يضمن هذا أنه مع نمو النموذج، فإنه يحافظ على التوازن بين مكوناته المختلفة، مما يؤدي إلى تحسين FLOPs وعدد المعلمات.
العمود الفقري لـ EfficientNet
تستخدم EfficientDet EfficientNet كـ backbone لها، وهي شبكة تصنيف طورتها Google أيضًا. تم تحسين EfficientNet باستخدام Neural Architecture Search (NAS) للعثور على هيكل الشبكة الأكثر كفاءة، وذلك باستخدام الالتواءات المنفصلة حسب العمق لتقليل الحساب.
نقاط القوة والضعف
تشتهر EfficientDet بكفاءتها العالية في استخدام المعلمات، حيث تحقق درجات mAPval تنافسية مع عدد أقل بكثير من المعلمات مقارنة بالعديد من النماذج المعاصرة لها. تسمح طبيعتها القابلة للتطوير للباحثين بتحديد حجم النموذج الذي يناسب ميزانيتهم الحسابية النظرية بدقة.
ومع ذلك، فإن الكفاءة النظرية لا تترجم دائمًا إلى سرعة عملية. يمكن أن يؤدي الاستخدام المكثف للالتواءات المنفصلة ذات العمق والاتصال المعقد لـ BiFPN إلى انخفاض استخدام وحدة معالجة الرسومات GPU. وبالتالي، فإن زمن الوصول للاستدلال على وحدات معالجة الرسومات GPU غالبًا ما يكون أعلى مقارنة بالنماذج المحسّنة للمعالجة المتوازية مثل سلسلة YOLO. بالإضافة إلى ذلك، فإن EfficientDet هو كاشف كائنات object detector بشكل صارم، ويفتقر إلى الدعم الأصلي لمهام رؤية الكمبيوتر الأخرى مثل تقسيم المثيل instance segmentation أو تقدير الوضعية pose estimation داخل نفس قاعدة التعليمات البرمجية.
حالات الاستخدام المثالية
- الذكاء الاصطناعي الطرفي على وحدات المعالجة المركزية: الأجهزة التي يكون فيها الذاكرة قيدًا صعبًا وتسريع GPU غير متاح.
- البحث الأكاديمي: الدراسات التي تركز على كفاءة الشبكة العصبية وقوانين التحجيم.
- تطبيقات الطاقة المنخفضة: السيناريوهات التي يكون فيها تقليل استهلاك البطارية (المرتبط بعمليات الفاصلة العائمة في الثانية FLOPs) أكثر أهمية من زمن الانتقال الخام.
تعرف على المزيد حول EfficientDet
Ultralytics YOLO11
Ultralytics YOLO11 هو أحدث تكرار في سلسلة YOLO (أنت تنظر مرة واحدة فقط) المشهورة. إنه يعتمد على إرث من الأداء في الوقت الفعلي، ويقدم تحسينات معمارية تدفع حدود الدقة مع الحفاظ على سرعات الاستدلال الفائقة التي يتوقعها المطورون.
تفاصيل فنية:
- المؤلفون: Glenn Jocher و Jing Qiu
- المؤسسة:Ultralytics
- التاريخ: 2024-09-27
- GitHub:ultralytics/ultralytics
- المستندات:توثيق YOLO11
البنية والميزات
يستخدم YOLO11 رأس كشف خالٍ من المرساة على أحدث طراز، مما يلغي الحاجة إلى تكوين صندوق المرساة اليدوي وتبسيط عملية التدريب. تم تحسين هياكل العمود الفقري والعنق لتعزيز قدرات استخراج الميزات، وتحسين الأداء في المهام الصعبة مثل الكشف عن الكائنات الصغيرة والمشاهد المزدحمة.
على عكس تركيز EfficientDet الأساسي على تقليل FLOP، تم تصميم YOLO11 لتحقيق كفاءة واعية بالأجهزة. وهذا يعني أنه يتم تحديد طبقاته وعملياته لزيادة الإنتاجية إلى أقصى حد على وحدات معالجة الرسومات GPUs ومسرعات NPU.
تعددية الاستخدام المطلقة
يدعم بنية نموذج YOLO11 واحد مجموعة واسعة من مهام الرؤية. ضمن نفس الإطار، يمكنك إجراء اكتشاف الكائنات، و تقسيم المثيلات، و تصنيف الصور، و تقدير الوضعية، و اكتشاف الصندوق المحيط الموجه (OBB).
نقاط القوة والضعف
تكمن قوة YOLO11 الأساسية في التوازن الاستثنائي بين السرعة والدقة. فهو يوفر دقة متطورة تنافس أو تتفوق على النماذج الأكبر حجمًا مع التشغيل بجزء بسيط من زمن الوصول. وهذا يجعله مثاليًا لتطبيقات الاستدلال في الوقت الفعلي. علاوة على ذلك، يضمن نظام Ultralytics البيئي سهولة الاستخدام من خلال واجهة برمجة تطبيقات موحدة، مما يجعل التدريب والنشر سلسًا.
أحد الاعتبارات هو أن أصغر متغيرات YOLO11، على الرغم من سرعتها الفائقة، قد تضحي بهامش صغير من الدقة مقارنةً بالنماذج الأكبر حجمًا والأكثر كثافة من الناحية الحسابية المتوفرة في الأوساط الأكاديمية. ومع ذلك، بالنسبة للنشر العملي، يكون هذا المقايضة دائمًا مفيدًا تقريبًا.
حالات الاستخدام المثالية
- الأنظمة الذاتية: الإدراك في الوقت الفعلي للروبوتات و المركبات ذاتية القيادة.
- الأتمتة الصناعية: مراقبة جودة التصنيع عالية السرعة والكشف عن العيوب.
- المدن الذكية: مراقبة فعالة لحركة المرور و المراقبة الأمنية.
- تطبيقات تفاعلية: تطبيقات الهاتف المحمول التي تتطلب ملاحظات مرئية فورية.
مقارنة الأداء
عند مقارنة EfficientDet و YOLO11، يكمن الاختلاف الأكثر وضوحًا في سرعة الاستدلال، خاصة على أجهزة GPU. في حين أن نماذج EfficientDet (D0-D7) تظهر كفاءة جيدة في المعلمات، إلا أن عملياتها المعقدة (مثل BiFPN) تمنعها من الاستفادة الكاملة من إمكانات المعالجة المتوازية.
كما هو موضح في الجدول أدناه، يحقق YOLO11n قيمة mAP أعلى (39.5) من EfficientDet-d0 (34.6) مع كونه أسرع بشكل ملحوظ. والأكثر إثارة للإعجاب، أن YOLO11m يطابق دقة EfficientDet-d5 الأثقل بكثير (51.5 mAP) ولكنه يعمل أسرع بحوالي 14 مرة على وحدة معالجة الرسومات T4 (4.7 مللي ثانية مقابل 67.86 مللي ثانية). تتيح ميزة السرعة الهائلة هذه لـ YOLO11 معالجة تدفقات الفيديو عالية الدقة في الوقت الفعلي، وهو إنجاز يمثل تحديًا لنماذج EfficientDet ذات المستوى الأعلى.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLO11n | 640 | 39.5 | 56.1 | 1.5 | 2.6 | 6.5 |
| YOLO11s | 640 | 47.0 | 90.0 | 2.5 | 9.4 | 21.5 |
| YOLO11m | 640 | 51.5 | 183.2 | 4.7 | 20.1 | 68.0 |
| YOLO11l | 640 | 53.4 | 238.6 | 6.2 | 25.3 | 86.9 |
| YOLO11x | 640 | 54.7 | 462.8 | 11.3 | 56.9 | 194.9 |
ميزة Ultralytics
في حين أن المقاييس التقنية ضرورية، إلا أن تجربة المطور ودعم النظام البيئي لا يقلان أهمية لنجاح المشروع. توفر Ultralytics مجموعة شاملة من الأدوات التي تبسط دورة حياة MLOps بأكملها، مما يوفر مزايا واضحة على مستودع EfficientDet الذي يركز على البحث.
- سهولة الاستخدام: تم تصميم Python API و CLI الخاصان بـ Ultralytics ببساطة. يمكنك تحميل نموذج حديث وتدريبه ونشره ببضعة أسطر فقط من التعليمات البرمجية، في حين أن EfficientDet غالبًا ما يتطلب ملفات تكوين معقدة وإدارة التبعيات في TensorFlow.
- نظام بيئي مُدار بشكل جيد: يتم دعم نماذج Ultralytics من قبل مجتمع نشط وتحديثات متكررة. من مستودع GitHub إلى الوثائق الشاملة، يمكن للمطورين الوصول إلى ثروة من الموارد والبرامج التعليمية وقنوات الدعم.
- كفاءة التدريب: تم تحسين YOLO11 لتحقيق تقارب سريع. وهو يدعم تحميل البيانات الفعال واستراتيجيات الزيادة التي تقلل وقت التدريب. علاوة على ذلك، فإن متطلبات الذاكرة الأقل مقارنة بالبنى القديمة أو النماذج القائمة على المحولات تسمح بالتدريب على وحدات معالجة الرسومات (GPUs) الاستهلاكية دون نفاد ذاكرة CUDA.
- مرونة النشر: يدعم الإطار أصلاً تصدير النماذج إلى تنسيقات مختلفة بما في ذلك ONNX و TensorRT و CoreML و OpenVINO. يضمن ذلك إمكانية نشر نموذج YOLO11 الخاص بك في أي مكان، من الخوادم السحابية إلى الأجهزة الطرفية مثل Raspberry Pi.
تجربة عملية مع YOLO11
اختبر بساطة واجهة برمجة التطبيقات Ultralytics. يوضح المثال التالي كيفية تحميل نموذج YOLO11 مدرب مسبقًا وتشغيل الاستدلال على صورة:
from ultralytics import YOLO
# Load a pre-trained YOLO11n model
model = YOLO("yolo11n.pt")
# Run inference on an image source
results = model("path/to/image.jpg")
# Display the results
results[0].show()
الخلاصة
يعتبر كل من EfficientDet و YOLO11 إنجازات بارزة في رؤية الحاسوب. يظل EfficientDet مرجعًا قيمًا لتصميم البنية القابلة للتطوير ومناسبًا للتطبيقات المتخصصة حيث تكون FLOPs النظرية هي القيد الأساسي.
ومع ذلك، بالنسبة للغالبية العظمى من تطبيقات رؤية الكمبيوتر الحديثة، يعد Ultralytics YOLO11 هو الخيار الأفضل. توفر بنيته توازنًا أفضل بكثير بين الدقة والسرعة، خاصة على أجهزة GPU المستخدمة في معظم بيئات الإنتاج. بالإضافة إلى إطار عمل متعدد المهام متعدد الاستخدامات ونظام بيئي قوي وسهولة استخدام لا مثيل لها، يمكّن YOLO11 المطورين من بناء ونشر حلول الذكاء الاصطناعي عالية الأداء بثقة.
استكشف مقارنات أخرى
لفهم مشهد نماذج الكشف عن الكائنات بشكل أكبر، ضع في اعتبارك استكشاف هذه المقارنات الإضافية: