RTDETRv2 مقابل YOLOv6-3.0#
يشهد مجال الرؤية الحاسوبية تطوراً مستمراً، مما يضع المطورين أمام مجموعة واسعة من الخيارات المعمارية لاكتشاف الأجسام. النموذجان البارزان اللذان يمثلان نهجين متباينين هما RTDETRv2، وهو نموذج محول رؤية (Vision Transformer) متطور، وYOLOv6-3.0، وهي شبكة عصبية تلافيفية (CNN) مُحسّنة للغاية ومصممة للتطبيقات الصناعية.
تستكشف هذه المقارنة التقنية الشاملة هياكلها ومقاييس أداؤها وسيناريوهات النشر المثالية. سنقوم أيضًا بفحص كيف يوفر Ultralytics ecosystem تجربة مطور متميزة، مع تطلعنا في النهاية نحو قدرات الجيل التالي من Ultralytics YOLO26.
RTDETRv2: نهج محول الرؤية (Vision Transformer)#
بناءً على تطوير الباحثين في Baidu، يعتمد RTDETRv2 على أساس الإصدار الأصلي من RT-DETR، مما يمثل قفزة كبيرة إلى الأمام في object detection القائم على Transformer.
- المؤلفون: Wenyu Lv، Yian Zhao، Qinyao Chang، Kui Huang، Guanzhong Wang، و Yi Liu
- المنظمة: Baidu
- التاريخ: 2024-07-24
- Arxiv: 2407.17140
- GitHub: lyuwenyu/RT-DETR
- المستندات: RTDETRv2 GitHub README
أبرز ميزات البنية#
يستخدم RTDETRv2 معمارية هجينة تجمع بين مستخرج ميزات CNN ومفكك تشفير محول قوي. السمة الأكثر تميزاً لهذا النموذج هي تصميمه الذي لا يحتاج إلى NMS بشكل أصلي. ومن خلال التخلص من كبت غير الأقصى (NMS) أثناء المعالجة اللاحقة، يتنبأ النموذج بصناديق الإحاطة (Bounding Boxes) مباشرة، مما يبسط عملية النشر ويحقق استقراراً في زمن انتقال الاستنتاج.
تعزز "مجموعة المزايا المجانية" (Bag-of-Freebies) المدمجة في RTDETRv2 قدرته على التعامل مع المشاهد المعقدة والأجسام المتداخلة، حيث تفهم آليات الانتباه العالمية العلاقات المكانية بشكل أفضل بطبيعتها مقارنة بالتلافيف الموضعية.
على الرغم من تفوق المحولات في فهم المشاهد المعقدة، إلا أنها تتطلب عادةً ذاكرة CUDA أعلى بكثير أثناء التدريب مقارنة بشبكات CNN. وهذا يمكن أن يحد من أحجام الدفعات (batch sizes) على وحدات معالجة الرسوميات (GPU) الاستهلاكية العادية ويزيد من وقت التدريب الإجمالي.
YOLOv6-3.0: تعظيم الإنتاجية الصناعية#
نشأ YOLOv6-3.0 في قسم الرؤية بالذكاء الاصطناعي في شركة Meituan، وقد تم تصميمه صراحة ليكون كاشفاً من الجيل التالي لخطوط الإنتاج الصناعية حيث تعتبر إنتاجية GPU أمراً بالغ الأهمية.
- المؤلفون: Chuyi Li, Lulu Li, Yifei Geng, Hongliang Jiang, Meng Cheng, Bo Zhang, Zaidan Ke, Xiaoming Xu, و Xiangxiang Chu
- المؤسسة: Meituan
- التاريخ: 2023-01-13
- Arxiv: 2301.05586
- GitHub: meituan/YOLOv6
التركيز الهيكلي#
يعتمد YOLOv6-3.0 على العمود الفقري EfficientRep، المصمم بدقة لتقليل تكاليف الوصول إلى الذاكرة على مسرعات الأجهزة مثل NVIDIA GPUs. وتتميز معمارية العنق بوحدة تسلسل ثنائي الاتجاه (BiC) لتحسين دمج الميزات عبر مقاييس مختلفة.
أثناء التدريب، يستخدم استراتيجية التدريب المدعوم بالمرساة (Anchor-Aided Training) للاستفادة من نماذج المراسي مع الحفاظ على وضع استنتاج خالٍ من المراسي لتنفيذ أسرع. ورغم تحقيقه إنتاجية استثنائية على وحدات GPU من فئة الخوادم (مثل T4، A100)، إلا أن معماريته المتخصصة قد تؤدي إلى زمن انتقال غير مثالي عند النشر على أجهزة الحافة التي تعتمد على CPU فقط.
مقارنة الأداء#
عند تقييم النماذج للإنتاج، يعد تحقيق التوازن بين الدقة (mAP) وسرعة الاستنتاج والتكلفة الحسابية (FLOPs) أمراً بالغ الأهمية. يوضح الجدول أدناه كيفية مقارنة هذه النماذج ببعضها البعض.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
بينما يتفوق YOLOv6-3.0 في سرعة المعالجة المطلقة على TensorRT، يحقق RTDETRv2 درجات mAP أعلى، لا سيما مع قياس أفضل باستخدام متغيرات النماذج الأكبر حجمًا. ومع ذلك، يفتقر كلا النموذجين إلى التنوع الواسع الموجود في الأطر الموحدة الحديثة. يُعد YOLOv6-3.0 في المقام الأول متخصصًا في الاكتشاف، حيث يفتقر إلى الدعم الأصلي لمهام مثل instance segmentation و pose estimation بشكل جاهز.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين RT-DETR وYOLOv6 على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار RT-DETR#
RT-DETR خيار قوي لـ:
- أبحاث الاكتشاف القائمة على Transformer: المشاريع التي تستكشف آليات الانتباه وهياكل transformer لاكتشاف الكائنات بنهاية واحدة دون NMS.
- سيناريوهات الدقة العالية مع زمن انتقال مرن: التطبيقات التي تكون فيها دقة الاكتشاف هي الأولوية القصوى ويكون زمن انتقال الاستنتاج الأعلى قليلاً مقبولاً.
- اكتشاف الكائنات الكبيرة: المشاهد التي تحتوي بشكل أساسي على كائنات متوسطة إلى كبيرة حيث توفر آلية الانتباه العالمي للمحولات ميزة طبيعية.
متى تختار YOLOv6#
يوصى بـ YOLOv6 لـ:
- النشر المدرك للأجهزة الصناعية: السيناريوهات التي يوفر فيها التصميم المدرك للأجهزة وإعادة تحديد المعلمات الفعال للنموذج أداءً محسناً على أجهزة مستهدفة محددة.
- الكشف السريع في مرحلة واحدة: التطبيقات التي تعطي الأولوية لسرعة الاستدلال الخام على GPU لمعالجة الفيديو الفوري في بيئات خاضعة للتحكم.
- تكامل النظام البيئي لـ Meituan: الفرق التي تعمل بالفعل ضمن حزمة التكنولوجيا والبنية التحتية للنشر الخاصة بـ Meituan.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- الكشف عن الأشياء الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء (IoT) حيث تعمل ProgLoss و STAL على تعزيز الدقة بشكل كبير على الأشياء الدقيقة.
ميزة Ultralytics#
يتضمن اختيار النموذج الصحيح أكثر من مجرد أرقام قياسية خام؛ فتجربة المطور، ومرونة النشر، ودعم النظام البيئي كلها أمور حاسمة بنفس القدر. ومن خلال استخدام النماذج المتكاملة ضمن منصة Ultralytics، يكتسب المستخدمون مزايا كبيرة مقارنة بمستودعات الأبحاث الثابتة.
- سهولة الاستخدام: توفر حزمة Python
ultralyticsواجهة برمجة تطبيقات سلسة. يستغرق تدريب النماذج والتحقق منها وتصديرها بضع أسطر فقط من التعليمات البرمجية. - بيئة عمل مدعومة جيدًا: على عكس مستودعات الأبحاث المعزولة، يتم تحديث Ultralytics Platform بنشاط. وهي تتميز بتكاملات قوية لأدوات مثل ONNX، و OpenVINO، و CoreML.
- كفاءة التدريب: تستهلك نماذج Ultralytics عادةً ذاكرة VRAM أقل بكثير أثناء التدريب مقارنة بمعماريات المحولات مثل RTDETRv2، مما يسمح بأحجام دفعات أكبر على الأجهزة الاستهلاكية.
- التنوع: على عكس النطاق المركز لـ YOLOv6-3.0، فإن نماذج Ultralytics متعددة الوسائط، حيث تدعم أصليًا image classification و oriented bounding boxes (OBB) والتجزئة ضمن إطار عمل موحد واحد.
باستخدام واجهة سطر الأوامر Ultralytics CLI، يكون تصدير نموذج مدرب للنشر على الحافة بسيطًا مثل تشغيل: yolo export model=yolo11n.pt format=tensorrt.
أدخل YOLO26: الحل الأمثل#
في حين أن RTDETRv2 و YOLOv6-3.0 يقدمان فوائد محددة، فإن المجال يتطور بسرعة. بالنسبة للفرق التي تبدأ مشاريع رؤية حاسوبية جديدة، نوصي بشدة بـ YOLO26، الذي أطلقته Ultralytics في يناير 2026.
يجمع YOLO26 بين نقاط قوة شبكات CNN الصناعية والمحولات الحديثة مع التخلص من نقاط ضعف كل منهما:
- تصميم خالٍ من NMS من البداية إلى النهاية: اعتمادًا على الابتكار الرائد الذي تم إدخاله لأول مرة في YOLOv10، يلغي YOLO26 المعالجة اللاحقة لـ NMS بشكل أصلي، مما يضمن نشرًا مستقرًا وقابلًا للتنبؤ على غرار RTDETRv2 ولكن بعبء أقل بكثير.
- مُحسّن MuSGD: مستوحى من تقنيات تدريب LLM المتقدمة (مثل Kimi K2 من Moonshot AI)، يضمن هذا المُحسّن الهجين تدريباً مستقراً وتقارباً أسرع، متجاوزاً عدم الاستقرار المعروف لمحولات الرؤية التقليدية.
- مُحسّن للحافة: مع سرعة تصل إلى 43% أسرع في استنتاج CPU مقارنة بالأجيال السابقة والإزالة الاستراتيجية لـ Distribution Focal Loss (DFL)، يعد YOLO26 مناسباً تماماً للأجهزة المحمولة وأجهزة IoT حيث لا يتوفر تسريع GPU.
- ProgLoss + STAL: تحقق هذه الدوال الخسارية المتقدمة تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو تحد تاريخي لشبكات CNN، مما يجعل YOLO26 مثالياً للتصوير الجوي والروبوتات.
مثال على التدريب#
تتيح لك واجهة برمجة التطبيقات Ultralytics البديهية تدريب نماذج متطورة بسلاسة. يوجد أدناه مثال قابل للتنفيذ يوضح كيفية تدريب نموذج YOLO26 Nano على COCO8 dataset:
from ultralytics import YOLO
# Load the newly released YOLO26 Nano model
model = YOLO("yolo26n.pt")
# Train the model on the COCO8 dataset for 50 epochs
# The Ultralytics engine handles data caching and augmentation automatically
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Validate the model's performance
metrics = model.val()
print(f"Validation mAP50-95: {metrics.box.map}")
# Export the trained model to ONNX format for production
model.export(format="onnx")ملخص#
عند مقارنة RTDETRv2 وYOLOv6-3.0، يعتمد القرار إلى حد كبير على أجهزتك المحددة وقيود زمن الانتقال. يتألق RTDETRv2 في بيئات البحث ومعالجة جانب الخادم حيث يكون التعامل مع الأجسام المتداخلة المعقدة أمراً بالغ الأهمية. بينما يظل YOLOv6-3.0 خياراً قوياً لخطوط التصنيع عالية الإنتاجية المجهزة بوحدات NVIDIA GPU قوية.
وم مع ذلك، بالنسبة للمطورين الذين يسعون للحصول على الأفضل من كلا العالمين - الجمع بين أناقة Transformers الخالية من NMS والسرعة الفائقة وبصمة الذاكرة المنخفضة لـ CNNs - فإن YOLO26 لا نظير له. مدعومًا بالوثائق الشاملة والمجتمع النشط لـ Ultralytics ecosystem، يضمن YOLO26 أن تكون مشاريع الذكاء الاصطناعي للرؤية الخاصة بك قوية وقابلة للتوسع ومقاومة للمستقبل.