YOLOv10 في مواجهة EfficientDet: مقارنة بنيات كشف الكائنات في الوقت الفعلي
يعد اختيار الشبكة العصبية المثالية لـ كشف الكائنات قراراً حاسماً يحدد نجاح أنظمة الرؤية الحاسوبية الحديثة. هناك بنيتان بارزتان أثرتا بشكل كبير في هذا المجال هما YOLOv10 و EfficientDet. وعلى الرغم من أن كلاهما يهدف إلى تحقيق أقصى قدر من الدقة مع تقليل العبء الحسابي، إلا أنهما تتبعان نهجين معماريين مختلفين تماماً لتحقيق هذه الأهداف.
يغوص هذا الدليل الشامل في تصميماتهما الفريدة، ومنهجيات التدريب، وخصائص النشر، مما يساعد المطورين ومهندسي تعلم الآلة على اتخاذ قرارات مبنية على البيانات لـ تطبيقات الرؤية بالذكاء الاصطناعي. سنفحص كيفية أدائهما على الأجهزة التي تتراوح من أجهزة الذكاء الاصطناعي الطرفية المدمجة إلى وحدات معالجة الرسومات السحابية القوية.
YOLOv10: الرائد في تقنية NMS-Free
تم تطوير YOLOv10 لدفع حدود زمن الاستجابة في الوقت الفعلي، وقد عالج أحد أكثر الاختناقات استمراراً في عائلة YOLO وهو: خوارزمية كبح التكرارات غير القصوى (NMS). من خلال القضاء على خطوة المعالجة اللاحقة هذه، يحقق النموذج زمن استجابة متوقعاً للغاية، وهو أمر بالغ الأهمية لـ المركبات ذاتية القيادة والروبوتات عالية السرعة.
الابتكارات المعمارية
يقدم YOLOv10 تعيينات مزدوجة متسقة للتدريب الخالي من NMS. أثناء التدريب، يستفيد النموذج من تعيينات التسميات بنمط واحد-إلى-متعدد وواحد-إلى-واحد، مما يسمح للشبكة بتعلم تمثيلات غنية مع إخراج أفضل صندوق إحاطة واحد لكل كائن أصلاً أثناء الاستدلال. كما تتضمن البنية تصميماً شاملاً موجهاً نحو الكفاءة والدقة، مما يبسط رأس التصنيف ويقلل التكرار الحسابي الموجود في الإصدارات السابقة.
تفاصيل النموذج
- المؤلفون: Ao Wang، Hui Chen، Lihao Liu، وآخرون.
- المؤسسة: جامعة تسينغهاوا
- التاريخ: 2024-05-23
- الورقة البحثية: YOLOv10: كشف الكائنات في الوقت الفعلي من البداية إلى النهاية
- GitHub: THU-MIG/yolov10
- المستندات: YOLOv10 Documentation
نظراً لأن YOLOv10 يزيل خطوة NMS، فإنه من الأسهل بطبيعته التصدير إلى تنسيقات مثل تنسيق ONNX و NVIDIA TensorRT دون الاعتماد على إضافات وقت التشغيل المخصصة لتصفية صناديق الإحاطة.
نقاط القوة:
- استدلال متوقع: تضمن إزالة NMS أوقات استدلال متسقة بغض النظر عن عدد الكائنات في المشهد.
- استهلاك أقل للذاكرة: مقارنة بالنماذج القائمة على المحولات (Transformer) مثل RT-DETR، يتمتع YOLOv10 بمتطلبات ذاكرة أقل بكثير أثناء التدريب والاستدلال.
- مقايضة ممتازة بين السرعة والدقة: محسن خصيصاً لسيناريوهات زمن الاستجابة المنخفض دون التضحية بـ مقاييس الأداء.
نقاط الضعف:
- التركيز على مهمة واحدة: على عكس نظام Ultralytics البيئي الأوسع، يركز مستودع YOLOv10 الأصلي بشكل كبير على الكشف، ويفتقر إلى الدعم الأصلي لـ تجزئة الكائنات أو تقدير الوضعية.
EfficientDet: قابل للتوسع ومتوازن
تم تقديمه بواسطة Google Brain، ويتناول EfficientDet كشف الكائنات من منظور توسيع الشبكة المنهجي. وهو يعتمد على العمود الفقري لتصنيف الصور EfficientNet ويقدم آلية جديدة لدمج الميزات.
الابتكارات المعمارية
جوهر EfficientDet هو شبكة هرم الميزات ثنائية الاتجاه (BiFPN)، التي تسمح بدمج ميزات متعددة المقاييس بسهولة وسرعة. على عكس شبكات FPN التقليدية التي تجمع الميزات من الأعلى إلى الأسفل فقط، يقدم BiFPN اتصالات ثنائية الاتجاه عبر المقاييس وأوزاناً قابلة للتدريب لتعلم أهمية ميزات الإدخال المختلفة. علاوة على ذلك، يستخدم EfficientDet طريقة توسيع مركبة تقوم بتوسيع الدقة والعمق والعرض بشكل موحد لجميع الشبكات العمود الفقري، وشبكة الميزات، وشبكات التنبؤ بالصناديق/الفئات.
تفاصيل النموذج
- المؤلفون: Mingxing Tan, Ruoming Pang, and Quoc V. Le
- المؤسسة: Google Brain
- التاريخ: 20-11-2019
- الورقة البحثية: EfficientDet: كشف الكائنات القابل للتوسع والفعال
- GitHub: Google AutoML EfficientDet
نقاط القوة:
- كفاءة عالية: نسبة ممتازة بين عدد المعلمات والدقة، مما يجعل المتغيرات الأصغر من
-d0إلى-d2خفيفة الوزن للغاية. - توسيع مبدئي: يسمح التوسيع المركب للمستخدمين باختيار حجم النموذج بسهولة ليناسب ميزانيتهم الحسابية بدقة.
نقاط الضعف:
- تكامل الإطار القديم: يعتمد التنفيذ الأصلي بشكل كبير على إصدارات TensorFlow القديمة، مما قد يعقد مسارات النشر الحديثة.
- تدريب أبطأ: يعتبر تدريب EfficientDet من الصفر بطيئاً بشكل ملحوظ ويتطلب ضبطاً دقيقاً للمعاملات الفائقة مقارنة بالتقارب السريع لبنيات YOLO.
- سرعة الاستدلال: على الرغم من كفاءة المعلمات، غالباً ما تؤدي عمليات BiFPN المعقدة إلى سرعات استدلال أبطأ في الواقع على الأجهزة القياسية مقارنة بنماذج YOLO المحسنة للغاية.
الأداء والمعايير
يكمن الاختبار الحقيقي لهذه النماذج في أدائها التجريبي على المعايير القياسية مثل مجموعة بيانات COCO. يوضح الجدول أدناه الاختلافات الحاسمة في عدد المعلمات، وعمليات الفاصلة العائمة (FLOPs)، وزمن استجابة الاستدلال على وحدات معالجة الرسومات NVIDIA T4.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
| 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 |
كما هو موضح أعلاه، يحافظ YOLOv10 على ميزة كبيرة في سرعة الاستدلال الخام. على سبيل المثال، يحقق YOLOv10-S دقة 46.7 mAP مع زمن استجابة TensorRT يبلغ 2.66 مللي ثانية فقط، بينما يحقق EfficientDet-d3 دقة مماثلة قدرها 47.5 mAP ولكنه يستغرق ما يقرب من 20 مللي ثانية - مما يجعل YOLOv10 متفوقاً بشكل كبير لبث الفيديو في الوقت الفعلي أو مسارات التصنيع سريعة الحركة.
حالات الاستخدام والتوصيات
يعتمد الاختيار بين YOLOv10 و EfficientDet على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv10
يعد YOLOv10 خياراً قوياً لـ:
- اكتشاف الوقت الفعلي الخالي من NMS: التطبيقات التي تستفيد من الاكتشاف الشامل دون Non-Maximum Suppression، مما يقلل من تعقيد النشر.
- موازنة مقايضات السرعة والدقة: المشاريع التي تتطلب توازناً قوياً بين سرعة الاستدلال ودقة الاكتشاف عبر مختلف مقاييس النماذج.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
متى تختار EfficientDet
يوصى باستخدام EfficientDet لـ:
- خطوط أنابيب Google Cloud وTPU: الأنظمة المتكاملة بعمق مع واجهات برمجة تطبيقات Google Cloud Vision أو البنية التحتية لـ TPU حيث يتمتع EfficientDet بتحسين أصلي.
- أبحاث التحجيم المركب: قياس الأداء الأكاديمي الذي يركز على دراسة تأثيرات التوازن في عمق الشبكة، وعرضها، وتحجيم الدقة.
- النشر على الأجهزة المحمولة عبر TFLite: المشاريع التي تتطلب بشكل خاص تصدير TensorFlow Lite لأجهزة Android أو أجهزة Linux المدمجة.
متى تختار Ultralytics (YOLO26)
بالنسبة لمعظم المشاريع الجديدة، يوفر Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استدلالاً ثابتاً ومنخفض التأخير دون تعقيد المعالجة اللاحقة لـ Non-Maximum Suppression.
- بيئات تعتمد فقط على CPU: الأجهزة التي لا تحتوي على تسريع GPU مخصص، حيث توفر سرعة استدلال YOLO26 الأسرع بنسبة تصل إلى 43% على CPU ميزة حاسمة.
- اكتشاف الكائنات الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار أو تحليل مستشعرات إنترنت الأشياء حيث تعزز ProgLoss و STAL الدقة بشكل كبير على الكائنات الصغيرة جداً.
المعيار الحديث: انضم إلى Ultralytics YOLO26
بينما قدم YOLOv10 نموذجاً ثورياً خالياً من NMS واستعرض EfficientDet توسعاً مبدئياً، استمر مشهد الرؤية الحاسوبية في التطور. بالنسبة للمطورين الذين يبدأون مشاريع جديدة اليوم، يمثل Ultralytics YOLO26 أحدث ما توصلت إليه التقنية بلا منازع. تم إصداره في يناير 2026، وهو يدمج أفضل ما في كل شيء في حزمة مصقولة وجاهزة للإنتاج ضمن منصة Ultralytics.
لماذا يتفوق YOLO26 على المنافسين
- تصميم من البداية إلى النهاية خالٍ من NMS: يعتمد YOLO26 أصلاً بنية خالية من NMS من البداية إلى النهاية التي رادها YOLOv10، مما يبسط النشر ويسرع الاستدلال.
- سرعة استدلال تصل إلى 43% أسرع على CPU: بالنسبة للأجهزة الطرفية التي تفتقر إلى مسرعات مخصصة، تم تحسين YOLO26 خصيصاً للتشغيل بكفاءة على وحدات معالجة مركزية قياسية.
- مُحسِّن MuSGD المتقدم: مستوحى من ابتكارات تدريب النماذج اللغوية الكبيرة (LLM)، يستخدم YOLO26 مزيجاً من SGD و Muon لتدريب مستقر للغاية وتقارب سريع، مما يحسن كفاءة التدريب بشكل كبير مقارنة بـ EfficientDet.
- ProgLoss + STAL: تقدم دوال الخسارة المحسنة هذه تعزيزات ملحوظة في التعرف على الكائنات الصغيرة، وهي نقطة ضعف تقليدية لكل من YOLOv10 و EfficientDet.
- إزالة DFL: من خلال إزالة Distribution Focal Loss، يصدر YOLO26 بسلاسة إلى أي تنسيق أجهزة تقريباً، بما في ذلك OpenVINO و CoreML.
علاوة على ذلك، يوفر YOLO26 تنوعاً لا مثيل له. بينما تعد EfficientDet و YOLOv10 نماذج كشف بدقة، يتعامل YOLO26 بسلاسة مع صناديق الإحاطة الموجهة، و تصنيف الصور، وتجزئة الكائنات باستخدام نفس حزمة Ultralytics Python البديهية.
سهولة الاستخدام مع 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، ويغلفها في إطار عمل قوي ومفتوح المصدر مدعوم من قبل مجتمع عالمي ضخم.