YOLOv9 مقابل PP-YOLOE+#
يواصل مشهد كشف الأجسام في الوقت الفعلي تطوره السريع، موفرًا لمهندسي الرؤية الحاسوبية خيارات واسعة لنشر نماذج عالية الدقة على البنية التحتية الطرفية والسحابية. ومن أبرز النماذج في هذا المجال YOLOv9 وPP-YOLOE+. وعلى الرغم من أن كليهما يوفر دقة وسرعة قويتين، فإنهما ينحدران من مسارين بحثيين ومنظومتين برمجيتين مختلفتين.
تستعرض هذه المقارنة التقنية معمارياتهما ومنهجيات التدريب ومقاييس الأداء والتطبيقات العملية المثلى. كما توضح كيف تساعد منظومة Ultralytics الأوسع المطورين الذين يعطون الأولوية لسهولة الاستخدام وكفاءة الذاكرة ومرونة النشر.
أصول النماذج والمواصفات التقنية#
يساعد فهم خلفية هذه النماذج على وضع قراراتها المعمارية واعتماديات أطر العمل في سياقها الصحيح.
YOLOv9: معالجة اختناق المعلومات#
عُرض YOLOv9 في أوائل عام 2024، ويعالج فقدان البيانات الذي يحدث أثناء تدفق المعلومات عبر الشبكات العصبية العميقة. وهو شبكة عصبية التفافية فعّالة صُممت لتعظيم كفاءة المعلمات.
- المؤلفون: Chien-Yao Wang، Hong-Yuan Mark Liao
- الجهة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 21 فبراير 2024
- arXiv: 2402.13616
- GitHub: WongKinYiu/yolov9
- الوثائق: وثائق Ultralytics YOLOv9
PP-YOLOE+: تطوير منظومة Paddle#
أصدرت Baidu نموذج PP-YOLOE+ في عام 2022 بوصفه تحسينًا تكراريًا لـ PP-YOLOv2. ويستخدم تصميمًا خاليًا من المراسي، ويقدم استراتيجية ديناميكية لتعيين التسميات بهدف تحسين التقارب والدقة ضمن إطار عمل PaddlePaddle.
- المؤلفون: مؤلفو PaddlePaddle
- الجهة: Baidu
- التاريخ: 2 أبريل 2022
- arXiv: 2203.16250
- GitHub: PaddleDetection
- الوثائق: إعداد PP-YOLOE+
تعرّف على المزيد حول PP-YOLOE+
مقارنة البنى#
معلومات التدرّج القابلة للبرمجة مقابل CSPRepResStage#
الابتكار الأساسي في YOLOv9 هو معلومات التدرج القابلة للبرمجة (PGI). تعمل PGI كإطار إشراف مساعد، لضمان الحفاظ على معلومات التدرج الحيوية ونشرها بدقة إلى الطبقات الضحلة أثناء التدريب. ويقترن ذلك بـ شبكة تجميع الطبقات الفعّالة المعممة (GELAN)، التي تجمع نقاط القوة في CSPNet وELAN لتحقيق دقة عالية مع خفض الكلفة الحسابية (FLOPs).
يعتمد PP-YOLOE+ على عمود فقري متخصص يسمى CSPRepResStage. ويستفيد من تقنيات إعادة المعلمة، المشابهة لتلك المستخدمة في RepVGG، لتسريع الاستدلال عبر دمج الطبقات الالتفافية أثناء النشر. كما يستخدم رأسًا متوافقًا مع المهام وفعّالًا (ET-head) لتحقيق التوازن بين مهام التصنيف والانحدار.
على الرغم من متانة PP-YOLOE+، تستخدم بنية GELAN في YOLOv9 معلمات أقل في جميع الأحجام، ما يمنحها بصمة ذاكرة أصغر أثناء الاستدلال ويجعلها ملائمة تمامًا لـ أجهزة الذكاء الاصطناعي الطرفية.
مقارنة الأداء#
عند تقييم النماذج للاستخدام الإنتاجي، تُعد المفاضلة بين mAP (متوسط الدقة) وسرعة الاستدلال وحجم النموذج أمرًا بالغ الأهمية.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (ms) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv9t | 640 | 38.3 | - | 2.3 | 2.0 | 7.7 |
| YOLOv9s | 640 | 46.8 | - | 3.54 | 7.2 | 26.7 |
| YOLOv9m | 640 | 51.4 | - | 6.43 | 20.1 | 76.8 |
| YOLOv9c | 640 | 53.0 | - | 7.16 | 25.5 | 102.8 |
| YOLOv9e | 640 | 55.6 | - | 16.77 | 58.1 | 192.5 |
| PP-YOLOE+t | 640 | 39.9 | - | 2.84 | 4.85 | 19.15 |
| PP-YOLOE+s | 640 | 43.7 | - | 2.62 | 7.93 | 17.36 |
| PP-YOLOE+m | 640 | 49.8 | - | 5.56 | 23.43 | 49.91 |
| PP-YOLOE+l | 640 | 52.9 | - | 8.36 | 52.2 | 110.07 |
| PP-YOLOE+x | 640 | 54.7 | - | 14.3 | 98.42 | 206.59 |
التحليل#
- كفاءة المعلمات: يتميز YOLOv9 بكفاءة أعلى في استخدام المعلمات. فعلى سبيل المثال، يحقق YOLOv9c قيمة mAP تبلغ 53.0% باستخدام 25.5M معلمة فقط، بينما يتطلب PP-YOLOE+l أكثر من ضعف عدد المعلمات (52.2M) لتحقيق قيمة mAP أقل قليلًا تبلغ 52.9%، ما يقلل متطلبات الذاكرة لدى YOLOv9. ويستخدم PP-YOLOE+ عددًا أقل من عمليات FLOPs عند الحجمين s وm.
- سرعة الاستدلال: يحقق YOLOv9 سرعات تنافسية باستخدام TensorRT على وحدات GPU من طراز NVIDIA T4، ويُعد YOLOv9t أسرع النماذج هنا، بينما يتفوق PP-YOLOE+ في الأحجام s وm وx. وتناسب كلتا العائلتين الاستدلال في الوقت الفعلي.
منهجيات التدريب والمنظومة#
غالبًا ما يتوقف الاختيار بين هذه النماذج على المنظومة البرمجية.
PP-YOLOE+ وPaddlePaddle#
يرتبط PP-YOLOE+ ارتباطًا وثيقًا بحزمة PaddleDetection. وعلى الرغم من قدراتها، يتطلب استخدامه التعامل مع بيئة تعتمد بكثافة على ملفات الإعداد وسطر الأوامر. وبالنسبة إلى الفرق التي تعتمد بعمق على منظومتي PyTorch أو TensorFlow، يؤدي الانتقال إلى PaddlePaddle إلى عوائق كبيرة ومنحنى تعلم أكثر حدة.
ميزة Ultralytics: تبسيط مسارات العمل#
في المقابل، يحظى YOLOv9 بدعم منظومة Ultralytics المصممة للمطورين والباحثين، والتي تعطي الأولوية لسهولة الاستخدام. وتزيل واجهة Python البرمجية معظم التعليمات البرمجية النمطية.
from ultralytics import YOLO
# تحميل نموذج YOLOv9 مدرّب مسبقًا
model = YOLO("yolov9c.pt")
# درّب على مجموعة بيانات مخصصة
results = model.train(data="coco8.yaml", epochs=100, imgsz=640, device=0)
# إجراء الاستدلال وعرض النتائج بصريًا
results = model("https://ultralytics.com/images/bus.jpg")
# التصدير إلى ONNX للنشر في بيئة الإنتاج
model.export(format="onnx")يوضح سير العمل هذا كفاءة التدريب في نماذج Ultralytics. إذ يأتي الدعم الأصلي لزيادة البيانات والتدريب الموزع والتسجيل التلقائي إلى منصات مثل Weights & Biases أو MLflow مدمجًا.
على الرغم من الأداء الجيد لـ YOLOv9، توصي Ultralytics باستخدام Ultralytics YOLO26 للمشاريع الجديدة. يتضمن YOLO26 تصميمًا شاملًا أصليًا خاليًا من NMS (اختياري عبر nms=False) يزيل المعالجة اللاحقة للقمع غير الأقصى (NMS) ويبسط النشر. وبفضل إزالة DFL (إزالة خسارة البؤرة التوزيعية لتبسيط التصدير وتحسين التوافق مع الأجهزة الطرفية ومنخفضة الطاقة)، يحقق YOLO26n استدلالًا على CPU أسرع بنسبة تصل إلى 43% من YOLO11n للحوسبة الطرفية. ويوفر مُحسِّن MuSGD تدريبًا مستقرًا وتقاربًا سريعًا، فيما يحسّن ProgLoss + STAL (الخسارة التدريجية وتعيين التسميات الواعي بالأهداف الصغيرة) كشف الأجسام الصغيرة، وهو أمر بالغ الأهمية لإنترنت الأشياء والروبوتات والتصوير الجوي.
تعدد الاستخدامات ودعم المهام#
نادراً ما تقتصر مشاريع الرؤية الحاسوبية الحديثة على مربعات الإحاطة البسيطة.
صُمم PP-YOLOE+ أساسًا للكشف القياسي عن الأجسام. ويتطلب تكييف بنيته لمهام أخرى هندسة مخصصة واسعة النطاق.
في المقابل، يدعم إطار عمل Ultralytics مهام متعددة. وباستخدام واجهة برمجية موحدة، يستطيع المطورون الانتقال من كشف الأجسام القياسي إلى تجزئة الكائنات وتصنيف الصور وتقدير الوضعية وكشف مربعات الإحاطة الموجّهة (OBB) للصور الجوية. ويُعد هذا التنوع سببًا رئيسيًا لاختيار الفرق نماذج مدعومة من Ultralytics مثل YOLOv9 وYOLO11 وYOLO26.
حالات الاستخدام والتطبيقات المثالية#
- تحليلات المدن الذكية وإدارة حركة المرور: تجعل كفاءة المعلمات العالية وزمن الاستجابة المنخفض في YOLOv9 (والإصدار اللاحق YOLO26) منهما مناسبين تمامًا للنشر على العتاد الطرفي محدود الموارد، مثل أجهزة NVIDIA Jetson، لمراقبة تدفق حركة المرور والأمن الحضري.
- أنظمة مخزون البيع بالتجزئة: عند كشف الترتيبات الكثيفة للأغراض الصغيرة على الرفوف، تساعد PGI في YOLOv9 على الحفاظ على التفاصيل المكانية الدقيقة، ما يحسن كشف الأجسام الصغيرة.
- عمليات النشر القديمة: يظل PP-YOLOE+ خيارًا عمليًا للفرق التي يتعين عليها استخدام حزمة برامج Baidu/PaddlePaddle ضمن البنية التحتية الحالية.
للباحثين الذين يستكشفون المعماريات القائمة على Transformer، تدعم Ultralytics أيضًا RT-DETR دعمًا أصليًا ضمن واجهة API نفسها، لذا يمكنك اختيار النموذج الأنسب لمتطلبات النشر لديك.