تخطي إلى المحتوى

YOLOv9: قفزة إلى الأمام في تقنية الكشف عن الأجسام

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



شاهد: تدريب YOLOv9 على بيانات مخصصة باستخدام Ultralytics | مجموعة بيانات الحزمة الصناعية

مقارنة أداء 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 لتسهيل هذه التقييمات وضمان نتائج متسقة وموثوقة.

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



شاهد: كيفية قياس أداء نموذج YOLOv9 باستخدام الحزمة Ultralytics Python

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

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

الجدول 1. مقارنة بين أحدث أجهزة الكشف عن الأجسام في الوقت الحقيقي

الأداء

الطراز الحجم
(بكسل)
مافال
50-95
مافال
50
بارامز
(م)

(ب)
YOLOv9t 640 38.3 53.1 2.0 7.7
YOLOv9s 640 46.8 63.4 7.2 26.7
يولوف 9 م 640 51.4 68.1 20.1 76.8
YOLOv9c 640 53.0 70.2 25.5 102.8
يولوف 9 هـ 640 55.6 72.8 58.1 192.5
الطراز الحجم
(بكسل)
mAPbox
50-95
mAPmask
50-95
بارامز
(م)

(ب)
YOLOV9C-سيج 640 52.4 42.2 27.9 159.4
YOLOV9e-seg 640 55.1 44.3 60.5 248.4

تكرارات YOLOv9، بدءًا من التكرارات الصغيرة t المتغير إلى المتغير الشامل e يُظهر النموذج تحسينات ليس فقط في الدقة (مقاييس mAP) ولكن أيضًا في الكفاءة مع انخفاض عدد المعلمات والاحتياجات الحسابية (FLOPs). يؤكد هذا الجدول على قدرة YOLOv9 على تقديم مستوى عالٍ من الدقة مع الحفاظ على النفقات الحسابية أو تقليلها مقارنةً بالإصدارات السابقة والنماذج المنافسة.

وبالمقارنة، يُظهر YOLOv9 مكاسب ملحوظة:

  • نماذج خفيفة الوزن: تتفوق YOLOv9s على YOLO MS-S في كفاءة البارامترات والحمل الحسابي مع تحقيق تحسن بنسبة 0.4∼0.6% في نقطة الوصول.
  • النماذج المتوسطة إلى الكبيرة: يُظهر YOLOv9m و YOLOv9e تقدمًا ملحوظًا في تحقيق التوازن بين تعقيد النموذج وأداء الكشف، مما يوفر تخفيضات كبيرة في المعلمات والعمليات الحسابية على خلفية تحسين الدقة.

يسلط نموذج YOLOv9c، على وجه الخصوص، الضوء على فعالية التحسينات التي أدخلتها البنية. فهو يعمل بمعلمات أقل بنسبة 42% ومتطلبات حسابية أقل بنسبة 21% مقارنةً بنموذج YOLOv7 AF، ومع ذلك فهو يحقق دقة مماثلة، مما يدل على التحسينات الكبيرة في كفاءة YOLOv9. وعلاوة على ذلك، يضع نموذج YOLOv9e معيارًا جديدًا للنماذج الكبيرة، حيث يعمل بمعلمات أقل بنسبة 15% واحتياجات حسابية أقل بنسبة 25% من YOLOv8xإلى جانب تحسن إضافي بنسبة 1.7% في معدل الأداء المتقدم.

تُظهر هذه النتائج التقدم الاستراتيجي الذي حققه نموذج YOLOv9 في تصميم النموذج، مع التأكيد على كفاءته المعززة دون المساومة على الدقة الضرورية لمهام اكتشاف الأجسام في الوقت الفعلي. لا يدفع النموذج حدود مقاييس الأداء فحسب، بل يؤكد أيضًا على أهمية الكفاءة الحسابية، مما يجعله تطورًا محوريًا في مجال الرؤية الحاسوبية.

الخاتمة

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

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

يوفر هذا المثال أمثلة بسيطة لتدريب واستدلال YOLOv9. للاطلاع على التوثيق الكامل لهذه الأوضاع وغيرها من الأوضاع، راجع صفحات مستندات التنبؤ والتدريب والتقييم والتصدير.

مثال على ذلك

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")

CLI الأوامر متاحة لتشغيل النماذج مباشرةً:

# Build a YOLOv9c model from scratch and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov9c.yaml data=coco8.yaml epochs=100 imgsz=640

# Build a YOLOv9c model from scratch and run inference on the 'bus.jpg' image
yolo predict model=yolov9c.yaml source=path/to/bus.jpg

المهام والأوضاع المدعومة

تقدم سلسلة YOLOv9 مجموعة من النماذج، كل منها مُحسَّن للكشف عن الكائنات عالية الأداء. تلبي هذه النماذج الاحتياجات الحسابية المتنوعة ومتطلبات الدقة المختلفة، مما يجعلها متعددة الاستخدامات لمجموعة واسعة من التطبيقات.

الطراز أسماء الملفات المهام الاستدلال التحقق من الصحة التدريب التصدير
يولوف 9 yolov9t yolov9s yolov9m yolov9c.pt yolov9e.pt اكتشاف الكائن
YOLOV9-سيج 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 نتائج متفوقة في كشف الأجسام في مختلف الأحجام مع الحفاظ على النفقات الحسابية أو تقليلها. على سبيل المثال، يحقق 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 قابلاً للتكيف مع تطبيقات الرؤية الحاسوبية المتنوعة في الوقت الحقيقي. راجع قسم المهام والأوضاع المدعومة لمزيد من المعلومات.

📅 تم الإنشاء قبل 9 أشهر ✏️ تم التحديث منذ 2 أشهر

التعليقات