YOLOv7 RTDETRv2: تحقيق التوازن بين السرعة القديمة ودقة المحول
شهد مجال اكتشاف الأجسام تطوراً كبيراً خلال السنوات القليلة الماضية، حيث انتقل من الشبكات العصبية التلافيفية (CNN) البحتة إلى البنى الهجينة المتطورة. وهناك نموذجان محوريان في هذا السياق هما YOLOv7، وهو نموذج CNN قوي ومشهور من عام 2022، و RTDETRv2، وهو محول للكشف في الوقت الفعلي أطلقته Baidu في 2023/2024 لتحدي YOLO .
بينما YOLOv7 النهج الكلاسيكي القائم على المراسي إلى أقصى حدوده، استفادت RTDETRv2 من قوة محولات الرؤية (ViTs) للتخلص من خطوات المعالجة اللاحقة مثل Non-Maximum Suppression (NMS). يقارن هذا الدليل بين هياكلها وأدائها ومدى ملاءمتها لمشاريع الرؤية الحاسوبية الحديثة، مع استكشاف الأسباب التي تجعل نماذج الجيل التالي مثل Ultralytics هي المعيار المتزايد لنشر الإنتاج.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
YOLOv7: ذروة الكشف القائم على المراسي
صدر في يوليو 2022، YOLOv7 قفزة كبيرة في YOLO حيث ركز على كفاءة الهندسة المعمارية دون الاعتماد على ImageNet . وقد أدخل مفهوم "حقيبة الهدايا القابلة للتدريب" — وهي طرق تحسين تعمل على تحسين الدقة أثناء التدريب دون زيادة زمن الاستدلال.
التفاصيل التقنية الرئيسية:
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- الجهة المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- روابط:ورقة بحثية على ArXiv | مستودع GitHub
الابتكار الأساسي في YOLOv7 شبكة تجميع الطبقات الفعالة الموسعة (E-ELAN). تسمح هذه البنية للشبكة بتعلم ميزات أكثر تنوعًا من خلال التحكم في أطوال مسارات التدرج، مما يضمن التعلم الفعال في الشبكات الأعمق. على الرغم من فعاليته العالية، YOLOv7 كاشف قائم على المراسي، مما يعني أنه يعتمد على مربعات مراسي محددة مسبقًا للتنبؤ بمواقع الكائنات. غالبًا ما تتطلب هذه التبعية ضبطًا دقيقًا للمعلمات الفائقة لمجموعات البيانات المخصصة، وهي تعقيد تمت إزالته في أجهزة الكشف الحديثة الخالية من المراسي مثل YOLO11.
RTDETRv2: محولات للسرعة في الوقت الحقيقي
يعتمد RTDETRv2 (Real-Time Detection Transformer v2) على نجاح RT-DETR الأصلي، بهدف حل مشكلة التكلفة الحسابية العالية المرتبطة بأجهزة الكشف التقليدية القائمة على المحولات مثل DETR. وقد طورته شركة Baidu، وهو يثبت أن بنى المحولات يمكنها تحقيق سرعات في الوقت الفعلي على GPU .
التفاصيل التقنية الرئيسية:
- المؤلفون: ويني يو ليف، يان زهاو، تشينياو تشانغ، وآخرون.
- المؤسسة:بايدو
- التاريخ: 2023-04-17 (الإصدار 1)، 2024 (تحديثات الإصدار 2)
- روابط:ورقة بحثية على ArXiv | مستودع GitHub
يستخدم RTDETRv2 مشفرًا هجينًا يعالج الميزات متعددة المقاييس بكفاءة. وتتمثل ميزته المميزة في اختيار الاستعلاماتIoU، مما يساعد النموذج على التركيز على الأجزاء الأكثر صلة بالصورة. والأهم من ذلك، أن RTDETRv2 هو كاشف شامل. ولا يتطلب معالجة لاحقة لـ Non-Maximum Suppression (NMS) ، مما يبسط خطوط النشر ويقلل من تباين زمن الاستجابة في المشاهد المزدحمة. ومع ذلك، فإن هذا يأتي على حساب استهلاك ذاكرة أعلى أثناء التدريب مقارنة بالنماذج القائمة على CNN.
مقارنة تقنية: البنية وحالات الاستخدام
فهم الاختلافات الأساسية بين هذه البنى يساعد في اختيار الأداة المناسبة لتطبيقات الرؤية الحاسوبية المحددة.
1. الهندسة المعمارية: CNN مقابل المحول الهجين
YOLOv7 بشكل كامل على التلافيف. وهذا يجعله فعالاً للغاية على الأجهزة الطرفية ذات الذاكرة المحدودة ولكن الحوسبة الجيدة، حيث أن شبكات CNN هي بطبيعتها ثابتة الترجمة. يجمع RTDETRv2 بين هياكل CNN ومشفرات Transformer. وفي حين أن هذا يسمح له بالتقاط السياق العام بشكل أفضل (تحسين الدقة في المشاهد المعقدة)، إلا أنه يزيد بشكل كبير من متطلبات CUDA . على سبيل المثال، غالبًا ما يتطلب تدريب نموذج Transformer وحدات معالجة رسومات (GPU) متطورة (مثل A100 أو H100) للتعامل مع أحجام دفعات معقولة، في حين أن YOLOv7 تدريبه غالبًا على أجهزة المستهلكين.
2. الاستنتاج: NMS
YOLOv7 آلاف المربعات المحيطة المرشحة التي يجب ترشيحها باستخدام NMS. في السيناريوهات التي تحتوي على كائنات كثيفة (مثل عد مخزون البيع بالتجزئة)، NMS يصبح NMS عنق زجاجة في السرعة. يزيل RTDETRv2 هذه الخطوة تمامًا، ويخرج العدد المطلوب من المربعات بالضبط.
أفضل ما في العالمين
تتميز Ultralytics الحديثة مثل YOLO26 الآن بتصميم شامل NMS مشابه لـ RTDETRv2 ولكنه مبني على بنية CNN عالية التحسين. وهذا يوفر بساطة نشر المحولات مع كفاءة التدريب وسرعة YOLO.
3. النشر والنظام البيئي
في حين أن كلا النموذجين مدعومان بأبحاث قوية، فإن Ultralytics يوفر ميزة واضحة في قابلية الصيانة. فالمستودع الرسمي YOLOv7 ثابت إلى حد كبير، في حين أن Ultralytics تتلقى تحديثات متكررة، مما يضمن التوافق مع أحدث إصدارات PyTorchو ONNX و TensorRT.
البديل الحديث: Ultralytics
بالنسبة للمطورين الذين يبحثون عن دقة المحولات مع سرعة CNNs، فإن Ultralytics يبرز كخيار متميز. تم إصداره في عام 2026، وهو يدمج مزايا "نهاية إلى نهاية" RTDETRv2 مع معالجة نقاط ضعفه في استخدام الموارد.
لماذا تختار YOLO26؟
- من البداية إلى النهاية: مثل RTDETRv2، يزيل YOLO26 NMS، مما يبسط التصدير إلى TensorRT و CoreML.
- MuSGD Optimizer: مستوحى من تدريب LLM، يضمن هذا المحسن تقاربًا مستقرًا، مما يقلل من "التجربة والخطأ" التي غالبًا ما تكون مطلوبة عند تدريب النماذج القديمة مثل YOLOv7.
- تحسين الحافة: يزيل YOLO26 خسارة التركيز التوزيعي (DFL)، مما يجعله أخف وزناً بشكل ملحوظ. ويوفر CPU أسرع بنسبة تصل إلى 43٪ CPU ، وهو مقياس مهم للأجهزة الطرفية حيث غالباً ما يواجه RTDETRv2 صعوبات بسبب الحسابات الثقيلة للمحولات.
- تعدد الاستخدامات: على عكس YOLOv7 RTDETRv2 اللذين يركزان بشكل أساسي على الكشف، يدعم YOLO26 التجزئة وتقدير الوضع والمربعات المحددة الاتجاه (OBB) بشكل أصلي.
موازنة الأداء
يستفيد YOLO26 من ProgLoss و STAL (Soft-Target Anchor Loss) لتحسين اكتشاف الأجسام الصغيرة، وهو مجال كانت فيه YOLO القديمة YOLO متخلفة عن المحولات. وهذا يجعله مثاليًا لتطبيقات مثل تحليل الصور الجوية أو عد الخلايا الطبية.
مثال على الكود: تكامل سلس
يمكنك بسهولة التبديل من الطرز القديمة إلى أحدث إصدارات Ultralytics . تعمل واجهة Python Ultralytics على إزالة التعقيدات الناتجة عن الاختلافات في البنية.
from ultralytics import YOLO
# Load the latest YOLO26 model (recommended)
model = YOLO("yolo26n.pt")
# Alternatively, load RT-DETR or YOLOv7 within the same ecosystem
# model = YOLO("rtdetr-l.pt")
# model = YOLO("yolov7.pt")
# Train on a dataset like COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with NMS-free speed (native in YOLO26)
results = model("https://ultralytics.com/images/bus.jpg")
ملخص
- استخدم YOLOv7 إذا كنت تقوم بصيانة أنظمة قديمة وتحتاج إلى كاشف مجرب يعتمد على شبكة CNN بحتة، ولديك الوقت الكافي لضبط المراسي.
- استخدم RTDETRv2 إذا كنت بحاجة إلى استدلال شامل على وحدات معالجة الرسومات (GPU) المتطورة ويمكنك تحمل تكلفة VRAM الأعلى أثناء التدريب.
- استخدم Ultralytics لتحقيق أفضل توازن. فهو يوفر مزايا RTDETR الشاملة NMS وسرعة YOLO واستهلاكه المنخفض للذاكرة، والدعم القوي Ultralytics .
بالنسبة لمعظم المشاريع الجديدة في عام 2026، فإن سهولة الاستخدام والتوثيق ونسبة الأداء/الكفاءة في YOLO26 تجعله نقطة البداية الموصى بها.