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

مقدمة عن YOLOv9
في السعي نحو تحقيق اكتشاف مثالي للأجسام في الوقت الفعلي، يبرز YOLOv9 بنهجه المبتكر في التغلب على تحديات فقدان المعلومات المتأصلة في الشبكات العصبية العميقة. من خلال دمج 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 كمعاملات للدالة العكسية ودالتها العكسية على التوالي. تُعد هذه الخاصية حاسمة لهياكل التعلم العميق، حيث تسمح للشبكة بالحفاظ على تدفق كامل للمعلومات، مما يتيح تحديثات أكثر دقة لمعاملات النموذج. يدمج 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 مثالاً على تقدمه الكبير في اكتشاف الأجسام في الوقت الفعلي، حيث وضع معايير جديدة عبر أحجام النماذج المختلفة. يقدم الجدول 1 مقارنة شاملة لأحدث كاشفات الأجسام في الوقت الفعلي، مما يوضح الكفاءة والدقة الفائقة لـ YOLOv9.
تُظهر تكرارات YOLOv9، بدءاً من متغير t الصغير إلى نموذج e الموسع، تحسينات ليس فقط في الدقة (مقاييس mAP) ولكن أيضاً في الكفاءة مع عدد أقل من المعاملات والاحتياجات الحسابية (FLOPs). يؤكد هذا الجدول قدرة YOLOv9 على تقديم دقة عالية مع الحفاظ على أو تقليل العبء الحسابي مقارنة بالإصدارات السابقة والنماذج المنافسة.
بالمقارنة، يظهر 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 في تصميم النماذج، مع التأكيد على كفاءته المعززة دون المساومة على الدقة الضرورية لمهام اكتشاف الأجسام في الوقت الفعلي. لا يدفع النموذج حدود مقاييس الأداء فحسب، بل يؤكد أيضاً على أهمية الكفاءة الحسابية، مما يجعله تطوراً محورياً في مجال رؤية الحاسوب.
خاتمة
مثل YOLOv9، الذي تم إصداره في فبراير 2024، تطوراً محورياً في اكتشاف الأجسام في الوقت الفعلي، حيث قدم تحسينات كبيرة من حيث الكفاءة والدقة والقدرة على التكيف. من خلال معالجة التحديات الحرجة عبر حلول مبتكرة مثل PGI و GELAN، وضع YOLOv9 معايير جديدة في وقت إصداره. وعلى الرغم من أنه تم إصدار نماذج أحدث مثل YOLO11 و YOLO26 مع تحسينات إضافية، إلا أن ابتكارات YOLOv9 الهيكلية لا تزال تؤثر في هذا المجال.
أمثلة الاستخدام
يوفر هذا المثال أمثلة بسيطة لتدريب والاستدلال باستخدام YOLOv9. للحصول على وثائق كاملة حول هذه الأنماط وغيرها، راجع صفحات وثائق Predict و Train و Val و Export.
يمكن تمرير نماذج PyTorch المدربة مسبقاً بصيغة *.pt بالإضافة إلى ملفات الإعداد بصيغة *.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 مجموعة من النماذج، كل منها محسّن لـ اكتشاف الأجسام عالي الأداء. تلبي هذه النماذج الاحتياجات الحسابية ومتطلبات الدقة المتنوعة، مما يجعلها متعددة الاستخدامات لمجموعة واسعة من التطبيقات.
| النموذج | أسماء الملفات | المهام | الاستدلال | التحقق | التدريب | تصدير |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | اكتشاف الكائنات | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | تجزئة المثيلات | ✅ | ✅ | ✅ | ✅ |
يوفر هذا الجدول نظرة عامة مفصلة على متغيرات نموذج YOLOv9، مع تسليط الضوء على قدراتها في مهام اكتشاف الأجسام وتوافقها مع أنماط التشغيل المختلفة مثل الاستدلال و التحقق و التدريب و التصدير. يضمن هذا الدعم الشامل للمستخدمين الاستفادة الكاملة من قدرات نماذج YOLOv9 في مجموعة واسعة من سيناريوهات اكتشاف الأجسام.
سيتطلب تدريب نماذج YOLOv9 موارد أكثر و سيستغرق وقتاً أطول مقارنة بنفس الحجم من نموذج YOLOv8.
الاقتباسات والشكر
نود أن نعرب عن تقديرنا لمؤلفي YOLOv9 لمساهماتهم الكبيرة في مجال اكتشاف الأجسام في الوقت الفعلي:
@article{wang2024yolov9,
title={YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information},
author={Wang, Chien-Yao and Liao, Hong-Yuan Mark},
booktitle={arXiv preprint arXiv:2402.13616},
year={2024}
}يمكن العثور على ورقة YOLOv9 الأصلية على arXiv. لقد أتاح المؤلفون عملهم للجمهور، ويمكن الوصول إلى قاعدة الكود على GitHub. نحن نقدر جهودهم في تطوير المجال وإتاحة عملهم للمجتمع الأوسع.
الأسئلة الشائعة
ما هي الابتكارات التي يقدمها YOLOv9 لاكتشاف الأجسام في الوقت الفعلي؟
يقدم YOLOv9 تقنيات رائدة مثل معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN). تعالج هذه الابتكارات تحديات فقدان المعلومات في الشبكات العصبية العميقة، مما يضمن كفاءة ودقة وقدرة على التكيف عالية. تحافظ PGI على البيانات الأساسية عبر طبقات الشبكة، بينما تعمل GELAN على تحسين استخدام المعاملات والكفاءة الحسابية. تعرف على المزيد حول ابتكارات YOLOv9 الأساسية التي وضعت معايير جديدة على مجموعة بيانات MS COCO.
كيف يعمل YOLOv9 على مجموعة بيانات MS COCO مقارنة بالنماذج الأخرى؟
يتفوق YOLOv9 على أحدث كاشفات الأجسام في الوقت الفعلي من خلال تحقيق دقة وكفاءة أعلى. على مجموعة بيانات COCO، تظهر نماذج YOLOv9 درجات mAP فائقة عبر مختلف الأحجام مع الحفاظ على أو تقليل العبء الحسابي. على سبيل المثال، يحقق YOLOv9c دقة مماثلة مع معاملات أقل بنسبة 42% ومتطلبات حسابية أقل بنسبة 21% من YOLOv7 AF. استكشف مقارنات الأداء للحصول على مقاييس مفصلة.
كيف يمكنني تدريب نموذج YOLOv9 باستخدام Python و CLI؟
يمكنك تدريب نموذج 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تعرف على المزيد حول أمثلة الاستخدام للتدريب والاستدلال.
ما هي مزايا استخدام Ultralytics YOLOv9 للنماذج خفيفة الوزن؟
تم تصميم YOLOv9 لتخفيف فقدان المعلومات، وهو أمر مهم بشكل خاص للنماذج خفيفة الوزن التي غالباً ما تكون عرضة لفقدان معلومات مهمة. من خلال دمج معلومات التدرج القابلة للبرمجة (PGI) والدوال القابلة للعكس، يضمن YOLOv9 الاحتفاظ بالبيانات الأساسية، مما يعزز دقة النموذج وكفاءته. وهذا يجعله مناسباً جداً للتطبيقات التي تتطلب نماذج مدمجة ذات أداء عالٍ. لمزيد من التفاصيل، استكشف القسم الخاص بـ تأثير YOLOv9 على النماذج خفيفة الوزن.
ما هي المهام والأنماط التي يدعمها YOLOv9؟
يدعم YOLOv9 مهام متنوعة بما في ذلك اكتشاف الأجسام وتجزئة المثيلات. وهو متوافق مع أنماط تشغيل متعددة مثل الاستدلال والتحقق والتدريب والتصدير. تجعل هذه المرونة YOLOv9 قابلاً للتكيف مع تطبيقات رؤية الحاسوب المتنوعة في الوقت الفعلي. راجع قسم المهام والأنماط المدعومة لمزيد من المعلومات.