YOLOv10 ضد EfficientDet: مقارنة فنية
لقد تطور مشهد اكتشاف الأجسام بسرعة على مدى السنوات القليلة الماضية، وانتقل من خطوط الأنابيب المعقدة متعددة المراحل إلى تصميمات مبسطة في الوقت الفعلي. تستكشف هذه المقارنة الاختلافات التقنية بين YOLOv10، وهو نموذج حديث تم إصداره في عام 2024 من قبل باحثين من جامعة Tsinghua، و EfficientDet، وهو تصميم رائد قدمته Google في عام 2019.
بينما وضعت EfficientDet معايير لكفاءة المعلمات خلال فترة وجودها، فإن YOLOv10 يدفع حدود الكمون والدقة، ويقدم نموذج تدريب خالٍ من NMS يعزز بشكل كبير سرعة الاستدلال. يحلل هذا الدليل بنياتها ومقاييس الأداء وحالات الاستخدام المثالية لمساعدتك في اختيار النموذج المناسب لمشاريع رؤية الكمبيوتر الخاصة بك.
YOLOv10: الكشف الشامل عن الأجسام في الوقت الفعلي
يمثل YOLOv10 قفزة كبيرة في سلسلة YOLO (أنت تنظر مرة واحدة فقط)، مع التركيز على التخلص من خطوة المعالجة اللاحقة لتثبيط غير الأقصى (NMS) التي غالبًا ما تعيق سرعة الاستدلال. من خلال استخدام تعيينات مزدوجة متسقة للتدريب الخالي من NMS، فإنه يحقق أداءً تنافسيًا مع زمن انتقال أقل مقارنةً بالتكرارات السابقة.
تفاصيل فنية:
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المؤسسة:جامعة تسينغ - هوا
- التاريخ: 2024-05-23
- Arxiv:YOLOv10: Real-Time End-to-End Object Detection
- GitHub:THU-MIG/yolov10
الميزات المعمارية الرئيسية
يقدم YOLOv10 تصميم نموذج شامل يعتمد على الكفاءة والدقة. يكمن الابتكار الأساسي في استراتيجية التعيين المزدوج الخاصة به. أثناء التدريب، يستخدم النموذج كلاً من تعيينات واحد إلى متعدد (شائعة في YOLOv8) للإشراف الغني وتعيينات واحد إلى واحد لضمان النشر من طرف إلى طرف بدون NMS.
- تدريب بدون NMS: تتطلب الكاشفات التقليدية NMS لتصفية مربعات الإحاطة المكررة، مما يؤدي إلى زمن انتقال الاستدلال. تسمح بنية YOLOv10 للنموذج بتوقع مربع واحد بالضبط لكل كائن أثناء الاستدلال، مما يزيل هذا الحمل الزائد بشكل فعال.
- تصميم مدفوع بالكفاءة: يستخدم النموذج رؤوس classify خفيفة الوزن وتقليل أخذ العينات المترابطة مكانيًا وقنواتيًا لتقليل التكلفة الحسابية (FLOPs) وعدد المعلمات.
- الالتفافات ذات النواة الكبيرة: من خلال الاستخدام الانتقائي للالتفافات العميقة ذات النواة الكبيرة، يعزز YOLOv10 مجاله الاستقبالي وقدرته على الكشف عن الكائنات الصغيرة دون زيادة هائلة في الحساب.
أهمية التخلص من NMS
تؤدي إزالة تثبيط غير الأقصى (NMS) إلى إنشاء خط أنابيب شامل حقًا. يعد هذا أمرًا بالغ الأهمية لتطبيقات الذكاء الاصطناعي الطرفي حيث يهم كل جزء من الألف من الثانية، كما هو الحال في أجهزة NVIDIA Jetson، مما يضمن زمن انتقال ثابت ويمكن التنبؤ به.
نقاط القوة
- سرعة فائقة: مُحسَّن للاستدلال في الوقت الفعلي، ويتفوق بشكل كبير على النماذج القديمة على أجهزة GPU.
- تكامل Ultralytics: كجزء من النظام البيئي Ultralytics، يستفيد YOLOv10 من واجهة برمجة تطبيقات Python بسيطة، مما يجعل التدريب والتحقق والنشر أمرًا سهلاً للغاية.
- استخدام أقل للذاكرة: تتطلب البنية الفعالة ذاكرة CUDA أقل أثناء التدريب مقارنةً بالكاشفات القائمة على المحولات مثل RT-DETR.
EfficientDet: بنية قابلة للتطوير وفعالة
تم تصميم EfficientDet، الذي طوره فريق Google Brain، لتحسين كل من الدقة والكفاءة. قدمت مجموعة من النماذج (D0-D7) تم توسيعها باستخدام طريقة تحجيم مركبة تعدل الدقة والعمق والعرض بشكل موحد.
تفاصيل فنية:
- المؤلفون: مينغشينغ تان، رومينغ بانغ، وكوك ف. لي
- المؤسسة:Google
- التاريخ: 2019-11-20
- Arxiv:EfficientDet: كشف الأجسام القابل للتطوير والفعال
- GitHub:google/automl/efficientdet
تعرف على المزيد حول EfficientDet
الميزات المعمارية الرئيسية
تم تصميم EfficientDet على EfficientNet backbone ويقدم BiFPN (شبكة Bi-directional Feature Pyramid Network).
- BiFPN: على عكس شبكات FPN القياسية، تسمح BiFPN بتدفق المعلومات ثنائي الاتجاه وتستخدم أوزانًا قابلة للتعلم لدمج الميزات من مقاييس مختلفة. ينتج عن هذا تمثيل أفضل للميزات متعددة المقاييس مع عدد أقل من المعلمات.
- التحجيم المركب: تضمن هذه الطريقة توسيع نطاق الشبكة الأساسية وشبكة الميزات وشبكات التنبؤ بالمربع/الفئة معًا بكفاءة. نموذج D0 صغير وسريع للأجهزة المحمولة، بينما يدفع نموذج D7 دقة state-of-the-art لبيئات الموارد العالية.
نقاط القوة والضعف
- كفاءة المعلمات: تشتهر EfficientDet بتحقيق mAP عالية مع عدد قليل نسبيًا من المعلمات وعمليات الفاصلة العائمة في الثانية (FLOPs).
- قابلية التوسع: يوفر النطاق D0-D7 مرونة لمختلف الميزانيات الحسابية.
- زمن انتقال عالٍ: على الرغم من انخفاض عدد FLOPs، إلا أن الاتصالات المعقدة في BiFPN والتلافيف المنفصلة حسب العمق يمكن أن تؤدي إلى زمن انتقال أعلى على وحدات معالجة الرسومات مقارنة ببنى CNN المبسطة لنماذج YOLO.
- التعقيد: يصعب تخصيص أو تعديل هذه البنية مقارنةً بالتصميم المباشر لـ Ultralytics YOLOv8 أو YOLOv10.
تحليل الأداء: السرعة مقابل الكفاءة
عند مقارنة هذين النموذجين، يصبح التمييز بين الكفاءة النظرية (FLOPs) و السرعة العملية (زمن الانتقال) واضحًا. يتفوق EfficientDet في تقليل FLOPs، لكن YOLOv10 يهيمن على سرعة الاستدلال الواقعية على الأجهزة الحديثة مثل وحدات معالجة الرسوميات GPUs.
يوضح الجدول أدناه أنه في حين أن نماذج EfficientDet مضغوطة، فإن YOLOv10 يوفر مقايضة أفضل بكثير للتطبيقات في الوقت الفعلي. على سبيل المثال، يقدم YOLOv10-S معدل mAP تنافسي بنسبة 46.7٪ مع زمن انتقال يبلغ 2.66 مللي ثانية فقط على وحدة معالجة الرسومات T4، في حين أن EfficientDet-d3 (47.5٪ mAP) أبطأ بحوالي 7 مرات عند 19.59 مللي ثانية.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
تفسير
- هيمنة وحدة معالجة الرسوميات (GPU): يستخدم YOLOv10 خيارات تصميم تراعي الأجهزة وتتوافق جيدًا مع تصميمات وحدات معالجة الرسوميات (GPU)، مما يؤدي إلى إنتاجية فائقة للغاية.
- تكافؤ الدقة: تسمح استراتيجيات التدريب الأحدث لـ YOLOv10 بمطابقة أو تجاوز دقة متغيرات EfficientDet الأبطأ بكثير.
- النشر: طبيعة YOLOv10 الخالية من NMS تبسط عملية التصدير إلى تنسيقات مثل TensorRT و ONNX، مما يقلل من تعقيد خط أنابيب النشر.
سهولة الاستخدام والنظام البيئي
أحد أهم العوامل الحاسمة للمطورين هو النظام البيئي المحيط بالنموذج. وهنا، تقدم Ultralytics ميزة كبيرة.
ميزة Ultralytics
تم دمج YOLOv10 في حزمة Ultralytics Python، مما يوفر تجربة سلسة من شرح البيانات إلى النشر.
- واجهة برمجة تطبيقات بسيطة: يمكنك تحميل النماذج وتدريبها والتنبؤ بها ببضعة أسطر فقط من التعليمات البرمجية.
- مُدار بشكل جيد: تضمن التحديثات المتكررة ودعم المجتمع و الوثائق الشاملة عدم تركك لتصحيح أخطاء غامضة.
- كفاءة التدريب: تم تحسين نماذج Ultralytics للتقارب السريع. الأوزان المدربة مسبقًا متاحة بسهولة، مما يسمح بالتعلم بالنقل الفعال على مجموعات البيانات المخصصة.
تدريب YOLOv10 باستخدام Ultralytics
تدريب نموذج YOLOv10 على مجموعة بيانات COCO8 أمر مباشر باستخدام واجهة برمجة تطبيقات Ultralytics.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
في المقابل، يعتمد EfficientDet على مستودعات TensorFlow الأقدم أو تطبيقات PyTorch التابعة لجهات خارجية التي قد تفتقر إلى دعم موحد، مما يجعل التكامل في خطوط أنابيب MLOps الحديثة أكثر صعوبة.
حالات الاستخدام المثالية
يعتمد الاختيار بين YOLOv10 و EfficientDet على قيودك المحددة.
متى تختار YOLOv10
YOLOv10 هو الخيار الأفضل لمعظم تطبيقات رؤية الكمبيوتر الحديثة، وخاصة:
- الأنظمة الذاتية: تتطلب السيارات ذاتية القيادة والطائرات بدون طيار detect بزمن وصول منخفض للسلامة. تضمن سرعة YOLOv10 أوقات رد فعل سريعة.
- تحليل الفيديو: معالجة تدفقات الفيديو عالية الإطارات في الثانية من أجل المراقبة الأمنية أو مراقبة حركة المرور.
- النشر الطرفي: النشر على الأجهزة المدمجة مثل Raspberry Pi أو NVIDIA Jetson حيث تكون الموارد محدودة ولكن الأداء في الوقت الفعلي غير قابل للتفاوض.
متى تختار EfficientDet
تظل EfficientDet ذات صلة في سيناريوهات متخصصة محددة:
- البحث الأكاديمي: إذا كان الهدف هو دراسة قوانين التحجيم المركب أو مبادئ تصميم الشبكات العصبية الفعالة.
- قيود صارمة على FLOPs: في بيئات الأجهزة المحددة للغاية حيث تكون FLOPs النظرية هي عنق الزجاجة الصعب بدلاً من زمن الوصول أو عرض نطاق الذاكرة.
الخلاصة
بينما كان EfficientDet علامة فارقة في تصميم النماذج الفعالة، فإن YOLOv10 يمثل المعيار الجديد لاكتشاف الأجسام عالي الأداء. توفر بنيته المبتكرة الخالية من NMS ميزة حاسمة في سرعة الاستدلال دون المساس بالدقة، مما يجعلها أكثر عملية بكثير للنشر في العالم الحقيقي.
علاوة على ذلك، يضمن النظام البيئي Ultralytics القوي أن العمل مع YOLOv10 يتسم بالكفاءة وسهولة الاستخدام للمطورين. من خيارات التصدير السهل إلى الأدلة الشاملة حول إدارة مجموعات البيانات، تمكنك Ultralytics من إضفاء الحيوية على مشاريع رؤية الذكاء الاصطناعي الخاصة بك بشكل أسرع.
بالنسبة لأولئك الذين يبحثون عن أحدث ما توصلت إليه تعدد الاستخدامات والأداء، نوصي أيضًا باستكشاف Ultralytics YOLO11، الذي يعتمد على هذه التطورات لتقديم قدرات متطورة عبر مهام الاكتشاف والتقطيع وتقدير الوضع.