YOLOv7 مقابل DAMO-YOLO#
يشهد مجال كشف الأجسام في الوقت الفعلي تطوراً مستمراً، حيث يسعى الباحثون والمهندسون جاهدين لإيجاد التوازن الأمثل بين السرعة والدقة. في هذه المقارنة التقنية، سنتعمق في معماريتين بارزتين من عام 2022: YOLOv7 و DAMO-YOLO. قدم كلا النموذجين مفاهيم جديدة لمجتمع رؤية الحاسوب، معالجين تحديات مختلفة في تدريب النماذج، والتصميم المعماري، والنشر.
خلفية النماذج والتفاصيل التقنية#
قبل الغوص في معماريتيهما، من الضروري فهم أصول هذين النموذجين. تم تطوير كلاهما من قبل مجموعات بحثية رائدة، وقَدَّما منهجيات متقدمة لدفع حدود كشف الأجسام في الوقت الفعلي.
تفاصيل YOLOv7#
تم تطوير YOLOv7 كاستمرار لعائلة YOLO، وقدم مفهوم "مجموعة الميزات المجانية" (bag-of-freebies) القابلة للتدريب لتعزيز الدقة بشكل كبير دون زيادة تكلفة الاستنتاج.
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المنظمة: Institute of Information Science, Academia Sinica, Taiwan
- التاريخ: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- المستندات: https://docs.ultralytics.com/models/yolov7
تفاصيل DAMO-YOLO#
تم إنشاء DAMO-YOLO من قبل باحثين في مجموعة Alibaba، وركز بشكل كبير على البحث في المعمارية العصبية (NAS) وتقطير المعرفة المتقدم لبناء نماذج عالية الكفاءة لمختلف الأجهزة.
- المؤلفون: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, و Xiuyu Sun
- المنظمة: Alibaba Group
- التاريخ: 2022-11-23
- أركسايف: https://arxiv.org/abs/2211.15444v2
- جيتهاب: https://github.com/tinyvision/DAMO-YOLO
الابتكارات المعمارية#
YOLOv7: تحليل مسار التدرج وإعادة التقييم (Re-parameterization)#
تركز YOLOv7 بشدة على شبكات تجميع الطبقات الفعالة الممتدة (E-ELAN). صمم المؤلفون E-ELAN من خلال تحليل مسارات التدرج للشبكة، مما يضمن قدرة الشبكة على التعلم المستمر دون تدهور مسار التدرج الأصلي. علاوة على ذلك، تستخدم YOLOv7 بكفاءة إعادة إعادة ضبط المعلمات للنموذج أثناء الاستدلال، دمج الطبقات بسلاسة لتقليل FLOPs وتسريع أوقات التنفيذ. هذا يجعلها قادرة بدرجة كبيرة على real-time inference على وحدات معالجة الرسومات الحديثة.
DAMO-YOLO: البحث في المعمارية العصبية و RepGFPN#
يختلف DAMO-YOLO من خلال الاعتماد بشكل كبير على البحث في المعمارية العصبية (NAS) في ظل قيود زمن الاستجابة (اللاتنسي). يستخدم إطار عمل يسمى MAE-NAS لاكتشاف الهياكل الأساسية المثلى المصممة لأجهزة معينة، مثل الأجهزة المحمولة أو مسرعات الحافة المحددة. بالنسبة لرقبته (neck)، يقدم بنية RepGFPN (شبكة هرم ميزات معممة ومعادة التقييم) فعالة، ويستخدم تصميم ZeroHead لتقليل العبء الحسابي في رؤوس التنبؤ.
بينما يعتمد YOLOv7 على تحسينات معمارية جوهرية قوية، يعتمد DAMO-YOLO بشكل كبير على عملية تقطير معرفة معقدة متعددة المراحل. يتطلب ذلك تدريب نموذج معلم كبير لتقطير المعرفة إلى نموذج طالب أصغر، وهو ما قد يكون مكلفاً حسابياً خلال مرحلة التدريب.
مقارنة الأداء والمقاييس#
عند مقارنة هذه النماذج، من الضروري النظر في mAP (Mean Average Precision)، وسرعة الاستدلال، وتعقيد النموذج.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
يوضح الجدول أعلاه أن YOLOv7 يتوسع بشكل جيد في نطاقات الدقة العالية (YOLOv7x)، بينما يوفر DAMO-YOLO نماذج صغيرة محسنة للغاية للبيئات المقيدة.
كفاءة التدريب ومتطلبات الذاكرة#
يتمثل الاختلاف الرئيسي بين الهيكلتين في منهجيات التدريب الخاصة بهما. إن اعتماد DAMO-YOLO على التقطير يعني أن تدريب نموذج جديد من الصفر أو الضبط الدقيق على custom computer vision dataset يتطلب غالباً ذاكرة فيديو (VRAM) ووقت GPU compute أكثر بكثير.
في المقابل، النماذج المدمجة في النظام البيئي لـ Ultralytics، مثل YOLOv7 والنسخ اللاحقة، مُحسَّنة للغاية من حيث memory requirements. وهي تتيح للمطورين استخدام أحجام دفعات أكبر على الأجهزة الاستهلاكية دون مواجهة أخطاء نفاد الذاكرة، مما يبسط عملية experiment tracking والتكرار.
ميزة Ultralytics#
بينما تقدم كل من YOLOv7 و DAMO-YOLO ميزات مقنعة، فإن نشر النماذج داخل Ultralytics ecosystem يوفر تجربة مطور لا تُفوق.
- سهولة الاستخدام: توفر حزمة Python الخاصة بـ Ultralytics واجهة برمجة تطبيقات موحدة وبسيطة. يمكنك التبديل بسرعة بين هيكليات النماذج، أو بدء training loops، أو تشغيل inference ببضع أسطر من البرمجة.
- نظام بيئي مُصان جيداً: توفر Ultralytics تحديثات متكررة، مما يضمن التوافق الأصلي مع أحدث إصدارات PyTorch وبرامج تشغيل CUDA. كما أنها تبسط تصدير النماذج إلى تنسيقات مثل ONNX، و TensorRT، و OpenVINO.
- المرونة: على عكس DAMO-YOLO، التي تعد كاشف كائنات بشكل صارم، يدعم نظام Ultralytics البيئي مهام متنوعة بشكل أصلي. يمكن لنماذج عائلة Ultralytics إجراء اكتشاف مربعات الإحاطة القياسية، و pose estimation، و instance segmentation، و Oriented Bounding Boxes (OBB).
مثال برمجي: البدء بسرعة#
إليك مدى سهولة تحميل وتدريب وتشغيل الاستنتاج باستخدام نماذج Ultralytics:
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model (or newer models like yolo26n.pt)
model = YOLO("yolov7.pt")
# Train the model on the COCO8 dataset with automated hyperparameter handling
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on an image
predictions = model("https://ultralytics.com/images/bus.jpg")
# Export to ONNX format for deployment
model.export(format="onnx")مع Ultralytics، يتم التعامل مع تصدير الأوزان المدربة الخاصة بك إلى تنسيقات مختلفة مسرعة بواسطة الأجهزة (مثل TensorRT أو CoreML) عبر وسيط واحد في أمر التصدير، مما يوفر ساعات من تكوينات البرامج النصية المعقدة.
الجيل القادم: YOLO26#
بينما تظل YOLOv7 هيكلية قديمة قوية، فقد تقدم المجال بسرعة. بالنسبة للنماذج المنشورة الجديدة، يُعد Ultralytics YOLO26 (الذي صدر في يناير 2026) هو المعيار الموصى به، متفوقاً على الأجيال السابقة في كل مقياس تقريباً.
- تصميم بدون NMS من البداية إلى النهاية: رُدّت ريادته لأول مرة في YOLOv10، حيث يلغي YOLO26 محلياً معالجة ما بعد الكبح غير الحد الأقصى (NMS). يضمن هذا استدلالاً حتمياً ومنخفض التأخير للغاية يعد أمراً بالغ الأهمية للروبوتات وتقنيات القيادة الذاتية.
- محسن MuSGD: مستوحى من تقنيات تدريب نماذج اللغة الكبيرة المتقدمة (مثل Kimi K2 من Moonshot AI)، يمزج هذا المحسن الهجين بين SGD و Muon لتقديم تدريب مستقر للغاية وتقارب أسرع عبر مجموعات البيانات.
- سرعة استنتاج أسرع بنسبة تصل إلى 43% على وحدة المعالجة المركزية (CPU): من خلال إزالة Distribution Focal Loss (DFL) بشكل استراتيجي، يعزز YOLO26 الأداء بشكل كبير على منصات الحوسبة الطرفية ووحدات المعالجة المركزية.
- ProgLoss + STAL: تحقق وظائف الخسارة المتقدمة هذه تحسينات كبيرة في اكتشاف الكائنات الصغيرة، مما يجعل YOLO26 مناسباً بشكل استثنائي لـ aerial imagery والمراقبة التفصيلية.
حالات الاستخدام المثالية#
متى تختار DAMO-YOLO#
- البحث الأكاديمي في NAS: إذا كانت مؤسستك تستثمر بكثافة في دراسة منهجيات البحث في المعمارية العصبية.
- وقت استجابة مقيد للغاية على أجهزة محددة: إذا كان لديك الموارد اللازمة لتشغيل عمليات بحث NAS شاملة للعثور على هيكل أساسي مخصص لشريحة مسرع ذكاء اصطناعي مخصصة.
متى تختار YOLOv7#
- خطوط أنابيب GPU الحالية: للفرق التي تحافظ على خطوط إنتاج قديمة محسنة بعمق حول معمارية E-ELAN الخاصة بـ YOLOv7 على أجهزة NVIDIA المتطورة.
لماذا الانتقال إلى نماذج Ultralytics الحديثة (YOLO11 / YOLO26)#
بالنسبة للغالبية العظمى من تطبيقات المؤسسات - من retail analytics و smart manufacturing إلى الرعاية الصحية - فإن نماذج Ultralytics الحديثة لا تُقارن. يوفر التكامل مع Ultralytics Platform خط أنابيب تعلم ماشية متكاملاً، مما يوفر سهولة الاستخدام، وتوثيقاً متفوقاً، ودعم مجتمع قوياً، ومرونة في المهام المتعددة. وسواء أكان الأمر يتعلق بتتبع المخزون على جهاز Raspberry Pi أو تشغيل تحليلات ثقيلة في السحابة، فإن نماذج مثل YOLO26 توفر التوازن المثالي للأداء من أجل مستقبل رؤية الكمبيوتر.