مقارنة بين YOLOv5 و RTDETRv2#
لقد توسع مشهد computer vision بشكل كبير على مدى السنوات القليلة الماضية، مما يوفر للمطورين مجموعة واسعة من البنى لمعالجة المهام المرئية المعقدة. ومن بين النماذج الأكثر شعبية الشبكات العصبية التلافيفية (CNNs) ومحولات الاكتشاف (DETRs).
يوفر هذا الدليل مقارنة تقنية متعمقة بين نموذجين محوريين في هذه الفئات: Ultralytics YOLOv5، وهو نموذج عالي الكفاءة وواسع الانتشار يعتمد على شبكات CNN، وRTDETRv2، وهو كاشف كائنات في الوقت الفعلي يعتمد على المحولات بأحدث التقنيات.
Ultralytics YOLOv5: معيار الصناعة للكفاءة#
منذ إصداره، أصبحت نماذج Ultralytics YOLOv5 حجر أساس في مجتمع الذكاء الاصطناعي، حيث تشغل الآلاف من التطبيقات التجارية ومشاريع البحث عالمياً. وقد تم بناؤه بالكامل على إطار عمل PyTorch، مما أعطى الأولوية لتجربة مطور بديهية دون المساومة على الأداء في الوقت الفعلي.
الخصائص الرئيسية:
- المؤلف: Glenn Jocher
- المنظمة: Ultralytics
- التاريخ: 2020-06-26
- الروابط: GitHub Repository
المعمارية ونقاط القوة#
يستخدم YOLOv5 بنية CNN مبسطة مصممة لزيادة كفاءة feature extraction مع الحفاظ على استهلاك منخفض للغاية للذاكرة. وهو يفتقر إلى عصب أساسي من نوع CSPDarknet وعصب رقبي من نوع PANet، مما يخلق مزيجاً قوياً لدمج الميزات متعددة المقاييس.
تتمثل إحدى المزايا الأساسية لـ YOLOv5 في توازن الأداء (Performance Balance). فهو يحقق مقايضة استثنائية بين السرعة والدقة، مما يجعله خياراً مثالياً لـ model deployment على الأجهزة محدودة الموارد مثل أجهزة NVIDIA Jetson والهواتف الذكية.
علاوة على ذلك، يتميز YOLOv5 بـ تعدد الاستخدامات (Versatility) الذي لا يُضاهى. وعلى عكس النماذج المقتصرة حصراً على تنبؤات صناديق الإحاطة، يدعم YOLOv5 بشكل أصلي image classification و instance segmentation، مما يوفر إطار عمل موحداً للمهام المرئية المتنوعة. كما أن training efficiency الخاصة به ملحوظة أيضاً، حيث تتطلب ذاكرة CUDA أقل بكثير أثناء التدريب مقارنة بالبنى المعتمدة على المحولات.
نقاط الضعف#
نظرًا لأنه يعتمد على إطار عمل CNN أقدم، يعتمد YOLOv5 بطبيعته على Non-Maximum Suppression (NMS) أثناء المعالجة اللاحقة للتخلص من صناديق الإحاطة المكررة. وفي حين أنه مُحسَّن للغاية ضمن إطار عمل Ultralytics، إلا أن NMS يمكن أن يتسبب أحيانًا في اختناقات في زمن الاستجابة على وحدات NPU الطرفية المتخصصة.
RTDETRv2: محولات الوقت الفعلي من Baidu#
يمثل RTDETRv2 (محول الكشف في الوقت الفعلي الإصدار 2) قفزة كبيرة في تطبيق بنيات Transformer على الكشف عن الكائنات في الوقت الفعلي، معالجةً أوجه القصور الحسابية التي عانت منها DETRs القياسية تاريخيًا.
الخصائص الرئيسية:
- المؤلفون: Wenyu Lv, Yian Zhao, Qinyao Chang, Kui Huang, Guanzhong Wang, و Yi Liu
- المنظمة: Baidu
- التاريخ: 24-07-2024
- الروابط: ورقة Arxiv، مستودع GitHub
المعمارية ونقاط القوة#
يبني RTDETRv2 على سابقه باستخدام مشفر هجين وتصميم فك تشفير مرن لمعالجة الصور. توفر آلية الانتباه الذاتي الخاصة بـ Transformer للنموذج فهمًا عالميًا لسياق الصورة، مما يسمح له بالأداء بشكل استثنائي في المشاهد المعقدة مع وجود انسداد شديد للكائنات.
تتمثل إحدى الميزات المميزة لـ RTDETRv2 في تصميمه من طرف إلى طرف الخالي من NMS. ومن خلال توقع استعلامات الكائنات مباشرة دون الحاجة إلى anchor boxes أو معالجة NMS لاحقة، فإنه يبسط خط أنابيب الاستدلال. تحقق هذه البنية mAP (mean Average Precision) مثيرة للإعجاب على مجموعات بيانات القياس مثل COCO.
نقاط الضعف#
على الرغم من إمكانياته في الوقت الفعلي، فإن RTDETRv2 لديه متطلبات ذاكرة أعلى بشكل ملحوظ مقارنة بنماذج YOLO. تتدرج آليات الانتباه في المحولات تربيعياً مع طول التسلسل، مما قد يؤدي إلى أخطاء نفاد الذاكرة أثناء التدريب عالي الدقة ما لم يتم استخدام مجموعات وحدة معالجة رسومية (GPU) ضخمة. بالإضافة إلى ذلك، يفتقر إلى تعدد الاستخدامات الجاهز لنظام Ultralytics البيئي، حيث يركز بشكل أساسي على object detection ثنائي الأبعاد دون دعم أصلي للتقسيم أو تقدير الوضعية.
جدول مقارنة الأداء#
لتقييم هذه البنيات بموضوعية، قمنا بتجميع مقاييس أدائها. تمثل القيم المميزة بالخط العريض المقاييس الأكثر كفاءة أو الأفضل أداءً عبر النطاقات التي تم اختبارها.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
بينما يحقق RTDETRv2-x أعلى mAP مطلق، فإنه يتطلب ما يقرب من 30 ضعف معلمات YOLOv5n. بالنسبة للتطبيقات عالية السرعة التي تعمل على أجهزة محدودة، تقدم نماذج Ultralytics باستمرار أفضل كفاءة حسابية.
ميزة نظام Ultralytics البيئي#
عند نقل نموذج من دفتر ملاحظات بحثي إلى بيئة إنتاج، يكون البرنامج المحيط بالنموذج بنفس أهمية بنية الشبكة العصبية. يعمل النظام البيئي المُصان جيدًا الذي توفره Ultralytics على تسريع دورة حياة التطوير بشكل كبير.
سهولة استخدام لا تضاهى#
تضع نماذج Ultralytics أولوية لتجربة مستخدم مبسطة بشكل لا يصدق. وسواء كنت تريد تدريب نموذج مخصص، أو إجراء التحقق، أو التصدير إلى تنسيقات خاصة بالأجهزة مثل TensorRT أو ONNX، فإن Ultralytics Python API يجعل ذلك قابلاً للتحقيق في أسطر قليلة فقط من الكود البرمج.
إليك مثال برمجي عملي يوضح مدى بساطة تدريب وتشغيل الاستدلال باستخدام نموذج Ultralytics:
from ultralytics import YOLO
# Initialize the model (automatically downloads the weights)
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=50, imgsz=640, device="cpu")
# Perform inference on an online image
inference_results = model.predict("https://ultralytics.com/images/bus.jpg")
# Display the resulting image with bounding boxes
inference_results[0].show()يدعم هذا واجهة برمجة التطبيقات البسيطة والموحدة تكاملات experiment tracking بشكل أصلي مع أدوات مثل Weights & Biases و Comet، مما يسمح للمطورين بتسجيل المقاييس بسلاسة دون كتابة كود هيكلي معقد.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv5 و RT-DETR على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv5#
يعد YOLOv5 خيارًا قويًا لـ:
- أنظمة الإنتاج المثبتة: عمليات النشر الحالية حيث يتم تقدير سجل YOLOv5 الطويل من الاستقرار، والوثائق الشاملة، ودعم المجتمع الضخم.
- التدريب محدود الموارد: البيئات ذات موارد GPU المحدودة حيث تكون خط أنابيب التدريب الفعال لـ YOLOv5 ومتطلبات الذاكرة الأقل ميزة.
- Extensive Export Format Support: المشاريع التي تتطلب النشر عبر العديد من التنسيقات بما في ذلك ONNX، وTensorRT، وCoreML، وTFLite.
متى تختار RT-DETR#
يوصى بـ RT-DETR لـ:
- أبحاث الاكتشاف القائمة على Transformer: المشاريع التي تستكشف آليات الانتباه وهياكل transformer لاكتشاف الكائنات بنهاية واحدة دون NMS.
- سيناريوهات الدقة العالية مع زمن انتقال مرن: التطبيقات التي تكون فيها دقة الاكتشاف هي الأولوية القصوى ويكون زمن انتقال الاستنتاج الأعلى قليلاً مقبولاً.
- اكتشاف الكائنات الكبيرة: المشاهد التي تحتوي بشكل أساسي على كائنات متوسطة إلى كبيرة حيث توفر آلية الانتباه العالمي للمحولات ميزة طبيعية.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- الكشف عن الأشياء الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء (IoT) حيث تعمل ProgLoss و STAL على تعزيز الدقة بشكل كبير على الأشياء الدقيقة.
التطلع إلى المستقبل: YOLO11 و YOLO26#
إذا كنت تبدأ مشروع رؤية جديدًا اليوم، فمن المستحسن بشدة استكشاف أحدث أجيال نماذج Ultralytics.
بينما يظل YOLOv5 موثوقًا بشكل لا يصدق، فإن YOLO11 يوفر دقة محسنة ومجموعة موسعة من المهام بما في ذلك اكتشاف Oriented Bounding Box (OBB).
والأكثر أهمية من ذلك، أن YOLO26 المتطور يدمج الأفضل من العالمين. فهو يطبق تصميمًا خاليا من NMS من طرف إلى طرف (تم ابتكاره لأول مرة في YOLOv10)، مما يلغي عبء المعالجة اللاحقة مع الحفاظ على كفاءة شبكة CNN. يقدم YOLO26 أيضًا محسن MuSGD، المستوحى من ابتكارات تدريب النماذج اللغوية الكبيرة (LLM)، لتحقيق تقارب أسرع. ومع إزالة DFL (إزالة خسارة التركيز للتوزيع من أجل تبسيط التصدير وتحسين توافق الحافة والأجهزة منخفضة الطاقة)، يقدم YOLO26 استدلالاً أسرع لوحدة المعالجة المركزية (CPU) بنسبة تصل إلى 43%، مما يجعله الخيار الأفضل على الإطلاق للذكاء الاصطناعي على الحافة. بالإضافة إلى ذلك، توفر ProgLoss + STAL وظائف خسارة محسنة مع تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر بالغ الأهمية لإنترنت الأشياء، والروبوتات، والصور الجوية.
الخلاصة#
يعتمد الاختيار بين YOLOv5 و RTDETRv2 بشكل كبير على قيود النشر الخاصة بك. يدفع RTDETRv2 حدود mAP باستخدام آليات انتباه قوية لـ Transformer ولكنه يأتي بتكلفة باهظة من حيث الذاكرة والعبء الحسابي.
وعلى العكس من ذلك، يقدم Ultralytics YOLOv5 حلاً مثبتًا ومحسّنًا للغاية ومتعدد الاستخدامات يعمل بسلاسة في كل مكان - من خوادم السحابة إلى وحدات التحكم الدقيقة. بالنسبة للفرق التي تبحث عن أعلى دقة ممكنة إلى جانب أدوات نشر سلسة، فإن الترقية داخل نظام Ultralytics البيئي إلى YOLO26 توفر الحل النهائي والأحدث لتطبيقات vision AI الحديثة.