YOLOv9: قفزة إلى الأمام في تقنية Object Detection#
يمثل YOLOv9 تقدمًا كبيرًا في اكتشاف الكائنات في الوقت الفعلي، حيث يقدم تقنيات رائدة مثل معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN). يُظهر هذا النموذج تحسينات ملحوظة في الكفاءة والدقة والقدرة على التكيف، مما يضع معايير جديدة على مجموعة بيانات MS COCO. يعتمد مشروع YOLOv9، على الرغم من تطويره بواسطة فريق مفتوح المصدر منفصل، على قاعدة التعليمات البرمجية القوية التي توفرها Ultralytics YOLOv5، مما يوضح روح التعاون في مجتمع أبحاث الذكاء الاصطناعي.
Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

مقدمة حول YOLOv9#
في السعي للوصول إلى الكشف الأمثل عن الكائنات في الوقت الفعلي، يبرز YOLOv9 بنهجه المبتكر للتغلب على تحديات فقدان المعلومات المتأصلة في neural networks العميقة. من خلال دمج PGI وبنية GELAN متعددة الاستخدامات، لا يعمل YOLOv9 على تعزيز قدرة التعلم للنموذج فحسب، بل يضمن أيضًا الاحتفاظ بالمعلومات الهامة طوال عملية الكشف، وبالتالي تحقيق دقة وأداء استثنائيين.
الابتكارات الجوهرية لـ YOLOv9#
تتجذر ابتكارات YOLOv9 بعمق في معالجة التحديات التي يفرضها فقدان المعلومات في الشبكات العصبية العميقة. يُعد مبدأ عنق زجاجة المعلومات والاستخدام المبتكر للدوال القابلة للعكس ركيزتين أساسيتين في تصميمه، مما يضمن احتفاظ YOLOv9 بكفاءة ودقة عاليتين.
مبدأ عنق زجاجة المعلومات#
يكشف مبدأ عنق زجاجة المعلومات عن تحدٍ أساسي في التعلم العميق: مع مرور البيانات عبر طبقات متتالية من الشبكة، تزداد احتمالية فقدان المعلومات. يتم تمثيل هذه الظاهرة رياضياً على النحو التالي:
I(X, X) >= I(X, f_theta(X)) >= I(X, g_phi(f_theta(X)))حيث تشير I إلى المعلومات المتبادلة، وتمثل f و g وظائف التحويل بمعلمات theta و phi على التوالي. يتعامل YOLOv9 مع هذا التحدي من خلال تنفيذ معلومات التدرج القابلة للبرمجة (PGI)، والتي تساعد في الحفاظ على البيانات الأساسية عبر عمق الشبكة، مما يضمن توليد تدرج أكثر موثوقية وبالتالي تقارب وأداء أفضل للنموذج.
الدوال القابلة للعكس#
يُعد مفهوم الدوال القابلة للعكس حجر زاوية آخر في تصميم YOLOv9. تُعتبر الدالة قابلة للعكس إذا كان بالإمكان عكسها دون أي فقدان للمعلومات، كما هو معبر عنه بـ:
X = v_zeta(r_psi(X))مع psi و zeta كمعلمات للدالة القابلة للاسترداد ودالتها العكسية على التوالي. هذه الخصائص بالغة الأهمية لهندسات deep learning، حيث تتيح للشبكة الاحتفاظ بتدفق معلومات كامل، مما يتيح بدوره تحديثات أكثر دقة لمعلمات النموذج. يدمج YOLOv9 وظائف قابلة للاسترداد داخل بنيته للتخفيف من مخاطر تدهور المعلومات، خاصة في الطبقات الأعمق، مما يضمن الحفاظ على البيانات الحرجة لمهام كشف الكائنات.
التأثير على النماذج خفيفة الوزن#
تعتبر معالجة فقدان المعلومات أمراً حيوياً بشكل خاص للنماذج خفيفة الوزن، التي غالباً ما تكون قليلة المعاملات وعرضة لفقدان معلومات كبيرة أثناء عملية التغذية الأمامية. تضمن بنية YOLOv9، من خلال استخدام PGI والدوال القابلة للعكس، أنه حتى مع وجود نموذج انسيابي، يتم الاحتفاظ بالمعلومات الأساسية المطلوبة لاكتشاف دقيق للكائنات واستخدامها بفعالية.
معلومات التدرج القابلة للبرمجة (PGI)#
PGI هو مفهوم جديد تم تقديمه في YOLOv9 لمكافحة مشكلة عنق زجاجة المعلومات، مما يضمن الحفاظ على البيانات الأساسية عبر طبقات الشبكة العميقة. يسمح هذا بتوليد تدرجات موثوقة، مما يسهل تحديثات دقيقة للنموذج ويحسن أداء الاكتشاف العام.
شبكة تجميع الطبقات الفعالة المعممة (GELAN)#
تمثل GELAN تقدماً معمارياً استراتيجياً، مما يتيح لـ YOLOv9 تحقيق استخدام فائق للمعاملات وكفاءة حسابية. يسمح تصميمها بدمج مرن لمختلف الكتل الحسابية، مما يجعل YOLOv9 قابلاً للتكيف مع مجموعة واسعة من التطبيقات دون التضحية بالسرعة أو الدقة.

