YOLOv7 YOLO: مقارنة تقنية شاملة
يتطور مجال الكشف عن الأجسام في الوقت الفعلي باستمرار، حيث يسعى الباحثون والمهندسون جاهدين لإيجاد التوازن الأمثل بين السرعة والدقة. في هذه المقارنة الفنية، سنتعمق في دراسة بنيةين بارزتين من عام 2022: YOLOv7 و YOLO. قدم كلا النموذجين مفاهيم جديدة لمجتمع الرؤية الحاسوبية، حيث عالجوا تحديات مختلفة في تدريب النماذج وتصميم البنية ونشرها.
خلفيات النموذج والتفاصيل الفنية
قبل الخوض في بنيتهما المعمارية، من الضروري فهم أصول هذين النموذجين. كلاهما تم تطويره بواسطة مجموعات بحثية رائدة وقدمت منهجيات متقدمة لدفع حدود اكتشاف الكائنات في الوقت الفعلي.
YOLOv7
تم تطوير YOLOv7 كامتداد لعائلة YOLO، وقدم مفهوم "حقيبة المجانيات" القابلة للتدريب لتعزيز الدقة بشكل كبير دون زيادة تكلفة الاستدلال.
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المؤسسة:معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- أرشيف:https://arxiv.org/abs/2207.02696
- GitHub:https://github.com/WongKinYiu/yolov7
- الوثائق:https://docs.ultralytics.com/models/yolov7/
تفاصيل DAMO-YOLO
ركز DAMO-YOLO، الذي أنشأه باحثون في مجموعة علي بابا، بشكل كبير على البحث عن البنية العصبية (NAS) وتقطير المعرفة المتقدم لبناء نماذج عالية الكفاءة لمختلف أنواع الأجهزة.
- المؤلفون: شيانزه شو، يي تشي جيانغ، وي هوا تشن، ييلون هوانغ، يوان تشانغ، وشيو يو صن
- المؤسسة:مجموعة علي بابا
- التاريخ: 2022-11-23
- Arxiv:https://arxiv.org/abs/2211.15444v2
- GitHub:https://github.com/tinyvision/DAMO-YOLO
الابتكارات المعمارية
YOLOv7: تحليل مسار التدرج وإعادة تحديد المعلمات
YOLOv7 بشكل كبير على شبكات تجميع الطبقات الفعالة الموسعة (E-ELAN). صمم المؤلفون E-ELAN من خلال تحليل مسارات التدرج للشبكة، مما يضمن أن الشبكة يمكنها التعلم باستمرار دون إضعاف مسار التدرج الأصلي. علاوة على ذلك، يستخدم YOLOv7 إعادة معايرة النموذج YOLOv7 أثناء الاستدلال، حيث يدمج الطبقات بسلاسة لتقليل FLOPs وتسريع أوقات التنفيذ. وهذا يجعله قادرًا بشكل كبير على الاستدلال في الوقت الفعلي على وحدات معالجة الرسومات الحديثة.
DAMO-YOLO: البحث عن البنية العصبية و RepGFPN
يختلف DAMO-YOLO بالاعتماد بشكل كبير على البحث عن البنية العصبية (NAS) ضمن قيود زمن الاستجابة. يستخدم إطار عمل يسمى MAE-NAS لاكتشاف هياكل العمود الفقري المثلى المصممة خصيصًا للأجهزة المحددة، مثل الأجهزة المحمولة أو مسرعات الحافة المحددة. بالنسبة لرقبته، يقدم RepGFPN فعالاً (شبكة هرمية للميزات المعممة ذات المعلمات المعاد تعريفها)، ويستخدم تصميم ZeroHead لتقليل العبء الحسابي في رؤوس التنبؤ.
اختلافات التقطير
بينما YOLOv7 على تحسينات قوية في البنية الأساسية،YOLO بشكل كبير على عملية معقدة لتقطير المعرفة متعددة المراحل. ويتطلب ذلك تدريب نموذج تعليمي كبير لتقطير المعرفة إلى نموذج تعليمي أصغر، وهو ما قد يكون مكلفًا من الناحية الحسابية خلال مرحلة التدريب.
مقارنة الأداء والمقاييس
عند مقارنة هذه النماذج، من الضروري النظر إلى mAP متوسط الدقة) وسرعة الاستدلال وتعقيد النموذج.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (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)، بينماYOLO نماذج صغيرة محسّنة للغاية للبيئات المقيدة.
كفاءة التدريب ومتطلبات الذاكرة
يكمن فرق رئيسي بين البنيتين المعماريتين في منهجيات التدريب الخاصة بهما. اعتماد DAMO-YOLO على التقطير يعني أن تدريب نموذج جديد من الصفر أو الضبط الدقيق على مجموعة بيانات رؤية حاسوب مخصصة غالبًا ما يتطلب قدرًا أكبر بكثير من VRAM ووقت حساب GPU.
في المقابل، تم تحسين النماذج المدمجة في Ultralytics مثل YOLOv7 بشكل كبير لتلبية متطلبات الذاكرة. فهي تتيح للمطورين استخدام أحجام دفعات أكبر على أجهزة المستهلكين دون مواجهة أخطاء نفاد الذاكرة، مما يبسط عملية تتبع التجارب والتكرار.
ميزة Ultralytics
في حين أن كلا YOLOv7 YOLO ميزات جذابة، فإن نشر النماذج داخل Ultralytics يوفر تجربة مطورين لا مثيل لها.
- سهولة الاستخدام: تقدم حزمة Ultralytics Python واجهة برمجة تطبيقات موحدة وبسيطة. يمكنك التبديل بسرعة بين بنى النماذج، أو بدء حلقات التدريب، أو تشغيل الاستدلال ببضعة أسطر من التعليمات البرمجية.
- نظام بيئي يتم صيانته جيدًا: توفر Ultralytics تحديثات متكررة، مما يضمن التوافق الأصلي مع أحدث إصدارات PyTorch وبرامج تشغيل CUDA. كما أنها تبسط تصدير النماذج إلى تنسيقات مثل ONNX و TensorRT و OpenVINO.
- تعدد الاستخدامات: على عكس DAMO-YOLO، الذي هو كاشف كائنات بحت، يدعم نظام Ultralytics البيئي مهامًا متنوعة بشكل أصلي. يمكن لنماذج من عائلة Ultralytics أداء الكشف القياسي عن الصناديق المحيطة، وتقدير الوضعيات، وتجزئة الكائنات، والصناديق المحيطة الموجهة (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 (الذي تم إصداره في يناير 2026) كمعيار، حيث يتفوق على الأجيال السابقة في جميع المقاييس تقريبًا.
- تصميم خالٍ من NMS وشامل: تم ابتكاره لأول مرة في YOLOv10، يلغي YOLO26 معالجة قمع غير الحد الأقصى (NMS) اللاحقة بشكل طبيعي. هذا يضمن استدلالًا محددًا ومنخفض زمن الانتقال للغاية وهو أمر بالغ الأهمية للروبوتات وتقنيات القيادة الذاتية.
- مُحسِّن MuSGD: مستوحى من تقنيات تدريب نماذج اللغات الكبيرة (LLM) المتقدمة (مثل Kimi K2 من Moonshot AI)، يمزج هذا المُحسِّن الهجين بين SGD و Muon لتقديم تدريب مستقر للغاية وتقارب أسرع عبر مجموعات البيانات.
- سرعة استدلال أسرع بنسبة تصل إلى 43% على الـ CPU: من خلال الإزالة الاستراتيجية لـ Distribution Focal Loss (DFL)، يعزز YOLO26 الأداء بشكل كبير على منصات الحوسبة الطرفية ووحدات CPU.
- ProgLoss + STAL: تحقق دوال الخسارة المتقدمة هذه تحسينات جوهرية في detect الكائنات الصغيرة، مما يجعل YOLO26 مناسبًا بشكل استثنائي لـ الصور الجوية والمراقبة التفصيلية.
حالات الاستخدام المثالية
متى تختار DAMO-YOLO
- البحث الأكاديمي في NAS: إذا كانت مؤسستك تستثمر بكثافة في دراسة منهجيات البحث عن البنية العصبية (Neural Architecture Search).
- زمن انتقال مقيد للغاية على أجهزة محددة: إذا كانت لديك الموارد اللازمة لإجراء عمليات بحث شاملة عن NAS للعثور على بنية أساسية مخصصة لشريحة تسريع الذكاء الاصطناعي مخصصة.
متى تختار YOLOv7
- مسارات عمل GPU الحالية: للفرق التي تحتفظ بمسارات عمل إنتاج قديمة مُحسّنة بعمق حول بنية E-ELAN المحددة لـ YOLOv7 على أجهزة NVIDIA المتطورة.
لماذا الانتقال إلى Ultralytics الحديثة (YOLO11 YOLO26)
بالنسبة للغالبية العظمى من تطبيقات المؤسسات — من تحليلات البيع بالتجزئة والتصنيع الذكي إلى الرعاية الصحية — لا توجد Ultralytics حديثة تضاهيها. يوفر التكامل مع Ultralytics خط أنابيب ML كاملًا، مما يوفر سهولة الاستخدام وتوثيقًا فائقًا ودعمًا قويًا من المجتمع وتنوعًا في المهام المتعددة. سواء كان ذلك لتتبع المخزون على Raspberry Pi أو تشغيل تحليلات ثقيلة في السحابة، توفر نماذج مثل YOLO26 التوازن المثالي للأداء لمستقبل الرؤية الحاسوبية.