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

مقارنة فنية بين YOLOX و EfficientDet

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

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

يولوكس: التطور الخالي من المرساة

تم إصدار YOLOX في عام 2021 من قِبل باحثين من Megvii، ويمثل YOLOX تحولاً في سلالة YOLO (أنت تنظر مرة واحدة فقط) من خلال التخلي عن الآلية القائمة على المرساة التي حددت التكرارات السابقة.

الهندسة المعمارية والابتكارات الرئيسية

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

الميزة الأكثر بروزًا هي تصميمه الخالي من المراسي. من خلال إزالة الحاجة إلى مربعات الارتكاز المحددة مسبقًا، يُلغي YOLOX الضبط الإرشادي المرتبط بتوليد المرتكزات. ويقترن هذا مع SimOTA (تعيين النقل الأمثل المبسط)، وهي استراتيجية تعيين تسمية متقدمة تقوم بتعيين العينات الإيجابية ديناميكيًا إلى الحقائق الأرضية، مما يوازن عملية التدريب بشكل أكثر فعالية من عتبات IoU الثابتة.

المزايا الخالية من المرساة

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

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

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

يركّز EfficientDet، الذي طوّره فريق Google Brain في عام 2019، على تحقيق أعلى دقة ممكنة ضمن ميزانيات حسابية محددة. وهو مبني على العمود الفقري EfficientNet ويقدم تقنية دمج ميزات جديدة.

الهندسة المعمارية والابتكارات الرئيسية

الابتكار الأساسي في EfficientDet هو شبكة BiFPPN (شبكة هرم السمات ثنائية الاتجاه المرجحة). على عكس شبكة هرم الميزات التقليدية (FPN) التي تجمع ميزات من مقاييس مختلفة بالتساوي، تقدم BiFPPN أوزانًا قابلة للتعلم لفهم أهمية ميزات المدخلات المختلفة. كما تسمح بتدفق المعلومات من أعلى إلى أسفل ومن أسفل إلى أعلى بشكل متكرر.

يستخدم EfficientDet أيضًا قياسًا مركبًا. فبدلاً من توسيع نطاق دقة العمود الفقري أو دقة الصورة فقط، فإنه يقوم بتوسيع نطاق دقة الشبكة وعمقها وعرضها بشكل موحد. وينتج عن ذلك مجموعة من النماذج (من D0 إلى D7) التي توفر منحنى متناسق للكفاءة مقابل الدقة، مما يجعلها قابلة للتكيف بدرجة كبيرة مع المهام التي تتراوح بين تطبيقات الأجهزة المحمولة والمعالجة السحابية المتطورة.

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

تحليل الأداء: السرعة مقابل الكفاءة

يكمن الاختلاف الأساسي بين هذين النموذجين في أهداف التحسين الخاصة بهما. تم تحسين EfficientDet لتحقيق الكفاءة النظرية (FLOPs والمعلمات)، والتي غالبًا ما تترجم بشكل جيد إلى أداء CPU على الأجهزة المتطورة. على العكس من ذلك، تم تحسين YOLOX للاستدلال عالي الإنتاجية على وحدات معالجة الرسومات، والاستفادة من المشغلات الكثيفة التي تتعامل معها المسرعات بشكل جيد.

يوضح الجدول أدناه هذه المفاضلة. على الرغم من أن EfficientDet-d0 خفيف الوزن للغاية من حيث البارامترات، فإن YOLOX-s يوفر سرعات استدلال أسرع بكثير على TensorRT المحسّنة على الرغم من وجود المزيد من المعلمات.

النموذجالحجم
(بالبكسل)
mAPفال
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
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

الملاحظات النقدية

  1. زمن انتقالGPU : يُظهر YOLOX أداءً فائقًا على المسرعات. يحقق YOLOX-l نفس الدقة (49.7 mAP) التي يحققها EfficientDet-d4 ولكنه يعمل أسرع بنحو 3.7 مرة على GPU T4 (9.04 مللي ثانية مقابل 33.55 مللي ثانية).
  2. كفاءة المعلمة: يتفوق EfficientDet عندما يكون التخزين هو القيد الأساسي. ويوفر EfficientDet-d3 دقة عالية (47.5 mAP) مع 12 مليون معلمة فقط، في حين أن تحقيق دقة مماثلة مع YOLOX يتطلب نموذجًا متوسطًا مع أكثر من ضعف المعلمات.
  3. تعقيد التدريب: يشتمل YOLOX على تقنيات قوية لزيادة البيانات مثل Mosaic و MixUp في الأصل، مما يساعد في تدريب نماذج قوية من الصفر، بينما يعتمد EfficientDet بشكل كبير على الخصائص المحددة للعمود الفقري لشبكة EfficientNet وقواعد القياس المركبة.

