YOLOv10 مقابل DAMO-YOLO#
عند بناء مسارات عمل حديثة في الرؤية الحاسوبية، يُعد اختيار بنية كشف الكائنات المناسبة للوقت الفعلي أمرًا بالغ الأهمية. يتناول هذا التحليل التقني البنى ومقاييس الأداء وحالات الاستخدام المثالية لكل من YOLOv10 وDAMO-YOLO. وقد أسهم كلا النموذجين في تطوير الكشف الآني، لكنهما يسلكان مسارين معماريين مختلفين.
سواء أكان مشروعك يتطلب النشر على أجهزة الذكاء الاصطناعي الطرفي محدودة الموارد أم يتطلب أقصى دقة على وحدات GPU السحابية، فإن فهم الاختلافات بين هاتين البنيتين سيساعدك على اتخاذ قرار مدروس.
استكشاف 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
# حمّل نموذج YOLOv10 nano مدرّبًا مسبقًا
model = YOLO("yolov10n.pt")
# تدريب النموذج على مجموعة بيانات COCO8
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# تنفيذ الاستدلال على صورة اختبار
results = model("https://ultralytics.com/images/bus.jpg")
# صدّر النموذج إلى تنسيق TensorRT
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، الذي أُنشئ عبر بحث موجّه بأقصى إنتروبيا. وتكتشف هذه العملية الآلية بنى الأعمدة الفقرية التي تلتزم بميزانيات حسابية محددة مسبقًا، وتوازن بين الدقة وزمن الاستدلال.
تستخدم البنية أيضًا عنقًا من نوع Efficient RepGFPN. صُممت شبكة هرم السمات هذه لتحسين دمج السمات عبر المقاييس المختلفة، وهو أمر بالغ الأهمية للمهام المعقدة مثل تحليل الصور الجوية، حيث تتفاوت أحجام الكائنات بشدة. كما يطبّق DAMO-YOLO وحدة ZeroHead، وهي رأس كشف مصغّر يقلل تعقيد طبقات التنبؤ النهائية ويوفر العمليات الحسابية أثناء الاستدلال.
اطّلع على مزيد من المعلومات حول DAMO-YOLO
مقارنة الأداء#
عند تقييم بنى كشف الكائنات، من الضروري إيجاد المفاضلة المناسبة بين سرعة الاستدلال وكفاءة المعلمات ودقة الكشف. يقارن الجدول أدناه أداء YOLOv10 وDAMO-YOLO عبر أحجام نماذجهما المختلفة.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (ms) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv10n | 640 | 38.5 | - | 1.84 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.3 | - | 2.49 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.1 | - | 4.74 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.5 | - | 5.74 | 19.1 | 92.0 |
| YOLOv10l | 640 | 53.2 | - | 7.28 | 24.4 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 10.70 | 29.5 | 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 على DAMO-YOLO من حيث الدقة عند المقاييس المماثلة مع استخدام معلمات أقل: يحقق YOLOv10s نسبة 46.3 mAP باستخدام 7.2M من المعلمات بزمن 2.49 ms، مقابل 46.0 mAP باستخدام 16.3M من المعلمات بزمن 3.45 ms لـ DAMO-YOLOs. ويحقق DAMO-YOLOt دقة قوية بالنسبة إلى حجمه (42.0 mAP)، كما أن DAMO-YOLOl أسرع قليلًا من YOLOv10l باستخدام TensorRT على T4 (7.18 ms مقابل 7.28 ms)، لكن كفاءة المعلمات في عائلة YOLOv10 تمنحها أفضلية في بيئات النشر محدودة الموارد.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv10 وDAMO-YOLO على متطلبات مشروعك المحددة وقيود النشر وتفضيلات المنظومة البرمجية.
متى تختار YOLOv10#
يُعد YOLOv10 خيارًا قويًا لما يلي:
- الكشف الآني دون NMS: التطبيقات التي تستفيد من الكشف الشامل من البداية إلى النهاية من دون الكبت غير الأقصى، مما يقلل تعقيد النشر.
- موازنة السرعة والدقة: المشاريع التي تتطلب توازناً جيداً بين سرعة الاستدلال ودقة الكشف عبر مقاييس نماذج متعددة.
- التطبيقات ذات زمن الاستجابة الثابت: سيناريوهات النشر التي تتطلب أوقات استدلال قابلة للتنبؤ، مثل الروبوتات أو الأنظمة ذاتية التشغيل.
متى تختار DAMO-YOLO#
يوصى باستخدام DAMO-YOLO في الحالات التالية:
- تحليلات الفيديو عالية الإنتاجية: معالجة تدفقات فيديو ذات معدل إطارات مرتفع على بنية تحتية ثابتة من NVIDIA GPU، حيث تكون الإنتاجية عند batch-1 المقياس الأساسي.
- خطوط التصنيع الصناعي: السيناريوهات ذات قيود زمن استجابة صارمة على GPU ضمن أجهزة مخصصة، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- أبحاث البحث عن البنية العصبية: دراسة تأثيرات البحث الآلي عن البنية (MAE-NAS) والعمود الفقري الفعال المعاد تحديد معلماته على أداء الكشف.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي دون NMS: التطبيقات التي تتطلب استدلالاً ثابتاً بزمن استجابة منخفض، من دون تعقيد المعالجة اللاحقة للكبت غير الأقصى.
- البيئات التي تعتمد على CPU فقط: الأجهزة التي لا تتضمن تسريعًا مخصصًا لوحدات GPU، حيث تمنح سرعة الاستدلال على CPU في YOLO26، الأعلى بنسبة تصل إلى 43% (YOLO26n مقابل YOLO11n)، ميزة حاسمة.
- اكتشاف الكائنات الصغيرة: السيناريوهات الصعبة مثل الصور الجوية الملتقطة بالطائرات المسيّرة أو تحليل مستشعرات إنترنت الأشياء، حيث تحسن ProgLoss وSTAL الدقة عند التعامل مع الكائنات الصغيرة.
ميزة Ultralytics#
يتطلب اختيار بنية للإنتاج النظر إلى ما وراء المقاييس الخام. ويوفر بناء الحلول باستخدام النماذج المدعومة ضمن منظومة Ultralytics مزايا عملية عديدة للمطورين والباحثين.
سهولة الاستخدام ومنظومة مصانة جيدًا#
بخلاف المستودعات الأكاديمية المستقلة التي قد تتلقى تحديثات متباعدة، توفر Ultralytics منظومة تخضع للصيانة المستمرة. وقد يكون إعداد بيئات معقدة للنماذج التي تعتمد على مسارات عمل NAS صعبًا. وبدلًا من ذلك، توفر Ultralytics واجهة API موحّدة لـ Python وCLI، مدعومة بوثائق شاملة، ما يقلل الوقت اللازم لطرح حلول الرؤية المخصصة في السوق.
كفاءة التدريب ومتطلبات الذاكرة#
قد يصبح تدريب النماذج الكبيرة مكلفًا حاسوبيًا بسرعة. وتشتهر بنيات Ultralytics YOLO تاريخيًا بانخفاض استهلاك ذاكرة CUDA أثناء التدريب والاستدلال. وتتيح هذه الكفاءة للمطورين تدريب النماذج على أجهزة بمواصفات استهلاكية أو مثيلات سحابية منخفضة التكلفة، دون مواجهة أخطاء نفاد الذاكرة الشائعة عند العمل مع نماذج قائمة على Transformer مثل RT-DETR.
تتكامل Ultralytics مع أدوات MLOps الشائعة. ويمكنك تتبّع تقدم تدريب النموذج عبر عمليات التكامل مع Weights & Biases أو Comet أو ClearML، من دون الحاجة إلى شيفرة تمهيدية إضافية.
التنوع عبر المهام#
من قيود العديد من نماذج الكشف المتخصصة، ومنها YOLOv10 وDAMO-YOLO، تركيزها الضيق على الكشف. أما ضمن منظومة Ultralytics، فتمتد أدوات النماذج مثل YOLO11 وYOLO26 إلى مهام متعددة في الرؤية الحاسوبية، تشمل تجزئة المثيلات وتصنيف الصور وتقدير الوضعيات وكشف صناديق الإحاطة الموجّهة (OBB).
نظرة إلى المستقبل: تطور YOLO26#
أدخل YOLOv10 الاستدلال بلا NMS إلى نماذج YOLO، وأظهر DAMO-YOLO ما يمكن أن يحققه NAS. ونوصي المطورين الذين يبدؤون مشاريع جديدة اليوم باستخدام Ultralytics YOLO26.
صدر YOLO26 في يناير 2026 بوصفه خلفًا لـ YOLO11، ويبني على الأساس الخالي من NMS الذي أرساه YOLOv10، مع رأس اختياري من نمط واحد إلى واحد (nms=False).
تشمل أبرز التطورات في YOLO26 ما يلي:
- استدلال أسرع على CPU بنسبة تصل إلى 43%: يعمل YOLO26n على CPU بسرعة أعلى بنسبة تصل إلى 43% من YOLO11n، ما يجعله مناسبًا للحوسبة الطرفية والأجهزة منخفضة الطاقة.
- إزالة DFL: أُزيلت Distribution Focal Loss، ما يتيح تصديرًا أبسط وتوافقًا أفضل مع أهداف النشر المتنوعة.
- محسّن MuSGD: مزيج من SGD وMuon ينقل إلى الرؤية الحاسوبية استقرار تدريب نماذج اللغة الكبيرة (LLM) والتقارب الأسرع.
- ProgLoss + STAL: تحسّن الخسارة التدريجية وإسناد التسميات المراعي للأهداف الصغيرة (STAL) التعرّف على الكائنات الصغيرة، وهو أمر ضروري لحالات استخدام مثل الزراعة والاستشعار عن بُعد.
باستخدام منصة Ultralytics، يمكن للمطورين إسناد التعليقات التوضيحية إلى البيانات وتدريب نماذج مثل YOLO26 ونشرها من مكان واحد.