YOLOv9 YOLOv7: دراسة تقنية متعمقة حول الكشف الحديث عن الكائنات
كان الدافع وراء تطور الكشف عن الكائنات في الوقت الفعلي هو السعي المستمر لتحقيق التوازن بين الكفاءة الحسابية والدقة العالية. ومن بين الإنجازات البارزة في هذا المجال هندستا YOLOv9 YOLOv7 اللتان طورهما باحثون في معهد علوم المعلومات التابع لأكاديمية سينيكا في تايوان. في حين YOLOv7 تقنية ثورية قابلة للتدريب تسمى bag-of-freebies، فإن YOLOv9 الأحدث YOLOv9 بشكل مباشر مشكلة اختناقات المعلومات في التعلم العميق.
تستكشف هذه المقارنة التقنية الشاملة الاختلافات المعمارية ومقاييس الأداء وسيناريوهات النشر المثالية لكلا النموذجين، مما يساعد مهندسي وباحثي التعلم الآلي على اختيار الأداة المناسبة لخطوط إنتاج الرؤية الحاسوبية الخاصة بهم.
مقارنة الأداء والمقاييس
عند مقارنة هذه النماذج، يعتبر الأداء الخام والكفاءة عاملين حاسمين. يوضح الجدول التالي متوسط الدقة (mAP) ومتطلبات الحوسبة لمعايير قياس أداء COCO القياسية.
| النموذج | الحجم (بالبكسل) | mAPval 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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.3 مليون مقابل 71.3 مليون) وعمليات FLOP. وهذا يوضح تحسينات توازن الأداء في البنى الحديثة.
YOLOv9: حل مشكلة عنق الزجاجة المعلوماتي
تم طرح YOLOv9 في أوائل عام 2024، وقد أحدث تغييرًا YOLOv9 في الطريقة التي تحتفظ بها الشبكات العصبية العميقة بالبيانات عبر طبقاتها.
- المؤلفون: Chien-Yao Wang و Hong-Yuan Mark Liao
- المؤسسة:معهد علوم المعلومات، أكاديميا سينيكا
- التاريخ: 21 فبراير 2024
- الموارد:ورقة Arxiv | مستودع GitHub
ابتكارات معمارية
YOLOv9 شبكة التجميع العاملة بكفاءة (GELAN) ومعلومات التدرج القابلة للبرمجة (PGI). تجمع GELAN بين نقاط قوة CSPNet و ELAN لتحسين كفاءة المعلمات وتكلفة الحوسبة، مما يضمن دقة عالية مع عدد أقل من المعلمات. PGI هو إطار عمل إشرافي مساعد مصمم لمنع فقدان البيانات في الشبكات العميقة، مما يولد تدرجات موثوقة لتحديث الأوزان أثناء عملية التدريب.
نقاط القوة والقيود
YOLOv9 القوة الرئيسية لـ YOLOv9 قدرتها على استخراج الميزات الدقيقة دون الحاجة إلى حسابية هائلة، مما يجعلها قادرة بشكل لا يصدق على أداء المهام التي تتطلب دقة عالية في الميزات، مثل تحليل الصور الطبية. ومع ذلك، فإن بنية PGI المعقدة أثناء التدريب يمكن أن تجعل التعديلات المعمارية المخصصة أكثر صعوبة للمبتدئين مقارنة بالأطر الأكثر توحيدًا.
YOLOv7: رائد حقيبة الهدايا المجانية
صدر YOLOv7 في عام 2022، YOLOv7 معيارًا جديدًا لما يمكن تحقيقه على الأجهزة الاستهلاكية، حيث أدخل ابتكارات هيكلية عززت بشكل كبير سرعات الاستدلال في الوقت الفعلي.
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المؤسسة:معهد علوم المعلومات، أكاديميا سينيكا
- التاريخ: 6 يوليو 2022
- الموارد:ورقة Arxiv | مستودع GitHub
ابتكارات معمارية
تتمثل المساهمة الأساسية YOLOv7 في شبكة تجميع الطبقات الفعالة الموسعة (E-ELAN). تتيح هذه البنية للنموذج تعلم ميزات أكثر تنوعًا بشكل مستمر. بالإضافة إلى ذلك، YOLOv7 تقنيات "trainable bag-of-freebies" مثل التلافيف المعاد تحديد معلماتها بشكل مخطط وتعيين العلامات الديناميكي. تعمل هذه الأساليب على تحسين دقة النموذج أثناء التدريب دون إضافة تكاليف استدلال أثناء النشر.
نقاط القوة والقيود
YOLOv7 تحسين YOLOv7 بشكل كبير للمعالجة الفورية في الوقت الحقيقي، ولا يزال عنصراً أساسياً في الأنظمة القديمة CUDA القديمة. ويتمثل القيد الرئيسي له اليوم في حجم معلماته الأكبر مقارنة بالنماذج الأحدث. وكما هو موضح في جدول الأداء، يتطلب تحقيق دقة عالية استخدام نموذج YOLOv7x الثقيل، الذي يحتاج إلى GPU أكبر بكثير من البنى الحديثة المماثلة.
Ultralytics : نشر مبسط
في حين أن مستودعات الأبحاث الأصلية لـ YOLOv9 YOLOv7 أسسًا أكاديمية ممتازة، فإن نشر هذه النماذج في بيئات الإنتاج قد يكون أمرًا معقدًا. دمجها من خلال ultralytics تقدم الحزمة عرضًا لا مثيل له سهولة الاستخدام.
من خلال استخدام Ultralytics المتكاملة، يستفيد المطورون من نظام بيئي جيد الصيانة يتميز Python سهلة الاستخدام، ودعم مجتمعي نشط، وتتبع قوي للتجارب.
الاستعداد للمستقبل مع YOLO26
إذا كنت تبدأ مشروعًا جديدًا في مجال الرؤية الحاسوبية، فإننا نوصيك بشدة باستكشاف الإصدار الجديد YOLO26 بدلاً من YOLOv9 YOLOv7. تم إصدار YOLO26 باعتباره المعيار الجديد المتطور، ويقدم تطورات رائدة:
- تصميم شامل NMS: يلغي المعالجة اللاحقة لـ Non-Maximum Suppression، مما يقلل بشكل كبير من تعقيد النشر والكمون.
- CPU أسرع بنسبة تصل إلى 43٪ CPU : مُحسّن لبيئات الحوسبة الطرفية، مما يضمن تشغيل تطبيقك بسلاسة حتى بدون وحدات معالجة رسومات مخصصة.
- MuSGD Optimizer: مُحسِّن هجين مستوحى من تدريب LLM، يوفر تقاربًا عالي الاستقرار ويقلل من وقت التدريب.
- إزالة DFL: تصدير نموذج مبسط عن طريق إزالة فقدان بؤرة التوزيع، مما يعزز التوافق مع الأجهزة المحمولة منخفضة الطاقة.
- 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، على عكس النماذج القائمة على المحولات (مثل RT-DETR) التي غالبًا ما تعاني من تضخم شديد في الذاكرة أثناء التدريب.
تطبيقات في العالم الحقيقي وحالات استخدام مثالية
غالبًا ما يعتمد الاختيار بين هذه البنى على القيود المحددة لبيئة الإنتاج لديك.
متى تستخدم YOLOv9: YOLOv9 في البيئات التي تتطلب الاحتفاظ بأدق التفاصيل. إن قدرتها القوية على استخراج الميزات تجعلها مثالية لتحليلات البيع بالتجزئة لحساب المنتجات المكدسة على الرفوف أو للتطبيقات الزراعية حيث يكون من الضروري تحديد أمراض المحاصيل في مراحلها المبكرة على الأوراق الصغيرة.
متى تستخدم YOLOv7: YOLOv7 خيارًا قويًا لخطوط النشر القديمة. إذا كنت تقوم بالدمج في أنظمة أجهزة قديمة (مثل أجيال معينة من Google Edge TPU)، YOLOv7 يكون من الأسهل تجميع بنية CNN البسيطة لـ YOLOv7 مقارنةً بفروع التدرج الأكثر تعقيدًا في النماذج الأحدث.
متى تستخدم YOLO26 (موصى به): بالنسبة لأي نشر حديث — من الطائرات بدون طيار المستقلة إلى إدارة حركة المرورفي المدن الذكية — فإن YOLO26 هو الخيار الأفضل. تضمن بنيته NMS أوقات استدلال حتمية، وهو أمر ضروري للروبوتات الحساسة من حيث السلامة، في حين أن دقته العالية تفوق كل من YOLOv9 YOLOv7 جميع المجالات.