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، إذ ينقل النهج بعيدًا عن الشبكات العصبية الالتفافية (CNN) التقليدية القائمة على المراسي.
- المؤلفون: 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 في البيئات عالية الكثافة التي تربك فيها الكائنات المتداخلة الشبكات العصبية الالتفافية (CNN) التقليدية. كما يتمتع بدقة عالية على مجموعات بيانات معيارية معقدة مثل COCO.
على الرغم من دقتها، تتطلب نماذج Transformer بطبيعتها قدرًا كبيرًا من الذاكرة. وتكون كفاءة التدريب أقل بوضوح؛ إذ تتطلب عددًا أكبر بكثير من الحقب وذاكرة CUDA أكبر للتقارب مقارنةً بالشبكات العصبية الالتفافية (CNN). وهذا يجعل RTDETRv2 أقل ملاءمة للمطورين الذين يعملون بميزانيات سحابية محدودة أو يحتاجون إلى إنشاء نماذج أولية بسرعة.
يتطلب تدريب نماذج Transformer مثل RTDETRv2 عادةً وحدات GPU متطورة. إذا واجهت أخطاء نفاد الذاكرة (OOM)، ففكّر في استخدام نماذج ذات متطلبات ذاكرة أقل أثناء التدريب، مثل سلسلة Ultralytics YOLO.
مقارنة معايير الأداء#
يُعد فهم مقاييس الأداء الخام أمرًا بالغ الأهمية لاختيار النموذج. يعرض الجدول التالي مقارنة بين EfficientDet وRTDETRv2 عبر أحجام مختلفة.
| النموذج | الحجم (بكسل) | 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 |
| 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 بتحسين أصلي.
- أبحاث التحجيم المركّب: المقارنات الأكاديمية التي تركز على دراسة تأثيرات تحجيم عمق الشبكة وعرضها ودقتها بصورة متوازنة.
- النشر على الأجهزة المحمولة عبر TFLite: المشروعات التي تتطلب تحديدًا تصدير TensorFlow Lite إلى أجهزة Android أو أجهزة Linux المضمنة.
متى تختار RT-DETR#
يوصى باستخدام RT-DETR في الحالات التالية:
- أبحاث الكشف القائمة على Transformer: المشاريع التي تستكشف آليات الانتباه وبنى Transformer لاكتشاف الأجسام من البداية إلى النهاية دون NMS.
- السيناريوهات عالية الدقة ذات زمن الاستجابة المرن: التطبيقات التي تمثل فيها دقة الكشف الأولوية القصوى، ويكون فيها قبول زمن استدلال أعلى قليلًا أمرًا ممكنًا.
- اكتشاف الأجسام الكبيرة: المشاهد التي تتكون أساسًا من أجسام متوسطة إلى كبيرة، حيث توفر آلية الانتباه العالمي في Transformer ميزة طبيعية.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي الخالي من NMS: التطبيقات التي تتطلب استدلالًا متسقًا منخفض زمن الانتقال دون تعقيد المعالجة اللاحقة لكبت القيم غير العظمى.
- البيئات المعتمدة على CPU فقط: الأجهزة التي لا تتضمن تسريع GPU مخصصًا، حيث يوفر استدلال YOLO26 الأسرع على CPU بنسبة تصل إلى 43% ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل الصور الجوية الملتقطة بالطائرات المسيّرة أو تحليل مستشعرات إنترنت الأشياء، حيث يعزّز ProgLoss وSTAL الدقة بدرجة كبيرة عند التعامل مع الأجسام الصغيرة جدًا.
ميزة Ultralytics: تقديم YOLO26#
رغم أن EfficientDet وRTDETRv2 رسّخا مكانتهما في تاريخ الرؤية الحاسوبية، فإن بيئات الإنتاج الحديثة تتطلب توازنًا مثاليًا بين السرعة والدقة وتجربة المطور الاستثنائية. ويجمع Ultralytics YOLO26، الذي أُطلق مؤخرًا، أفضل جوانب هاتين البنيتين المختلفتين.
يبرز YOLO26 من خلال الجمع بين النظام البيئي السلس الذي تشتهر به Ultralytics وآليات داخلية رائدة.
لماذا تختار YOLO26 بدلًا من المنافسين؟#
- تصميم شامل من البداية وخالٍ من NMS: استلهامًا من نماذج Transformer مثل RTDETRv2، يأتي YOLO26 شاملًا من البداية. فهو يلغي المعالجة اللاحقة باستخدام NMS، ما يضمن مسارات نشر أسرع وأبسط دون تضخم هائل في عدد المعلمات كما في نماذج Transformer الخالصة.
- مُحسِّن MuSGD: مستلهمًا من ابتكارات تدريب نماذج اللغة الكبيرة، مثل Kimi K2 من Moonshot AI، يستخدم YOLO26 مزيجًا هجينًا من SGD وMuon. ويحقق ذلك استقرارًا غير مسبوق في التدريب ومعدلات تقارب أسرع بكثير مقارنة بجداول التدريب الطويلة المطلوبة لـ RTDETRv2.
- محسّن للأجهزة الطرفية: مع استدلال على CPU أسرع بنسبة تصل إلى 43%، صُمم YOLO26 من أجل الذكاء الاصطناعي الطرفي. ويتفوق بسهولة على نماذج Transformer الثقيلة في الأجهزة محدودة الموارد مثل الهواتف المحمولة والكاميرات الذكية.
- إزالة DFL: تؤدي إزالة خسارة البؤرة التوزيعية (DFL) إلى تبسيط مخطط النموذج، ما يسهّل عمليات التصدير السلسة إلى TensorRT وONNX.
- ProgLoss + STAL: تحقق دوال الخسارة المتقدمة هذه تحسينات ملحوظة في التعرّف على الكائنات الصغيرة، فتحل اختناقًا شائعًا في الصور الجوية والروبوتات.
- تعدد الاستخدامات: بخلاف RTDETRv2، الذي يركز أساسًا على الاكتشاف، يدعم YOLO26 أصليًا تقسيم الكائنات، وتقدير الوضعية، وتصنيف الصور، والصناديق المحيطة الموجّهة (OBB)، مع تحسينات خاصة بكل مهمة مثل RLE للوضعية وخسارة الزاوية المتخصصة لـ OBB.
من خلال منصة Ultralytics، يمكنك إدارة مجموعات بياناتك، وتدريب نماذج مثل YOLO26 أو YOLO11 في السحابة، ونشرها بسلاسة عبر واجهات API مرنة.
بساطة البرمجة باستخدام Ultralytics#
تجعل واجهة Ultralytics البرمجية لـ Python المصانة جيدًا تدريب النماذج والاستدلال أمرًا بالغ السهولة. ويمكن للمطورين بسهولة قياس أداء النماذج أو تشغيل نصوص التدريب باستخدام أقل قدر من الشيفرة التمهيدية.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a test image
predictions = model.predict("image.jpg")بالنسبة إلى من يديرون بنية تحتية قديمة، يظل Ultralytics YOLOv8 الحائز على استحسان واسع خيارًا مستقرًا وقويًا، إذ يبرز موثوقية النظام البيئي لـ Ultralytics على المدى الطويل. وسواء كنت تشغّل خوارزميات التتبع في الوقت الفعلي المعقدة أو تكتشف العيوب البسيطة، فإن الترقية إلى YOLO26 تضمن أن يظل نظامك مواكبًا للمستقبل، وعالي الدقة، وفعالًا من حيث الذاكرة.