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

YOLOv10 EfficientDet: مقارنة بين هياكل الكشف عن الكائنات في الوقت الفعلي

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

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

YOLOv10: الرائد NMS

تم تطوير YOLOv10 لتجاوز حدود زمن الاستجابة في الوقت الفعلي، YOLOv10 أحد أكثر العقبات استمرارًا في YOLO : عدم القمع الأقصى (NMS). من خلال التخلص من خطوة المعالجة اللاحقة هذه، يحقق النموذج زمن استجابة يمكن التنبؤ به بدرجة عالية، وهو أمر بالغ الأهمية للمركبات ذاتية القيادة والروبوتات عالية السرعة.

الابتكارات المعمارية

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

تفاصيل النموذج

نشر مبسط

نظرًا لأن YOLOv10 يزيل خطوة NMS، فمن الأسهل بطبيعته التصدير إلى تنسيقات مثل تنسيق ONNX و NVIDIA TensorRT دون الاعتماد على مكونات إضافية مخصصة لوقت التشغيل لتصفية مربعات الإحاطة.

نقاط القوة:

  • الاستدلال المتوقع: يضمن إزالة NMS أوقات استدلال متسقة بغض النظر عن عدد الكائنات في المشهد.
  • استخدام ذاكرة أقل: مقارنة بالنماذج القائمة على المحولات مثل RT-DETR، يتميز YOLOv10 بمتطلبات ذاكرة أقل بكثير أثناء التدريب والاستدلال.
  • موازنة ممتازة بين السرعة والدقة: محسّن خصيصًا لسيناريوهات زمن الاستجابة المنخفض دون التضحية بمقاييس الأداء.

نقاط الضعف:

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

EfficientDet: قابل للتطوير ومتوازن

قدمت Google تقنية EfficientDet التي تتعامل مع اكتشاف الأجسام من خلال عدسة التوسع المنهجي للشبكة. وهي تعتمد على أساس تصنيف الصور EfficientNet وتقدم آلية جديدة لدمج الميزات.

الابتكارات المعمارية

جوهر EfficientDet هو شبكة هرم الميزات ثنائية الاتجاه (BiFPN)، التي تسمح بدمج الميزات متعددة المقاييس بسهولة وسرعة. على عكس شبكات FPN التقليدية التي تجمع الميزات من أعلى إلى أسفل فقط، تقدم BiFPN اتصالات ثنائية الاتجاه عبر المستويات وأوزان قابلة للتدريب لتعلم أهمية الميزات المختلفة المدخلة. علاوة على ذلك، يستخدم EfficientDet طريقة قياس مركبة تقيس الدقة والعمق والعرض بشكل موحد لجميع شبكات العمود الفقري وشبكات الميزات وشبكات التنبؤ بالصناديق/الفئات.

تفاصيل النموذج

نقاط القوة:

  • كفاءة عالية: نسبة ممتازة بين المعلمات والدقة، مما يجعل الأصغر -d0 إلى -d2 متغيرات خفيفة الوزن للغاية.
  • التحجيم المبدئي: يسمح التحجيم المركب للمستخدمين باختيار حجم نموذج بسهولة يناسب ميزانيتهم الحسابية الدقيقة.

نقاط الضعف:

  • تكامل الأطر القديمة: يعتمد التنفيذ الأصلي بشكل كبير على إصدارات TensorFlow القديمة، مما قد يعقد مسارات النشر الحديثة.
  • تدريب أبطأ: يُعرف تدريب EfficientDet من الصفر ببطئه الشديد ويتطلب ضبطًا دقيقًا للمعاملات الفائقة مقارنةً بالتقارب السريع لبنى YOLO.
  • سرعة الاستدلال: بينما تتسم بكفاءة المعلمات، غالبًا ما تؤدي عمليات BiFPN المعقدة إلى سرعات استدلال أبطأ في العالم الحقيقي على الأجهزة القياسية مقارنة بنماذج YOLO المحسّنة للغاية.

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

الأداء والمعايير

يكمن الاختبار الحقيقي لهذه النماذج في أدائها التجريبي على معايير قياسية مثل COCO . يوضح الجدول أدناه الاختلافات الجوهرية في عدد المعلمات وعمليات النقاط العائمة (FLOPs) وزمن الاستدلال على وحدات معالجة الرسوماتNVIDIA .

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
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

كما هو موضح أعلاه، يحافظ YOLOv10 على ميزة كبيرة في سرعة الاستدلال الخام. على سبيل المثال، يحقق YOLOv10-S قيمة mAP تبلغ 46.7 مع زمن انتقال TensorRT يبلغ 2.66 مللي ثانية فقط، بينما يحقق EfficientDet-d3 قيمة mAP مماثلة تبلغ 47.5 ولكنه يستغرق ما يقرب من 20 مللي ثانية، مما يجعل YOLOv10 متفوقًا بشكل كبير لبث الفيديو في الوقت الفعلي أو خطوط إنتاج سريعة الحركة.

حالات الاستخدام والتوصيات

يعتمد الاختيار بين YOLOv10 و EfficientDet على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.

متى تختار YOLOv10