معايير قياس أداء YOLOv9#
تتضمن المقارنة المعيارية في YOLOv9 باستخدام Ultralytics تقييم أداء نموذجك المُدرب والمُتحقق منه في سيناريوهات العالم الحقيقي. تتضمن هذه العملية ما يلي:
- تقييم الأداء: تقييم سرعة ودقة النموذج.
- تنسيقات التصدير: اختبار النموذج عبر تنسيقات تصدير مختلفة لضمان تلبيته للمعايير الضرورية وعمله بشكل جيد في بيئات متنوعة.
- دعم الإطار: توفير إطار عمل شامل ضمن Ultralytics YOLOv8 لتسهيل هذه التقييمات وضمان نتائج متسقة وموثوقة.
من خلال قياس الأداء، يمكنك التأكد من أن نموذجك لا يعمل بشكل جيد في بيئات الاختبار الخاضعة للرقابة فحسب، بل يحافظ أيضاً على أداء عالٍ في التطبيقات العملية الواقعية.
Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package
الأداء على مجموعة بيانات MS COCO#
يوضح أداء YOLOv9 على COCO dataset تطوراته الكبيرة في الكشف عن الكائنات في الوقت الفعلي، مما يضع معايير جديدة عبر أحجام النماذج المختلفة. يعرض الجدول 1 مقارنة شاملة لكواشف الكائنات في الوقت الفعلي الحديثة، مما يوضح كفاءة YOLOv9 الفائقة وaccuracy.
تظهر إصدارات YOLOv9، بدءًا من متغير t الصغير وحتى نموذج e الواسع، تحسينات ليس فقط في الدقة (مقاييس mAP) ولكن أيضًا في الكفاءة مع تقليل عدد المعلمات والاحتياجات الحسابية (FLOPs). يؤكد هذا الجدول على قدرة YOLOv9 على تقديم precision عالية مع الحفاظ على الحمل الحسابي أو تقليله مقارنة بالإصدارات السابقة والنماذج المنافسة.
بالمقارنة، يظهر YOLOv9 مكاسب ملحوظة:
- النماذج خفيفة الوزن: يتفوق YOLOv9s على YOLO MS-S في كفاءة المعاملات والحمل الحسابي مع تحقيق تحسن بنسبة 0.4~0.6% في AP.
- النماذج المتوسطة إلى الكبيرة: يُظهر YOLOv9m و YOLOv9e تقدماً ملحوظاً في موازنة المقايضة بين تعقيد النموذج وأداء الاكتشاف، مما يوفر تخفيضات كبيرة في المعاملات والحسابات مقابل تحسين الدقة.
يسلط نموذج YOLOv9c، على وجه الخصوص، الضوء على فعاليات تحسينات البنية. فهو يعمل بمعلمات أقل بنسبة 42% ومتطلبات حسابية أقل بنسبة 21% من YOLOv7 AF، ومع ذلك يحقق دقة قابلة للمقارنة، مما يدل على تحسينات الكفاءة الكبيرة لـ YOLOv9. علاوة على ذلك، يضع نموذج YOLOv9e معيارًا جديدًا للنماذج الكبيرة، بمعلمات أقل بنسبة 15% واحتياجات حسابية أقل بنسبة 25% من YOLOv8x، إلى جانب تحسن إضافي بنسبة 1.7% في AP.
تعرض هذه النتائج التطورات الاستراتيجية لـ YOLOv9 في تصميم النموذج، مع التركيز على كفاءته المحسنة دون المساومة على الدقة الأساسية لمهام كشف الكائنات في الوقت الفعلي. لا يدفع النموذج حدود مقاييس الأداء فحسب، بل يؤكد أيضًا على أهمية الكفاءة الحسابية، مما يجعله تطورًا محوريًا في مجال computer vision.
الخلاصة#
مثل YOLOv9، الذي تم إصداره في فبراير 2024، تطورًا محوريًا في كشف الكائنات في الوقت الفعلي، حيث قدم تحسينات كبيرة من حيث الكفاءة والدقة والقدرة على التكيف. من خلال معالجة التحديات الحرجة من خلال حلول مبتكرة مثل PGI و GELAN، وضع YOLOv9 معايير جديدة وقت إصداره. في حين تم إصدار نماذج أحدث مثل YOLO11 و YOLO26 منذ ذلك الحين مع تحسينات إضافية، فإن الابتكارات المعمارية لـ YOLOv9 تواصل تأثيرها على المجال.
أمثلة الاستخدام#
يوفر هذا المثال أمثلة بسيطة للتدريب والاستدلال لـ YOLOv9. للحصول على الوثائق الكاملة حول هذه modes وغيرها، راجع صفحات وثائق Predict، وTrain، وVal، وExport.
يمكن تمرير نماذج *.pt المدربة مسبقًا باستخدام PyTorch بالإضافة إلى ملفات تكوين *.yaml إلى فئة YOLO() لإنشاء مثيل نموذج في python:
from ultralytics import YOLO
# Build a YOLOv9c model from scratch
model = YOLO("yolov9c.yaml")
# Build a YOLOv9c model from pretrained weight
model = YOLO("yolov9c.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv9c model on the 'bus.jpg' image
results = model("path/to/bus.jpg")المهام والأوضاع المدعومة#
توفر سلسلة YOLOv9 مجموعة من النماذج، كل منها محسّن لـ Object Detection عالي الأداء. تلبي هذه النماذج الاحتياجات الحسابية ومتطلبات الدقة المتنوعة، مما يجعلها متعددة الاستخدامات لمجموعة واسعة من التطبيقات.
| النموذج | أسماء الملفات | مهام | التدريب | التحقق | الاستنتاج | التصدير |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | تجزئة الحالات الفردية | ✅ | ✅ | ✅ | ✅ |
يوفر هذا الجدول نظرة عامة تفصيلية على متغيرات نموذج YOLOv9، مسلطًا الضوء على قدراتها في مهام اكتشاف الكائنات وتوافقها مع الأوضاع التشغيلية المختلفة مثل Inference وValidation وTraining وExport. يضمن هذا الدعم الشامل أن يتمكن المستخدمون من الاستفادة الكاملة من إمكانيات نماذج YOLOv9 في مجموعة واسعة من سيناريوهات كشف الكائنات.
سيتطلب تدريب نماذج YOLOv9 موارد أكثر وسيستغرق وقتًا أطول مقارنة بـ YOLOv8 model المماثل في الحجم.
الاقتباسات والشكر#
نود أن نعرب عن تقديرنا لمؤلفي YOLOv9 لمساهماتهم الكبيرة في مجال اكتشاف الكائنات في الوقت الفعلي:
@inproceedings{wang2024yolov9,
title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
author={Wang, Chien-Yao and Yeh, I-Hau and Liao, Hong-Yuan Mark},
booktitle={Computer Vision -- ECCV 2024},
pages={1--21},
year={2024},
organization={Springer Nature Switzerland}
}نُشرت ورقة YOLOv9 الرسمية في Springer ECCV 2024 proceedings، مع مسودة أولية على arXiv. لقد جعل المؤلفون عملهم متاحًا للجمهور، ويمكن الوصول إلى قاعدة التعليمات البرمجية على GitHub. نحن نقدر جهودهم في دفع عجلة التقدم في هذا المجال وإتاحة عملهم للمجتمع الأوسع.
الأسئلة الشائعة#
يقدم YOLOv9 تقنيات رائدة مثل معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN). تعالج هذه الابتكارات تحديات فقدان المعلومات في الشبكات العصبية العميقة، مما يضمن كفاءة عالية، ودقة، وقدرة على التكيف. تحافظ PGI على البيانات الأساسية عبر طبقات الشبكة، بينما تعمل GELAN على تحسين استهلاك المعلمات والكفاءة الحسابية. تعرف على المزيد حول YOLOv9's core innovations التي وضعت معايير جديدة على مجموعة بيانات MS COCO.
يتفوق YOLOv9 على كواشف الكائنات في الوقت الفعلي الحديثة من خلال تحقيق دقة وكفاءة أعلى. على COCO dataset، تعرض نماذج YOLOv9 درجات mAP فائقة عبر أحجام مختلفة مع الحفاظ على الحمل الحسابي أو تقليله. على سبيل المثال، يحقق YOLOv9c دقة قابلة للمقارنة مع معلمات أقل بنسبة 42% ومتطلبات حسابية أقل بنسبة 21% من YOLOv7 AF. استكشف performance comparisons للحصول على مقاييس مفصلة.
يمكنك تدريب نموذج YOLOv9 باستخدام كل من أوامر Python و CLI. بالنسبة لـ Python، قم بإنشاء مثيل لنموذج باستخدام الفئة
YOLOواستدعِ الطريقةtrain:from ultralytics import YOLO # Build a YOLOv9c model from pretrained weights and train model = YOLO("yolov9c.pt") results = model.train(data="coco8.yaml", epochs=100, imgsz=640)للتدريب عبر CLI، قم بتنفيذ:
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640تعرف على المزيد حول usage examples للتدريب والاستدلال.
تم تصميم YOLOv9 للتخفيف من فقدان المعلومات، وهو أمر مهم بشكل خاص للنماذج خفيفة الوزن المعرضة غالبًا لفقدان معلومات كبيرة. من خلال دمج معلومات التدرج القابلة للبرمجة (PGI) والوظائف القابلة للاسترداد، يضمن YOLOv9 الاحتفاظ بالبيانات الأساسية، مما يعزز دقة النموذج وكفاءته. هذا يجعله مناسبًا للغاية للتطبيقات التي تتطلب نماذج مدمجة ذات أداء عالٍ. لمزيد من التفاصيل، استكشف القسم الخاص بـ YOLOv9's impact on lightweight models.
يدعم YOLOv9 مهام مختلفة بما في ذلك اكتشاف الكائنات وinstance segmentation. وهو متوافق مع أوضاع تشغيل متعددة مثل الاستدلال والتحقق والتدريب والتصدير. هذه الميزة المتعددة تجعل YOLOv9 قابلًا للتكيف مع تطبيقات رؤية الكمبيوتر المتنوعة في الوقت الفعلي. راجع قسم supported tasks and modes لمزيد من المعلومات.