EfficientDet مقابل RTDETRv2#
يتطلب اختيار البنية المثلى لمشاريع الرؤية الحاسوبية التعامل مع طيف متنوع من الشبكات العصبية. يستعرض هذا الدليل مقارنة تقنية مفصلة بين نهجين مختلفين: EfficientDet، وهي عائلة قابلة للتوسع بدرجة كبيرة من الشبكات العصبية الالتفافية (CNN)، وRTDETRv2، وهو نموذج Transformer آني متقدم. ونقيّم الفروق البنيوية ومنهجيات التدريب ومدى ملاءمة النشر في بيئات أجهزة متنوعة.
من خلال فهم المفاضلة بين كفاءة البنى القديمة وقدرات Transformer الحديثة، يستطيع المطورون اتخاذ قرارات مدروسة. كما سنستكشف كيف تسد البدائل الحديثة مثل Ultralytics YOLO26 الجديدة هذه الفجوة، مقدمةً سرعة ودقة وسهولة استخدام لا مثيل لها.
فهم EfficientDet#
أحدث EfficientDet ثورة في اكتشاف الأجسام من خلال تقديم نهج منظم لتحجيم النماذج.
- المؤلفون: Mingxing Tan وRuoming Pang وQuoc V. Le
- الجهة: Google
- التاريخ: 20 نوفمبر 2019
- Arxiv: https://arxiv.org/abs/1911.09070
- GitHub: مستودع Google AutoML
- الوثائق: وثائق EfficientDet
البنية والمفاهيم الأساسية#
يعتمد EfficientDet في جوهره على EfficientNet بوصفه عمودًا فقريًا، ويقدم شبكة هرم السمات ثنائية الاتجاه (BiFPN). وتتيح BiFPN دمج السمات متعددة المقاييس بسهولة وسرعة، وذلك بتطبيق أوزان قابلة للتعلّم لتحديد أهمية سمات الإدخال المختلفة. ويقترن ذلك بأسلوب تحجيم مركب يوسّع الدقة والعمق والعرض بصورة موحّدة، وفي الوقت نفسه، في جميع شبكات العمود الفقري والسمات والتنبؤ بالصناديق والفئات.
نقاط القوة والقيود#
تكمن القوة الأساسية لـ EfficientDet في كفاءة المعلمات. فعند إصداره، حققت نماذج مثل EfficientDet-D0 دقة أعلى بعدد معلمات وعمليات FLOPs أقل مقارنةً بإصدارات YOLO السابقة. وجعله ذلك جذابًا للغاية للبيئات ذات القيود الصارمة على القدرة الحاسوبية.
لكن EfficientDet يعتمد على كبح القيم غير القصوى القياسي (NMS) أثناء المعالجة اللاحقة لتصفية مربعات الإحاطة المتداخلة، ما قد يؤدي إلى اختناقات في زمن الاستجابة ضمن مسارات العمل الآنية. إضافةً إلى ذلك، وعلى الرغم من توثيق عملية التدريب جيدًا، فقد يكون ضبط EfficientDet الدقيق مرهقًا مقارنةً بتجارب المطور المحسّنة للغاية في الأدوات الحديثة.
تعرّف على المزيد عن EfficientDet
مع أن EfficientDet مهّد الطريق للشبكات القابلة للتوسع، فإن نشر هذه النماذج على وحدات NPU الحديثة يتطلب غالبًا تحسينًا يدويًا مكثفًا. ولتيسير النشر، توفر نماذج Ultralytics الأحدث إمكانية التصدير بنقرة واحدة.
استكشاف RTDETRv2#
يمثل RTDETRv2 تطور البنى القائمة على Transformer، وينقل النهج بعيدًا عن الشبكات العصبية الالتفافية التقليدية القائمة على المراسي.
- المؤلفون: Wenyu Lv وYian Zhao وQinyao Chang وKui Huang وGuanzhong Wang وYi Liu
- الجهة: Baidu
- التاريخ: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: مستودع RT-DETR
- الوثائق: وثائق RTDETRv2
التطورات في Transformer#
يستند RTDETRv2 إلى خط الأساس للمحوّل الكاشف الآني (RT-DETR). ويستخدم آليات الانتباه الشامل، ما يمكّن النموذج من فهم سياقات المشاهد المعقدة من دون القيود الموضعية للالتفافات القياسية. وتتمثل أبرز ميزة معمارية له في تصميمه الأصلي الخالي من NMS. فمن خلال التنبؤ بالأجسام مباشرةً من صورة الإدخال، يبسّط مسار الاستدلال ويتجنب الضبط الاستدلالي المطلوب للمعالجة اللاحقة باستخدام NMS.
نقاط القوة والضعف#
يتفوق RTDETRv2 في البيئات الكثيفة التي تربك فيها الأجسام المتداخلة الشبكات العصبية الالتفافية التقليدية. كما يحقق دقة عالية على مجموعات البيانات المعيارية مثل COCO المعقدة.
على الرغم من دقتها، تتطلب نماذج Transformer بطبيعتها ذاكرة كبيرة. وتكون كفاءة التدريب أقل بوضوح؛ إذ تتطلب عددًا أكبر بكثير من العصور التدريبية وذاكرة CUDA أكبر للتقارب مقارنةً بالشبكات العصبية الالتفافية. وهذا يجعل RTDETRv2 أقل ملاءمة للمطورين ذوي الميزانيات السحابية المحدودة أو الذين يحتاجون إلى إنشاء نماذج أولية بسرعة.
يتطلب تدريب نماذج Transformer مثل RTDETRv2 عادةً وحدات GPU عالية الأداء. إذا واجهت أخطاء نفاد الذاكرة (OOM)، ففكّر في استخدام نماذج تتطلب ذاكرة أقل أثناء التدريب، مثل سلسلة Ultralytics YOLO.
مقارنة معايير الأداء#
يُعد فهم مقاييس الأداء الخام أمرًا أساسيًا لاختيار النموذج. يعرض الجدول التالي مقارنة بين EfficientDet وRTDETRv2 بأحجام مختلفة.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (ms) | المعاملات (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 |
| RTDETRv2-s | 640 | 48.1 | - | 5.03 | 20 | 60 |
| RTDETRv2-m | 640 | 51.9 | - | 7.51 | 36 | 100 |
| RTDETRv2-l | 640 | 53.4 | - | 9.76 | 42 | 136 |
| RTDETRv2-x | 640 | 54.3 | - | 15.03 | 76 | 259 |
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين EfficientDet وRT-DETR على متطلبات مشروعك المحددة وقيود النشر وتفضيلات المنظومة.
متى تختار EfficientDet#
يُعد EfficientDet خيارًا قويًا لـ:
- مسارات Google Cloud وTPU: الأنظمة المتكاملة بعمق مع واجهات Google Cloud Vision API أو البنية التحتية لـTPU، حيث يتمتع EfficientDet بتحسينات أصلية.
- أبحاث التحجيم المركب: المقارنات الأكاديمية التي تركز على دراسة آثار التوسيع المتوازن لعمق الشبكة وعرضها ودقتها.
- النشر على الأجهزة المحمولة عبر LiteRT: المشاريع التي تتطلب تحديدًا التصدير باستخدام LiteRT (المعروف سابقًا باسم TensorFlow Lite) لأجهزة Android أو أجهزة Linux المضمنة.
متى تختار RT-DETR#
يوصى بـRT-DETR في الحالات التالية:
- أبحاث الكشف المعتمدة على Transformer: المشروعات التي تستكشف آليات الانتباه وبنى Transformer لكشف الأجسام بأسلوب شامل دون NMS.
- سيناريوهات الدقة العالية مع مرونة زمن الاستجابة: التطبيقات التي تكون فيها دقة الكشف على رأس الأولويات، ويكون فيها تقبّل زمن استجابة أعلى قليلًا للاستدلال أمرًا ممكنًا.
- كشف الأجسام الكبيرة: المشاهد التي تضم أساسًا أجسامًا متوسطة إلى كبيرة، حيث توفر آلية الانتباه العام في Transformer ميزة طبيعية.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي دون NMS: التطبيقات التي تتطلب استدلالاً ثابتاً بزمن استجابة منخفض، من دون تعقيد المعالجة اللاحقة للكبت غير الأقصى.
- البيئات التي تعتمد على CPU فقط: الأجهزة التي لا تتضمن تسريعاً مخصصاً بواسطة GPU، حيث يمنح الاستدلال الأسرع على CPU بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل صور الطائرات المسيّرة الجوية أو تحليل مستشعرات إنترنت الأشياء، حيث يعزز ProgLoss وSTAL دقة اكتشاف الأجسام الدقيقة بدرجة كبيرة.
ميزة Ultralytics: تقديم YOLO26#
على الرغم من أن EfficientDet وRTDETRv2 رسّخا مكانتيهما في تاريخ الرؤية الحاسوبية، تتطلب بيئات الإنتاج الحديثة توازنًا مثاليًا بين السرعة والدقة وتجربة المطور الاستثنائية. ويجمع Ultralytics YOLO26، الذي صدر حديثًا، أفضل جوانب هاتين البنيتين المختلفتين.
يتميز YOLO26 بجمعه بين المنظومة المبسطة التي تشتهر بها Ultralytics وآليات داخلية رائدة.
لماذا تختار YOLO26 بدلًا من المنافسين؟#
- تصميم شامل من البداية إلى النهاية وخالٍ من NMS: استلهامًا من نماذج Transformer مثل RTDETRv2، يقدم YOLO26 رأسًا شاملًا اختياريًا من البداية إلى النهاية (
nms=False) يلغي المعالجة اللاحقة باستخدام NMS، ويضمن مسارات نشر أسرع وأبسط من دون التضخم الكبير في عدد المعلمات الذي تتسم به نماذج Transformer الخالصة. - مُحسِّن MuSGD: استلهامًا من ابتكارات تدريب نماذج اللغة الكبيرة (مثل Kimi K2 من Moonshot AI)، يستخدم YOLO26 مزيجًا هجينًا من SGD وMuon. ويوفر ذلك استقرارًا تدريبيًا غير مسبوق ومعدلات تقارب أسرع بكثير مقارنةً بجداول التدريب الطويلة التي يتطلبها RTDETRv2.
- محسّن للأجهزة الطرفية: بفضل استدلال على CPU أسرع بنسبة تصل إلى 43%، صُمّم YOLO26 لأجل الذكاء الاصطناعي الطرفي. ويتفوق بسهولة على نماذج Transformer الثقيلة على الأجهزة محدودة الموارد، مثل الهواتف المحمولة والكاميرات الذكية.
- إزالة DFL: تؤدي إزالة Distribution Focal Loss إلى تبسيط مخطط النموذج، مما يسهّل عمليات التصدير السلسة إلى TensorRT وONNX.
- ProgLoss + STAL: تحقق دوال الخسارة المتقدمة هذه تحسينات ملحوظة في التعرّف على الأجسام الصغيرة، وتعالج إحدى العقبات الشائعة في الصور الجوية والروبوتات.
- تعدد الاستخدامات: على عكس RTDETRv2، الذي يركز أساسًا على الكشف، يدعم YOLO26 أصليًا تقسيم الكائنات، وتصنيف الصور، وتقدير الوضعية، والصناديق المحيطة الموجّهة (OBB)، مع تحسينات خاصة بكل مهمة، مثل RLE للوضعية ودالة خسارة متخصصة للزوايا في OBB.
بالاستفادة من منصة Ultralytics، يمكنك إدارة مجموعات البيانات، وتدريب نماذج مثل YOLO26 أو YOLO11 في السحابة، ونشرها بسلاسة عبر واجهات API مرنة.
بساطة البرمجة مع Ultralytics#
تجعل واجهة Ultralytics البرمجية لـ Python، التي تحظى بصيانة جيدة، تدريب النماذج والاستدلال أمرين يسيرين. ويمكن للمطورين بسهولة قياس أداء النماذج أو تشغيل نصوص التدريب البرمجية بأقل قدر من التعليمات البرمجية التمهيدية.
from ultralytics import YOLO
# حمّل نموذج YOLO26 المتطور
model = YOLO("yolo26n.pt")
# درّب النموذج على مجموعة البيانات المخصصة
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# تنفيذ الاستدلال على صورة اختبار
predictions = model.predict("image.jpg")لمن يديرون بنية تحتية قديمة، يظل Ultralytics YOLOv8، الذي يحظى بتقدير كبير، خيارًا مستقرًا وقويًا، ويبرهن على موثوقية منظومة Ultralytics على المدى الطويل. وسواء كنت تشغّل خوارزميات التتبّع في الوقت الفعلي المعقدة أو أنظمة بسيطة لكشف العيوب، فإن الترقية إلى YOLO26 تضمن أن يكون نظامك جاهزًا للمستقبل، عالي الدقة، وفعالًا في استخدام الذاكرة.