رطم YOLOv9: قفزة في اكتشاف الكائنات في الوقت الفعلي - Unite.AI
اتصل بنا للحصول على مزيد من المعلومات

الذكاء الاصطناعي

YOLOv9: قفزة في اكتشاف الكائنات في الوقت الفعلي

mm

تم النشر

 on

كشف الكائن شهدت تقدمًا سريعًا في السنوات الأخيرة بفضل التعلم العميق خوارزميات مثل YOLO (أنت تنظر مرة واحدة فقط). أحدث التكرار، يولوف 9، يجلب تحسينات كبيرة في الدقة والكفاءة وقابلية التطبيق مقارنة بالإصدارات السابقة. في هذا المنشور، سنتعمق في الابتكارات التي تجعل من YOLOv9 أداة جديدة ومتطورة للكشف عن الكائنات في الوقت الفعلي.

كتاب تمهيدي سريع حول اكتشاف الكائنات

قبل الدخول في الجديد مع YOLOv9، دعنا نراجع بإيجاز كيفية عمل اكتشاف الكائنات. الهدف من اكتشاف الكائنات هو تحديد وتحديد موقع الكائنات داخل الصورة، مثل السيارات أو الأشخاص أو الحيوانات. إنها قدرة أساسية لتطبيقات مثل السيارات ذاتية القيادة وأنظمة المراقبة والبحث عن الصور.

يأخذ الكاشف صورة كمدخلات ومخرجات تحيط بالمربعات المحيطة بالكائنات المكتشفة، ولكل منها تسمية فئة مرتبطة. توفر مجموعات البيانات الشائعة مثل MS COCO آلاف الصور المصنفة لتدريب هذه النماذج وتقييمها.

هناك طريقتان رئيسيتان لاكتشاف الكائنات:

  • كاشفات على مرحلتين مثل Faster R-CNN، قم أولاً بإنشاء مقترحات للمنطقة، ثم تصنيف وتحسين حدود كل منطقة. تميل إلى أن تكون أكثر دقة ولكنها أبطأ.
  • كاشفات أحادية المرحلة مثل YOLO، قم بتطبيق نموذج مباشرة على الصورة بتمريرة واحدة. إنهم يستبدلون بعض الدقة بأوقات استدلال سريعة جدًا.

كانت YOLO رائدة في نهج المرحلة الواحدة. دعونا نلقي نظرة على كيفية تطوره عبر إصدارات متعددة لتحسين الدقة والكفاءة.

مراجعة إصدارات YOLO السابقة

كانت عائلة نماذج YOLO (أنت تنظر مرة واحدة فقط) في طليعة الكشف السريع عن الكائنات منذ نشر الإصدار الأصلي في عام 2016. وإليك نظرة عامة سريعة على كيفية تقدم YOLO عبر التكرارات المتعددة:

  • يولوف 1 اقترح نموذجًا موحدًا للتنبؤ بالمربعات المحيطة واحتمالات الفصل مباشرة من الصور الكاملة في مسار واحد. وهذا ما جعلها سريعة للغاية مقارنة بالنماذج السابقة ذات المرحلتين.
  • يولوف 2 تم تحسينه على الأصل باستخدام تطبيع الدُفعات لتحقيق استقرار أفضل، وتثبيت الصناديق بمقاييس مختلفة ونسب العرض إلى الارتفاع لاكتشاف أحجام متعددة، ومجموعة متنوعة من التحسينات الأخرى.
  • يولوف 3 أضاف مستخرج ميزات جديدًا يسمى Darknet-53 مع المزيد من الطبقات والاختصارات بينها، مما يؤدي إلى تحسين الدقة.
  • يولوف 4 تم دمج الأفكار من أجهزة كشف الكائنات الأخرى ونماذج التجزئة لزيادة الدقة مع الحفاظ على الاستدلال السريع.
  • يولوف 5 أعاد كتابة YOLOv4 بالكامل في PyTorch وأضف عمودًا فقريًا جديدًا لاستخراج الميزات يسمى CSPDarknet بالإضافة إلى العديد من التحسينات الأخرى.
  • يولوف 6 واصلت تحسين البنية وعملية التدريب، من خلال نماذج تم تدريبها مسبقًا على مجموعات بيانات خارجية كبيرة لتعزيز الأداء بشكل أكبر.

باختصار، حققت إصدارات YOLO السابقة دقة أعلى من خلال التحسينات على بنية النموذج وتقنيات التدريب والتدريب المسبق. ولكن عندما تصبح النماذج أكبر وأكثر تعقيدًا، تبدأ السرعة والكفاءة في المعاناة.

الحاجة إلى كفاءة أفضل

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

على سبيل المثال، تحتاج السيارة ذاتية القيادة إلى اكتشاف الأجسام بمعدلات إطارات عالية باستخدام المعالجات الموجودة داخل السيارة. تحتاج كاميرا الأمان إلى تشغيل ميزة اكتشاف الكائنات في بث الفيديو الخاص بها داخل أجهزتها المدمجة. تتمتع الهواتف والأجهزة الاستهلاكية الأخرى بقيود صارمة للغاية فيما يتعلق بالطاقة والحرارة.

تحصل إصدارات YOLO الحديثة على دقة عالية مع عدد كبير من المعلمات وعمليات الإضافة المتعددة (FLOPs). ولكن هذا يأتي على حساب السرعة والحجم وكفاءة الطاقة.

على سبيل المثال، يتطلب YOLOv5-L أكثر من 100 مليار FLOPs لمعالجة صورة واحدة بحجم 1280×1280. وهذا بطيء جدًا بالنسبة للعديد من حالات الاستخدام في الوقت الفعلي. كما أن اتجاه النماذج الأكبر حجمًا يزيد أيضًا من خطر الإفراط في التجهيز ويجعل التعميم أكثر صعوبة.

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

YOLOv9 – دقة أفضل بموارد أقل

ركز الباحثون وراء YOLOv9 على تحسين الكفاءة من أجل تحقيق الأداء في الوقت الفعلي عبر مجموعة واسعة من الأجهزة. لقد قدموا ابتكارين رئيسيين:

  1. بنية نموذجية جديدة تسمى شبكة تجميع الطبقات العامة ذات الكفاءة (GELAN) الذي يزيد من الدقة مع تقليل المعلمات وFLOPs.
  2. تقنية التدريب تسمى معلومات التدرج القابلة للبرمجة (PGI) التي توفر تدرجات تعليمية أكثر موثوقية، خاصة بالنسبة للنماذج الأصغر.

دعونا نلقي نظرة على كيف يساعد كل من هذه التطورات في تحسين الكفاءة.

هندسة معمارية أكثر كفاءة مع جيلان

تعد بنية النموذج بحد ذاتها أمرًا بالغ الأهمية لتحقيق التوازن بين الدقة والسرعة واستخدام الموارد أثناء الاستدلال. تحتاج الشبكة العصبية إلى عمق وعرض كافٍ لالتقاط الميزات ذات الصلة من الصور المدخلة. لكن كثرة الطبقات أو المرشحات تؤدي إلى نماذج بطيئة ومتضخمة.

صمم المؤلفون جيلان خصيصًا للحصول على أقصى قدر من الدقة من أصغر بنية ممكنة.

يستخدم جيلان لبنتين أساسيتين مكدستين معًا:

  • كتل تجميع الطبقة الفعالة - هذه التحويلات المجمعة عبر فروع الشبكة المتعددة لالتقاط ميزات متعددة النطاق بكفاءة.
  • الكتل الحسابية - تساعد كتل CSPNet على نشر المعلومات عبر الطبقات. يمكن استبدال أي كتلة بناءً على قيود الحساب.

من خلال الموازنة والجمع بين هذه الكتل بعناية، يصل جيلان إلى نقطة جيدة بين الأداء والمعلمات والسرعة. يمكن للبنية المعيارية نفسها أن تتوسع أو تصغر عبر أحجام مختلفة من النماذج والأجهزة.

أظهرت التجارب أن جيلان يناسب المزيد من الأداء في النماذج الأصغر مقارنة ببنيات YOLO السابقة. على سبيل المثال، تفوقت GELAN-Small ذات المعلمات 7M على المعلمة 11M YOLOv7-Nano. ويتم تنفيذ GELAN-Medium بمعلمات 20M على قدم المساواة مع نماذج YOLOv7 المتوسطة التي تتطلب معلمات 35-40M.

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

تدريب أفضل باستخدام معلومات التدرج القابلة للبرمجة (PGI)

إن التدريب على النماذج لا يقل أهمية عن تحقيق أقصى قدر من الدقة بموارد محدودة. حدد مؤلفو YOLOv9 مشكلات تدريب النماذج الأصغر حجمًا الناتجة عن معلومات التدرج غير الموثوقة.

التدرجات تحديد مدى تحديث أوزان النموذج أثناء التدريب. التدرجات الصاخبة أو المضللة تؤدي إلى ضعف التقارب. تصبح هذه المشكلة أكثر وضوحًا بالنسبة للشبكات الأصغر.

تقنية الإشراف العميق يعالج ذلك عن طريق تقديم فروع جانبية إضافية مع خسائر لنشر إشارة تدرج أفضل عبر الشبكة. لكنها تميل إلى الانهيار والتسبب في الاختلاف بالنسبة للنماذج الأصغر حجمًا وخفيفة الوزن.

YOLOv9: تعلم ما تريد تعلمه باستخدام معلومات التدرج القابلة للبرمجة

YOLOv9: تعلم ما تريد تعلمه باستخدام معلومات التدرج القابلة للبرمجة https://arxiv.org/abs/2402.13616

للتغلب على هذا القيد، يقدم YOLOv9 معلومات التدرج القابلة للبرمجة (PGI). تتكون PGI من عنصرين رئيسيين:

  • فروع عكسية مساعدة - توفر هذه تدرجات أنظف من خلال الحفاظ على اتصالات عكسية للإدخال باستخدام كتل مثل RevCols.
  • التكامل التدرج متعدد المستويات - وهذا يتجنب التباعد من تداخل الفروع الجانبية المختلفة. فهو يجمع بين التدرجات من جميع الفروع قبل الرجوع إلى النموذج الرئيسي.

من خلال توليد تدرجات أكثر موثوقية، تساعد PGI النماذج الصغيرة على التدريب بنفس فعالية النماذج الأكبر حجمًا:

أظهرت التجارب أن PGI تحسنت في الدقة عبر جميع أحجام النماذج، وخاصة التكوينات الأصغر. على سبيل المثال، عززت نتائج AP لـ YOLOv9-Small بنسبة 0.1-0.4% مقارنة بـ GELAN-Small الأساسي. وكانت المكاسب أكثر أهمية بالنسبة للنماذج الأعمق مثل YOLOv9-E عند 55.6% mAP.

لذا فإن PGI تمكن النماذج الأصغر حجمًا والأكثر كفاءة من التدريب على مستويات دقة أعلى لم يكن من الممكن تحقيقها في السابق إلا من خلال النماذج ذات المعلمات الزائدة.

YOLOv9 يضع أحدث ما توصلت إليه التكنولوجيا في مجال الكفاءة

من خلال الجمع بين التقدم المعماري لـ GELAN مع تحسينات التدريب من PGI، يحقق YOLOv9 كفاءة وأداء غير مسبوق:

  • بالمقارنة مع إصدارات YOLO السابقة، حصل YOLOv9 على دقة أفضل مع معلمات أقل بنسبة 10-15% وحسابات أقل بنسبة 25%. يؤدي هذا إلى تحسينات كبيرة في السرعة والقدرة عبر أحجام النماذج.
  • يتفوق YOLOv9 على أجهزة الكشف الأخرى في الوقت الفعلي مثل YOLO-MS وRT-DETR من حيث كفاءة المعلمة والتخبط. فهو يتطلب موارد أقل بكثير للوصول إلى مستوى أداء معين.
  • حتى أن نماذج YOLOv9 الأصغر حجمًا تتفوق على النماذج الأكبر حجمًا المدربة مسبقًا مثل RT-DETR-X. على الرغم من استخدام معلمات أقل بنسبة 36%، يحقق YOLOv9-E أفضل 55.6% AP من خلال بنيات أكثر كفاءة.

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

جيلان – الهندسة المعمارية الأمثل لتحقيق الكفاءة

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

https://arxiv.org/abs/2402.13616

YOLOv9: تعلم ما تريد تعلمه باستخدام معلومات التدرج القابلة للبرمجة
https://arxiv.org/abs/2402.13616

خلفية عن CSPNet وELAN

استخدمت إصدارات YOLO الأخيرة منذ الإصدار الخامس العناصر الأساسية القائمة على الشبكة الجزئية عبر المراحل (CSPNet) لتحسين الكفاءة. تسمح CSPNet بتجميع خرائط الميزات عبر فروع الشبكة المتوازية مع إضافة الحد الأدنى من الحمل:

يعد هذا أكثر كفاءة من مجرد تكديس الطبقات بشكل تسلسلي، مما يؤدي غالبًا إلى عمليات حسابية زائدة عن الحاجة وإفراط في المعلمات.

قام YOLOv7 بترقية CSPNet إلى شبكة تجميع الطبقات الفعالة (ELAN)، مما أدى إلى تبسيط بنية الكتلة:

قامت ELAN بإزالة الاتصالات المختصرة بين الطبقات لصالح عقدة التجميع عند الإخراج. أدى هذا إلى تحسين المعلمة وكفاءة FLOPs.

تعميم ELAN من أجل الكفاءة المرنة

قام المؤلفون بتعميم ELAN بشكل أكبر لإنشاءها جيلان، العمود الفقري المستخدم في YOLOv9. قامت شركة GELAN بإجراء تعديلات رئيسية لتحسين المرونة والكفاءة:

  • كتل حسابية قابلة للتبديل - كان لدى ELAN السابقة طبقات تلافيفية ثابتة. يسمح GELAN باستبدال أي كتلة حسابية مثل ResNets أو CSPNet، مما يوفر المزيد من الخيارات المعمارية.
  • العمق المعلمة الحكيمة - تعمل أعماق الكتلة المنفصلة للفرع الرئيسي مقابل فرع التجميع على تبسيط ضبط استخدام الموارد.
  • أداء مستقر عبر التكوينات – تحافظ شركة GELAN على الدقة مع أنواع وأعماق مختلفة من الكتل، مما يسمح بالقياس المرن.

هذه التغييرات تجعل من جيلان عمودًا فقريًا قويًا ولكن قابلاً للتكوين لزيادة الكفاءة إلى الحد الأقصى:

في التجارب، تفوقت نماذج GELAN باستمرار على بنيات YOLO السابقة من حيث الدقة لكل معلمة:

  • GELAN-Small بمعلمات 7M تتفوق على معلمات YOLOv7-Nano البالغة 11M
  • GELAN-Medium متطابق مع نماذج YOLOv7 المتوسطة الأثقل

لذلك توفر GELAN عمودًا فقريًا محسّنًا لتوسيع نطاق YOLO عبر أهداف كفاءة مختلفة. بعد ذلك سنرى كيف تساعدهم PGI على التدريب بشكل أفضل.

PGI – تدريب محسّن لجميع أحجام النماذج

في حين أن اختيارات البنية تؤثر على الكفاءة في وقت الاستدلال، فإن عملية التدريب تؤثر أيضًا على استخدام موارد النموذج. يستخدم YOLOv9 تقنية جديدة تسمى معلومات التدرج القابلة للبرمجة (PGI) لتحسين التدريب عبر أحجام وتعقيدات النماذج المختلفة.

مشكلة التدرجات غير الموثوقة

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

تؤدي الشبكات العميقة جدًا إلى تفاقم هذا الأمر من خلال عنق الزجاجة المعلومات - تتلف التدرجات من الطبقات العميقة بسبب الإشارات المفقودة أو المضغوطة.

الإشراف العميق يساعد من خلال إدخال فروع جانبية مساعدة مع خسائر لتوفير تدرجات أنظف. لكنه في كثير من الأحيان ينهار لنماذج أصغرمما يسبب التداخل والتباعد بين الفروع المختلفة.

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

تقديم معلومات التدرج القابلة للبرمجة (PGI)

لمعالجة التدرجات غير الموثوقة، يقترح YOLOv9 معلومات التدرج القابلة للبرمجة (PGI). تحتوي PGI على مكونين رئيسيين مصممين لتحسين جودة التدرج:

1. فروع عكسية مساعدة

توفير فروع إضافية اتصالات عكسية العودة إلى الإدخال باستخدام كتل مثل RevCols. وهذا يحافظ على تدرجات نظيفة لتجنب اختناق المعلومات.

2. التكامل التدرج متعدد المستويات

تقوم كتلة الدمج بتجميع التدرجات من جميع الفروع قبل إرجاعها إلى النموذج الرئيسي. وهذا يمنع الاختلاف بين الفروع.

من خلال توليد تدرجات أكثر موثوقية، تعمل PGI على تحسين تقارب التدريب وكفاءته عبر جميع أحجام النماذج:

  • نماذج خفيفة الوزن الاستفادة من الإشراف العميق الذي لم يتمكنوا من استخدامه من قبل
  • نماذج أكبر الحصول على تدرجات أنظف مما يتيح تعميمًا أفضل

أظهرت التجارب دقة PGI المعززة لتكوينات YOLOv9 الصغيرة والكبيرة عبر خط الأساس GELAN:

  • +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% أقل من عمليات FLOP

ومن اللافت للنظر أن نماذج YOLOv9 الأصغر حجمًا تتفوق على النماذج الأثقل من أجهزة الكشف الأخرى التي تستخدم التدريب المسبق مثل RT-DETR-X. على الرغم من المعلمات الأقل بمقدار 4 مرات، فإن YOLOv9-E يتفوق على RT-DETR-X من حيث الدقة.

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

الوجبات السريعة الرئيسية حول ترقيات YOLOv9

دعنا نلخص سريعًا بعض الترقيات والابتكارات الرئيسية التي تمكّن أداء YOLOv9 الجديد المتطور:

  • الهندسة المعمارية الأمثل لجيلان – تحسين كفاءة المعلمة من خلال كتل التجميع المرنة. يسمح بنماذج القياس لأهداف مختلفة.
  • معلومات التدرج القابلة للبرمجة - يوفر تدرجات موثوقة من خلال التوصيلات والاندماجات القابلة للعكس. يحسن التدريب عبر أحجام النماذج.
  • دقة أكبر بموارد أقل - يقلل المعلمات والحسابات بنسبة 10-15% مقارنة بـ YOLOv8 بدقة أفضل. تمكن الاستدلال أكثر كفاءة.
  • نتائج متفوقة عبر أحجام النماذج - يضبط أحدث ما توصلت إليه تكوينات الطرازات خفيفة الوزن ومتوسطة وكبيرة. يتفوق بشكل كبير على النماذج المدربة مسبقًا.
  • توسيع نطاق التطبيق - تعمل الكفاءة الأعلى على توسيع حالات الاستخدام القابلة للتطبيق، مثل الكشف في الوقت الفعلي على الأجهزة الطرفية.

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

لقد أمضيت السنوات الخمس الماضية منغمسًا في عالم رائع من التعلم الآلي والتعلم العميق. قادني شغفي وخبرتي إلى المساهمة في أكثر من 50 مشروعًا متنوعًا لهندسة البرمجيات ، مع التركيز بشكل خاص على الذكاء الاصطناعي / التعلم الآلي. جذبني فضولي المستمر أيضًا نحو معالجة اللغة الطبيعية ، وهو مجال أتوق لاستكشافه بشكل أكبر.