YOLOv10 ضد RT-DETRv2: مقارنة فنية لـ detect الكائنات
يُعد اختيار بنية الكشف عن العناصر المثالية قرارًا محوريًا يتطلب التنقل في المفاضلات بين سرعة الاستدلال والدقة ومتطلبات موارد الحوسبة. يقارن هذا الدليل الشامل بين YOLOv10، وهو تطور متطور لعائلة YOLO القائمة على CNN والمعروفة بكفاءتها، و RT-DETRv2، وهو نموذج متطور قائم على المحولات ومصمم لمهام عالية الدقة. نحلل ابتكاراتهم المعمارية ومقاييس الأداء وسيناريوهات النشر المثالية لمساعدتك في اتخاذ خيار مستنير لمشاريع الرؤية الحاسوبية الخاصة بك.
YOLOv10: الكشف في الوقت الفعلي مدفوع بالكفاءة
YOLOv10 يمثل قفزة كبيرة في سلالة YOLO، مع التركيز على إزالة الاختناقات في أجهزة الكشف التقليدية في الوقت الفعلي. تم تطويره بواسطة باحثين في جامعة تسينغ هوا، وهو يقدم نموذج تدريب خالٍ من NMS يعمل على تبسيط خط أنابيب النشر عن طريق إزالة الحاجة إلى معالجة Non-Maximum Suppression اللاحقة.
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المؤسسة:جامعة تسينغ - هوا
- التاريخ: 2024-05-23
- Arxiv:2405.14458
- GitHub:THU-MIG/yolov10
- المستندات:توثيق YOLOv10
الابتكارات المعمارية
تتبنى YOLOv10 تصميمًا شاملاً مدفوعًا بالكفاءة والدقة. تستخدم تعيينات مزدوجة متسقة أثناء التدريب لتمكين الاستدلال بدون NMS، مما يقلل بشكل كبير من زمن الوصول. يتميز الهيكل أيضًا برأس تصنيف خفيف الوزن وتقليل أخذ العينات المترابط مكانيًا وقنواتيًا لتقليل التكرار الحسابي. يضمن هذا التصميم بقاء النموذج سريعًا للغاية مع الحفاظ على دقة تنافسية، مما يجعله مناسبًا بشكل خاص للحوسبة الطرفية حيث الموارد نادرة.
الاستدلال الخالي من NMS
إن إزالة Non-Maximum Suppression (NMS) في YOLOv10 تقلل من تعقيد خطوات ما بعد المعالجة. وهذا يؤدي إلى تقليل زمن الوصول للاستدلال ويسهل نشر النموذج في خطوط الإنتاج المتكاملة دون نوى CUDA مخصصة لـ NMS.
يتوسع النموذج بشكل فعال عبر أحجام مختلفة، من إصدار nano (n) للبيئات المقيدة للغاية إلى إصدار كبير جدًا (x) لمتطلبات الدقة العالية.
from ultralytics import YOLO
# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")
# Run inference on an image
results = model.predict("path/to/image.jpg")
RT-DETRv2: دقة قائمة على المحولات
RT-DETRv2 (Real-Time Detection Transformer v2) يبني على نجاح RT-DETR الأصلي، مما يزيد من تحسين تطبيق محولات الرؤية للكشف عن الكائنات في الوقت الفعلي. تم تطوير هذا النموذج بواسطة Baidu، ويستفيد من آليات الاهتمام الذاتي لالتقاط السياق العالمي، وغالبًا ما يتفوق على النظراء القائمين على CNN في المشاهد المعقدة ذات الانسدادات.
- المؤلفون: ويني يو ليف، يان زهاو، تشينياو تشانغ، وآخرون.
- المؤسسة:بايدو
- التاريخ: 2024-07-24
- Arxiv:2407.17140
- GitHub:RT-DETRv2 Repository
- الوثائق:توثيق RT-DETR
محولات الرؤية في الـ Detection
بخلاف شبكات CNN التقليدية التي تعالج الصور باستخدام حقول استقبال محلية، يستخدم RT-DETRv2 هيكل محول الرؤية (ViT) الأساسي. يتيح ذلك للنموذج معالجة رقع الصور مع الاهتمام الذاتي، وفهم العلاقات بين الكائنات البعيدة في المشهد بشكل فعال. في حين أن قدرة السياق العالمي هذه تعزز دقة الاكتشاف detect، إلا أنها تأتي بشكل عام بتكاليف حسابية أعلى مقارنة بالهندسة المعمارية المبسطة لـ YOLOv10.
صُمم RT-DETRv2 ليكون قابلاً للتكيف، حيث يقدم مقاييس نماذج متنوعة لتناسب احتياجات الأداء المختلفة، على الرغم من أنه يتطلب عادةً ذاكرة GPU أكبر للتدريب والاستدلال مقارنة بنماذج YOLO المكافئة.
تحليل الأداء
تسلط المقارنة أدناه الضوء على المزايا المتميزة لكل بنية. يتفوق YOLOv10 في السرعة والكفاءة، مما يوفر زمن انتقال منخفضًا للغاية وعددًا قليلاً من المعلمات. على سبيل المثال، يعمل نموذج YOLOv10n بسرعة 1.56 مللي ثانية على وحدة معالجة الرسومات T4، مما يجعله مثاليًا لمعالجة الفيديو عالية السرعة. RT-DETRv2، على الرغم من أنه أبطأ، إلا أنه يوفر دقة قوية، خاصة في أحجام النماذج الأكبر، ولكن على حساب FLOPs واستخدام الذاكرة بشكل كبير.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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-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 |
كما هو ملاحظ في الجدول، تحقق YOLOv10x قيمة mAP فائقة تبلغ 54.4٪ مقارنة بـ 54.3٪ لـ RT-DETRv2-x، مع استخدام وقت أقل بنسبة 23٪ للاستدلال وامتلاك بصمة نموذج أصغر بكثير. هذه الكفاءة تجعل YOLOv10 خيارًا أكثر توازناً لمعظم التطبيقات حيث تعتبر موارد الأجهزة أحد الاعتبارات.
نقاط القوة والضعف
YOLOv10
- نقاط القوة:
- زمن انتقال منخفض: يسمح تصميم NMS-free باستدلال سريع للغاية، وهو أمر بالغ الأهمية لـ تطبيقات الوقت الفعلي.
- كفاءة الموارد: يتطلب عددًا أقل من المعلمات و FLOPs، مما يجعله مناسبًا للنشر على أجهزة edge AI مثل NVIDIA Jetson أو الأنظمة الأساسية المحمولة.
- تكامل النظام البيئي: مدمج بالكامل في النظام البيئي لـ Ultralytics، مما يسهل التصدير إلى تنسيقات مثل ONNX و TensorRT و CoreML.
- نقاط الضعف:
- اكتشاف الكائنات الصغيرة: قد تضحي الإصدارات الصغيرة للغاية (مثل YOLOv10n) ببعض الدقة الدقيقة مقابل السرعة الأولية مقارنة بنماذج المحولات الأكبر.
RT-DETRv2
- نقاط القوة:
- السياق العام: يتفوق تصميم المحول (transformer) في فهم المشاهد المعقدة والعلاقات بين الكائنات.
- أصلي بدون NMS: تتجنب المحولات بطبيعتها NMS، مما يبسط خط أنابيب المعالجة اللاحقة على غرار YOLOv10.
- نقاط الضعف:
- تكلفة حسابية عالية: يتطلب التدريب والاستدلال ذاكرة CUDA وطاقة حسابية أكبر بكثير.
- سرعات أبطأ: آلية الانتباه الذاتي، على الرغم من دقتها، إلا أنها مكلفة حسابيًا، مما يؤدي إلى زمن انتقال أعلى.
- تعقيد النشر: قد يكون من الصعب أحيانًا تحسين نماذج المحولات لبعض الأجهزة المضمنة مقارنة بشبكات CNN.
حالات الاستخدام المثالية
يعتمد الاختيار بين هذه النماذج إلى حد كبير على قيود التشغيل المحددة لديك.
- اختر YOLOv10 عندما: تحتاج إلى أداء في الوقت الفعلي على الأجهزة الطرفية، كما هو الحال في الطائرات بدون طيار ذاتية القيادة أو تطبيقات الهاتف المحمول. إن بصمتها المنخفضة على الذاكرة وسرعتها العالية تجعلها مثالية لسيناريوهات مثل مراقبة حركة المرور أو تحليلات البيع بالتجزئة.
- اختر RT-DETRv2 عندما: لديك موارد GPU وفيرة وتعالج مشاهد معقدة حيث تكون الدقة القصوى هي الأولوية الوحيدة، مثل البحث الأكاديمي المتطور أو تحليل الصور الصعبة من جانب الخادم.
ميزة Ultralytics
في حين أن كلا النموذجين يقدمان ميزات مقنعة، فإن الاستفادة من نماذج Ultralytics YOLO—بما في ذلك YOLOv10 و YOLO11 المتطورة—توفر ميزة واضحة في دورة حياة التطوير.
- سهولة الاستخدام: توفر Ultralytics واجهة Python API موحدة و CLI تعمل على توحيد التدريب والتحقق والنشر. يتيح ذلك للمطورين التبديل بين YOLOv8 و YOLOv10 و YOLO11 و RT-DETR بسطر واحد من التعليمات البرمجية.
- كفاءة التدريب: تم تحسين نماذج Ultralytics للتدريب الفعال، وغالبًا ما تتقارب بشكل أسرع وتتطلب ذاكرة أقل من التطبيقات القياسية. هذا يقلل من تكاليف الحوسبة السحابية ويسرع الوقت اللازم لطرح المنتج في السوق.
- Versatility: بالإضافة إلى الـ detect، يدعم إطار عمل Ultralytics كلاً من segmentation و pose estimation و OBB، مما يسمح لك بتوسيع نطاق قدرات مشروعك دون تغيير الأدوات.
- نظام بيئي مُدار بشكل جيد: مع التحديثات المتكررة و الأدلة الشاملة والمجتمع المزدهر، يستفيد المستخدمون من التحسينات والدعم المستمر.
تشغيل نماذج مختلفة
التبديل بين الهياكل سلس باستخدام Ultralytics API:
from ultralytics import RTDETR, YOLO
# Train YOLOv10
model_yolo = YOLO("yolov10n.pt")
model_yolo.train(data="coco8.yaml", epochs=100)
# Train RT-DETR
model_rtdetr = RTDETR("rtdetr-l.pt")
model_rtdetr.train(data="coco8.yaml", epochs=100)
الخلاصة
يمثل كل من YOLOv10 و RT-DETRv2 طليعة تكنولوجيا اكتشاف الكائنات. يُعد RT-DETRv2 خيارًا قويًا للمهام الموجهة نحو البحث حيث تكون التكلفة الحسابية ثانوية للدقة. ومع ذلك، بالنسبة للغالبية العظمى من عمليات النشر في العالم الحقيقي، يقدم YOLOv10 توازنًا فائقًا. إن جمعه بين السرعة العالية وزمن الوصول المنخفض وكفاءة الموارد يجعله الفائز العملي للمهندسين الذين يبنون تطبيقات قابلة للتطوير.
علاوة على ذلك، يتيح استكشاف أحدث YOLO11 للمطورين الوصول إلى تحسينات أكبر في الدقة والسرعة، كل ذلك ضمن نظام Ultralytics سهل الاستخدام. سواء كنت تقوم بالنشر على السحابة أو الحافة، تضمن منصة Ultralytics حصولك على الأدوات اللازمة لبناء حلول رؤية حاسوبية عالمية المستوى بكفاءة.
استكشف نماذج أخرى
إذا كنت مهتمًا بإجراء المزيد من المقارنات، ففكر في الاطلاع على: