YOLOv10 في مواجهة DAMO-YOLO: مقارنة تقنية بين كواشف الكائنات في الوقت الفعلي
عند بناء خطوط أنابيب حديثة لـ الرؤية الحاسوبية، يُعد اختيار بنية كشف الكائنات المناسبة للعمل في الوقت الفعلي أمراً بالغ الأهمية. في هذا التحليل التقني الشامل، نستكشف البنى، ومقاييس الأداء، وحالات الاستخدام المثالية لـ YOLOv10 و DAMO-YOLO. يمثل كلا النموذجين قفزات كبيرة في قدرات كشف الكائنات، لكنهما يسلكان مسارات معمارية مختلفة لتحقيق أهدافهما.
سواء كان مشروعك يتطلب النشر على أجهزة ذكاء اصطناعي طرفي محدودة الإمكانيات أو يتطلب أقصى قدر من الدقة على وحدات معالجة الرسومات (GPUs) السحابية، فإن فهم الفروق الدقيقة في هذه البنى سيساعدك على اتخاذ قرار مستنير.
استكشاف YOLOv10
تم تقديم YOLOv10 من قبل باحثين في جامعة تسينغهوا، وقد أحدث ثورة في عائلة YOLO من خلال تقديم نهج أصيل من البداية إلى النهاية، مما يلغي فعلياً الحاجة إلى كبت الحد الأقصى غير (NMS) أثناء المعالجة اللاحقة.
تفاصيل YOLOv10:
- المؤلفون: Ao Wang، Hui Chen، Lihao Liu، وآخرون.
- المؤسسة: جامعة تسينغوا
- التاريخ: 23-05-2024
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- المستندات: https://docs.ultralytics.com/models/yolov10/
الميزات المعمارية الرئيسية
الابتكار الأساسي في YOLOv10 هو استراتيجية التخصيص المزدوج المتسق (Consistent Dual Assignments) للتدريب الخالي من NMS. تعتمد كواشف الكائنات التقليدية بشكل كبير على NMS لتصفية صناديق الإحاطة المتداخلة، مما يؤدي إلى زمن انتقال غير متوقع - وهو عنق زجاجة كبير للتطبيقات التي تعمل في الوقت الفعلي مثل المركبات ذاتية القيادة والروبوتات عالية السرعة. من خلال التنبؤ بصندوق إحاطة مثالي واحد لكل كائن مباشرة، يحقق YOLOv10 استدلالاً ذا زمن انتقال منخفض جداً ويمكن التنبؤ به.
علاوة على ذلك، يستخدم النموذج تصميماً شاملاً مدفوعاً بالكفاءة والدقة. تعمل البنية على تحسين المكونات المختلفة، بما في ذلك رأس تصنيف خفيف الوزن وتقليل أخذ العينات المفكك مكانيًا وقناتياً، مما يقلل بشكل كبير من التكرار الحسابي. يؤدي هذا إلى بنية تفتخر بعدد أقل من المعلمات وعدد أقل من FLOPs مع الحفاظ على تنافسية متوسط دقة متوسط (mAP).
مثال على الاستخدام
تم دمج YOLOv10 بعمق في نظام Ultralytics، مما يجعله سهل الاستخدام للغاية عبر حزمة Ultralytics Python.
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
results = model("https://ultralytics.com/images/bus.jpg")
# Export the model to TensorRT format
model.export(format="engine", half=True)استكشاف DAMO-YOLO
تم تطوير DAMO-YOLO بواسطة مجموعة Alibaba، ويركز على اكتشاف هياكل شبكة عالية الكفاءة من خلال البحث الآلي في معمارية الشبكات (NAS)، بهدف دفع حدود باريتو للسرعة والدقة.
تفاصيل DAMO-YOLO:
- المؤلفون: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, و Xiuyu Sun
- المؤسسة: Alibaba Group
- التاريخ: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
الميزات المعمارية الرئيسية
يقدم DAMO-YOLO العديد من التقنيات الجديدة المصممة للتطبيقات الصناعية. أساس النموذج هو MAE-NAS Backbone، الذي يتم إنشاؤه عبر بحث تطوري متعدد الأهداف. تكتشف هذه العملية الآلية هياكل العمود الفقري التي تلتزم بدقة بميزانيات حسابية محددة مسبقاً، مما يحقق توازناً دقيقاً بين الدقة وزمن انتقال الاستدلال.
بالإضافة إلى ذلك، تستخدم البنية رقبة Efficient RepGFPN. صُممت شبكة هرم الميزات هذه لتحسين دمج الميزات عبر مقاييس مختلفة، وهو أمر بالغ الأهمية للمهام المعقدة مثل تحليل الصور الجوية حيث تختلف أحجام الكائنات بشكل كبير. لتكملة ذلك، ينفذ DAMO-YOLO ZeroHead، وهو رأس كشف بسيط يقلل بشكل كبير من تعقيد طبقات التنبؤ النهائية، مما يوفر وقت حساب ثمين أثناء الاستدلال.
مقارنة الأداء
عند تقييم بنى كشف الكائنات، يعد العثور على المقايضة الصحيحة بين سرعة الاستدلال، وكفاءة المعلمات، ودقة الكشف أمراً بالغ الأهمية. يقارن الجدول أدناه أداء YOLOv10 و DAMO-YOLO عبر أحجام نماذجهم الخاصة.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| 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 |
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
كما لوحظ في المعايير، يقدم YOLOv10 باستمرار ملفات تعريف زمن انتقال استثنائية على TensorRT، خاصة في نسخته النانوية، مما يتطلب معلمات و FLOPs أقل بكثير من نماذج DAMO-YOLO المماثلة. في حين يوفر DAMO-YOLO متوسط دقة mAP قوياً في نسخته الصغيرة (tiny)، فإن كفاءة المعلمات وزمن انتقال الاستدلال لعائلة YOLOv10 توفر ميزة واضحة لبيئات النشر المقيدة.
حالات الاستخدام والتوصيات
يعتمد الاختيار بين YOLOv10 و DAMO-YOLO على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv10
يعد YOLOv10 خياراً قوياً لـ:
- اكتشاف الوقت الفعلي الخالي من NMS: التطبيقات التي تستفيد من الاكتشاف الشامل دون Non-Maximum Suppression، مما يقلل من تعقيد النشر.
- موازنة مقايضات السرعة والدقة: المشاريع التي تتطلب توازناً قوياً بين سرعة الاستدلال ودقة الاكتشاف عبر مختلف مقاييس النماذج.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
متى تختار DAMO-YOLO
يُنصح بـ DAMO-YOLO من أجل:
- تحليلات الفيديو عالية الإنتاجية: معالجة تدفقات الفيديو عالية معدل الإطارات على بنية تحتية ثابتة لـ NVIDIA GPU حيث تعد إنتاجية الدفعة 1 المقياس الأساسي.
- خطوط التصنيع الصناعية: سيناريوهات ذات قيود زمن انتقال صارمة لوحدة معالجة الرسومات على أجهزة مخصصة، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- أبحاث البحث عن البنية العصبية: دراسة تأثيرات البحث المؤتمت عن البنية (MAE-NAS) والهياكل الأساسية المعاد معلمات ذات الكفاءة على أداء الكشف.
متى تختار Ultralytics (YOLO26)
بالنسبة لمعظم المشاريع الجديدة، يوفر Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استدلالاً ثابتاً ومنخفض التأخير دون تعقيد المعالجة اللاحقة لـ Non-Maximum Suppression.
- بيئات تعتمد فقط على CPU: الأجهزة التي لا تحتوي على تسريع GPU مخصص، حيث توفر سرعة استدلال YOLO26 الأسرع بنسبة تصل إلى 43% على CPU ميزة حاسمة.
- اكتشاف الكائنات الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار أو تحليل مستشعرات إنترنت الأشياء حيث تعزز ProgLoss و STAL الدقة بشكل كبير على الكائنات الصغيرة جداً.
ميزة Ultralytics
في حين أن كلا النموذجين مبهران تقنياً، فإن اختيار بنية للإنتاج يتضمن النظر إلى ما هو أبعد من المقاييس الأولية. البناء باستخدام نماذج مدعومة أصلاً من قبل نظام Ultralytics البيئي يوفر مزايا لا مثيل لها للمطورين والباحثين على حد سواء.
سهولة الاستخدام والنظام البيئي المُصان جيداً
على عكس المستودعات الأكاديمية المستقلة التي غالباً ما تواجه الإهمال، يقدم Ultralytics نظاماً بيئياً قوياً ومُصاناً بفاعلية. قد يكون إعداد بيئات معقدة للنماذج التي تعتمد بشكل كبير على خطوط أنابيب NAS أمراً شاقاً. في المقابل، يوفر Ultralytics واجهة برمجة تطبيقات (API) Python قياسية وبديهية و CLI قوياً، مدعوماً بـ وثائق واسعة النطاق. هذا يقلل بشكل جذري من وقت الوصول إلى السوق لحلول الرؤية المخصصة.
كفاءة التدريب ومتطلبات الذاكرة
يمكن أن يصبح تدريب النماذج الكبيرة مكلفاً جداً من الناحية الحسابية بسرعة. تشتهر بنى Ultralytics YOLO تاريخياً ببصمة ذاكرة CUDA المنخفضة الخاصة بها أثناء التدريب والاستدلال. تسمح هذه الكفاءة للمطورين بتدريب النماذج على أجهزة استهلاكية أو مثيلات سحابية فعالة من حيث التكلفة دون الوقوع في أخطاء نفاد الذاكرة التي تشيع عند العمل مع النماذج القائمة على Transformer مثل RT-DETR.
يتكامل Ultralytics أصلاً مع أفضل أدوات MLOps. يمكنك بسهولة تتبع تقدم تدريب النموذج الخاص بك باستخدام عمليات التكامل مع Weights & Biases، أو Comet، أو ClearML بدون أي كود إضافي.
تعدد الاستخدامات عبر المهام
أحد القيود الكبيرة للعديد من نماذج الكشف المتخصصة هو تركيزها الضيق. ضمن نظام Ultralytics البيئي، أنت لا تقتصر فقط على كشف الكائنات. تمتد الأدوات بسلاسة لتشمل مهام رؤية حاسوبية متعددة، بما في ذلك تجزئة المثيلات، و تصنيف الصور، و تقدير الوضعية، و كشف صناديق الإحاطة الموجهة (OBB).
نظرة إلى المستقبل: تطور YOLO26
بينما راد YOLOv10 الاستدلال الخالي من NMS وعرض DAMO-YOLO قوة NAS، فإن مجال الرؤية الحاسوبية يتحرك بسرعة. للمطورين الذين يبحثون عن الحل النهائي المتطور، نوصي بالاطلاع على Ultralytics YOLO26.
تم إصداره كخليفة نهائي لـ YOLO11، ويبني YOLO26 على الأساس الخالي من NMS الذي وضعه YOLOv10 ولكنه يأخذ الأمر إلى أبعد من ذلك بكثير.
تشمل التطورات الرئيسية في YOLO26 ما يلي:
- استدلال أسرع على وحدة المعالجة المركزية (CPU) بنسبة تصل إلى 43%: تم تحسينه خصيصاً للحوسبة الطرفية والأجهزة منخفضة الطاقة.
- إزالة DFL: تمت إزالة Distribution Focal Loss، مما يضمن عمليات تصدير أبسط وتعزيز التوافق مع أهداف النشر المتنوعة.
- مُحسِّن MuSGD: هجين من SGD و Muon، مما يجلب استقرار تدريب LLM المتقدم وتقارباً أسرع مباشرة إلى الرؤية الحاسوبية.
- ProgLoss + STAL: وظائف خسارة محسنة بشكل كبير توفر تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر ضروري لحالات الاستخدام مثل الزراعة والاستشعار عن بعد.
من خلال استخدام منصة Ultralytics التي تم تجديدها حديثاً، يمكن للمطورين بسلاسة وضع التعليقات التوضيحية، وتدريب، ونشر نماذج الجيل التالي مثل YOLO26 ببضع نقرات فقط، مما يضمن أن خط أنابيب الرؤية الحاسوبية الخاص بك متطور ومقاوم للمستقبل.