YOLOv9 مقابل YOLOv7: نظرة تقنية متعمقة في كشف الأشياء الحديث
لقد قاد السعي المستمر لتحقيق التوازن بين الكفاءة الحسابية والدقة العالية تطور كشف الأشياء في الوقت الفعلي. ومن أبرز المعماريات في هذه الرحلة YOLOv9 وYOLOv7، اللذان طورهما باحثون في معهد علوم المعلومات التابع لـ Academia Sinica في تايوان. وبينما قدم YOLOv7 "مجموعة هدايا" (bag-of-freebies) قابلة للتدريب، يعالج YOLOv9 الأحدث اختناقات معلومات التعلم العميق بشكل مباشر.
تستكشف هذه المقارنة التقنية الشاملة الاختلافات المعمارية، ومقاييس الأداء، وسيناريوهات النشر المثالية لكلا النموذجين، مما يساعد مهندسي وباحثي تعلم الآلة على اختيار الأداة المناسبة لخطوط أنابيب الرؤية الحاسوبية الخاصة بهم.
مقارنة الأداء والمقاييس
عند مقارنة هذه النماذج، يعد الأداء الخام والكفاءة من العوامل الحاسمة. يوضح الجدول التالي متوسط دقة متوسط الملاءمة (mAP) والمتطلبات الحسابية لمعايير مجموعة بيانات COCO القياسية.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
لاحظ كيف يحقق YOLOv9c تقريبًا نفس الدقة (53.0 mAP) مثل YOLOv7x (53.1 mAP) مع استخدام عدد أقل بكثير من المعلمات (25.3M مقابل 71.3M) وعمليات النقطة العائمة (FLOPs). يوضح هذا تحسينات توازن الأداء في المعماريات الحديثة.
YOLOv9: حل اختناق المعلومات
تم تقديمه في أوائل عام 2024، وقد غير YOLOv9 بشكل جذري الطريقة التي تحتفظ بها الشبكات العصبية العميقة بالبيانات عبر طبقاتها.
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديمية سينيكا
- التاريخ: 21 فبراير 2024
- الموارد: ورقة Arxiv | مستودع GitHub
ابتكارات المعمارية
يقدم YOLOv9 شبكة تجميع الطبقات الفعالة المعممة (GELAN) ومعلومات التدرج القابلة للبرمجة (PGI). تجمع GELAN بين نقاط قوة CSPNet وELAN لتحسين كفاءة المعلمات والتكلفة الحسابية، مما يضمن دقة عالية مع عدد أقل من المعلمات. PGI هو إطار إشراف مساعد مصمم لمنع فقدان البيانات في الشبكات العميقة، وتوليد تدرجات موثوقة لتحديث الأوزان أثناء عملية التدريب.
نقاط القوة والقيود
تكمن القوة الرئيسية لـ YOLOv9 في قدرته على استخراج سمات دقيقة دون عبء حسابي هائل، مما يجعله قادرًا بشكل لا يصدق على المهام التي تتطلب دقة عالية في السمات، مثل تحليل الصور الطبية. ومع ذلك، يمكن أن تجعل بنية PGI المعقدة أثناء التدريب التعديلات المعمارية المخصصة أكثر صعوبة للمبتدئين مقارنة بالأطر الأكثر توحيدًا.
YOLOv7: رائد "مجموعة الهدايا" (Bag-of-Freebies)
تم إصداره في عام 2022، ووضع YOLOv7 معيارًا جديدًا لما كان ممكنًا على أجهزة المستهلكين، مقدمًا ابتكارات هيكلية عززت بشكل كبير سرعات الاستدلال في الوقت الفعلي.
- المؤلفون: Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديمية سينيكا
- التاريخ: 6 يوليو 2022
- الموارد: ورقة Arxiv | مستودع GitHub
ابتكارات المعمارية
تتمثل المساهمة الأساسية لـ YOLOv7 في شبكة تجميع الطبقات الفعالة الموسعة (E-ELAN). تمكن هذه المعمارية النموذج من تعلم سمات أكثر تنوعًا بشكل مستمر. بالإضافة إلى ذلك، يستخدم YOLOv7 "مجموعة هدايا قابلة للتدريب"—تقنيات مثل التلافيف المُعاد برمجتها المخطط لها وتعيين التسميات الديناميكي. تعمل هذه الطرق على تحسين دقة النموذج أثناء التدريب دون إضافة تكاليف استدلال أثناء النشر.
نقاط القوة والقيود
يتم تحسين YOLOv7 بشكل كبير لمعالجة الحافة في الوقت الفعلي ويظل عنصرًا أساسيًا في الأنظمة القديمة وبيئات CUDA الأقدم. قيوده الأساسية اليوم هي حجم معلماته الأكبر مقارنة بالنماذج الأحدث. كما هو موضح في جدول الأداء، يتطلب تحقيق دقة من الدرجة الأولى نموذج YOLOv7x الثقيل، والذي يتطلب ذاكرة GPU أكبر بكثير من المعماريات الحديثة المكافئة.
ميزة Ultralytics: نشر مبسط
بينما توفر مستودعات الأبحاث الأصلية لـ YOLOv9 وYOLOv7 أسسًا أكاديمية ممتازة، قد يكون نشر هذه النماذج في بيئات الإنتاج معقدًا. يوفر دمجها من خلال حزمة ultralytics سهولة استخدام لا تضاهى.
من خلال استخدام منصة Ultralytics المتكاملة، يستفيد المطورون من نظام بيئي يتم صيانته جيدًا ويتميز بواجهة برمجة تطبيقات Python بديهية، ودعم مجتمعي نشط، وتتبع تجارب قوي.
تأمين المستقبل مع YOLO26
إذا كنت تبدأ مشروع رؤية حاسوبية جديدًا، فإننا نوصي بشدة باستكشاف YOLO26 الذي تم إصداره حديثًا بدلاً من YOLOv9 وYOLOv7. تم إصداره كمعيار جديد للحالة الراهنة، ويجلب YOLO26 تطورات رائدة:
- تصميم بدون NMS من البداية إلى النهاية: يلغي المعالجة اللاحقة لقمع غير الحد الأقصى، مما يقلل بشكل كبير من تعقيد النشر وزمن الوصول.
- استدلال CPU أسرع بنسبة تصل إلى 43%: مُحسّن لبيئات الحوسبة المتطورة، مما يضمن تشغيل تطبيقك بسلاسة حتى بدون وحدات GPU مخصصة.
- محسن MuSGD: محسن هجين مستوحى من تدريب النماذج اللغوية الكبيرة، يوفر تقاربًا مستقرًا للغاية ويقلل من وقت التدريب.
- إزالة DFL: تبسيط تصدير النموذج عن طريق إزالة Distribution Focal Loss، مما يعزز التوافق مع الأجهزة المحمولة منخفضة الطاقة.
- ProgLoss + STAL: يحسن بشكل كبير الأداء في كشف الأشياء الصغيرة، مما يجعله الخيار الأول لـ الصور الجوية والمراقبة.
تشمل البدائل الشائعة الأخرى داخل النظام البيئي Ultralytics YOLOv8 وYOLO11، وكلاهما يوفر تنوعًا هائلاً عبر مهام مثل تجزئة المثيل وتقدير الوضع.
مثال على التنفيذ
يعد تدريب وتصدير أي من هذه المعماريات أمرًا بسيطًا للغاية مع واجهة برمجة التطبيقات الموحدة. يوضح الكود أدناه خاصية كفاءة التدريب المبسطة لأدوات Ultralytics.
from ultralytics import YOLO
# Initialize YOLOv9 or the recommended YOLO26 model
model = YOLO("yolov9c.pt") # Swap with "yolo26n.pt" for faster edge performance
# Train on a custom dataset with built-in data augmentation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, batch=16, device=0)
# Export the trained model to ONNX format for deployment
model.export(format="onnx")عند التدريب على أجهزة المستهلك، تعتبر كفاءة الذاكرة أمرًا بالغ الأهمية. تم تحسين تطبيقات Ultralytics لـ YOLOv9 وYOLO26 بشكل كبير لتقليل ارتفاعات VRAM، على عكس النماذج القائمة على Transformer (مثل RT-DETR) التي غالبًا ما تعاني من تضخم الذاكرة الشديد أثناء التدريب.
التطبيقات الواقعية وحالات الاستخدام المثالية
غالبًا ما يعتمد الاختيار بين هذه المعماريات على القيود المحددة لبيئة الإنتاج الخاصة بك.
متى تستخدم YOLOv9: يتفوق YOLOv9 في البيئات التي يكون فيها الاحتفاظ بالتفاصيل الدقيقة ضروريًا. استخراج السمات القوي الخاص به يجعله مثاليًا لـ تحليلات البيع بالتجزئة لحساب المنتجات المعبأة بكثافة على الأرفف أو للتطبيقات الزراعية حيث يعد تحديد مرض المحاصيل في مراحله المبكرة على الأوراق الصغيرة أمرًا بالغ الأهمية.
متى تستخدم YOLOv7: يظل YOLOv7 مرشحًا قويًا لخطوط أنابيب النشر القديمة. إذا كنت تدمج في أنظمة أجهزة قديمة (مثل أجيال معينة من Google Coral Edge TPU)، فقد تكون معمارية CNN المباشرة لـ YOLOv7 أسهل في التجميع من فروع التدرج الأكثر تعقيدًا للنماذج الأحدث.
متى تستخدم YOLO26 (موصى به): لأي نشر حديث - من الطائرات بدون طيار المستقلة إلى إدارة حركة المرور في المدن الذكية - يعد YOLO26 الخيار المتفوق. تضمن معمارية بدون NMS الخاصة به أوقات استدلال حتمية، وهو أمر ضروري للروبوتات ذات الأهمية للسلامة، بينما تتفوق دقتها العالية على كل من YOLOv9 وYOLOv7 في جميع المجالات.