مقارنة RTDETRv2 وYOLOv10#
كان تطور الرؤية الحاسوبية مدفوعًا إلى حد كبير بالسعي الدؤوب إلى تحقيق التوازن بين السرعة والدقة. تقليديًا، اعتمدت مسارات اكتشاف الأجسام في الوقت الفعلي على الكبت غير الأقصى (NMS) كخطوة للمعالجة اللاحقة لتصفية مربعات الإحاطة المتداخلة. إلا أن NMS يسبب اختناقات في زمن الاستجابة ويتطلب ضبطًا معقدًا للمعلمات الفائقة. مؤخرًا، ظهرت منهجيتان معماريتان متميزتان لحل هذه المشكلة بصورة أصلية: نماذج قائمة على Transformer مثل RTDETRv2، ونماذج قائمة على CNN مثل YOLOv10.
يقدم هذا الدليل مقارنة تقنية شاملة بين هذين النموذجين، مع تحليل معماريتهما ومقاييس أدائهما وحالات الاستخدام المثالية لهما، كما يسلط الضوء على كيفية تقديم أحدث الابتكارات في منظومة Ultralytics للحل الأمثل للنشر الحديث.
RTDETRv2: محولات الكشف في الوقت الفعلي#
يبني RTDETRv2 على معمارية RT-DETR الأصلية، بهدف الجمع بين فهم السياق الشامل الذي توفره محولات الرؤية ومتطلبات السرعة في الوقت الفعلي التي هيمنت عليها نماذج YOLO تقليديًا.
الخصائص الرئيسية:
- المؤلفون: Wenyu Lv، وYian Zhao، وQinyao Chang، وKui Huang، وGuanzhong Wang، وYi Liu
- المنظمة: Baidu
- التاريخ: 2024-07-24
- Arxiv: https://arxiv.org/abs/2407.17140
- GitHub: https://github.com/lyuwenyu/RT-DETR/tree/main/rtdetrv2_pytorch
منهجيات البنية والتدريب#
يستخدم RTDETRv2 معمارية Transformer شاملة من البداية إلى النهاية تتجنب NMS بطبيعتها. وهو يحسن أداء سلفه من خلال تقديم منهجية «Bag-of-Freebies»، وتحسين استراتيجية التدريب، ودمج إمكانات الكشف متعدد المقاييس. يستخدم النموذج عمودًا فقريًا من CNN لاستخراج خرائط السمات (تفاصيل بصرية مثل الحواف والأنسجة)، ثم يعالجها هيكل مُرمّز-مفكّك ترميز قائم على Transformer. ويتيح ذلك للنموذج تحليل سياق الصورة بأكملها في الوقت نفسه، ما يجعله فعالًا للغاية في فهم المشاهد المعقدة التي تكون فيها الأجسام متراصة بكثافة أو متداخلة.
نقاط القوة والضعف#
نقاط القوة:
- السياق الشامل: تتيح آلية الانتباه للنموذج التفوق في البيئات المعقدة والمزدحمة.
- من دون NMS: يتنبأ مباشرة بإحداثيات الأجسام، مما يبسط مسار النشر.
- دقة عالية: يحقق متوسط الدقة (mAP) ممتازًا على مجموعة بيانات COCO.
نقاط الضعف:
- يتطلب موارد كثيرة: تتطلب معماريات Transformer عادةً ذاكرة CUDA أكبر بكثير أثناء التدريب مقارنةً بنماذج CNN، مما يجعل ضبطها الدقيق مكلفًا على العتاد القياسي.
- تباين سرعة الاستدلال: على الرغم من سرعته، يمكن أن تؤدي حسابات الانتباه المكثفة إلى انخفاض عدد الإطارات في الثانية في الرؤية الحاسوبية على الأجهزة الطرفية التي تفتقر إلى مسرّعات مخصصة للذكاء الاصطناعي.
YOLOv10: اكتشاف الأجسام الشامل في الوقت الفعلي#
يمثل YOLOv10 تحولًا كبيرًا في سلالة نماذج YOLO لاكتشاف الأجسام، إذ يعالج اختناق NMS المستمر مباشرةً ضمن إطار عمل CNN.
الخصائص الرئيسية:
- المؤلفون: Ao Wang، Hui Chen، Lihao Liu، وآخرون.
- الجهة: جامعة تسينغهوا
- التاريخ: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
منهجيات البنية والتدريب#
يتمثل الابتكار الأساسي في YOLOv10 في التعيينات المزدوجة المتسقة للتدريب من دون NMS. فهو يستخدم رأسي كشف أثناء التدريب: أحدهما بتعيين واحد إلى متعدد (مثل نماذج YOLO التقليدية) لتوفير إشارات إشراف غنية، والآخر بتعيين واحد إلى واحد لإلغاء الحاجة إلى NMS. وأثناء الاستدلال، يُستخدم رأس الواحد إلى الواحد فقط، مما ينتج عنه سير عمل شامل من البداية إلى النهاية. علاوةً على ذلك، طبق المؤلفون استراتيجية شاملة لتصميم النموذج مدفوعة بالكفاءة والدقة، مع تحسين مختلف المكونات بصورة شاملة لتقليل التكرار الحسابي.
نقاط القوة والضعف#
نقاط القوة:
- سرعة فائقة: من خلال إزالة NMS وتحسين المعمارية، يحقق YOLOv10 زمن استدلال منخفضًا للغاية.
- الكفاءة: يتطلب عددًا أقل من المعلمات وعمليات FLOPs لتحقيق دقة مماثلة للنماذج الأخرى، مما يجعله مناسبًا للغاية للبيئات محدودة الموارد.
- عمليات نشر من دون NMS: يبسط التكامل مع التطبيقات الطرفية مثل المراقبة الذكية.
نقاط الضعف:
- مفهوم الجيل الأول: بوصفه أول نموذج YOLO يطبق هذه المعمارية المحددة الخالية من NMS، فقد أرسى الأساس، لكنه ترك مجالًا للتنوع متعدد المهام والتحسينات التي ظهرت في نماذج لاحقة مثل YOLO11 وYOLO26.
مقارنة الأداء#
عند تقييم النماذج للاستخدام في الإنتاج، من الضروري تحقيق توازن بين الدقة والتكلفة الحاسوبية. يوضح الجدول أدناه المفاضلات في الأداء بين مختلف أحجام RTDETRv2 وYOLOv10.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (مللي ثانية) | المعاملات (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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
مع أن RTDETRv2 يوفر دقة قوية، يُظهر YOLOv10 تفوقًا ملحوظًا في زمن الاستجابة وكفاءة المعلمات، ولا سيما في إصداراته الأصغر (Nano وSmall)، مما يجعله جذابًا للغاية لتطبيقات الحوسبة الطرفية وAIoT.
إذا كنت تنشر على وحدات GPU بمستوى الخوادم، حيث يكون حجم الدفعة وVRAM أقل تقييدًا، فإن النماذج الأكبر (مثل -x أو -l) تزيد الدقة إلى أقصى حد. أما بالنسبة إلى الأجهزة الطرفية مثل Raspberry Pi أو الهواتف المحمولة، فأعطِ الأولوية لإصدارات Nano (-n) أو Small (-s) للحفاظ على معدلات إطارات في الوقت الفعلي.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين RT-DETR وYOLOv10 على متطلبات مشروعك المحددة وقيود النشر وتفضيلات المنظومة.
متى تختار RT-DETR#
يُعد RT-DETR خيارًا قويًا من أجل:
- أبحاث الكشف القائمة على Transformer: المشاريع التي تستكشف آليات الانتباه وبنى Transformer لاكتشاف الأجسام من البداية إلى النهاية دون NMS.
- السيناريوهات عالية الدقة ذات زمن الاستجابة المرن: التطبيقات التي تمثل فيها دقة الكشف الأولوية القصوى، ويكون فيها قبول زمن استدلال أعلى قليلًا أمرًا ممكنًا.
- اكتشاف الأجسام الكبيرة: المشاهد التي تتكون أساسًا من أجسام متوسطة إلى كبيرة، حيث توفر آلية الانتباه العالمي في Transformer ميزة طبيعية.
متى تختار YOLOv10#
يوصى باستخدام YOLOv10 من أجل:
- الاكتشاف في الوقت الفعلي الخالي من NMS: التطبيقات التي تستفيد من الاكتشاف من الطرف إلى الطرف دون كبت القيم غير العظمى، ما يقلل تعقيد النشر.
- المفاضلة المتوازنة بين السرعة والدقة: المشاريع التي تتطلب توازنًا قويًا بين سرعة الاستدلال ودقة الاكتشاف عبر مقاييس نماذج مختلفة.
- التطبيقات ذات زمن الانتقال المتسق: سيناريوهات النشر التي تكون فيها أزمنة الاستدلال المتوقعة أمرًا بالغ الأهمية، مثل الروبوتات أو الأنظمة الذاتية.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي الخالي من NMS: التطبيقات التي تتطلب استدلالًا متسقًا منخفض زمن الانتقال دون تعقيد المعالجة اللاحقة لكبت القيم غير العظمى.
- البيئات المعتمدة على CPU فقط: الأجهزة التي لا تتضمن تسريع GPU مخصصًا، حيث يوفر استدلال YOLO26 الأسرع على CPU بنسبة تصل إلى 43% ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل الصور الجوية الملتقطة بالطائرات المسيّرة أو تحليل مستشعرات إنترنت الأشياء، حيث يعزّز ProgLoss وSTAL الدقة بدرجة كبيرة عند التعامل مع الأجسام الصغيرة جدًا.
ميزة Ultralytics: تقديم YOLO26#
مع أن كلًا من RTDETRv2 وYOLOv10 يقدمان تطورات أكاديمية مهمة، فإن نشرهما في سيناريوهات العالم الحقيقي يتطلب منظومة برمجية قوية جيدة الصيانة. توفر منصة Ultralytics تجربة مطور لا مثيل لها، إذ تجمع بين سهولة الاستخدام والوثائق الشاملة والأدوات القوية لـوسم البيانات والنشر.
بالنسبة إلى المطورين الذين يسعون إلى أحدث ما توصل إليه المجال في عام 2026، فإن Ultralytics YOLO26 هو التوصية المثلى. فهو يجمع أفضل الأفكار من كلتا المعماريتين، مع تقديم تحسينات رائدة:
- تصميم شامل من البداية إلى النهاية ومن دون NMS: بالاستناد إلى المفهوم الذي ابتكره YOLOv10، يلغي YOLO26 معالجة NMS اللاحقة بصورة أصلية، مما ينتج عنه منطق نشر أسرع وأبسط وتباين صفري في زمن الاستجابة.
- إزالة DFL: من خلال إزالة خسارة البؤرة للتوزيع، يبسط YOLO26 تصدير النموذج ويحسن التوافق بدرجة كبيرة مع الأجهزة الطرفية ومنخفضة استهلاك الطاقة.
- مُحسِّن MuSGD: هذا المُحسِّن المبتكر، وهو مزيج من SGD وMuon (مستوحى من ابتكارات تدريب LLM)، يوفر تدريبًا أكثر استقرارًا وتقاربًا أسرع بكثير مقارنةً بالأساليب التقليدية.
- استدلال على CPU أسرع بنسبة تصل إلى 43%: جرى تحسينه بعناية للبيئات التي لا تحتوي على وحدات GPU مخصصة، مما يتيح تعميم الذكاء الاصطناعي عالي الأداء في مجال الرؤية.
- ProgLoss + STAL: تحقق دوال الخسارة المتقدمة هذه تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية لـالتطبيقات التي تستخدم الطائرات المسيّرة ومستشعرات IoT.
- تنوع لا مثيل له: بخلاف النماذج المحدودة بمربعات الإحاطة، يدعم YOLO26 مجموعة كاملة من المهام، بما في ذلك تجزئة الكائنات، وتقدير الوضعية، وتصنيف الصور، واكتشاف OBB، مع تحسينات خاصة بكل مهمة مثل تقدير الاحتمالية اللوغاريتمية المتبقية (RLE) للوضعية.
تنفيذ سلس باستخدام Python#
صُمم تدريب هذه النماذج ونشرها باستخدام واجهة Python البرمجية لـUltralytics ليكون سهلًا وسلسًا. وتكون متطلبات الذاكرة أثناء التدريب أقل بوضوح مقارنةً بالمعماريات المعتمدة بكثافة على Transformer، مما يتيح لك تدريب نماذج قوية على عتاد قياسي.
from ultralytics import YOLO
# Load the cutting-edge YOLO26 model (recommended)
# Alternatively, load a YOLOv10 model using YOLO('yolov10n.pt')
model = YOLO("yolo26n.pt")
# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Easily export to various formats for edge deployment
model.export(format="onnx", simplify=True)سواء كنت تنفذ أنظمة إنذار أمنية أو تجري تحليلًا للصور الطبية، فإن اختيار نموذج تدعمه مجتمع Ultralytics النشط يضمن حصولك على الأدوات وأدلة ضبط المعلمات الفائقة والتحديثات المستمرة اللازمة للنجاح. وبينما مهد YOLOv10 وRTDETRv2 الطريق للمعماريات الخالية من NMS، يعمل YOLO26 على إتقان هذه الصيغة، مقدمًا أفضل توازن بين الأداء والتنوع والجاهزية للإنتاج.