Ultralytics YOLO11: البديل المتفوق

على الرغم من أن YOLOX و EfficientDet كانا رائدين في عصر كل منهما، إلا أن مجال الرؤية الحاسوبية يتحرك بسرعة. للتطبيقات الحديثة في عام 2024 وما بعده, Ultralytics YOLO11 حلاً شاملاً يتفوق على كلا البنيتين القديمتين من حيث السرعة والدقة وسهولة الاستخدام.

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

  • توازن الأداء: تم تصميم YOLO11 لتوفير أفضل مفاضلة ممكنة بين السرعة والدقة. فهو عادةً ما يضاهي أو يتجاوز الدقة القصوى لـ EfficientDet-d7 مع الحفاظ على سرعات استدلال أقرب إلى أسرع متغيرات YOLOX.
  • سهولة الاستخدام: على عكس المستودعات البحثية المعقدة في EfficientDet أو YOLOX، تقدم Ultralytics واجهة برمجة تطبيقاتPython جاهزة للإنتاج. يمكنك تحميل نموذج وتدريبه ونشره في بضعة أسطر من التعليمات البرمجية.
  • نظام بيئي جيد الصيانة: نماذج Ultralytics مدعومة بتطوير نشط وتحديثات متكررة ومجتمع نابض بالحياة. ويشمل النظام البيئي المتكامل Ultralytics HUB لإدارة مجموعة البيانات والتدريب على النماذج بسلاسة.
  • تعدد الاستخدامات: في حين أن YOLOX و EfficientDet هما في المقام الأول كاشفان للأجسام، فإن YOLO11 يدعم مجموعة واسعة من المهام في إطار واحد، بما في ذلك تقسيم المثيل وتقدير الوضعية والمربعات المحددة الموجهة والتصنيف.
  • كفاءة التدريب: يستخدم 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 إلا إذا كنت تقوم بالنشر على أجهزة حافة مقيدة للغاية CPU حيث يكون عدد وحدات CPU هو العامل المحدد المطلق ولديك تبعيات قديمة.
  • اختر YOLOX إذا كنت بحاجة إلى خط أساس قوي للبحث الأكاديمي في أجهزة الكشف الخالية من الارتكاز على GPU ولكن كن على دراية بالإعداد الأكثر تعقيدًا مقارنةً بالأطر الحديثة.
  • اختر Ultralytics YOLO11 لجميع المشاريع التجارية والبحثية الجديدة تقريبًا. سواء كنت تقوم ببناء مركبات ذاتية القيادة أو تحليلات المدن الذكية أو مراقبة جودة التصنيع، فإن YOLO11 يوفر المتانة والسرعة والأدوات اللازمة للانتقال من النموذج الأولي إلى الإنتاج بكفاءة.

الخلاصة

ساهم كل من YOLOX و EfficientDet بشكل كبير في تطوير اكتشاف الأجسام. أثبت EfficientDet أن توسيع نطاق النموذج يمكن أن يكون علميًا ومنظمًا، بينما نجح YOLOX في تعميم خطوط أنابيب الكشف الخالية تمامًا من المرتكزات.

ومع ذلك, Ultralytics YOLO11 يجمع أفضل الدروس المستفادة من هذه البنى - الكفاءة، والتصميم الخالي من الارتكاز، وتحسين GPU - في حزمة موحدة وسهلة الاستخدام. بفضل بصمة الذاكرة المنخفضة أثناء التدريب، ودعم مهام الرؤية الحاسوبية المتنوعة، والتكامل السلس مع تنسيقات النشر مثل ONNX و CoreML فإن Ultralytics YOLO11 هو الخيار الموصى به للمطورين اليوم.

مزيد من القراءة

استكشف المزيد من المقارنات لفهم مشهد نماذج اكتشاف الأجسام:


تعليقات