YOLOv9 ضد YOLOv7: نظرة متعمقة في تطور detect الكائنات
يتميز مشهد رؤية الكمبيوتر بالابتكار السريع، حيث تعيد الاختراقات المعمارية باستمرار تعريف حدود السرعة والدقة. من المعالم الهامة في هذه الرحلة YOLOv9 و YOLOv7. ينبع كلا النموذجين من أبحاث Chien-Yao Wang وزملائه، ويمثلان أجيالًا مختلفة من عائلة "You Only Look Once".
في حين أن YOLOv7 قد وضعت معيارًا لـ الكشف عن الأجسام في الوقت الفعلي عند إصدارها في عام 2022، ظهرت YOLOv9 في عام 2024 بآليات جديدة لمعالجة فقدان المعلومات في الشبكات العميقة. تستكشف هذه المقارنة مواصفاتها التقنية والاختلافات المعمارية والتطبيقات العملية لمساعدة المطورين على اختيار النموذج الأمثل لاحتياجاتهم.
مقاييس الأداء والكفاءة
يتضح التطور من YOLOv7 إلى YOLOv9 بشكل أكبر في المفاضلة بين التكلفة الحسابية وأداء الكشف. يقدم YOLOv9 مكاسب كبيرة في الكفاءة، مما يسمح له بتحقيق متوسط دقة أعلى (mAP) مع عدد أقل من المعلمات مقارنة بسابقه.
على سبيل المثال، يحقق نموذج YOLOv9m نفس نسبة 51.4% mAPval مثل YOLOv7l ولكنه يستخدم ما يقرب من نصف عدد البارامترات (20.0 مليون مقابل 36.9 مليون) و FLOPs أقل بكثير. هذه الكفاءة تجعل YOLOv9 جذابًا بشكل خاص لتطبيقات edge AI حيث تكون موارد الأجهزة محدودة.
| النموذج | الحجم (بالبكسل) | 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 |
YOLOv9: معلومات التدرج القابلة للبرمجة
يمثل YOLOv9 نقلة نوعية في كيفية تعامل الشبكات العصبية العميقة مع نقل البيانات عبر الطبقات. تم إصداره في أوائل عام 2024، ويستهدف تحديدًا مشكلة "عنق الزجاجة المعلوماتي"، حيث تُفقد البيانات أثناء مرورها عبر الطبقات المتتالية لشبكة عميقة.
المؤلفون: تشين-ياو وانغ، هونغ-يوان مارك لياو
المنظمة:معهد علوم المعلومات، أكاديميا سينيكا
التاريخ: 2024-02-21
Arxiv:2402.13616
GitHub:WongKinYiu/yolov9
المستندات:Ultralytics YOLOv9
الابتكار المعماري
يكمن الابتكار الأساسي في YOLOv9 في إدخال معلومات التدرج القابلة للبرمجة (PGI). توفر PGI إطار عمل إشرافي مساعد يضمن انتشار التدرجات بشكل موثوق إلى الطبقات الأولية، والحفاظ على معلومات الإدخال الأساسية التي قد تضيع بخلاف ذلك أثناء استخراج الميزات.
مما يكمل PGI هو شبكة تجميع الطبقات الفعالة المعممة (GELAN). تسمح هذه البنية للمطورين بتجميع كتل حسابية مختلفة (مثل CSP أو ResBlocks) بمرونة، وتحسين أوزان النموذج لقيود أجهزة معينة دون التضحية بالدقة.
نقاط القوة والضعف
- نقاط القوة:
- دقة فائقة: يحقق أحدث النتائج على مجموعة بيانات COCO، حيث يصل نموذج YOLOv9-E إلى 55.6% mAP.
- كفاءة المعلمات: تقدم أداءً مشابهًا للنماذج القديمة باستخدام عدد أقل بكثير من المعلمات، مما يقلل من متطلبات الذاكرة أثناء الاستدلال.
- الحفاظ على المعلومات: تؤدي التحسينات النظرية في تدفق التدرج إلى تقارب وتمثيل أفضل للميزات.
- نقاط الضعف:
- تعقيد التدريب: يمكن للفروع الإضافية المستخدمة أثناء التدريب (والتي تتم إزالتها للاستدلال) أن تزيد من استخدام ذاكرة GPU خلال مرحلة التدريب مقارنة بالبنى الأبسط.
YOLOv7: معيار مجموعة الأدوات المجانية
قبل YOLOv9، كان YOLOv7 هو البطل المتوج لعائلة YOLO. لقد قدم تحسينات معمارية ركزت على تحسين عملية التدريب دون زيادة تكاليف الاستدلال، وهو مفهوم يعرف باسم "bag-of-freebies".
المؤلفون: تشين-ياو وانغ، أليكسي بوتشكوفسكي، هونغ-يوان مارك لياو
المنظمة: معهد علوم المعلومات، أكاديميا سينيكا
التاريخ: 2022-07-06
Arxiv:2207.02696
GitHub:WongKinYiu/yolov7
المستندات:Ultralytics YOLOv7
نظرة عامة معمارية
قدم YOLOv7 E-ELAN (شبكة تجميع الطبقات الفعالة الممتدة)، والتي تتحكم في أقصر وأطول مسارات التدرج لتحسين قدرة الشبكة على التعلم. كما استخدمت تقنيات توسيع نطاق النموذج التي تعدل عمق وعرض الشبكة في وقت واحد، مما يضمن بنية مثالية للأجهزة المستهدفة المختلفة.
نقاط القوة والضعف
- نقاط القوة:
- موثوقية مثبتة: الاستخدام المجتمعي المكثف والتحقق على مدى عدة سنوات يجعله خيارًا مستقرًا للأنظمة القديمة.
- سرعة عالية: مُحسَّن خصيصًا لـ الاستدلال في الوقت الفعلي على أجهزة GPU القياسية.
- نقاط الضعف:
- كفاءة أقل: يتطلب المزيد من المعلمات وعمليات الفاصلة العائمة في الثانية (FLOPs) لمطابقة مستويات الدقة التي يمكن أن تحققها النماذج الأحدث مثل YOLOv9 أو YOLO11 ببنى أخف.
- أدوات قديمة: تفتقر إلى بعض عمليات التكامل الأصلية وميزات سهولة الاستخدام الموجودة في نظام Ultralytics البيئي الحديث.
حالات الاستخدام والتطبيقات المثالية
غالبًا ما يعتمد الاختيار بين هذين النموذجين على القيود المحددة لبيئة النشر و الدقة المطلوبة للمهمة.
متى تختار YOLOv9
يعد YOLOv9 ممتازًا للسيناريوهات التي تتطلب أعلى نسبة دقة إلى كفاءة.
- الملاحة الذاتية: في السيارات ذاتية القيادة، يعد detect الأجسام الصغيرة على مسافات طويلة أمرًا بالغ الأهمية. تساعد قدرة YOLOv9 على الحفاظ على المعلومات في التعرف على المخاطر البعيدة.
- التصوير الطبي: لمهام مثل detect الأورام، حيث يكون فقدان الكشف الإيجابي أمرًا بالغ الأهمية، فإن الاسترجاع العالي والدقة في YOLOv9 مفيدان.
- الأجهزة المتطورة: Edge Devices: في
yolov9tيوفر المتغير حلاً قويًا لـ أجهزة إنترنت الأشياء مثل Raspberry Pis، مما يوفر دقة جيدة مع الحد الأدنى من النفقات الحسابية.
متى تختار YOLOv7
يظل YOLOv7 ذا صلة لخطوط الأنابيب الحالية التي تم تحسينها بالفعل لبنيتها.
- الأنظمة القديمة: قد تفضل خطوط التصنيع الصناعية التي تحققت من YOLOv7 لمراقبة الجودة الحفاظ على الاتساق بدلاً من الترقية على الفور.
- Research Baselines: إنه بمثابة معيار ممتاز لمقارنة استراتيجيات detect الجديدة بالمعايير المعمول بها في academic research.
موازنة الأداء مع Ultralytics
في حين أن YOLOv9 و YOLOv7 قويان، يجب على المطورين الذين يبحثون عن التوازن المطلق بين السرعة والدقة وتجربة المطور أن يفكروا في Ultralytics YOLO11. يدمج YOLO11 أفضل ميزات الأجيال السابقة مع واجهة برمجة تطبيقات مبسطة، تدعم الكشف والتجزئة وتقدير الوضع والتصنيف في إطار عمل واحد.
ميزة Ultralytics
يوفر استخدام هذه النماذج داخل النظام البيئي لـ Ultralytics مزايا واضحة مقارنة باستخدام مستودعات الأبحاث الأولية. تجرّد Ultralytics Python API التعليمات البرمجية المعقدة، مما يسمح للباحثين والمهندسين بالتركيز على البيانات والنتائج.
- سهولة الاستخدام: تتيح لك الواجهة الموحدة التبديل بين YOLOv8 و YOLOv9 و YOLO11 بسطر واحد من التعليمات البرمجية.
- كفاءة التدريب: تم تحسين نماذج Ultralytics لتحقيق تقارب أسرع، وغالبًا ما تتطلب بيانات تدريب أقل للوصول إلى دقة عالية.
- متطلبات الذاكرة: تم تصميم الإطار لتقليل استخدام ذاكرة CUDA، مما يتيح تدريب أحجام دفعات أكبر على الأجهزة الاستهلاكية مقارنةً بنماذج Transformer الثقيلة.
- Versatility: بالإضافة إلى المربعات المحيطة البسيطة، يدعم النظام البيئي مهام instance segmentation و pose estimation و Oriented Bounding Box (OBB)، مما يجعله أداة شاملة لتحديات الذكاء الاصطناعي المتنوعة.
مثال على التنفيذ
يعد تشغيل هذه النماذج أمرًا مباشرًا باستخدام مكتبة Ultralytics. يوضح مقتطف التعليمات البرمجية التالي كيفية تحميل نموذج مُدرَّب مسبقًا وتشغيل الاستدلال على صورة.
from ultralytics import YOLO
# Load a pre-trained YOLOv9 model
model = YOLO("yolov9c.pt")
# Run inference on a local image
results = model.predict("path/to/image.jpg", save=True, conf=0.5)
# Process results
for result in results:
result.show() # Display predictions
بالنسبة لأولئك المهتمين بالتدريب على مجموعات البيانات المخصصة، تكون العملية بسيطة بنفس القدر، وذلك باستخدام استراتيجيات ضبط المعلمات الفائقة و زيادة البيانات القوية المضمنة في الإطار.
# Train the model on a custom dataset
model.train(data="coco8.yaml", epochs=100, imgsz=640)
الخلاصة
يمثل كل من YOLOv9 و YOLOv7 إنجازات كبيرة في مجال رؤية الكمبيوتر. يعتبر YOLOv9 هو الخلف التقني الواضح، حيث يقدم كفاءة ودقة فائقة للمعلمات من خلال architectures PGI و GELAN المبتكرة. إنه الخيار الموصى به للمستخدمين الذين يبحثون عن أداء عالٍ من سلالة أبحاث Wang et al. المحددة.
ومع ذلك، بالنسبة للمطورين الذين يبحثون عن تجربة تطوير الذكاء الاصطناعي الأكثر شمولية، تظل Ultralytics YOLO11 هي التوصية الأفضل. بفضل صيانتها النشطة و وثائقها الشاملة ودعمها الواسع للمهام متعددة الوسائط، تضمن YOLO11 أن تكون مشاريعك مقاومة للمستقبل وجاهزة للإنتاج.
استكشف نماذج أخرى
لتوسيع فهمك لمشهد الكشف عن الكائنات، ضع في اعتبارك استكشاف هذه النماذج والمقارنات ذات الصلة:
- YOLO11 مقابل YOLOv9 - قارن بين أحدث نموذج Ultralytics مع YOLOv9.
- YOLOv8 مقابل YOLOv7 - شاهد كيف يتراكم الجيل السابق.
- RT-DETR مقابل YOLOv9 - نظرة على الكشف المستند إلى المحولات مقابل الشبكات العصبية التلافيفية.
- YOLOv10 - استكشف نموذج كشف الأجسام الشامل في الوقت الفعلي.
- Ultralytics HUB - الطريقة الأسهل لتدريب ونشر النماذج الخاصة بك.