Skip to main content

YOLOv9: قفزة نوعية في كشف الأشياء التكنولوجيا

يمثل YOLOv9 تقدماً كبيراً في مجال كشف الأجسام في الوقت الفعلي، حيث يقدم تقنيات رائدة مثل معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN). يُظهر هذا النموذج تحسينات ملحوظة في الكفاءة والدقة والقدرة على التكيف، مما يضع معايير جديدة على مجموعة بيانات MS COCO. وعلى الرغم من أن مشروع YOLOv9 تم تطويره من قبل فريق مفتوح المصدر منفصل، إلا أنه يعتمد على قاعدة الكود القوية التي توفرها Ultralytics جديدة.، مما يعكس روح التعاون في مجتمع أبحاث الذكاء الاصطناعي.



Watch: YOLOv9 Training on Custom Data using Ultralytics | Industrial Package Dataset

مقارنة أداء YOLOv9

مقدمة عن 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

يتضمن قياس الأداء في YOLOv9 باستخدام Ultralytics تقييم أداء نموذجك المدرب والمتحقق منه في سيناريوهات العالم الحقيقي. تتضمن هذه العملية:

  • تقييم الأداء: تقييم سرعة ودقة النموذج.
  • تنسيقات التصدير: اختبار النموذج عبر تنسيقات تصدير مختلفة للتأكد من توافقه مع المعايير المطلوبة وأدائه الجيد في بيئات متنوعة.
  • دعم الإطار البرمجي: توفير إطار عمل شامل ضمن Ultralytics YOLOv8 لتسهيل هذه التقييمات وضمان نتائج متسقة وموثوقة.

من خلال قياس الأداء، يمكنك التأكد من أن نموذجك لا يعمل بشكل جيد في بيئات الاختبار الخاضعة للرقابة فحسب، بل يحافظ أيضاً على أداء عالٍ في التطبيقات العملية الواقعية.



Watch: How to Benchmark the YOLOv9 Model Using the Ultralytics Python Package

الأداء على مجموعة بيانات MS COCO

يعد أداء YOLOv9 على مجموعة بيانات COCO مثالاً على تقدمه الكبير في كشف الأجسام في الوقت الفعلي، حيث يضع معايير جديدة عبر مختلف أحجام النماذج. يقدم الجدول 1 مقارنة شاملة لأحدث كواشف الأجسام في الوقت الفعلي، مما يوضح كفاءة YOLOv9 الفائقة و الدقة.

الأداء
النموذجالحجم
(بالبكسل)
mAPval
50-95
mAPval
50
المعلمات
(M)
FLOPs
(B)
YOLOv9t64038.353.12.07.7
YOLOv9s64046.863.47.226.7
YOLOv9m64051.468.120.176.8
YOLOv9c64053.070.225.5102.8
YOLOv9e64055.672.858.1192.5

تُظهر تكرارات 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 في تصميم النماذج، مع التأكيد على كفاءته المحسنة دون المساس بالدقة الضرورية لمهام كشف الأجسام في الوقت الفعلي. لا يدفع هذا النموذج حدود مقاييس الأداء فحسب، بل يؤكد أيضاً على أهمية الكفاءة الحسابية، مما يجعله تطوراً محورياً في مجال رؤية الحاسوب.

الخلاصة

مثل YOLOv9، الذي تم إصداره في فبراير 2024، تطوراً محورياً في كشف الأجسام في الوقت الفعلي، حيث قدم تحسينات كبيرة من حيث الكفاءة والدقة والقدرة على التكيف. من خلال معالجة التحديات الحرجة من خلال حلول مبتكرة مثل PGI و GELAN، وضع YOLOv9 معايير جديدة في وقت إصداره. وبينما تم إصدار نماذج أحدث مثل YOLO11 و YOLO26 منذ ذلك الحين مع تحسينات إضافية، لا تزال ابتكارات YOLOv9 الهندسية تؤثر في هذا المجال.

أمثلة الاستخدام

يقدم هذا المثال أمثلة بسيطة لتدريب YOLOv9 والاستدلال. للحصول على الوثائق الكاملة حول هذه وغيرها من modes راجع التنبؤ, التدريب, التحقق (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 مجموعة من النماذج، كل منها مُحسّن من أجل كشف الأشياء عالية الأداء. تلبي هذه النماذج الاحتياجات الحسابية ومتطلبات الدقة المتغيرة، مما يجعلها متعددة الاستخدامات لمجموعة واسعة من التطبيقات.

النموذجأسماء الملفاتالمهامInferenceالتحققالتدريبالتصدير (Export)
YOLOv9yolov9t.pt yolov9s.pt yolov9m.pt yolov9c.pt yolov9e.ptكشف الأشياء
YOLOv9-segyolov9c-seg.pt yolov9e-seg.ptتجزئة المثيلات

يوفر هذا الجدول نظرة عامة مفصلة عن متغيرات نموذج YOLOv9، مع تسليط الضوء على قدراتها في مهام كشف الأجسام وتوافقها مع أوضاع تشغيل مختلفة مثل Inference, التحقق, التدريب، و التصدير (Export). يضمن هذا الدعم الشامل أن يتمكن المستخدمون من الاستفادة الكاملة من قدرات نماذج 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 مهام متنوعة بما في ذلك اكتشاف الكائنات وتجزئة النماذج (instance segmentation). وهي متوافقة مع أوضاع تشغيل متعددة مثل الاستدلال، والتحقق، والتدريب، والتصدير. هذا التنوع يجعل YOLOv9 قابلة للتكيف مع تطبيقات الرؤية الحاسوبية المتنوعة في الوقت الفعلي. راجع المهام والأوضاع المدعومة لمزيد من المعلومات.

التعليقات