مقارنة بين YOLOv5 وPP-YOLOE+#
يُعد اختيار بنية الشبكة العصبية المناسبة أمرًا أساسيًا لأي مشروع حديث في مجال الرؤية الحاسوبية. وعندما يقيّم المطورون والباحثون النماذجَ لاكتشاف الأجسام في الوقت الفعلي، غالبًا ما يتمحور القرار حول تحقيق التوازن بين الدقة وسرعة الاستدلال وسهولة النشر. تتناول هذه المقارنة التقنية YOLOv5 وPP-YOLOE+، مع استعراض بنيتهما ومقاييس أدائهما ومنهجيات تدريبهما لمساعدتك على اختيار الحل الأمثل لتطبيقك.
فهم البنى المعمارية#
أثر كلا النموذجين تأثيرًا كبيرًا في مجال ذكاء الرؤية، لكنهما يتعاملان مع تحديات اكتشاف الأجسام من خلال منهجيات بنيوية واعتماديات مختلفة على الأطر البرمجية.
Ultralytics YOLOv5: المعيار الصناعي#
أُطلق Ultralytics YOLOv5 في منتصف عام 2020، وأحدث ثورة في إتاحة نماذج الرؤية المتقدمة للجميع. وباعتباره أول تطبيق أصلي باستخدام PyTorch ضمن عائلة YOLO، فقد خفّض بدرجة كبيرة عتبة الدخول أمام مطوري Python ومهندسي تعلّم الآلة في جميع أنحاء العالم.
تفاصيل YOLOv5:
- المؤلفون: Glenn Jocher
- المنظمة: Ultralytics
- التاريخ: 2020-06-26
- GitHub: ultralytics/yolov5
- التوثيق: وثائق YOLOv5
يستخدم YOLOv5 بنية CSPDarknet أساسية معدّلة، تلتقط تمثيلات غنية للسمات بكفاءة مع الحفاظ على عدد خفيف من المعاملات. وقد قدّم صناديق ارتكاز ذات تعلّم تلقائي، إذ يحسب أبعاد الارتكاز المثلى لمجموعات البيانات المخصصة تلقائيًا قبل بدء التدريب. علاوة على ذلك، يعزز دمج زيادة البيانات الفسيفسائية قدرة النموذج بدرجة كبيرة على اكتشاف الأجسام الأصغر والتعميم عبر سياقات مكانية معقدة.
تتمثل إحدى أعظم نقاط قوة YOLOv5 في تعدد استخداماته الاستثنائي. فعلى خلاف كاشفات الأجسام التقليدية، تدعم عائلة YOLOv5 بسلاسة تصنيف الصور وتجزئة المثيلات واكتشاف مربعات الإحاطة ضمن API موحّدة. كما تؤدي بنيته المحسّنة بدرجة كبيرة إلى استخدام أقل بكثير للذاكرة أثناء التدريب والاستدلال مقارنةً بالشبكات الثقيلة القائمة على Transformer.
PP-YOLOE+: منافس PaddlePaddle#
طُوّر PP-YOLOE+ بعد نحو عامين، مستندًا إلى أسس الإصدارات السابقة من PP-YOLO. وقد طُوّر لاستعراض إمكانات إطار Baidu للتعلّم العميق، ويقدّم العديد من التحسينات المعمارية لرفع متوسط الدقة.
تفاصيل PP-YOLOE+:
- المؤلفون: مؤلفو PaddlePaddle
- المنظمة: Baidu
- التاريخ: 2022-04-02
- Arxiv: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- التثبيت المستندات: ملف تعريف ارتباط PP-YOLOE+
يعتمد PP-YOLOE+ على نهج خالٍ من صناديق الارتكاز ويستخدم بنية CSPRepResNet أساسية. كما يدمج تقنية قوية لتعلّم محاذاة المهام ورأسًا فعّالًا لمحاذاة المهام لتحسين الدقة. وعلى الرغم من أن PP-YOLOE+ يحقق درجات دقة مبهرة، فإن نقطة ضعفه الأساسية تكمن في اعتماده الصارم على إطار PaddlePaddle. وغالبًا ما يفرض ذلك منحنى تعلّم حادًا واحتكاكًا على مستوى المنظومة بالنسبة إلى فرق البحث والمؤسسات المستثمرة بعمق في بيئات PyTorch أو TensorFlow.
الأداء والمعايير القياسية#
عند تقييم هذه النماذج للاستخدام في الإنتاج، من الضروري فهم المفاضلات بين الدقة وسرعة الاستدلال وحجم المعاملات. يوضح الجدول أدناه أهم مقاييس الأداء عبر متغيرات الأحجام المختلفة.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (مللي ثانية) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
| 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 |
مع أن PP-YOLOE+ يحقق مستويات دقة مرتفعة، يبرهن YOLOv5 باستمرار على كفاءة أعلى في استخدام المعاملات واستدلال أسرع على الأجهزة محدودة الموارد. وبالنسبة إلى عمليات النشر الطرفية التي تكون فيها الذاكرة شحيحة، يقدّم YOLOv5n سرعة لا تضاهى وحجمًا صغيرًا للغاية.
صُممت نماذج Ultralytics خصيصًا لتحقيق كفاءة التدريب. وبالمقارنة مع محولات الرؤية الثقيلة مثل RT-DETR، يستخدم YOLOv5 قدرًا أقل بكثير من ذاكرة CUDA، مما يتيح لك التدريب بأحجام دفعات أكبر أو باستخدام أجهزة مخصصة للمستهلكين.
ميزة Ultralytics: النظام البيئي وسهولة الاستخدام#
تمتد القيمة الحقيقية لبنية تعلّم الآلة إلى ما هو أبعد من الأرقام المجردة؛ فهي تشمل تجربة المطور بأكملها. توفر منصة Ultralytics وأدواتها مفتوحة المصدر المقابلة منظومة مصقولة ومصانة جيدًا، تسرّع دورات التطوير بدرجة كبيرة.
- سهولة الاستخدام: تحجب Ultralytics عنك التعليمات البرمجية التمهيدية المعقدة. يمكنك تدريب النماذج والتحقق منها واختبارها عبر Python API سهلة الاستخدام أو CLI.
- مرونة النشر: يُعد تصدير النماذج أمرًا بالغ السهولة. فباستخدام أمر واحد، يمكنك تحويل أوزان YOLOv5 المدرّبة إلى تنسيقات مثل ONNX وTensorRT أو OpenVINO، بما يضمن توافقًا واسعًا عبر البيئات الطرفية والسحابية.
- مجتمع نشط: يضمن المجتمع الحيوي تحديثات متكررة ووثائق شاملة وحلولًا متينة لتحديات الرؤية الحاسوبية الشائعة.
وعلى النقيض، يعتمد PP-YOLOE+ اعتمادًا كبيرًا على ملفات إعداد معقدة خاصة بـ PaddleDetection، مما قد يبطئ إنشاء النماذج الأولية السريع ويعقّد دمجه في مسارات MLOps الحديثة.
تطبيقات عملية وأمثلة برمجية#
إن بدء الاستخدام مع Ultralytics بسيط للغاية. فيما يلي مثال كامل قابل للتنفيذ يوضح كيفية تحميل نموذج YOLOv5 مدرّب مسبقًا، وتدريبه على مجموعة بيانات مخصصة، وتصدير النتائج:
from ultralytics import YOLO
# Load a pretrained YOLOv5 small model
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 dataset for 50 epochs
train_results = model.train(data="coco8.yaml", epochs=50, imgsz=640)
# Run inference on a sample image
predict_results = model("https://ultralytics.com/images/bus.jpg")
# Export the optimized model to ONNX format
path = model.export(format="onnx")حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOv5 وPP-YOLOE+ على متطلبات مشروعك المحددة وقيود النشر وتفضيلاتك المتعلقة بالمنظومة.
متى تختار YOLOv5#
يُعد YOLOv5 خيارًا قويًا من أجل:
- أنظمة الإنتاج المجربة: عمليات النشر الحالية التي تُقدّر سجل YOLOv5 الطويل من الاستقرار، ووثائقه الشاملة، والدعم الواسع من المجتمع.
- التدريب في ظل قيود الموارد: البيئات ذات موارد GPU المحدودة، حيث توفر مسارات تدريب YOLOv5 الفعالة ومتطلبات الذاكرة الأقل مزايا مهمة.
- دعم موسّع لتنسيقات التصدير: المشاريع التي تتطلب النشر عبر العديد من التنسيقات، بما في ذلك ONNX وTensorRT وCoreML وTFLite.
متى تختار PP-YOLOE+#
يوصى باستخدام PP-YOLOE+ في الحالات التالية:
- التكامل مع منظومة PaddlePaddle: المؤسسات التي تمتلك بنية تحتية قائمة على إطار عمل وأدوات PaddlePaddle الخاصة بـBaidu.
- النشر الطرفي باستخدام Paddle Lite: النشر على عتاد مزود بنوى استدلال محسّنة بدرجة كبيرة خصيصًا لمحرك Paddle Lite أو محرك Paddle للاستدلال.
- الاكتشاف عالي الدقة من جانب الخادم: السيناريوهات التي تعطي الأولوية لأقصى دقة اكتشاف على خوادم GPU قوية، حيث لا يمثل الاعتماد على إطار العمل مصدر قلق.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي الخالي من NMS: التطبيقات التي تتطلب استدلالًا متسقًا منخفض زمن الانتقال دون تعقيد المعالجة اللاحقة لكبت القيم غير العظمى.
- البيئات المعتمدة على CPU فقط: الأجهزة التي لا تتضمن تسريع GPU مخصصًا، حيث يوفر استدلال YOLO26 الأسرع على CPU بنسبة تصل إلى 43% ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل الصور الجوية الملتقطة بالطائرات المسيّرة أو تحليل مستشعرات إنترنت الأشياء، حيث يعزّز ProgLoss وSTAL الدقة بدرجة كبيرة عند التعامل مع الأجسام الصغيرة جدًا.
نماذج بديلة متقدمة ينبغي أخذها في الاعتبار#
مع أن YOLOv5 معيار متين ومثبت الكفاءة، فإن مجال الرؤية الحاسوبية يتطور بسرعة. ونوصي بشدة الفرق التي تبدأ مشاريع جديدة باستكشاف بنياتنا الأحدث.
Ultralytics YOLO26#
يمثل YOLO26، الذي أُطلق في يناير 2026، ذروة أبحاثنا بلا منازع. فهو يحقق تحسينات هائلة في كل من الدقة والسرعة. وتشمل الابتكارات الرئيسية ما يلي:
- تصميم شامل من البداية إلى النهاية وخالٍ من NMS: استنادًا إلى مفاهيم من YOLOv10، يلغي YOLO26 أصليًا المعالجة اللاحقة لقمع القيمة غير العظمى (NMS)، مما يقلل زمن الاستجابة ويبسط منطق النشر.
- إزالة DFL: من خلال إزالة خسارة البؤرة التوزيعية، يحقق YOLO26 استدلالًا أسرع على CPU بنسبة تصل إلى 43%، مما يجعله قويًا للغاية للأجهزة الطرفية منخفضة الطاقة.
- مُحسِّن MuSGD: يستلهم هذا المُحسِّن الهجين بين SGD وMuon تقنيات تدريب LLM المتقدمة، ويضمن عمليات تدريب مستقرة للغاية وتقاربًا أسرع.
- ProgLoss + STAL: توفر دوال الخسارة المتقدمة هذه تحسينات ملحوظة في التعرّف على الأجسام الصغيرة، وهو أمر بالغ الأهمية لـالصور الملتقطة بالطائرات المسيّرة والزراعة الذكية.
بالإضافة إلى ذلك، قد تفكر في YOLO11، الذي يوفر أداءً ممتازًا ويعمل كحلقة وصل موثوقة للغاية بين الأنظمة القديمة والقدرات المتطورة للغاية في YOLO26.
حالات الاستخدام الواقعية#
يعتمد الاختيار بين YOLOv5 وPP-YOLOE+ في نهاية المطاف على بيئة النشر وقيود المشروع.
التطبيقات المثالية لـ YOLOv5: تعتبر متطلبات الموارد الأدنى لـ YOLOv5 وسهولة استخدامه الفائقة الخيار الأول لـ الذكاء الاصطناعي على الحافة. وهو يتفوق في التطبيقات التي تتطلب معدلات إطارات عالية على الأجهزة المحدودة، مثل الروبوتات في الوقت الفعلي، وتكامل تطبيقات الهاتف المحمول، وأنظمة مراقبة المرور متعددة الكاميرات. إن قدرته على التعامل مع تجزئة المثيلات وتصنيف الصور ضمن نفس الإطار تجعله قابلاً للتكيف بشكل كبير.
تطبيقات PP-YOLOE+ المثالية: يُعد PP-YOLOE+ الأنسب للسيناريوهات التي تُعطى فيها الأولوية للدقة القصوى المطلقة على الصور الثابتة، بدلًا من قيود المعالجة في الوقت الفعلي. ويُستخدم في حالات متخصصة ضمن مسارات فحص صناعي، ولا سيما في قطاعات التصنيع الآسيوية التي تمتلك حزمًا تقنية راسخة ومستثمرة بدرجة كبيرة في منظومة Baidu وPaddlePaddle.
وخلاصة القول، بينما يحقق PP-YOLOE+ معايير قوية للدقة، توفر نماذج Ultralytics YOLO مزيجًا لا مثيل له من توازن الأداء وسلاسة النشر والتصميم الملائم للمطورين، مما يدفع مشاريع الرؤية الحاسوبية الناجحة من مرحلة الفكرة إلى الإنتاج.