YOLOv10 خيار قوي لـ:

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

متى تختار EfficientDet

يوصى باستخدام EfficientDet في الحالات التالية:

  • خطوط أنابيب Google Cloud و TPU: الأنظمة المدمجة بعمق مع واجهات برمجة تطبيقات Google Cloud Vision أو بنية TPU التحتية حيث يتمتع EfficientDet بتحسين أصلي.
  • بحث التحجيم المركب: قياس الأداء الأكاديمي الذي يركز على دراسة تأثيرات تحجيم عمق الشبكة وعرضها ودقتها المتوازن.
  • النشر على الأجهزة المحمولة عبر TFLite: المشاريع التي تتطلب بشكل خاص تصدير TensorFlow Lite لأجهزة Android أو أجهزة Linux المدمجة.

متى تختار Ultralytics YOLO26)

بالنسبة لمعظم المشاريع الجديدة، يوفر Ultralytics أفضل مزيج من الأداء وتجربة المطور:

  • نشر طرفي خالٍ من NMS: التطبيقات التي تتطلب استدلالًا متسقًا ومنخفض زمن الوصول دون تعقيد معالجة ما بعد التثبيط غير الأقصى.
  • بيئات CPU فقط: الأجهزة التي لا تحتوي على تسريع GPU مخصص، حيث يوفر استدلال YOLO26 الأسرع بنسبة تصل إلى 43% على CPU ميزة حاسمة.
  • اكتشاف الأجسام الصغيرة: سيناريوهات صعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء، حيث تعزز ProgLoss و STAL الدقة بشكل كبير في الأجسام متناهية الصغر.

المعيار الحديث: أدخل Ultralytics

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

لماذا يتفوق YOLO26 على المنافسين

  1. تصميم شامل بدون NMS: يعتمد YOLO26 بطبيعته بنية شاملة بدون NMS، التي كانت رائدة في YOLOv10، مما يبسط النشر ويسرع الاستدلال.
  2. سرعة استدلال أسرع بنسبة تصل إلى 43% على الـ CPU: للأجهزة الطرفية التي تفتقر إلى مسرعات مخصصة، تم تحسين YOLO26 خصيصًا للعمل بكفاءة على وحدات CPU القياسية.
  3. مُحسِّن MuSGD المتقدم: مستوحى من ابتكارات تدريب نماذج اللغة الكبيرة (LLM)، يستخدم YOLO26 مزيجًا من SGD و Muon لتحقيق تدريب مستقر بشكل لا يصدق وتقارب سريع، مما يحسن كفاءة التدريب بشكل كبير مقارنة بـ EfficientDet.
  4. ProgLoss + STAL: تقدم دوال الخسارة المحسّنة هذه تعزيزات ملحوظة في التعرف على الأجسام الصغيرة، وهي نقطة ضعف تقليدية لكل من YOLOv10 و EfficientDet.
  5. إزالة DFL: من خلال إزالة Distribution Focal Loss، يقوم YOLO26 بالتصدير بسلاسة إلى أي تنسيق أجهزة تقريبًا، بما في ذلك OpenVINO و CoreML.

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

نظام بيئي مُدار جيدًا

يظل كل من YOLO11 و YOLOv8 مدعومين بالكامل ضمن نظام Ultralytics البيئي. للحصول على أفضل مزيج من الأداء والاستقرار والدعم طويل الأمد، نوصي باستخدام نماذج Ultralytics التي تتم صيانتها رسميًا.

سهولة الاستخدام مع Ultralytics

Ultralytics النظام البيئي الذي توفره Ultralytics والمحافظ عليه جيدًا تجربة سلسة للمطورين. لا يتطلب تدريب النموذج والتحقق من صحته وتصديره إلى TensorRT سوى بضع أسطر من التعليمات البرمجية.

from ultralytics import YOLO

# Load a pre-trained YOLOv10 model (or upgrade to YOLO26 natively)
model = YOLO("yolov10n.pt")

# Train the model efficiently on a custom dataset
model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run inference and immediately visualize results
results = model("https://ultralytics.com/images/bus.jpg")
results[0].show()

# Export for rapid deployment
model.export(format="engine", half=True)

الخلاصة

عند مقارنة YOLOv10 EfficientDet، يعتمد الاختيار بشكل كبير على تفضيلاتك في إطار العمل وقيود السرعة. يوفر EfficientDet نهجًا منظمًا لتوسيع نطاق النموذج داخل TensorFlow . ومع ذلك، YOLOv10 أداءً فائقًا في الوقت الفعلي، واستخدامًا أقل للذاكرة، ومسار نشر أكثر بساطة بفضل بنيته NMS.

للحصول على أفضل توازن في الأداء وسهولة الاستخدام وتعدد المهام، يوصى بشدة بالترقية إلى Ultralytics واستخدام YOLO26. فهي تستخدم ابتكارات YOLOv10 NMS، وتطبق تقنيات تدريب متطورة مثل مُحسّن MuSGD، وتضمّنها في إطار عمل قوي ومفتوح المصدر مدعوم من قبل مجتمع عالمي ضخم.


تعليقات