مقارنة فنية بين YOLOX و EfficientDet
يعد اختيار بنية الكشف عن الكائنات الصحيحة قرارًا حاسمًا في تطوير تطبيقات الرؤية الحاسوبية. من بين النماذج التي أثرت بشكل كبير على هذا المجال هما YOLOX و EfficientDet. في حين أن كلاهما يهدف إلى حل مشكلة تحديد وتصنيف الكائنات داخل الصور، إلا أنهما يتعاملان مع المهمة بفلسفات تصميم مختلفة جوهريًا.
يقدم هذا الدليل مقارنة فنية متعمقة بين YOLOX، وهو كاشف عالي الأداء بدون نقاط ارتكاز، و EfficientDet، وهي بنية قابلة للتطوير تركز على الكفاءة. سنقوم بتحليل بنياتها ومعاييرها ومنهجيات التدريب الخاصة بها لمساعدتك في تحديد النموذج الذي يناسب قيودك القديمة، مع تقديم Ultralytics YOLO11 كبديل حديث وموصى به لتحقيق أحدث أداء.
YOLOX: تطور خالٍ من الـ Anchor
يمثل YOLOX، الذي تم إصداره في عام 2021 بواسطة باحثين من Megvii، تحولًا في سلالة YOLO (You Only Look Once) من خلال التخلي عن الآلية القائمة على المرساة التي حددت التكرارات السابقة.
- المؤلفون: تشنغ قه، سونغتاو ليو، فنغ وانغ، زيمينغ لي، وجيان صن
- المؤسسة:Megvii
- التاريخ: 2021-07-18
- Arxiv:YOLOX: Exceeding YOLO Series in 2021
- GitHub:Megvii-BaseDetection/YOLOX
الهندسة المعمارية والابتكارات الرئيسية
يتميز YOLOX بهيكل رأس مفصول. غالبًا ما تستخدم الكاشفات التقليدية رأسًا مقترنًا حيث تشترك مهام التصنيف والتوطين في المعلمات، مما قد يؤدي إلى تعارض أثناء التدريب. يفصل YOLOX هذه المهام إلى فروع مختلفة، مما يحسن بشكل كبير من سرعة التقارب والدقة النهائية.
الميزة الأبرز هي تصميمها الخالي من المرساة. من خلال إزالة الحاجة إلى مربعات الربط المحددة مسبقًا، يزيل YOLOX الضبط التجريبي المرتبط بإنشاء المرساة. يتم إقران هذا بـ SimOTA (تعيين النقل الأمثل المبسط)، وهي إستراتيجية متقدمة لتعيين التسميات تقوم بتعيين عينات إيجابية بشكل ديناميكي للحقائق الأرضية، مما يوازن عملية التدريب بشكل أكثر فعالية من عتبات IoU الثابتة.
المزايا الخالية من المرساة
يقلل إزالة مربعات الارتكاز من عدد معلمات التصميم التي يحتاج المطورون إلى ضبطها. كما أنه يعمم بشكل أفضل على الكائنات ذات نسب العرض إلى الارتفاع غير العادية، حيث يتوقع النموذج مربعات محيطة مباشرة بدلاً من تعديل شكل مربع محدد مسبقًا.
EfficientDet: كفاءة قابلة للتطوير
يركز EfficientDet، الذي طوره فريق Google Brain في عام 2019، على تحقيق أعلى دقة ممكنة ضمن ميزانيات حسابية محددة. وهو مبني على هيكل EfficientNet ويقدم تقنية جديدة لدمج الميزات.
- المؤلفون: مينغشينغ تان، رومينغ بانغ، وكوك ف. لي
- المنظمة: Google
- التاريخ: 2019-11-20
- Arxiv:EfficientDet: كشف الأجسام القابل للتطوير والفعال
- GitHub:google/automl/efficientdet
الهندسة المعمارية والابتكارات الرئيسية
يكمن الابتكار الأساسي في EfficientDet في BiFPN (شبكة هرم الميزات ثنائية الاتجاه الموزونة). على عكس شبكة هرم الميزات (FPN) التقليدية التي تجمع الميزات من مقاييس مختلفة بالتساوي، تقدم BiFPN أوزانًا قابلة للتعلم لفهم أهمية ميزات الإدخال المختلفة. كما يسمح بتدفق المعلومات من أعلى إلى أسفل ومن أسفل إلى أعلى بشكل متكرر.
يستخدم EfficientDet أيضًا توسيعًا مركبًا. بدلاً من توسيع العمود الفقري أو دقة الصورة فقط، فإنه يقوم بتوسيع الدقة والعمق وعرض الشبكة بشكل موحد. ينتج عن هذا مجموعة من النماذج (D0 إلى D7) التي توفر منحنى ثابتًا للكفاءة مقابل الدقة، مما يجعلها قابلة للتكيف بدرجة كبيرة للمهام التي تتراوح من تطبيقات الهاتف المحمول إلى معالجة السحابة المتطورة.
تعرف على المزيد حول EfficientDet
تحليل الأداء: السرعة مقابل الكفاءة
يكمن الاختلاف الأساسي بين هذين النموذجين في أهداف التحسين الخاصة بهما. تم تحسين EfficientDet لتحقيق الكفاءة النظرية (FLOPs والمعلمات)، والتي غالبًا ما تُترجم جيدًا إلى أداء CPU على الأجهزة الطرفية. YOLOX، على العكس من ذلك، مُحسَّن للاستدلال عالي الإنتاجية على وحدات معالجة الرسوميات (GPU)، والاستفادة من العوامل الكثيفة التي تتعامل معها المسرّعات جيدًا.
يوضح الجدول أدناه هذه المفاضلة. في حين أن EfficientDet-d0 خفيف الوزن للغاية من حيث المعلمات، فإن YOLOX-s يوفر سرعات استدلال أسرع بشكل ملحوظ على TensorRT الأجهزة المحسّنة على الرغم من وجود المزيد من المعلمات.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| 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 |
ملاحظات نقدية
- زمن الوصول لوحدة معالجة الرسوميات (GPU): يُظهر YOLOX أداءً فائقًا على المسرّعات. يحقق YOLOX-l نفس الدقة (49.7 mAP) مثل EfficientDet-d4 ولكنه يعمل أسرع بحوالي 3.7 مرة على وحدة معالجة الرسوميات T4 (9.04 مللي ثانية مقابل 33.55 مللي ثانية).
- كفاءة المعلمات: تتفوق EfficientDet عندما يكون التخزين هو القيد الأساسي. توفر EfficientDet-d3 دقة قوية (47.5 mAP) مع 12 مليون معلمة فقط، في حين أن تحقيق دقة مماثلة باستخدام YOLOX يتطلب النموذج المتوسط بأكثر من ضعف عدد المعلمات.
- تعقيد التدريب: تدمج YOLOX تقنيات زيادة البيانات القوية مثل Mosaic و MixUp أصلاً، مما يساعد في تدريب النماذج القوية من البداية، في حين تعتمد EfficientDet بشكل كبير على الخصائص المحددة لـ EfficientNet backbone وقواعد التحجيم المركبة.
Ultralytics YOLO11: البديل الأفضل
في حين أن YOLOX و EfficientDet كانا رائدين في أوقاتهما، إلا أن مجال رؤية الكمبيوتر يتحرك بسرعة. بالنسبة للتطبيقات الحديثة في عام 2024 وما بعده، يقدم Ultralytics YOLO11 حلاً شاملاً يتفوق على كل من البنيات القديمة في السرعة والدقة وسهولة الاستخدام.
لماذا تختار Ultralytics YOLO11؟
- موازنة الأداء: تم تصميم YOLO11 لتوفير أفضل توازن ممكن بين السرعة والدقة. عادةً ما يطابق أو يتجاوز أعلى دقة لـ EfficientDet-d7 مع الحفاظ على سرعات استدلال أقرب إلى أسرع متغيرات YOLOX.
- سهولة الاستخدام: على عكس مستودعات الأبحاث المعقدة لـ EfficientDet أو YOLOX، تقدم Ultralytics واجهة Python API جاهزة للإنتاج. يمكنك تحميل نموذج وتدريبه ونشره في بضعة أسطر فقط من التعليمات البرمجية.
- نظام بيئي مُدار بشكل جيد: يتم دعم نماذج Ultralytics من خلال التطوير النشط والتحديثات المتكررة والمجتمع النابض بالحياة. يشتمل النظام البيئي المتكامل على Ultralytics HUB لإدارة مجموعات البيانات وتدريب النماذج بسلاسة.
- تعدد الاستخدامات: في حين أن YOLOX و EfficientDet هما في الأساس كاشفات للأجسام، يدعم YOLO11 مجموعة واسعة من المهام ضمن إطار عمل واحد، بما في ذلك Instance Segmentation و Pose Estimation و Oriented Bounding Boxes (OBB) و Classification.
- كفاءة التدريب: يستخدم YOLO11 كتل معمارية محسنة تقلل من متطلبات الذاكرة أثناء التدريب مقارنة بالبنى القديمة القائمة على المحولات أو البنى الأساسية المعقدة. وهذا يجعل من الممكن تدريب أحدث النماذج على الأجهزة الاستهلاكية.
البدء في استخدام YOLO11
يعد تشغيل التنبؤات باستخدام YOLO11 بسيطًا للغاية. يوضح مقتطف التعليمات البرمجية التالي كيفية تحميل نموذج مُدرَّب مسبقًا وتشغيل الاستدلال على صورة.
from ultralytics import YOLO
# Load the YOLO11n model (nano version for speed)
model = YOLO("yolo11n.pt")
# Perform object detection on an image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
حالات الاستخدام المثالية
- اختر EfficientDet فقط إذا كنت تنشر على أجهزة طرفية مقيدة للغاية تعمل بوحدة المعالجة المركزية فقط حيث يكون عدد FLOPs هو العامل المحدد المطلق ولديك تبعيات قديمة.
- اختر YOLOX إذا كنت بحاجة إلى خط أساس قوي للبحث الأكاديمي في أجهزة الكشف الخالية من الارتكاز على GPU، ولكن كن على دراية بالإعداد الأكثر تعقيدًا مقارنة بالأطر الحديثة.
- اختر Ultralytics YOLO11 لجميع المشاريع التجارية والبحثية الجديدة تقريبًا. سواء كنت تقوم ببناء مركبات ذاتية القيادة أو تحليلات المدن الذكية أو مراقبة جودة التصنيع، يوفر YOLO11 القوة والسرعة والأدوات اللازمة للانتقال من النموذج الأولي إلى الإنتاج بكفاءة.
الخلاصة
ساهم كل من YOLOX و EfficientDet بشكل كبير في تطوير الكشف عن الكائنات. أثبت EfficientDet أن توسيع نطاق النموذج يمكن أن يكون علميًا ومنظمًا، بينما نجح YOLOX في نشر خطوط أنابيب الكشف الخالية من المرساة بالكامل.
ومع ذلك، Ultralytics YOLO11 يجمع أفضل الدروس المستفادة من هذه البنى—الكفاءة، والتصميم الخالي من المرساة، وتحسين GPU—في حزمة موحدة وسهلة الاستخدام. بفضل بصمة الذاكرة المنخفضة أثناء التدريب، ودعم مهام رؤية الكمبيوتر المتنوعة، والتكامل السلس مع تنسيقات النشر مثل ONNX و CoreML، يبرز Ultralytics YOLO11 باعتباره الخيار الموصى به للمطورين اليوم.
مزيد من القراءة
استكشف المزيد من المقارنات لفهم مشهد نماذج الكشف عن الأجسام: