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 لتسهيل هذه التقييمات وضمان نتائج متسقة وموثوقة.
من خلال وضع المعايير، يمكنك ضمان ألا يؤدي نموذجك جيدًا في بيئات الاختبار المنضبطة فحسب، بل يحافظ أيضًا على أداء مرتفع في التطبيقات العملية الواقعية.
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 والاستدلال به. للحصول على التوثيق الكامل لهذه الأوضاع وغيرها، راجع صفحات توثيق التنبؤ والتدريب والتحقق والتصدير.
يمكن تمرير نماذج *.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 مجموعة من النماذج، جرى تحسين كل منها لتحقيق اكتشاف أجسام عالي الأداء. وتلائم هذه النماذج الاحتياجات الحسابية ومتطلبات الدقة المتفاوتة، مما يجعلها متعددة الاستخدامات في نطاق واسع من التطبيقات.
| النموذج | أسماء الملفات | المهام | التدريب | التحقق | الاستدلال | التصدير |
|---|---|---|---|---|---|---|
| YOLOv9 | yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.pt | اكتشاف الأجسام | ✅ | ✅ | ✅ | ✅ |
| YOLOv9-seg | yolov9c-seg.pt yolov9e-seg.pt | تقسيم الكائنات | ✅ | ✅ | ✅ | ✅ |
يقدم هذا الجدول نظرة عامة مفصلة على متغيرات نماذج YOLOv9، مع إبراز قدراتها في مهام اكتشاف الأجسام وتوافقها مع أوضاع تشغيل متنوعة مثل الاستدلال والتحقق والتدريب والتصدير. ويضمن هذا الدعم الشامل للمستخدمين الاستفادة الكاملة من قدرات نماذج YOLOv9 في نطاق واسع من سيناريوهات اكتشاف الأجسام.
سيتطلب تدريب نماذج YOLOv9 موارد أكثر ويستغرق وقتًا أطول من نموذج YOLOv8 ذي الحجم المكافئ.
الاقتباسات والشكر والتقدير#
نود الإشادة بمؤلفي 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، مع نسخة أولية على arXiv. وقد أتاح المؤلفون عملهم للعامة، ويمكن الوصول إلى قاعدة الشيفرة البرمجية عبر GitHub. ونقدّر جهودهم في تطوير هذا المجال وإتاحة عملهم للمجتمع الأوسع.
الأسئلة الشائعة#
يقدم YOLOv9 تقنيات رائدة مثل معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعّالة المعمّمة (GELAN). وتعالج هذه الابتكارات تحديات فقدان المعلومات في الشبكات العصبية العميقة، مما يضمن كفاءة ودقة وقدرة على التكيّف عالية. وتحافظ PGI على البيانات الأساسية عبر طبقات الشبكة، بينما تحسّن GELAN استخدام المعلمات والكفاءة الحسابية. تعرّف على المزيد حول الابتكارات الأساسية في YOLOv9 التي وضعت معايير جديدة على مجموعة بيانات MS COCO.
يتفوق YOLOv9 على كاشفات الأجسام الآنية المتطورة بتحقيق دقة وكفاءة أعلى. وعلى مجموعة بيانات COCO، تحقق نماذج YOLOv9 درجات mAP أعلى عبر أحجام متنوعة مع الحفاظ على العبء الحسابي أو تقليله. فعلى سبيل المثال، يحقق YOLOv9c دقة مماثلة بعدد معلمات أقل بنسبة 42% واحتياج حسابي أقل بنسبة 21% من YOLOv7 AF. استكشف مقارنات الأداء للاطلاع على المقاييس التفصيلية.
يمكنك تدريب نموذج 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تعرّف على المزيد حول أمثلة الاستخدام الخاصة بالتدريب والاستدلال.
صُمّم YOLOv9 للحد من فقدان المعلومات، وهو أمر مهم خصوصًا للنماذج خفيفة الوزن التي تكون غالبًا معرّضة لفقدان معلومات مهمة. ومن خلال دمج معلومات التدرج القابلة للبرمجة (PGI) والدوال القابلة للعكس، يضمن YOLOv9 الاحتفاظ بالبيانات الأساسية، مما يعزز دقة النموذج وكفاءته. ويجعله ذلك مناسبًا جدًا للتطبيقات التي تتطلب نماذج مدمجة عالية الأداء. لمزيد من التفاصيل، استكشف القسم الخاص بـتأثير YOLOv9 في النماذج خفيفة الوزن.
يدعم YOLOv9 مهام متنوعة، بما في ذلك اكتشاف الأجسام وتجزئة المثيلات. وهو متوافق مع أوضاع تشغيل متعددة مثل الاستدلال والتحقق والتدريب والتصدير. وتجعل هذه المرونة YOLOv9 قابلًا للتكيّف مع تطبيقات الرؤية الحاسوبية المتنوعة في الوقت الفعلي. راجع قسم المهام والأوضاع المدعومة لمزيد من المعلومات.