مقارنة YOLOv10 وDAMO-YOLO#
عند بناء مسارات عمل حديثة لـالرؤية الحاسوبية، يُعد اختيار البنية المناسبة لاكتشاف الأجسام في الوقت الفعلي أمرًا بالغ الأهمية. في هذا التحليل التقني الشامل، نستكشف بنيتي YOLOv10 وDAMO-YOLO، ومقاييس الأداء، وحالات الاستخدام المثالية لكل منهما. يمثل كلا النموذجين قفزات كبيرة في قدرات اكتشاف الأجسام، لكنهما يتبعان مسارين معماريين مختلفين لتحقيق أهدافهما.
سواء كان مشروعك يتطلب النشر على أجهزة الذكاء الاصطناعي الطرفي محدودة الموارد أو يتطلب أقصى قدر من الدقة على وحدات معالجة الرسومات السحابية، فإن فهم الفروق الدقيقة بين هذه البنى سيساعدك على اتخاذ قرار مستنير.
استكشاف YOLOv10#
قدّم باحثون في جامعة تسينغهوا YOLOv10، الذي أحدث ثورة في عائلة YOLO من خلال تقديم نهج أصلي شامل من البداية إلى النهاية، فألغى بفاعلية الحاجة إلى قمع القيم غير العظمى (NMS) أثناء المعالجة اللاحقة.
تفاصيل YOLOv10:
- المؤلفون: Ao Wang، Hui Chen، Lihao Liu، وآخرون.
- الجهة: جامعة تسينغهوا
- التاريخ: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- التوثيق: https://docs.ultralytics.com/models/yolov10
الميزات المعمارية الرئيسية#
يتمثل الابتكار الرئيسي في YOLOv10 في استراتيجية التعيينات المزدوجة المتسقة للتدريب الخالي من 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", quantize=16)استكشاف DAMO-YOLO#
طوّرته مجموعة Alibaba، ويركز DAMO-YOLO على اكتشاف هياكل شبكات عالية الكفاءة من خلال البحث الآلي عن البنية العصبية (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 (MAE-NAS Backbone)، الذي يتم إنشاؤه عبر بحث موجه بأقصى إنتروبيا. تكتشف هذه العملية الآلية هياكل العمود الفقري التي تلتزم بدقة بالميزانيات الحسابية محددة مسبقاً، مما يحقق توازناً دقيقاً بين الدقة وكمون الاستدلال.
بالإضافة إلى ذلك، تستخدم البنية عنق شبكة Efficient RepGFPN. وقد صُممت شبكة هرم الميزات هذه لتحسين دمج الميزات عبر المقاييس المختلفة، وهو أمر بالغ الأهمية للمهام المعقدة مثل تحليل الصور الجوية، حيث تختلف أحجام الأجسام اختلافًا كبيرًا. واستكمالًا لذلك، يطبق DAMO-YOLO مكوّن ZeroHead، وهو رأس كشف بسيط يقلل بدرجة كبيرة من تعقيد طبقات التنبؤ النهائية، موفرًا وقتًا حسابيًا ثمينًا أثناء الاستدلال.
مقارنة الأداء#
عند تقييم بنيات اكتشاف الأجسام، يُعد العثور على المفاضلة المناسبة بين سرعة الاستدلال وكفاءة المعلمات ودقة الكشف أمرًا بالغ الأهمية. يقارن الجدول أدناه أداء YOLOv10 وDAMO-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 خيارًا قويًا من أجل:
- الاكتشاف في الوقت الفعلي الخالي من NMS: التطبيقات التي تستفيد من الاكتشاف من الطرف إلى الطرف دون كبت القيم غير العظمى، ما يقلل تعقيد النشر.
- المفاضلة المتوازنة بين السرعة والدقة: المشاريع التي تتطلب توازنًا قويًا بين سرعة الاستدلال ودقة الاكتشاف عبر مقاييس نماذج مختلفة.
- التطبيقات ذات زمن الانتقال المتسق: سيناريوهات النشر التي تكون فيها أزمنة الاستدلال المتوقعة أمرًا بالغ الأهمية، مثل الروبوتات أو الأنظمة الذاتية.
متى تختار DAMO-YOLO#
يوصى باستخدام DAMO-YOLO في الحالات التالية:
- تحليلات الفيديو عالية الإنتاجية: معالجة تدفقات فيديو عالية FPS على بنية تحتية ثابتة من NVIDIA GPU، حيث تكون الإنتاجية عند حجم الدفعة 1 هي المقياس الأساسي.
- خطوط التصنيع الصناعية: السيناريوهات ذات القيود الصارمة على زمن استجابة GPU ضمن عتاد مخصص، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- أبحاث البحث عن البنية العصبية: دراسة تأثيرات البحث الآلي عن البنية (MAE-NAS) والشبكات الأساسية المعاد تمثيلها بكفاءة على أداء الاكتشاف.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي الخالي من NMS: التطبيقات التي تتطلب استدلالًا متسقًا منخفض زمن الانتقال دون تعقيد المعالجة اللاحقة لكبت القيم غير العظمى.
- البيئات المعتمدة على CPU فقط: الأجهزة التي لا تتضمن تسريع GPU مخصصًا، حيث يوفر استدلال YOLO26 الأسرع على CPU بنسبة تصل إلى 43% ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل الصور الجوية الملتقطة بالطائرات المسيّرة أو تحليل مستشعرات إنترنت الأشياء، حيث يعزّز 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.
أُطلق YOLO26 بوصفه الخليفة الحاسم لـYOLO11، وهو يبني على الأساس الخالي من NMS الذي أرساه YOLOv10، لكنه يذهب إلى أبعد من ذلك بكثير.
تشمل التطورات الرئيسية في YOLO26 ما يلي:
- استدلال على CPU أسرع بنسبة تصل إلى 43%: مُحسّن خصيصًا للحوسبة الطرفية والأجهزة منخفضة الطاقة.
- إزالة DFL: أُزيل Distribution Focal Loss، ما يضمن عمليات تصدير أبسط وتوافقًا محسنًا مع أهداف النشر المتنوعة.
- مُحسِّن MuSGD: مزيج من SGD وMuon، يجلب استقرارًا متقدمًا لتدريب LLM وتقاربًا أسرع مباشرةً إلى الرؤية الحاسوبية.
- ProgLoss + STAL: دوال خسارة محسّنة بدرجة كبيرة توفر تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر ضروري لحالات استخدام مثل الزراعة والاستشعار عن بُعد.
وباستخدام منصة Ultralytics المُعاد تصميمها حديثًا، يمكن للمطورين إضافة التعليقات التوضيحية إلى النماذج من الجيل التالي مثل YOLO26 وتدريبها ونشرها بسلاسة ببضع نقرات فقط، مما يضمن أن يكون مسار عمل الرؤية الحاسوبية لديك متطورًا ومهيأً للمستقبل.