نماذج ومنصات الذكاء الاصطناعي
YOLOv9: قفزة في الكشف عن الكائنات في الوقت الفعلي
الكشف عن الكائنات شهد تقدمًا سريعًا في السنوات الأخيرة بفضل خوارزميات التعلم العميق مثل YOLO (You Only Look Once). الإصدار الأخير ، YOLOv9 ، يأتي مع تحسينات كبيرة في الدقة والكفاءة والتطبيق على الإصدارات السابقة. في هذا المنشور ، سنغوص في الابتكارات التي تجعل YOLOv9 حالة جديدة من الفن في الكشف عن الكائنات في الوقت الفعلي.
مقدمة سريعة عن الكشف عن الكائنات
قبل أن ندخل في ما هو جديد في YOLOv9 ، دعنا نراجع بسرعة كيف يعمل الكشف عن الكائنات. هدف الكشف عن الكائنات هو تحديد ومواقع الكائنات داخل الصورة ، مثل السيارات أو الناس أو الحيوانات. إنه khả năng مفتاحية للتطبيقات مثل السيارات ذاتية القيادة وأنظمة المراقبة والبحث عن الصور.
يتطلب الكاشف صورة كمدخل ويتوفر مع صناديق حدود حول الكائنات المكتشفة ، كل منها مع تسمية فئة مرتبطة. توفر مجموعات بيانات شائعة مثل MS COCO آلاف الصور المسمى لتدريب وتقييم هذه النماذج.
هناك نهجان رئيسيان للكشف عن الكائنات:
- كاشفات مرحلتين مثل Faster R-CNN تنتج مقترحات منطقة ، ثم تصنف وتحسن حدود كل منطقة. إنها تميل إلى أن تكون أكثر دقة ولكن أبطأ.
- كاشفات مرحلة واحدة مثل YOLO تطبيق نموذج مباشرة على الصورة في ممر واحد. إنها تتداول بعض الدقة مقابل أوقات استدلال سريعة جدًا.
YOLO رائدة في نهج المرحلة الواحدة. دعنا ننظر كيف تطور عبر عدة إصدارات لتحسين الدقة والكفاءة.
مراجعة الإصدارات السابقة من YOLO
عائلة نماذج YOLO (You Only Look Once) كانت في طليعة الكشف السريع عن الكائنات منذ نشر الإصدار الأصلي في عام 2016. هنا نظرة سريعة على كيفية تطور YOLO عبر عدة إصدارات:
- YOLOv1 اقترح نموذجًا موحدًا لتنبؤ صناديق الحدود و احتمالات الفئة مباشرة من الصور الكاملة في ممر واحد. هذا جعله سريعًا بشكل استثنائي مقارنة بالنماذج السابقة.
- YOLOv2 تحسنت على الأصلي من خلال استخدام تطبيع الدفعة لتحسين الاستقرار ، وتموضع صناديق الرسو عند مختلف المقاييس والنسب المئوية لاكتشاف أحجام متعددة ، وتنظيمات أخرى.
- YOLOv3 أضاف مستخرج ميزة جديدًا يسمى Darknet-53 مع طبقات أكثر واختصارات بينها ، مما يحسن الدقة.
- YOLOv4 جمع الأفكار من كاشفات الكائنات الأخرى ونمذجة التجزئة لتحسين الدقة بشكل أكبر مع الحفاظ على استدلال سريع.
- YOLOv5 أعاد كتابة YOLOv4 بالكامل في PyTorch وأضاف مستخرج ميزة جديدًا يسمى CSPDarknet مع تحسينات أخرى.
- YOLOv6 استمر في تحسين الهيكل والتدريب ، مع نماذج تم تدريبها مسبقًا على مجموعات بيانات خارجية كبيرة لتعزيز الأداء.
إذاً في ملخص ، الإصدارات السابقة من YOLO حققت دقة أعلى من خلال تحسينات في هيكل النموذج و تقنيات التدريب و التدريب المسبق. ولكن مع نمو النماذج و تعقيدها ، يبدأ السرعة و الكفاءة في التدهور.
الحاجة إلى كفاءة أفضل
تتطلب العديد من التطبيقات الكشف عن الكائنات لتشغيله في الوقت الفعلي على الأجهزة ذات الموارد الحاسوبية المحدودة. مع نمو النماذج و تعقيدها ، تصبح غير عملية للنشر.
على سبيل المثال ، يحتاج سيارة ذاتية القيادة إلى الكشف عن الكائنات بسرعات إطار عالية باستخدام المعالجات داخل السيارة. يحتاج نظام أمان إلى تشغيل الكشف عن الكائنات على فيديوهاته باستخدام الأجهزة المضمنة. الهواتف والأجهزة الأخرى لها قيود صارمة للطاقة و الحرارة.
الإصدارات الأخيرة من YOLO تحصل على دقة عالية مع عدد كبير من المعاملات و عمليات الضرب و الإضافة (FLOPs). ولكن هذا يأتي على حساب السرعة و الحجم و كفاءة الطاقة.
على سبيل المثال ، يتطلب YOLOv5-L أكثر من 100 مليار عملية FLOPs لمعالجة صورة واحدة 1280×1280. هذا بطيء جدًا ل许多 حالات استخدام في الوقت الفعلي. يتزايد خطر التأقلم و يصعب تعميمه.
لذا من أجل توسيع تطبيق الكشف عن الكائنات ، نحتاج إلى وسائل لتحسين الكفاءة – الحصول على دقة أفضل مع معاملات و حسابات أقل. دعنا ننظر في التقنيات المستخدمة في YOLOv9 لمواجهة هذا التحدي.
YOLOv9 – دقة أفضل مع موارد أقل
الباحثون وراء YOLOv9 ركزوا على تحسين الكفاءة من أجل تحقيق أداء في الوقت الفعلي عبر مجموعة أوسع من الأجهزة. قدموا ابتكارات رئيسية:
- هيكل نموذج جديد يسمى General Efficient Layer Aggregation Network (GELAN) الذي يزيد الدقة إلى الحد الأقصى مع تقليل المعاملات و عمليات FLOPs.
- تقنية تدريب تسمى Programmable Gradient Information (PGI) التي توفر تدرجات تعلم أكثر موثوقية ، خاصة للموديلات الصغيرة.
دعنا ننظر كيف تساعد كل من هذه التحسينات على تحسين الكفاءة.
هيكل أكثر كفاءة مع GELAN
هيكل النموذج نفسه حاسم لتحقيق توازن بين الدقة و السرعة و استخدام الموارد خلال الاستدلال. يحتاج الشبكة العصبية إلى عمق و عرض كافيين لالتقاط الميزات ذات الصلة من الصور الإدخالية. ولكن طبقات أو مرشحات كثيرة تؤدي إلى نماذج بطيئة و متضخمة.
صمم مؤلفو GELAN هيكلًا محددًا لتحقيق أقصى دقة مع أقل معاملات و عمليات FLOPs.
GELAN يستخدم两个 كتلا رئيسيين متوازيًا:
- كتلا التجميع الفعال – هذه تجمع التحويلات عبر فروع الشبكة متعددة لالتقاط ميزات متعددة الحجم بفعالية.
- كتلا الحوسبة – كتلا CSPNet تساعد على انتشار المعلومات عبر الطبقات. يمكن استبدال أي كتلة بناءً على قيود الحوسبة.
من خلال توازن ودمج هذه الكتلا بعناية ، يصل GELAN إلى نقطة مثالية بين الأداء و المعاملات و السرعة. يمكن لهيكل متوازي نفسها أن يتوسع أو ي缩م عبر أحجام و أجهزة نموذجية مختلفة.
تظهر التجارب أن GELAN يلائم المزيد من الأداء في نماذج أصغر مقارنة بهياكل YOLO السابقة. على سبيل المثال ، يفوق GELAN-Small مع 7M معامل YOLOv7-Nano مع 11M معامل. و GELAN-Medium يتوافق مع نماذج YOLOv7 المتوسطة التي تتطلب 35-40M معامل.
لذا ، من خلال تصميم هيكل معامل محدد لتحسين الكفاءة ، يسمح GELAN للنماذج بالتشغيل بشكل أسرع و على أجهزة ذات موارد محدودة. بعد ذلك ، سنرى كيف يساعد PGI على تدريبهم بشكل أفضل.
تدريب أفضل مع PGI
تدريب النموذج هو أمر مهم لتحقيق أقصى دقة مع موارد محدودة. لاحظ مؤلفو YOLOv9 مشاكل في تدريب النماذج الصغيرة بسبب تدرجات غير موثوقة.
التدرجات تحدد مقدار تحديث أوزان النموذج خلال التدريب. تدرجات غير موثوقة أو خادعة تؤدي إلى تقارب سيئ. يتزايد هذا الأمر مع شبكات أصغر.
تقنية الإشراف العميق ت解决 هذا من خلال إدخال فروع جانبية إضافية مع خسائر لتقديم إشارات تدرج أفضل عبر الشبكة. لكنها تميل إلى الانهيار وتسبب انحرافًا في النماذج الخفيفة.

YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information https://arxiv.org/abs/2402.13616
للتغلب على هذا القصور ، ي介ف YOLOv9 معلومات التدرج القابل للبرمجة (PGI). PGI يتكون من مكونين رئيسيين:
- فروع جانبية قابلة لل đảoة – هذه توفر تدرجات نظيفة من خلال الحفاظ على اتصالات قابلة لل đảoة مع الإدخال باستخدام كتلا مثل RevCols.
- تكامل تدرجات متعدد المستويات – هذا يمنع الانحراف من خلال دمج التدرجات من جميع الفروع قبل إعادة توجيهها إلى النموذج الرئيسي.
من خلال توليد تدرجات أكثر موثوقية ، يساعد PGI على تحسين تقارب التدريب.
تظهر التجارب أن PGI يحسن الدقة عبر جميع أحجام النماذج ، خاصة التكوينات الصغيرة. على سبيل المثال ، يرفع PGI درجات AP ل YOLOv9-Small بنسبة 0.1-0.4% أكثر من GELAN-Small. و كان الربح أكثر أهمية للنماذج الأعمق مثل YOLOv9-E عند 55.6% مAP.
لذا ، من خلال توليد تدرجات أكثر موثوقية ، يسمح PGI للنماذج الصغيرة بتدريبها بشكل أفضل.
YOLOv9 يحدد حالة جديدة من الفن في الكفاءة
من خلال الجمع بين التطورات الهيكلية من GELAN و تحسينات التدريب من PGI ، يصل YOLOv9 إلى كفاءة و أداء غير مسبوق:
- مقارنة بالإصدارات السابقة من YOLO ، يحصل YOLOv9 على دقة أفضل مع 10-15% أقل معاملات و 25% أقل عمليات. هذا يأتي مع تحسينات كبيرة في السرعة و القدرة عبر أحجام النماذج.
- YOLOv9 يتفوق على كاشفات أخرى في الوقت الفعلي مثل YOLO-MS و RT-DETR من حيث كفاءة المعاملات و عمليات FLOPs. يتطلب موارد أقل للوصول إلى مستوى أداء معين.
- نماذج YOLOv9 الصغيرة حتى تفوق نماذج أكبر تم تدريبها مسبقًا مثل RT-DETR-X. على الرغم من استخدام 36% أقل معاملات ، يصل YOLOv9-E إلى 55.6% AP أفضل من خلال هياكل أكثر كفاءة.
لذا ، من خلال معالجة الكفاءة على مستوى الهيكل و التدريب ، يحدد YOLOv9 حالة جديدة من الفن في تحقيق الأداء الأقصى مع موارد محدودة.
GELAN – هيكل محسّن للكفاءة
YOLOv9 ي介ف هيكلًا جديدًا يسمى General Efficient Layer Aggregation Network (GELAN) الذي يزيد الدقة إلى الحد الأقصى مع أقل معاملات و عمليات FLOPs. يبني على نماذج YOLO السابقة ولكن يحسن المكونات المختلفة لتحقيق الكفاءة.

