YOLOv9 مقابل YOLOX: مقارنة تقنية شاملة
يعد اختيار البنية الصحيحة لاكتشاف الأجسام قرارًا حاسمًا يؤثر على كفاءة تطبيقات الرؤية الحاسوبية ودقتها وقابليتها للتطوير. يقدم هذا الدليل مقارنة تقنية مفصلة بين YOLOv9وهو نموذج متطور طُرح في عام 2024، و YOLOX، وهو كاشف عالي الأداء خالٍ من الارتكازات تم إصداره في عام 2021.
YOLOv9: التغلب على فقدان المعلومات في الشبكات العميقة
يمثل YOLOv9 قفزة كبيرة إلى الأمام في مجال الكشف عن الأجسام في الوقت الحقيقي، وهو مصمم لمعالجة التحدي الأساسي المتمثل في فقدان المعلومات أثناء مرور البيانات عبر الشبكات العصبية العميقة.
المؤلفون: تشين-ياو وانغ، هونغ-يوان مارك لياو
المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
التاريخ: 2024-02-21
Arxiv:arXiv:2402.13616
GitHub:WongKinYiu/yolov9
Docs:docs.ultralytics.com/models/yolov9/
الهندسة المعمارية والابتكار
يكمن الابتكار الأساسي في YOLOv9 في مكونين رئيسيين: معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN).
- معلومات التدرج القابلة للبرمجة (PGI): في الشبكات العميقة، غالبًا ما تُفقد بيانات المدخلات المهمة أثناء عملية استخراج الميزات، وهي ظاهرة تُعرف باسم عنق الزجاجة المعلوماتي. يوفر PGI إشارة إشراف مساعدة تضمن توليد تدرج موثوق به، مما يسمح للنموذج بتعلم ميزات أكثر فعالية دون زيادة تكلفة الاستدلال.
- GELAN: يعمل هذا التصميم المعماري على تحسين استخدام المعلمات والكفاءة الحسابية. من خلال تعميم مفهوم شبكات تجميع الطبقات الفعالة (ELAN)، يسمح GELAN بالتكديس المرن للكتل الحسابية، مما ينتج عنه نموذج خفيف الوزن وسريع في آن واحد.
تُمكِّن هذه الابتكارات YOLOv9 من تحقيق أداء من الدرجة الأولى على مجموعة بياناتCOCO متجاوزًا التكرارات السابقة من حيث الدقة وكفاءة المعلمات.
يولوكس: المعيار الخالي من المرساة
طُرحت YOLOX لسد الفجوة بين البحث الأكاديمي والتطبيق الصناعي، وتعميم النهج الخالي من المراسي في سلسلة YOLO .
المؤلفون: Zheng Ge وSongtao Liu وFeng Wang وZeming Li وJian Sun
المنظمة Megvii
التاريخ: 2021-07-18
Arxiv:arXiv:2107.08430
GitHub:Megvii-BaseDetection/YOLOX
Docs:yolox.readthedocs.io
الميزات المعمارية الرئيسية
يختلف YOLOX عن إصدارات YOLO السابقة من خلال إزالة صناديق التثبيت واستخدام هيكل رأس منفصل.
- تصميم خالٍ من المرساة: تعتمد أجهزة الكشف التقليدية على مربعات الارتكاز المحددة مسبقًا، والتي تتطلب ضبطًا إرشاديًا وتجميعًا. يعالج YOLOX اكتشاف الأجسام كمشكلة تنبؤ بالنقاط، مما يبسّط التصميم ويحسّن التعميم عبر أشكال الأجسام المتنوعة.
- الرأس المنفصل: تتم معالجة مهام التصنيف والانحدار في فروع (رؤوس) منفصلة. يسمح هذا الفصل للنموذج بتحسين النموذج لكل مهمة بشكل مستقل، مما يؤدي إلى تقارب أسرع ودقة أفضل.
- SimOTA: استراتيجية متقدمة لتعيين التسميات تقوم بتعيين عينات إيجابية ديناميكيًا إلى كائنات الحقيقة الأرضية، مما يعزز الأداء بشكل أكبر.
تحليل الأداء: المقاييس والمعايير المرجعية
عند تحليل الأداء، يُظهر YOLOv9 ميزة واضحة تتوافق مع كونه بنية أحدث. من خلال الاستفادة من PGI وGELAN، يحقق YOLOv9 متوسط دقة أعلىmAP مع الحفاظ على العبء الحسابي (FLOPs) أو تقليله مقارنةً بـ YOLOX.
يوضح الجدول أدناه الاختلافات في الأداء. من الجدير بالملاحظة أن YOLOv9 يحقق mAP (53.0%) أعلى بكثير من YOLOX-L (49.7%) بأقل من نصف عدد المعلمات (25.3 مليون مقابل 54.2 مليون). وتجعل هذه الكفاءة من YOLOv9 خيارًا متفوقًا للتطبيقات المقيدة بموارد الأجهزة ولكنها تتطلب دقة عالية.
| النموذج | الحجم (بالبكسل) | mAPفال 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.1 | 26.4 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.0 | 76.3 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.3 | 102.1 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 57.3 | 189.0 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
السرعة والكفاءة
بينما قدم YOLOX سرعات مذهلة في عام 2021، فإن YOLOv9 يدفع بالمغلف إلى أبعد من ذلك. يوفر طراز YOLOv9 (Tiny) توازنًا استثنائيًا، حيث يوفر 38.3% mAP مع 2.0 مليون معلمة فقط، مما يجعله مناسبًا للغاية للتطبيقات المحمولة والمضمنة. في المقابل، فإن YOLOX-Nano أصغر حجمًا ولكنه يضحي بدقة كبيرة (25.8% mAP).
كفاءة التدريب
تستفيد YOLOv9 من وصفات التدريب الحديثة ومدرب Ultralytics المحسّن، مما يؤدي غالبًا إلى تقارب أسرع واستخدام أقل للذاكرة أثناء التدريب مقارنةً بالبنى القديمة.
حالات الاستخدام المثالية
يعتمد الاختيار بين هذه النماذج على متطلبات مشروعك المحددة.
متى تختار YOLOv9
YOLOv9 هو الخيار الموصى به لمعظم تطبيقات الرؤية الحاسوبية الحديثة نظرًا لنسبة الدقة إلى الكفاءة الفائقة.
- الذكاء الاصطناعي المتطور في الوقت الحقيقي: النشر على أجهزة مثل NVIDIA Jetson حيث تكون FLOPs مهمة. تعمل بنية YOLOv9 خفيفة الوزن على زيادة الإنتاجية إلى أقصى حد.
- فحص عالي الدقة: مراقبة الجودة الصناعية حيث يكون اكتشاف العيوب الصغيرة أمرًا بالغ الأهمية. تضمن mAP العالية التي يتميز بها YOLOv9 التقاط التفاصيل الدقيقة.
- الأنظمة ذاتية التشغيل: تتطلب الروبوتات والطائرات بدون طيار زمن استجابة منخفض. تضمن بنية الرسم البياني المحسّنة لـ YOLOv9 سرعة الاستدلال دون المساس بقدرات الكشف.
متى تفكر في YOLOX
لا يزال YOLOX منافسًا قويًا لمهام سير عمل قديمة محددة أو مقارنات بحثية.
- البحث الأكاديمي: إن رأسه المنفصل وتصميمه الخالي من المثبتات يجعل منه خط أساس كلاسيكي لدراسة أساسيات اكتشاف الأجسام.
- عمليات النشر القديمة: إذا كانت البنية التحتية الحالية محسّنة بشكل كبير لبنية YOLOX المحددة (على سبيل المثال، مكونات TensorRT الإضافية المخصصة المصممة خصيصًا لرؤوس YOLOX)، فقد يكون الحفاظ على النموذج القديم فعالاً من حيث التكلفة على المدى القصير.
ميزة Ultralytics
يوفر اعتماد YOLOv9 من خلال منظومة Ultralytics مزايا متميزة مقارنةً بالتطبيقات المستقلة. تم تصميم إطار عمل Ultralytics لتبسيط دورة حياة عمليات التعلم الآلي (MLOps) بأكملها.
- سهولة الاستخدام: تسمح لك واجهة برمجة تطبيقات Ultralytics Python بتحميل النماذج وتدريبها ونشرها في بضعة أسطر من التعليمات البرمجية.
- نظام بيئي جيد الصيانة: تضمن التحديثات المنتظمة التوافق مع أحدث إصدارات PyTorch و ONNX و CUDA.
- تعدد الاستخدامات: على الرغم من أن YOLOX هو في المقام الأول كاشف كائنات، فإن إطار عمل Ultralytics يدعم مجموعة واسعة من المهام بما في ذلك تقدير الوضعية، والتجزئة، والتصنيف، مما يتيح لك التبديل بسهولة بين البنى أو المهام داخل قاعدة التعليمات البرمجية نفسها.
- كفاءة الذاكرة: تم تحسين نماذج Ultralytics لاستخدام الذاكرة، مما يمنع حدوث أخطاء خارج الذاكرة (OOM) الشائعة عند تدريب النماذج المعقدة القائمة على المحولات أو أجهزة الكشف القديمة غير المحسنة.
مثال على الكود: تشغيل YOLOv9
يعد تشغيل الاستدلال باستخدام YOLOv9 أمراً سهلاً باستخدام حزمة Ultralytics .
from ultralytics import YOLO
# Load a pre-trained YOLOv9 compact model
model = YOLO("yolov9c.pt")
# Run inference on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
مرونة التصدير
يمكن تصدير نماذج YOLOv9 التي تم تدريبها باستخدام Ultralytics بسهولة إلى تنسيقات مثل TensorRT, OpenVINOو CoreML لتحقيق أقصى قدر من المرونة في النشر.
الخلاصة والتوصيات
في حين لعبت YOLOX دورًا محوريًا في تطوير الكشف الخالي من المرساة, YOLOv9 هو الخيار الأفضل للتطوير الحالي. حيث توفر بنية PGI وGELAN المبتكرة دقة أعلى مع عدد أقل من المعلمات، مما يحل مشكلة عنق الزجاجة المعلوماتية التي حدّت من الشبكات العميقة السابقة.
بالنسبة للمطورين الذين يبحثون عن أحدث ما توصل إليه المطورون في الأداء والميزات المطلقة، نوصي أيضًا باستكشاف YOLO11الذي يعمل على تحسين هذه المفاهيم لتحقيق سرعة أكبر وتنوع أكبر في مهام الرؤية المتعددة. ومع ذلك، للمقارنة المباشرة مع YOLOX، يوفر YOLOv9 مسار ترقية مقنع يقلل من النفقات الحسابية مع تعزيز موثوقية الكشف.
استكشف نماذج أخرى
وسّع معرفتك من خلال مقارنة نماذج أخرى من الدرجة الأولى في منظومة Ultralytics :