YOLOv10 YOLO: مقارنة تقنية بين أجهزة الكشف عن الأجسام في الوقت الفعلي
عند بناء خطوط أنابيب حديثة للرؤية الحاسوبية، من الأهمية بمكان اختيار بنية الكشف عن الأجسام في الوقت الفعلي المناسبة. في هذا التحليل التقني الشامل، نستكشف البنى ومقاييس الأداء وحالات الاستخدام المثالية لـ YOLOv10 و YOLO. يمثل كلا النموذجين قفزات كبيرة في قدرات الكشف عن الكائنات، لكنهما يتخذان مسارات معمارية مختلفة لتحقيق أهدافهما.
سواء كان مشروعك يتطلب النشر على أجهزة AI محدودة أو يتطلب أقصى دقة على وحدات معالجة الرسومات السحابية، فإن فهم الفروق الدقيقة بين هذه البنى سيساعدك على اتخاذ قرار مستنير.
استكشاف YOLOv10
قدمه باحثون في جامعة تسينغهوا، YOLOv10 ثورة في YOLO من خلال تقديم نهج شامل أصلي، مما أدى إلى القضاء بشكل فعال على الحاجة إلى القمع غير الأقصى (NMS) أثناء المعالجة اللاحقة.
YOLOv10 :
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المنظمة: جامعة Tsinghua
- التاريخ: 2024-05-23
- أرشيف: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- المستندات: ultralytics
الميزات المعمارية الرئيسية
تتمثل الابتكار الرئيسي YOLOv10 في استراتيجية التعيينات المزدوجة المتسقة للتدريب NMS. تعتمد أجهزة الكشف عن الأجسام التقليدية بشكل كبير على NMS المربعات المحيطة المتداخلة، مما يؤدي إلى حدوث تأخير غير متوقع، وهو ما يمثل عقبة كبيرة للتطبيقات في الوقت الفعلي مثل المركبات ذاتية القيادة والروبوتات عالية السرعة. من خلال التنبؤ بمربع محيط واحد مثالي لكل جسم مباشرة، YOLOv10 استنتاجًا متوقعًا وبتأخير منخفض للغاية.
علاوة على ذلك، يستخدم النموذج تصميمًا شاملاً يعتمد على الكفاءة والدقة. تعمل البنية على تحسين مختلف المكونات، بما في ذلك رأس تصنيف خفيف الوزن وتقليل الدقة المكانية المنفصلة، مما يقلل بشكل كبير من التكرار الحسابي. وينتج عن ذلك بنية تتميز بعدد أقل من المعلمات وعدد أقل من عمليات FLOP مع الحفاظ على متوسط دقة تنافسي (mAP).
تصدير مبسط للإنتاج
نظرًا لأن YOLOv10 يزيل عمليات NMS من رسم الاستدلال البياني، فإن تصدير النموذج إلى تنسيقات مثل ONNX أو TensorRT مبسط للغاية، مما يجعله مناسبًا بشكل استثنائي لعمليات النشر على الحافة.
مثال على الاستخدام
YOLOv10 بشكل عميق في Ultralytics مما يجعله سهل الاستخدام للغاية عبر Python 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)
استكشافYOLO
تم تطويرYOLO بواسطة مجموعة Alibaba،YOLO على اكتشاف هياكل شبكات عالية الكفاءة من خلال البحث الآلي في البنية العصبية (NAS)، بهدف دفع حدود باريتو للسرعة والدقة.
تفاصيل DAMO-YOLO:
- المؤلفون: شيانزه شو، ييتشي جيانغ، ويهوا تشن، ييلون هوانغ، يوان تشانغ، وشيويو صن
- المنظمة: مجموعة علي بابا
- التاريخ: 2022-11-23
- أرشيف: https://arxiv.org/abs/2211.15444v2
- GitHub: YOLO
الميزات المعمارية الرئيسية
يقدم DAMO-YOLO العديد من التقنيات الجديدة المصممة خصيصًا للتطبيقات الصناعية. أساس النموذج هو عمود MAE-NAS الفقري، الذي تم إنشاؤه عبر بحث تطوري متعدد الأهداف. تكتشف هذه العملية الآلية هياكل العمود الفقري التي تلتزم بدقة بالميزانيات الحسابية المحددة مسبقًا، محققة توازنًا دقيقًا بين الدقة وزمن استجابة الاستدلال.
بالإضافة إلى ذلك، تستخدم البنية رقبة Efficient RepGFPN. تم تصميم شبكة هرم الميزات هذه لتحسين دمج الميزات عبر مقاييس مختلفة، وهو أمر بالغ الأهمية للمهام المعقدة مثل تحليل الصور الجوية حيث تختلف الكائنات بشكل كبير في الحجم. لاستكمال ذلك، يطبق DAMO-YOLO رأس ZeroHead، وهو رأس اكتشاف بسيط يقلل بشكل كبير من تعقيد طبقات التنبؤ النهائية، مما يوفر وقتًا حسابيًا قيمًا أثناء الاستدلال.
مقارنة الأداء
عند تقييم بنى الكشف عن الأجسام، من الأهمية بمكان إيجاد التوازن الصحيح بين سرعة الاستدلال وكفاءة المعلمات ودقة الكشف. يقارن الجدول أدناه أداء YOLOv10 YOLO أحجام نماذجهما.
| النموذج | الحجم (بالبكسل) | 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 |
| 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 قوية في متغيره الصغير، توفر كفاءة المعلمات وزمن استجابة الاستدلال لعائلة YOLOv10 ميزة واضحة لبيئات النشر المقيدة.
حالات الاستخدام والتوصيات
يعتمد الاختيار بين YOLOv10 و DAMO-YOLO على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOv10
YOLOv10 خيار قوي لـ:
- detect في الوقت الفعلي خالٍ من NMS: التطبيقات التي تستفيد من detect الشامل دون التثبيط غير الأقصى، مما يقلل من تعقيد النشر.
- مقايضات متوازنة بين السرعة والدقة: المشاريع التي تتطلب توازنًا قويًا بين سرعة الاستدلال ودقة الكشف عبر مقاييس النماذج المختلفة.
- تطبيقات زمن الاستجابة المتسق: سيناريوهات النشر التي تكون فيها أوقات الاستدلال المتوقعة حاسمة، مثل الروبوتات أو الأنظمة المستقلة.
متى تختار DAMO-YOLO
يوصى بـ DAMO-YOLO لـ:
- تحليلات الفيديو عالية الإنتاجية: معالجة تدفقات الفيديو عالية معدل الإطارات (FPS) على بنية تحتية ثابتة لوحدات معالجة الرسوميات (GPU) من NVIDIA حيث يكون معدل نقل الدفعة الواحدة هو المقياس الأساسي.
- خطوط التصنيع الصناعية: سيناريوهات ذات قيود صارمة على زمن استجابة GPU على الأجهزة المخصصة، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- بحث في بحث البنية العصبية: دراسة تأثيرات البحث التلقائي عن البنية (MAE-NAS) والهياكل الخلفية المُعاد تحديد معلماتها بكفاءة على أداء detect.
متى تختار Ultralytics YOLO26)
بالنسبة لمعظم المشاريع الجديدة، يوفر Ultralytics أفضل مزيج من الأداء وتجربة المطور:
- نشر طرفي خالٍ من NMS: التطبيقات التي تتطلب استدلالًا متسقًا ومنخفض زمن الوصول دون تعقيد معالجة ما بعد التثبيط غير الأقصى.
- بيئات CPU فقط: الأجهزة التي لا تحتوي على تسريع GPU مخصص، حيث يوفر استدلال YOLO26 الأسرع بنسبة تصل إلى 43% على CPU ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: سيناريوهات صعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء، حيث تعزز ProgLoss و STAL الدقة بشكل كبير في الأجسام متناهية الصغر.
ميزة Ultralytics
على الرغم من أن كلا النموذجين مثيران للإعجاب من الناحية التقنية، فإن اختيار بنية للإنتاج يتطلب النظر إلى ما هو أبعد من المقاييس الأولية. يوفر البناء باستخدام نماذج مدعومة أصلاً من قبل Ultralytics مزايا لا مثيل لها للمطورين والباحثين على حد سواء.
سهولة الاستخدام ونظام بيئي جيد الصيانة
على عكس المستودعات الأكاديمية المستقلة التي غالبًا ما تتعرض للإهمال، Ultralytics نظامًا بيئيًا قويًا يتم صيانته بشكل نشط. قد يكون إعداد بيئات معقدة للنماذج التي تعتمد بشكل كبير على خطوط أنابيب NAS أمرًا شاقًا. في المقابل، Ultralytics Python قياسية وبديهية CLI قوية، مدعومة بوثائق شاملة. وهذا يقلل بشكل جذري من وقت طرح حلول الرؤية المخصصة في السوق.
كفاءة التدريب ومتطلبات الذاكرة
يمكن أن يصبح تدريب النماذج الكبيرة مكلفًا من الناحية الحسابية بسرعة. تشتهرYOLO Ultralytics YOLO تاريخيًا بانخفاض استهلاكها CUDA أثناء التدريب والاستدلال. تتيح هذه الكفاءة للمطورين تدريب النماذج على أجهزة من فئة المستهلكين أو حالات سحابية فعالة من حيث التكلفة دون التعرض لأخطاء نفاد الذاكرة التي تحدث عادةً عند العمل مع نماذج قائمة على المحولات مثل RT-DETR.
تتبع التجارب
يتكامل Ultralytics مع أفضل أدوات MLOps. يمكنك بسهولة track تقدم تدريب النموذج track باستخدام التكامل مع Weights & Biasesو Cometأو ClearML بدون أي كود نمطي إضافي.
تعدد الاستخدامات عبر المهام
من القيود الهامة للعديد من نماذج الاكتشاف المتخصصة هو تركيزها الضيق. ضمن نظام Ultralytics البيئي، لا تقتصر على اكتشاف الكائنات فقط. تمتد الأدوات بسلاسة إلى العديد من مهام الرؤية الحاسوبية، بما في ذلك تجزئة الكائنات (instance segmentation)، وتصنيف الصور، وتقدير الوضعيات، واكتشاف الصناديق المحيطة الموجهة (OBB).
التطلع إلى المستقبل: تطور YOLO26
بينما YOLOv10 الاستدلال NMSYOLO قوة NAS، فإن مجال الرؤية الحاسوبية يتطور بسرعة. للمطورين الذين يبحثون عن أحدث الحلول المتطورة، نوصيهم بتجربة Ultralytics .
صدر كخليفة نهائي لـ YOLO11، ويستند YOLO26 إلى الأساس NMS الذي وضعه YOLOv10 يذهب إلى أبعد من ذلك بكثير.
تشمل التطورات الرئيسية في YOLO26 ما يلي:
- استدلال أسرع على CPU بنسبة تصل إلى 43%: مُحسّن خصيصًا للحوسبة الطرفية والأجهزة منخفضة الطاقة.
- إزالة DFL: تمت إزالة خسارة التركيز التوزيعي، مما يضمن تصديرات أبسط وتوافقًا محسنًا مع أهداف النشر المتنوعة.
- مُحسِّن MuSGD: هجين من SGD و Muon، يجلب استقرار تدريب نماذج اللغة الكبيرة (LLM) المتقدم وتقاربًا أسرع مباشرة إلى الرؤية الحاسوبية.
- ProgLoss + STAL: دوال خسارة محسنة بشكل كبير تقدم تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر ضروري لحالات الاستخدام مثل الزراعة والاستشعار عن بعد.
باستخدام منصة Ultralytics التي تم تجديدها حديثًا، يمكن للمطورين بسهولة إضافة التعليقات التوضيحية وتدريب ونشر نماذج الجيل التالي مثل YOLO26 ببضع نقرات فقط، مما يضمن أن خط أنابيب الرؤية الحاسوبية الخاص بك متطور ومقاوم للمستقبل.