YOLOv5 مقابل PP-YOLOE+#
يعد اختيار بنية الشبكة العصبية المناسبة أمراً أساسياً لأي مشروع حديث في مجال الرؤية الحاسوبية. عندما يقوم المطورون والباحثون بتقييم النماذج للكشف عن الكائنات في الوقت الفعلي، غالباً ما يعتمد القرار على تحقيق التوازن بين الدقة، وسرعة الاستدلال، وسهولة النشر. تدرس هذه المقارنة التقنية كلاً من YOLOv5 و PP-YOLOE+، وتستكشف بنيتيهما، ومقاييس الأداء، ومنهجيات التدريب لمساعدتك في اختيار الحل الأمثل لتطبيقك.
فهم البنى#
لقد أثر كلا النموذجين بشكل كبير على مشهد رؤية الذكاء الاصطناعي، لكنهما يتعاملان مع تحديات الكشف عن الكائنات من خلال منهجيات هيكلية مختلفة واعتمادات إطارية متنوعة.
Ultralytics YOLOv5: المعيار الصناعي#
أُصْدِرَ Ultralytics YOLOv5 في منتصف عام 2020، وأحدث ثورة في إمكانية الوصول إلى نماذج الرؤية المتطورة. وكونه أول تنفيذ أصلي لـ PyTorch في عائلة YOLO، فقد قلل بشكل كبير من حاجز الدخول لمططوري Python ومهندسي تعلم الآلة في جميع أنحاء العالم.
تفاصيل YOLOv5:
- المؤلف: Glenn Jocher
- المنظمة: Ultralytics
- التاريخ: 26-06-2020
- GitHub: ultralytics/yolov5
- Docs: YOLOv5 Documentation
يستخدم YOLOv5 بنية أساسية من نوع CSPDarknet معدلة، والتي تلتقط تمثيلات ميزات غنية بكفاءة مع الحفاظ على عدد معلمات خفيف الوزن. قدم النموذج صناديق تثبيت (anchor boxes) ذاتية التعلم، تقوم بحساب أبعاد التثبيت المثالية لمجموعات البيانات المخصصة تلقائياً قبل بدء التدريب. علاوة على ذلك، فإن دمجه لتعزيز البيانات بالفسيفساء (mosaic data augmentation) يعزز بشكل كبير قدرة النموذج على اكتشاف الكائنات الصغيرة والتعميم عبر السياقات المكانية المعقدة.
تعد المرونة المذهلة إحدى أعظم نقاط القوة في YOLOv5. فعلى عكس كاشفات الكائنات القياسية، تدعم عائلة YOLOv5 بسلاسة تصنيف الصور وتجزئة المثيلات واكتشاف مربعات الإحاطة ضمن واجهة برمجة تطبيقات موحدة. كما يترجم هيكله المحسن للغاية إلى استخدام أقل بكثير للذاكرة أثناء التدريب والاستدلال مقارنة بالشبكات الثقيلة القائمة على Transformer.
PP-YOLOE+: المنافس من PaddlePaddle#
تم تقديم PP-YOLOE+ بعد عامين تقريباً، وهو يعتمد على أساس إصدارات PP-YOLO السابقة. تم تطويره لعرض قدرات إطار التعلم العميق الخاص بـ Baidu، ويقدم العديد من التحسينات الهيكلية لزيادة متوسط دقة المتوسط (mAP).
تفاصيل PP-YOLOE+:
- المؤلفون: مؤلفو PaddlePaddle
- المنظمة: Baidu
- التاريخ: 2022-04-02
- Arxiv: 2203.16250
- GitHub: PaddlePaddle/PaddleDetection
- المستندات: PP-YOLOE+ README
يعتمد PP-YOLOE+ على نموذج خالٍ من الارتكازات ويستفيد من هيكل CSPRepResNet. وهو يدمج تقنية محاذاة المهام القوية ورأسًا فعالًا محاذيًا للمهمة لتحسين الدقة. وبينما يحقق PP-YOLOE+ درجات دقة مثيرة للإعجاب، يكمن ضعفه الأساسي في اعتماده الصارم على إطار عمل PaddlePaddle. وغالبًا ما يفرض هذا منحنى تعلم حادًا واحتكاكًا في النظام البيئي لفرق البحث والشركات المستثمرة بالفعل بعمق في بيئات PyTorch أو TensorFlow.
الأداء والمعايير القياسية#
عند تقييم هذه النماذج للإنتاج، يعد فهم المفاضلات بين الدقة وسعة الاستدلال وبصمة المعلمات أمرًا بالغ الأهمية. يوضح الجدول أدناه مقاييس الأداء الرئيسية عبر مختلف متغيرات الحجم.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (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 بديهية أو واجهة سطر الأوامر (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 ومتطلبات الذاكرة الأقل ميزة.
- Extensive Export Format Support: المشاريع التي تتطلب النشر عبر العديد من التنسيقات بما في ذلك ONNX، وTensorRT، وCoreML، وTFLite.
متى تختار PP-YOLOE+#
يوصى بـ PP-YOLOE+ من أجل:
- تكامل بيئة PaddlePaddle: المنظمات التي لديها بنية تحتية حالية مبنية على إطار عمل وأدوات Baidu's PaddlePaddle.
- النشر على أجهزة الحافة (Paddle Lite): عند النشر على أجهزة ذات أنوية استنتاج محسّنة خصيصاً لمحرك Paddle Lite أو محرك استنتاج Paddle.
- الكشف عالي الدقة من جانب الخادم: السيناريوهات التي تعطي الأولوية لأقصى دقة للكشف على خوادم GPU قوية حيث لا يمثل الاعتماد على إطار عمل معين مصدر قلق.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- الكشف عن الأشياء الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار الجوية أو تحليل مستشعرات إنترنت الأشياء (IoT) حيث تعمل ProgLoss و STAL على تعزيز الدقة بشكل كبير على الأشياء الدقيقة.
نماذج بديلة متطورة يجب مراعاتها#
بينما يعد YOLOv5 معياراً قوياً ومثبتاً، فإن مجال الرؤية الحاسوبية يتحرك بسرعة. للفرق التي تبدأ مشاريع جديدة، نوصي بشدة باستكشاف بنياتنا الأحدث.
Ultralytics YOLO26#
تم إطلاق YOLO26 في يناير 2026، وهو يمثل القمة المطلقة لبحوثنا. وهو يقدم تحسينات هائلة في كل من الدقة والسرعة. وتشمل الابتكارات الرئيسية:
- تصميم خالٍ من NMS من البداية إلى النهاية: بناءً على المفاهيم الواردة من YOLOv10، يلغي YOLOv10 بشكل أصلي معالجة كبح الحد الأقصى غير (NMS)، مما يقلل زمن الوصول ويبسط منطق النشر.
- إزالة DFL: من خلال التخلص من Distribution Focal Loss، يحقق YOLO26 استدلالاً أسرع بنسبة تصل إلى 43% على وحدة المعالجة المركزية (CPU)، مما يجعله قوياً للغاية لأجهزة الحافة منخفضة الطاقة.
- محسن MuSGD: مستوحى من تقنيات تدريب نماذج اللغات الكبيرة المتقدمة، يضمن هذا الهجين من SGD و Muon عمليات تدريب مستقرة بشكل استثنائي وتقارباً أسرع.
- ProgLoss + STAL: تقدم دالات الخسارة المتقدمة هذه تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر بالغ الأهمية لـ صور الطائرات بدون طيار والزراعة الذكية.
بالإضافة إلى ذلك، قد تفكر في استخدام YOLO11، الذي يقدم أداءً ممتازًا ويعمل جسرًا موثوقًا للغاية بين الأنظمة القديمة والقدرات المتطورة لـ YOLO26.
حالات الاستخدام في العالم الحقيقي#
يعتمد الاختيار بين YOLOv5 و PP-YOLOE+ في النهاية على بيئة النشر وقيود مشروعك.
تطبيقات YOLOv5 المثالية: تجعل متطلبات الموارد الضئيلة لـ YOLOv5 وسهولة استخدامه المذهلة الخيار الأفضل لـ ذكاء الحافة. وهو يتفوق في التطبيقات التي تتطلب معدلات إطارات عالية على الأجهزة المحدودة، مثل الروبوتات في الوقت الفعلي، وتكامل تطبيقات الأجهزة المحمولة، وأنظمة مراقبة حركة المرور متعددة الكاميرات. إن قدرته على التعامل في نفس الوقت مع مهام تقدير الوضع ومربعات الإحاطة الموجهة (OBB) ضمن نفس الإطار تجعله قابلاً للتكيف بشكل كبير.
تطبيقات PP-YOLOE+ المثالية: يعد PP-YOLOE+ الأنسب للسيناريوهات التي يتم فيها إعطاء الأولوية لأقصى دقة مطلقة للصور الساكنة على قيود المعالجة في الوقت الفعلي. يجد استخداماً متخصصاً في خطوط أنابيب التفتيش الصناعي، لا سيما داخل قطاعات التصنيع الآسيوية التي لديها أكوام تقنية راسخة ومستثمرة بكثافة في نظام Baidu و PaddlePaddle البيئي.
باختصار، في حين أن PP-YOLOE+ يقدم معايير دقة قوية، توفر نماذج YOLO من Ultralytics مزيجاً لا مثيل له من توازن الأداء، والنشر السلس، والتصميم الصديق للمطورين الذي يدفع مشاريع الرؤية الحاسوبية الناجحة من المفهوم إلى الإنتاج.