YOLOv9: Learning What You Want to Learn Using Programmable Gradient Information https://arxiv.org/abs/2402.13616
خلفية عن CSPNet و ELAN
الإصدارات الأخيرة من YOLO منذ الإصدار الخامس استخدمت أساسًا CSPNet لتحسين الكفاءة. CSPNet يسمح بدمج خرائط الميزات عبر فروع الشبكة المتوازية مع إضافة أقل من الحمل الزائد:
هذا أكثر كفاءة من مجرد تجميع الطبقات تسلسليًا ، مما يؤدي غالبًا إلى حساب مكرر و تعقيد زائد.
YOLOv7 قام بتحديث CSPNet إلى Efficient Layer Aggregation Network (ELAN) ، الذي مبسط هيكل الكتلة:
ELAN أزال اتصالات الاختصار بين الطبقات لصالح عقدة تجميع في الإخراج. هذا يحسن كفاءة المعاملات و عمليات FLOPs.
تعميم ELAN للكفاءة المرنة
مؤلفو YOLOv9 عمموا ELAN لإنشاء GELAN ، الهيكل المستخدم في YOLOv9. قام GELAN بتعديلات رئيسية لتحسين المرونة و الكفاءة:
- كتلا الحوسبة القابلة للتبادل – ELAN السابقة كانت تحتوي على طبقات تجميع محددة. GELAN يسمح بتبادل أي كتلة حوسبة مثل ResNets أو CSPNet ، مما يوفر خيارات هيكلية أكثر.
- تأشير العمق – أعماق الكتلة المنفصلة للفرع الرئيسي مقابل فرع التجميع يبسط تحسين استخدام الموارد.
- أداء مستقر عبر التكوينات – GELAN يحافظ على الدقة مع أنواع كتلة و أعماق مختلفة ، مما يسمح بالتوسيع المرن.
تجعل هذه التغييرات GELAN هيكلًا قويًا و قابلًا للتكوين لتحقيق الكفاءة:
تظهر التجارب أن نماذج GELAN تتفوق باستمرار على هياكل YOLO السابقة في الدقة لكل معامل:
- GELAN-Small مع 7M معامل يفوق YOLOv7-Nano مع 11M معامل
- GELAN-Medium يتوافق مع نماذج YOLOv7 المتوسطة
لذا ، ي 제공 GELAN هيكلًا محسّنًا لتحقيق كفاءة YOLO عبر أهداف مختلفة. بعد ذلك ، سنرى كيف يساعد PGI على تدريبهم بشكل أفضل.
PGI – تدريب محسّن لجميع أحجام النماذج
في حين أن اختيار الهيكل يؤثر على الكفاءة في وقت الاستدلال ، يؤثر أيضًا عملية التدريب على استخدام الموارد. YOLOv9 يستخدم تقنية جديدة تسمى Programmable Gradient Information (PGI) لتحسين التدريب عبر أحجام و تعقيدات نماذج مختلفة.
مشكلة التدرجات غير الموثوقة
خلال التدريب ، يقارن دالة الخسارة بين مخرجات النموذج و العلامات الأرضية و يحسب تدرج خطأ لتحديث المعاملات. تدرجات غير موثوقة أو خادعة تؤدي إلى تقارب سيئ و كفاءة.
تزيد الشبكات العميقة من هذه المشكلة من خلال عقبة المعلومات – تدرجات الطبقات العميقة تتأثر بالتدرجات المفقودة أو المضغوطة.
الإشراف العميق يساعد من خلال إدخال فروع جانبية إضافية مع خسائر لتقديم تدرجات نظيفة. لكنه غالبًا ما يتهاوى لنموذج صغير ، مما يسبب تداخل و انحراف بين الفروع المختلفة.
لذا ، نحتاج إلى طريقة لتقديم تدرجات موثوقة تعمل عبر جميع أحجام النماذج ، خاصة الصغيرة.
تقديم معلومات التدرج القابل للبرمجة (PGI)
للمواجهة تدرجات غير موثوقة ، ي介ف YOLOv9 PGI. PGI يتكون من مكونين رئيسيين مصممين لتحسين جودة التدرج:
1. فروع جانبية قابلة لل đảoة
فروع إضافية توفر اتصالات قابلة لل đảoة مع الإدخال باستخدام كتلا مثل RevCols. هذا يحافظ على تدرجات نظيفة و يمنع عقبة المعلومات.
2. تكامل تدرجات متعدد المستويات
كتلة دمج تجمع تدرجات من جميع الفروع قبل إعادة توجيهها إلى النموذج الرئيسي. هذا يمنع الانحراف عبر الفروع.
من خلال توليد تدرجات أكثر موثوقية ، يحسن PGI تقارب التدريب و الكفاءة عبر جميع أحجام النماذج:
- نماذج خفيفة تستفيد من الإشراف العميق الذي لم يكن بإمكانها استخدامه من قبل
- نماذج أكبر تحصل على تدرجات نظيفة مما يسمح بالتعميم الأفضل
تظهر التجارب أن PGI يرفع الدقة ل YOLOv9-Small و YOLOv9-Large:
- +0.1-0.4% AP ل YOLOv9-Small
- +0.5-0.6% AP لنماذج YOLOv9 الأكبر
لذا ، تدرجات PGI القابلة للبرمجة تمكن النماذج الصغيرة و الكبيرة من التدريب بشكل أكثر كفاءة.
YOLOv9 يحدد حالة جديدة من الفن في الدقة
من خلال الجمع بين التحسينات الهيكلية من GELAN و تحسينات التدريب من PGI ، يصل YOLOv9 إلى حالة جديدة من الفن في الكشف عن الكائنات في الوقت الفعلي.
تظهر التجارب على مجموعة بيانات COCO أن YOLOv9 يتفوق على الإصدارات السابقة من YOLO و كاشفات أخرى في الوقت الفعلي مثل YOLO-MS في الدقة و الكفاءة:
بعض النقاط الرئيسية:
- YOLOv9-Small يفوق YOLO-MS-Small مع 10% أقل معاملات و عمليات
- YOLOv9-Medium يتوافق مع نماذج YOLOv7 الثقيلة باستخدام أقل من نصف الموارد
- YOLOv9-Large يفوق YOLOv8-X مع 15% أقل معاملات و 25% أقل عمليات FLOPs
بشكل ملحوظ ، نماذج YOLOv9 الصغيرة حتى تفوق نماذج أكبر من كاشفات أخرى التي تستخدم التدريب المسبق مثل RT-DETR-X. على الرغم من 4 أقل معاملات ، يفوق YOLOv9-E RT-DETR-X في الدقة.
تظهر هذه النتائج تفوق YOLOv9 في الكفاءة. التحسينات تمكن الكشف عن الكائنات بدقة عالية في أكثر الحالات العملية.
النقاط الرئيسية حول تحديثات YOLOv9
دعنا نلخص بعض التحديثات و الابتكارات التي تمكن أداء YOLOv9 الجديد:
- هيكل GELAN المحسّن – يحسن كفاءة المعاملات من خلال كتلا التجميع المرنة. يسمح بتوسيع النماذج لتحقيق أهداف مختلفة.
- معلومات التدرج القابل للبرمجة – توفر تدرجات موثوقة من خلال اتصالات قابلة لل đảoة و دمج متعدد المستويات. يحسن التدريب عبر جميع أحجام النماذج.
- دقة أفضل مع موارد أقل – يقلل من المعاملات و عمليات FLOPs بنسبة 10-15% مقارنة ب YOLOv8 مع دقة أفضل. يسمح بالاستدلال أكثر كفاءة.
- نتائج متفوقة عبر جميع أحجام النماذج – يحدد حالة جديدة من الفن لتحسين الكفاءة و الدقة. يتفوق على نماذج كبيرة تم تدريبها مسبقًا.
- توسيع التطبيق – يزيد من الكفاءة ، مما يوسع الحالات العملية الممكنة ، مثل الكشف عن الكائنات في الوقت الفعلي على أجهزة الحواف.
من خلال معالجة الدقة و الكفاءة و التطبيق مباشرة ، يحرك YOLOv9 الكشف عن الكائنات إلى الأمام لتلبية الاحتياجات العملية المتنوعة. التحديثات توفر أساسًا قويًا للاختراعات المستقبلية في هذه القدرة الحاسوبية الحاسمة.












