EfficientDet مقابلYOLO: نظرة متعمقة على تطور اكتشاف الكائنات
في عالم الرؤية الحاسوبية الديناميكي، يدفع السعي لتحقيق التوازن الأمثل بين الدقة والكمون إلى الابتكار المستمر. هناك بنيةان معماريتان حددتا عصريهما، وهما EfficientDet Google و YOLO من Alibaba. في حين قدمت EfficientDet نهجًا مبدئيًا لتوسيع نطاق النماذج،YOLO حدود الأداء في الوقت الفعلي باستخدام البحث عن البنية العصبية (NAS).
يقدم هذا الدليل مقارنة تقنية شاملة بين هذين النموذجين، حيث يحلل تميزهما من الناحية المعمارية ومقاييس الأداء ومدى ملاءمتهما للاستخدام الحديث. بالنسبة للمطورين الباحثين عن حلول متطورة، نستكشف أيضًا كيف تستفيد الأطر الأحدث مثل Ultralytics من هذه الأسس لتوفير سهولة استخدام وأداء فائقين.
نظرة عامة على EfficientDet
صدر EfficientDet في أواخر عام 2019، وشكل تحولًا جذريًا في طريقة توسيع نطاق نماذج الكشف عن الكائنات. قبل إصداره، كان التوسيع يتم بشكل تعسفي في كثير من الأحيان. قدم فريق Google طريقة توسيع مركبة تعمل على توسيع نطاق الدقة والعمق والعرض بشكل موحد، مما أدى إلى ظهور مجموعة من النماذج (D0-D7) التي تلبي مختلف قيود الموارد.
المؤلفون: Mingxing Tan و Ruoming Pang و Quoc V. Le
المنظمة:Google
التاريخ: 20 نوفمبر 2019
Arxiv:EfficientDet Paper
GitHub:google
الميزات المعمارية الرئيسية
- BiFPN (شبكة هرمية ثنائية الاتجاه مرجحة): على عكس شبكات FPN التقليدية، تسمح BiFPN بدمج الميزات متعددة المستويات من أعلى إلى أسفل ومن أسفل إلى أعلى. وهي تضيف أوزانًا قابلة للتعلم إلى ميزات الإدخال المختلفة، مع الاعتراف بأن الميزات لا تساهم جميعها بنفس القدر في الناتج.
- التحجيم المركب: يتحكم معامل موحد $\phi$ في عرض الشبكة وعمقها ودقتها، مما يضمن توافق تحجيم العمود الفقري وشبكة الميزات ورؤوس التنبؤ.
- الهيكل الأساسي لـ EfficientNet: يتيح استخدام EfficientNet كهيكل أساسي كفاءة عالية للمعلمات، بالاستفادة من طبقات التحويل المقلوب للرقبة الزجاجية (MBConv) المتنقلة.
تعرف على المزيد حول EfficientDet
نظرة عامة على DAMO-YOLO
تم تطويرYOLO من قبل مجموعة Alibaba في عام 2022، وقد تم تصميمه مع التركيز بشكل صارم على التطبيقات الصناعية التي تعتبر فيها زمن الاستجابة أمرًا بالغ الأهمية. وهو يبتعد عن التصميم المعماري اليدوي، ويستخدم NAS لاكتشاف هياكل فعالة مصممة خصيصًا للاستدلال عالي الأداء.
المؤلفون: Xianzhe Xu، Yiqi Jiang، Weihua Chen، Yilun Huang، Yuan Zhang، و Xiuyu Sun
المنظمة:مجموعة Alibaba
التاريخ: 23 نوفمبر 2022
Arxiv:YOLO
GitHub:YOLO
الابتكارات المعمارية الرئيسية
- الهيكل الأساسي MAE-NAS: باستخدام طريقة تسمى البحث عن البنية العصبية الفعالة المدركة للطريقة (Method-Aware Efficiency Neural Architecture Search)،YOLO هياكل أساسية مُحسّنة خصيصًا لسرعة الاستدلال، والتي تختلف بشكل كبير عن CSPNet المصممة يدويًا والمستخدمة في YOLOv5 أو YOLOv8.
- RepGFPN: شبكة FPN عامة فعالة تستخدم إعادة المعلمات (نمط RepVGG) لدمج الميزات، مما يقلل من زمن الاستجابة أثناء الاستدلال مع الحفاظ على قوة التعبير العالية للميزات أثناء التدريب.
- ZeroHead: رأس كشف خفيف الوزن يقلل بشكل كبير من العبء الحسابي مقارنة بالرؤوس المنفصلة الموجودة في الطرز السابقة.
- AlignedOTA: إستراتيجية محسنة لإسناد الملصقات تحل عدم التوافق بين مهام التصنيف والانحدار أثناء التدريب.
مقارنة الأداء
يُقارن الجدول التالي أداء EfficientDet وYOLO نطاقات نماذج مختلفة. بينما يوفر EfficientDet مجموعة واسعة من الأحجام (حتى D7 للمهام عالية الدقة)،YOLO على "النقطة المثالية" للكمون في الوقت الفعلي (T/S/M/L).
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
تحليل
- الكمون مقابل الدقة: YOLO كفاءة فائقة على GPU . على سبيل المثال،
DAMO-YOLOsيحقق 46.0 mAP بمجرد 3.45 مللي ثانية الكمون على وحدة GPU T4. في المقابل،EfficientDet-d3يحقق أعلى قليلاً 47.5 mAP ولكن بتكلفة 19.59 مللي ثانية—أبطأ بنحو 5.5 أضعاف. - تقادم البنية: تعتمد EfficientDet بشكل كبير على التلافيف القابلة للفصل من حيث العمق. على الرغم من كفاءة المعلمات، غالبًا ما تكون هذه العمليات مقيدة بالذاكرة في وحدات معالجة الرسومات الحديثة، مما يؤدي إلى انخفاض الاستخدام مقارنة بالتلافيف الكثيفة المحسّنة في بنية NASYOLO.
- متطلبات الحوسبة: يتطلب EfficientDet-d7 موارد حوسبة ضخمة (325 جيجا فلوب) لتحقيق مكاسب هامشية في الدقة (53.7 mAP)، مما يجعل من الصعب نشره على الأجهزة الطرفية.
التدريب والنظام البيئي
تختلف تجربة المستخدم بشكل كبير بين هذين الجيلين من الطرازات.
نظام EfficientDet البيئي
تتجذر EfficientDet بعمق في نظام Google البيئي و TensorFlow. على الرغم من قوتها، غالبًا ما يواجه المستخدمون:
- تعقيد التبعية: قد يكون التنقل بين إصدارات TensorFlow .x و 2.x أمرًا صعبًا.
- قيود الرسم البياني الثابت: TensorRT يتطلب تصدير النماذج إلى ONNX TensorRT نصوص تحويل معقدة قد لا تدعم جميع عمليات BiFPN بشكل أصلي.
YOLO البيئي
YOLO PyTorch، الذي يعتبر بشكل عام أكثر مرونة في مجال البحث. ومع ذلك:
- التركيز المتخصص: إنه في المقام الأول مستودع للأبحاث. على الرغم من أنه ممتاز لمهام الكشف المحددة، إلا أنه يفتقر إلى الأداة المفيدة "الجاهزة للاستخدام" لمهام أخرى مثل التجزئة أو تقدير الوضع.
- الاعتماد على التقطير: لتحقيق أعلى أداء،YOLO يستخدمYOLO التقطير من نماذج أكبر، مما يضيف تعقيدًا إلى مسار التدريب.
أهمية النظام البيئي
عند اختيار نموذج للإنتاج، لا تضع في اعتبارك فقط mAP سهولة التدريب على البيانات المخصصة. غالبًا ما يكلف النموذج الذي يستغرق أسابيع لدمجه وقتًا هندسيًا أكثر من قيمة المكاسب الهامشية في الدقة.
ميزة Ultralytics: تقديم YOLO26
في حين أن EfficientDet وYOLO علامتين فارقتين في مجال الرؤية الحاسوبية، إلا أن هذا المجال قد تطور. يمثل Ultralytics الجيل التالي من الذكاء الاصطناعي للرؤية، حيث يجمع بين كفاءة الهندسة المعمارية للنماذج القائمة على NAS وسهولة استخدام Ultralytics .
لماذا الترقية إلى YOLO26؟
يعالج YOLO26 نقاط الضعف في البنى السابقة من خلال عدة ميزات مبتكرة:
- تصميم شامل NMS: على عكس EfficientDet وYOLO اللذين يتطلبان معالجة لاحقة لـ Non-Maximum Suppression (NMS) ، فإن YOLO26 شامل بطبيعته. وهذا يزيل أحد العوائق الرئيسية في خطوط الإنتاج، مما يقلل من تقلب زمن الاستجابة ويبسط التصدير إلى تنسيقات مثل CoreML TensorRT.
- مُحسِّن MuSGD: مستوحى من استقرار تدريب LLM، يضمن مُحسِّن MuSGD الجديد (مزيج من SGD Muon) تقاربًا أسرع وتشغيلًا أكثر استقرارًا للتدريب، حتى على مجموعات البيانات الأصغر حجمًا.
- ProgLoss + STAL: توفر وظائف الخسارة الجديدة (ProgLoss و Soft-Target Assignment Loss) تحسينات كبيرة في اكتشاف الأجسام الصغيرة، وهو أحد نقاط الضعف التقليدية في النماذج الخالية من المراسي.
- تحسينCPU افة: بفضل إزالة DFL (توزيع الخسارة البؤرية) وتحسينات الهندسة المعمارية، يحقق YOLO26 CPU أسرع بنسبة تصل إلى 43٪ CPU ، مما يجعله الخيار الأفضل لنشر Raspberry Pi والأجهزة المحمولة.
ملخص المقارنة
| ميزة | EfficientDet | DAMO-YOLO | Ultralytics YOLO26 |
|---|---|---|---|
| البنية | BiFPN + توسيع المركب | NAS + RepGFPN | من طرف إلى طرف NMS |
| المعالجة اللاحقة | NMS | NMS | لا شيء (من البداية إلى النهاية) |
| دعم المهام | اكتشاف | اكتشاف | Detect, Segment, تقدير الوضعية, OBB, Classify |
| المنصة | TensorFlow | PyTorch | منصة Ultralytics |
| النشر | معقد | معتدل | بنقرة واحدة (10+ تنسيقات) |
سهولة الاستخدام والتدريب
إحدى الخصائص المميزة Ultralytics هي واجهة برمجة التطبيقات الموحدة. سواء كنت تقوم بتدريب كاشف كائنات أو نموذج Oriented Bounding Box (OBB) أو نموذج Pose Estimation، يظل الكود متسقًا وبسيطًا.
إليك كيف يمكنك بسهولة تدريب نموذج YOLO26 المتطور على بياناتك المخصصة:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Train on the COCO8 dataset
# The MuSGD optimizer and ProgLoss are handled automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Validate the model
metrics = model.val()
print(f"mAP50-95: {metrics.box.map}")
حالات الاستخدام في العالم الحقيقي
متى تستخدم EfficientDet؟
يظل EfficientDet مناسبًا في السيناريوهات التي تتضمن:
- أنظمة Google Pipelines القديمة: أنظمة متكاملة بشكل عميق مع واجهات برمجة تطبيقات Google Vision القديمة أو البنية التحتية TPU .
- المقارنة الأكاديمية: كأساس قياسي لأبحاث التوسع المركب.
متى تستخدمYOLO؟
YOLO في:
- قيود صارمة GPU : خطوط التصنيع الصناعية حيث كل مللي ثانية مهمة، والأجهزة مزودة NVIDIA .
- تحليلات الفيديو: معالجة تدفقات الفيديو عالية معدل الإطارات في الثانية (FPS) حيث يكون معدل الإنتاجية (حجم الدفعة 1) هو المقياس الأساسي.
متى تستخدم YOLO26؟
YOLO26 هو الحل الموصى به لـ:
- Edge AI: النشر على الهواتف المحمولة أو الطائرات بدون طيار أو أجهزة إنترنت الأشياء حيث يبسط الاستدلال NMS منطق التطبيق وتكون CPU أمرًا بالغ الأهمية.
- تطبيقات متعددة المهام: المشاريع التي تتطلب تقسيم المثيلات أو تقدير الوضع إلى جانب الكشف ضمن قاعدة بيانات واحدة.
- التطوير السريع: الفرق التي تحتاج إلى الانتقال من جمع البيانات على Ultralytics إلى النشر في غضون ساعات، وليس أسابيع.
الخلاصة
بينما علمتنا EfficientDet أهمية التوسعYOLO قوة NAS، فإن Ultralytics تجمع هذه الدروس في قوة جاهزة للإنتاج. بفضل تصميمهاNMS وتعدد استخداماتها في المهام ونظامها البيئي الذي يتم صيانته جيدًا، توفر YOLO26 للمطورين المعاصرين أقوى طريق للنجاح في مجال الرؤية الحاسوبية.
لمزيد من الاستكشاف لهياكل النماذج، يمكنك مراجعة المقارنات مع YOLOv10 أو RT-DETR، اللذين يستكشفان أيضًا الابتكارات القائمة على المحولات.