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

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

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

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

YOLOv10: الرائد NMS

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

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

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

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

نشر مبسط

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

نقاط القوة:

  • استنتاج متوقع: NMS إزالة 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 46.7 mAP TensorRT يبلغ 2.66 مللي ثانية فقط، في حين يحقق EfficientDet-d3 47.5 mAP مماثلاً mAP يستغرق ما يقرب من 20 مللي ثانية، مما يجعل YOLOv10 متفوقًا YOLOv10 في بث الفيديو في الوقت الفعلي أو خطوط الإنتاج سريعة الحركة.

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

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

متى تختار YOLOv10

YOLOv10 خيار قوي لـ:

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

متى تختار EfficientDet

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

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

متى تختار Ultralytics YOLO26)

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

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

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

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

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

  1. تصميم NMS من البداية إلى النهاية: يعتمد YOLO26 بشكل أساسي على بنية NMS من البداية إلى النهاية، والتي تم طرحها لأول مرة في YOLOv10، مما يؤدي إلى تبسيط النشر وتسريع الاستدلال.
  2. CPU أسرع بنسبة تصل إلى 43٪ CPU : بالنسبة للأجهزة الطرفية التي تفتقر إلى مسرعات مخصصة، تم تحسين YOLO26 خصيصًا ليعمل بكفاءة على وحدات المعالجة المركزية القياسية.
  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، وتضمّنها في إطار عمل قوي ومفتوح المصدر مدعوم من قبل مجتمع عالمي ضخم.


تعليقات