مقارنة بين DAMO-YOLO و YOLOv5#
اتسم تطور computer vision بالابتكار المستمر في مجال اكتشاف الكائنات في الوقت الفعلي. اليوم، يواجه المطورون والباحثون عددًا لا يحصى من الخيارات المعمارية عند تصميم خطوط أنابيب الرؤية. تستكشف هذه المقارنة التقنية الشاملة الفروق الدقيقة بين DAMO-YOLO و Ultralytics YOLOv5، مسلطة الضوء على هياكل كل منهما، ومنهجيات التدريب، ومقاييس الأداء، وسيناريوهات النشر المثالية.
مقدمة حول DAMO-YOLO#
طرحت مجموعة Alibaba Group نموذج DAMO-YOLO، والذي قدم العديد من التقنيات المبتكرة التي تهدف إلى تجاوز حدود سرعة ودقة الاكتشاف.
- المؤلفون: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, و Xiuyu Sun
- المنظمة: Alibaba Group
- التاريخ: 23 نوفمبر 2022
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
- Docs: README.md
الابتكارات المعمارية#
تم بناء DAMO-YOLO على أساس البحث المعماري العصبي (NAS). استخدم المؤلفون MAE-NAS لتصميم الهياكل الأساسية تلقائيًا والتي توازن بين زمن الوصول والدقة. يقدم النموذج شبكة هرمية ميزات معممة معادة المعلمة (RepGFPN) فعالة تعمل على تحسين دمج الميزات عبر مقاييس مختلفة. علاوة على ذلك، يدمج DAMO-YOLO تصميم "ZeroHead"، متخلصًا من رؤوس التنبؤ المعقدة متعددة الفروع لصالح هيكل أبسط وأكثر كفاءة يعتمد بشكل كبير على إعادة المعلمة أثناء الاستدلال.
لتحسين التدريب، يستخدم النموذج AlignedOTA لتعيين التسميات وعملية تعزيز تقطير ثقيلة، حيث يوجه نموذج "معلم" أكبر نموذج "طالب" أصغر لتحقيق دقة أعلى.
مقدمة حول Ultralytics YOLOv5#
يعد Ultralytics YOLOv5 أحد أكثر معماريات الرؤية اعتمادًا في العالم، وهو معروف باستقراره، وسهولة استخدامه، ونظام النشر البيئي الواسع الخاص به.
- المؤلفون: Glenn Jocher
- المنظمة: Ultralytics
- التاريخ: 26 يونيو 2020
- GitHub: ultralytics/yolov5
- Docs: YOLOv5 Documentation
معيار النظام البيئي#
أعادت YOLOv5 تعريف معيار الصناعة وسهولة الاستخدام. تم بناؤها أصليًا في PyTorch، وتستخدم هيكل أساسي CSPNet عالي التحسين وعنق PANet لتجميع الميزات بشكل قوي. ورغم أنها سبقت اتجاه النماذج الخالية من نقاط固定 (anchor-free) الذي ظهر في النماذج اللاحقة، إلا أن نهجها المعتمد على نقاط الارتكاز عالي التحسين، إلى جانب التعلم التلقائي لنقاط الارتكاز، يضمن أداءً ممتازًا بمجرد الاستخدام.
تكمن القوة الحقيقية لـ YOLOv5 في النظام البيئي الصانع والمُدار جيدًا. فهي تتكامل بسلاسة مع أدوات التتبع مثل Comet و Weights & Biases، وتدعم التصدير بنقرة واحدة إلى تنسيقات مثل ONNX، و TensorRT، و CoreML.
يعد YOLOv5 سهل التدريب بشكل لا يصدق على مجموعات البيانات المخصصة. تعمل واجهة برمجة التطبيقات (API) المبسطة على تقليل الاحتكاك من النموذج الأولي إلى الإنتاج، مما يجعله المفضل لدى فرق الهندسة الرشيقة.
مقارنة الأداء والمقاييس#
عند مقارنة هذه النماذج، من الضروري النظر في التوازن بين متوسط دقة الاكتشاف (mAP)، وسرعة الاستدلال، وعدد المعلمات.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
تحليل المقايضات#
يحقق DAMO-YOLO درجات mAP مثيرة للإعجاب بالنسبة لأحجام معلماته، مستفيدًا بشكل كبير من مرحلة تدريب التقطير. ومع ذلك، يأتي هذا على حساب كفاءة التدريب. تتطلب عملية التقطير متعددة المراحل تدريب نموذج معلم ثقيل أولاً، مما يزيد بشكل كبير من وقت GPU compute اللازم وذاكرة VRAM.
على العكس من ذلك، توفر YOLOv5 متطلبات ذاكرة ممتازة. تُعرف نماذج Ultralytics YOLO بانخفاض استهلاكها للذاكرة أثناء التدريب والاستدلال مقارنة بخطوط أنابيب التقطير المعقدة أو النماذج القائمة على المحولات مثل RT-DETR. يتيح ذلك تدريب YOLOv5 بكفاءة على الأجهزة الاستهلاكية أو بيئات السحاب المتاحة مثل Google Colab.
التطبيقات الواقعية وتعدد الاستخدامات#
غالبًا ما يعتمد اختيار البنية الصحيحة على بيئة النشر.
أين يتفوق DAMO-YOLO#
DAMO-YOLO هو نموذج object detection بحت. إنه خيار ممتاز للبحث الأكاديمي، لا سيما للفرق التي تدرس البحث المعماري العصبي أو تلك التي تهدف إلى إعادة إنتاج تقنيات إعادة المعلمة المفصلة في الورقة البحثية. إذا كان لدى المشروع موارد حسابية وفيرة لتنفيذ مرحلة تدريب التقطير وكان يركز حصريًا على استخراج الجزء الأخير من الدقة لصناديق الإحاطة ثنائية الأبعاد، فإن DAMO-YOLO يعد منافسًا قويًا.
ميزة Ultralytics#
بالنسبة للإنتاج في العالم الحقيقي، فإن سهولة الاستخدام والتنوع لنماذج Ultralytics تجعلها الخيار المفضل. وبينما تظل YOLOv5 عنصرًا أساسيًا للكشف وimage classification، فإن النظام البيئي الأوسع لـ Ultralytics يتيح للمطورين التبديل بسهولة بين المهام.
على سبيل المثال، تدعم التكرارات الأحدث في عائلة Ultralytics أصليًا instance segmentation، وpose estimation، والكشف عن Oriented Bounding Box (OBB). تضمن هذه القدرة متعددة المهام أن تتمكن الفرق من استخدام واجهة برمجة تطبيقات Python موحدة واحدة لخطوط الأنابيب المعقدة، مثل الجمع بين automated number plate recognition وتقسيم المركبات.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين DAMO-YOLO و YOLOv5 على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار DAMO-YOLO#
يعد DAMO-YOLO خياراً قوياً لما يلي:
- تحليلات الفيديو ذات الإنتاجية العالية: معالجة تدفقات الفيديو ذات معدل الإطارات العالي على بنية تحتية ثابتة لوحدات GPU من NVIDIA حيث يكون إنتاجية الدفعة-1 هو المقياس الأساسي.
- خطوط التصنيع الصناعية: السيناريوهات ذات قيود زمن انتقال GPU صارمة على أجهزة مخصصة، مثل فحص الجودة في الوقت الفعلي على خطوط التجميع.
- أبحاث البحث في البنية العصبية: دراسة تأثيرات البحث الآلي في البنية (MAE-NAS) والهياكل الأساسية المعاد برمجتها بكفاءة على أداء الاكتشاف.
متى تختار YOLOv5#
يُنصح باستخدام YOLOv5 في الحالات التالية:
- أنظمة الإنتاج المثبتة: عمليات النشر الحالية حيث يتم تقدير سجل YOLOv5 الطويل من الاستقرار، والوثائق الشاملة، ودعم المجتمع الضخم.
- التدريب محدود الموارد: البيئات ذات موارد GPU المحدودة حيث تكون خط أنابيب التدريب الفعال لـ YOLOv5 ومتطلبات الذاكرة الأقل ميزة.
- Extensive Export Format Support: المشاريع التي تتطلب النشر عبر العديد من التنسيقات بما في ذلك ONNX، وTensorRT، وCoreML، وTFLite.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- الكشف عن الأشياء الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء (IoT) حيث تعمل ProgLoss و STAL على تعزيز الدقة بشكل كبير على الأشياء الدقيقة.
المستقبل: الانتقال إلى YOLO26#
بينما يعد YOLOv5 أسطوريًا ويقدم DAMO-YOLO رؤى أكاديمية مثيرة للاهتمام، فقد تطورت حالة الفن. يمثل Ultralytics YOLO26، الذي تم إصداره في يناير 2026، قفزة هائلة للأمام لمجتمع الرؤية الحاسوبية.
يعالج YOLO26 الاختناقات التقليدية لنشر الحافة وعدم استقرار التدريب:
- تصميم NMS-Free من البداية إلى النهاية: تلغي YOLO26 أصليًا معالجة ما بعد الكشف لـ Non-Maximum Suppression. تبسط هذه الانطلاقة منطق النشر وتقلل بشكل كبير من تباين زمن الوصول، مما يجعلها مثالية لـ robotics والأنظمة المستقلة عالية السرعة.
- مُحسِّن MuSGD: مستوحى من ابتكارات تدريب النماذج اللغوية الكبيرة (مثل Kimi K2 من Moonshot AI)، يستخدم YOLO26 مُحسِّن MuSGD (هجين من SGD و Muon). وهذا يضمن تشغيلات تدريب مستقرة للغاية وتقاربًا أسرع بشكل ملحوظ.
- استدلال أسرع للـ CPU بنسبة تصل إلى 43%: من خلال إزالة خسارة بؤرية التوزيع (DFL) بشكل استراتيجي، تحقق YOLO26 سرعات فائقة للغاية على وحدات المعالجة المركزية وأجهزة الحافة مقارنة بسابقاتها مثل YOLO11 و YOLOv8.
- ProgLoss + STAL: تحقق وظائف الخسارة المتقدمة هذه تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر بالغ الأهمية لتحليل aerial drone imagery وتدفقات مستشعرات إنترنت الأشياء (IoT).
مثال كودي: البساطة في العمل#
تسمح حزمة Ultralytics لك بتدريب ونشر النماذج ببضعة أسطر من الكود فقط. سواء كنت تستخدم YOLOv5 أو تقوم بالترقية إلى YOLO26 الموصى به، تظل الواجهة متسقة وبديهية.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 small model
model = YOLO("yolo26s.pt")
# Train on a custom dataset effortlessly
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image and display results
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# Export the model for edge deployment
model.export(format="onnx")الخلاصة#
ساهم كل من DAMO-YOLO و YOLOv5 بشكل كبير في مشهد رؤية الحاسوب. يعرض DAMO-YOLO قوة البحث في بنية الشبكات العصبية والتقطير، مما يجعله دراسة مثيرة للاهتمام للباحثين. ومع ذلك، يظل YOLOv5 قوة عملية بفضل توازن الأداء، ومتطلبات الذاكرة المنخفضة، وسهولة الاستخدام التي لا مثيل لها.
بالنسبة للمطورين الذين يبدأون مشاريع جديدة اليوم، فإن التوصية هي الاستفادة من Ultralytics Platform واعتماد YOLO26. فهو يجمع بين النظام البيئي المحبوب وسهل الاستخدام لـ YOLOv5 والتقدم المعماري الرائد، مما يضمن دقة عالية المستوى واستدلالًا سريعًا للغاية لتطبيقات الذكاء الاصطناعي السحابية والطرفية. قد يرغب المطورون أيضًا في استكشاف نماذج فعالة أخرى مثل YOLOv6 أو YOLOX اعتمادًا على القيود المحددة للأجهزة القديمة.