تخطي إلى المحتوى

YOLOv10 ضد PP-YOLOE+: مقارنة فنية شاملة

يعد اختيار نموذج الكشف عن الكائنات الصحيح خطوة محورية في تطوير تطبيقات رؤية حاسوبية فعالة. غالبًا ما يتضمن الاختيار الموازنة بين المفاضلات بين سرعة الاستدلال ودقة الكشف وقيود الأجهزة. يحلل هذا التحليل الفني YOLOv10، وهو كاشف في الوقت الفعلي من طرف إلى طرف من جامعة Tsinghua، و PP-YOLOE+، وهو نموذج عالي الدقة من نظام PaddlePaddle البيئي الخاص بـ Baidu. يقدم كلا النموذجين ابتكارات معمارية كبيرة، لكنهما يلبيان احتياجات نشر وبيئات تطوير مختلفة.

YOLOv10: المعيار الجديد للاكتشاف في الوقت الفعلي الشامل

يمثل YOLOv10 قفزة كبيرة في سلسلة YOLO (أنت تنظر مرة واحدة فقط)، مع التركيز على إزالة الاختناقات في الأداء المرتبطة بالمعالجة اللاحقة التقليدية. تم تطويره بواسطة باحثين في جامعة Tsinghua، ويحقق زمن انتقال أقل وكفاءة أعلى عن طريق إلغاء الحاجة إلى تثبيط غير الأقصى (NMS).

Authors: Ao Wang, Hui Chen, Lihao Liu, et al.
Organization:Tsinghua University
Date: 2024-05-23
ArXiv:https://arxiv.org/abs/2405.14458
GitHub:https://github.com/THU-MIG/yolov10
Docs:https://docs.ultralytics.com/models/yolov10/

البنية والميزات الرئيسية

يقدم YOLOv10 استراتيجية تعيين مزدوج متسق أثناء التدريب. تسمح هذه الطريقة للنموذج بالتنبؤ بأفضل مربع واحد لكل كائن أثناء الاستدلال، مما يزيل بشكل فعال الحاجة إلى معالجة NMS اللاحقة. يقلل تصميم "NMS-free" هذا بشكل كبير من زمن الوصول للاستدلال، خاصة في المشاهد ذات تجمعات الكائنات الكثيفة.

تشمل التطورات المعمارية الرئيسية ما يلي:

  • تصميم شامل للكفاءة والدقة: يستخدم النموذج رؤوس classify خفيفة الوزن وتقليل أخذ العينات المترابط مكانيًا وقنواتيًا لتقليل التكلفة الحسابية (FLOPs) دون التضحية بالدقة.
  • Rank-Guided Block Design: لتحسين المفاضلة بين السرعة والدقة، تستخدم المراحل المختلفة من النموذج تصميمات كتل مختلفة، مما يقلل من التكرار في الطبقات العميقة.
  • الالتفافات ذات النواة الكبيرة: يعزز الاستخدام الاستراتيجي لـ الالتفافات ذات النواة الكبيرة المجال الاستقبالي، مما يسمح للنموذج بفهم السياق بشكل أفضل والكشف عن الكائنات الصغيرة.

نقاط القوة والضعف

تم تصميم YOLOv10 لتحقيق أقصى قدر من الكفاءة، مما يجعله خيارًا هائلاً للتطبيقات في الوقت الفعلي.

  • نقاط القوة: يؤدي التخلص من NMS إلى سرعات استدلال أسرع وحتمية. يوفر كفاءة فائقة في المعلمات، حيث يحقق درجات mAP عالية مع عدد أقل من المعلمات مقارنة بالنماذج السابقة. يضمن دمجه في النظام البيئي Ultralytics سهولة التدريب والنشر باستخدام واجهة برمجة تطبيقات Python بسيطة.
  • نقاط الضعف: باعتباره كاشف كائنات متخصص، فإنه يركز حاليًا بشكل أساسي على الـ bounding box detection، في حين أن النماذج الأخرى في مجموعة Ultralytics تدعم نطاقًا أوسع من المهام مثل segmentation و تقدير الوضع.

حالات الاستخدام المثالية

  • الروبوتات الذاتية: الطبيعة منخفضة زمن الوصول لـ YOLOv10 ضرورية في الروبوتات حيث يلزم اتخاذ قرارات في أجزاء من الثانية للملاحة وتجنب العوائق.
  • نشر الذكاء الاصطناعي المتطور: مع وجود متغيرات صغيرة مثل YOLOv10-N، فهي مناسبة تمامًا للأجهزة الطرفية مثل NVIDIA Jetson أو Raspberry Pi.
  • مراقبة حركة المرور: قدرة النموذج على التعامل مع المشاهد المزدحمة دون زيادة حمل NMS تجعله مثاليًا لـ إدارة حركة المرور في الوقت الفعلي.

تعرف على المزيد حول YOLOv10

PP-YOLOE+: هندسة دقيقة في بيئة PaddlePaddle

PP-YOLOE+ هو تطور لسلسلة PP-YOLOE، التي طورتها Baidu. وهو مصمم كـ detectور قابل للتطوير وخالي من الـ anchor يعطي الأولوية للدقة العالية. إنه بمثابة نموذج أساسي داخل إطار عمل PaddlePaddle، وهو مُحسَّن خصيصًا لتلك البيئة.

المؤلفون: مؤلفو PaddlePaddle
المنظمة:Baidu
التاريخ: 2022-04-02
ArXiv:https://arxiv.org/abs/2203.16250
GitHub:https://github.com/PaddlePaddle/PaddleDetection/
المستندات:https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.8.1/configs/ppyoloe/README.md

البنية والميزات الرئيسية

يعتمد PP-YOLOE+ على بنية خالية من الـ anchor، مما يبسط مساحة البحث عن المعلمات الفائقة مقارنةً بالنماذج السابقة القائمة على الـ anchor.

تشمل الميزات الرئيسية ما يلي:

  • العمود الفقري CSPRepResNet: يجمع هذا العمود الفقري بين فوائد تدفق التدرج لـ CSPNet وكفاءة الاستدلال لكتل ResNet المعاد تحديدها.
  • تعلم محاذاة المهام (TAL): استراتيجية متخصصة لتعيين التصنيفات تعمل على محاذاة جودة تصنيف المرساة مع دقة تحديد الموقع ديناميكيًا.
  • رأس فعال مُحاذي للمهام (ET-Head): رأس اكتشاف مفصول يعالج ميزات التصنيف والتوطين بشكل مستقل لتجنب التعارض.

نقاط القوة والضعف

PP-YOLOE+ هو نموذج قوي ولكنه يحمل تبعيات قد تؤثر على اعتماده.

  • نقاط القوة: يقدم دقة ممتازة في المعايير مثل COCO، خاصة في تكويناته الأكبر (L و X). إنه مُحسَّن للغاية للأجهزة التي يدعمها محرك استدلال PaddlePaddle.
  • نقاط الضعف: القيد الأساسي هو اعتماده على نظام PaddlePaddle البيئي. بالنسبة للمطورين المعتادين على PyTorch، فإن الترحيل إلى PP-YOLOE+ ينطوي على منحنى تعليمي أكثر حدة واحتكاك محتمل في تكامل الأدوات. بالإضافة إلى ذلك، فإن عدد المعلمات الخاص به أعلى بكثير من YOLOv10 للحصول على دقة مماثلة، مما يؤدي إلى زيادة استخدام الذاكرة.

حالات الاستخدام المثالية

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

تعرف على المزيد حول PP-YOLOE+

تحليل الأداء: الكفاءة مقابل الدقة

عند مقارنة المقاييس التقنية، يُظهر YOLOv10 ميزة واضحة في الكفاءة. إنه يحقق دقة مماثلة أو فائقة (mAP) مع استخدام عدد أقل بكثير من المعلمات والموارد الحسابية (FLOPs).

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
PP-YOLOE+t64039.9-2.844.8519.15
PP-YOLOE+s64043.7-2.627.9317.36
PP-YOLOE+m64049.8-5.5623.4349.91
PP-YOLOE+l64052.9-8.3652.2110.07
PP-YOLOE+x64054.7-14.398.42206.59

النقاط الرئيسية

  • الكفاءة: يحقق YOLOv10l نسبة mAP أعلى (53.3٪) من PP-YOLOE+l (52.9٪) مع استخدام ما يقرب من 44٪ عدد أقل من المعلمات. هذا يجعل YOLOv10 أخف وزنًا بشكل ملحوظ للتخزين وأسرع في التحميل.
  • السرعة: تصميم YOLOv10 الخالي من NMS يترجم إلى زمن انتقال أقل في جميع المجالات. على سبيل المثال، YOLOv10n سريع بشكل استثنائي عند 1.56 مللي ثانية، مما يجعله متفوقًا لتحليلات الفيديو عالية السرعة.
  • قابلية التوسع: على الرغم من أن PP-YOLOE+x يتمتع بميزة طفيفة في mAP الخام (أعلى بنسبة 0.3%)، إلا أنه يتطلب ضعف المعلمات تقريبًا (98.42 مليون مقابل 56.9 مليون) وعمليات التشغيل المتتالية مقارنةً بـ YOLOv10x.

كفاءة الذاكرة

تُظهر نماذج Ultralytics مثل YOLOv10 و YOLO11 عادةً متطلبات ذاكرة أقل أثناء كل من التدريب والاستدلال مقارنةً بالمعماريات الأقدم أو النماذج الثقيلة القائمة على المحولات. تتيح هذه الكفاءة أحجام دفعات أكبر ودورات تدريب أسرع على أجهزة GPU القياسية.

ميزة Ultralytics

في حين أن كلا النموذجين قادران، فإن اختيار نموذج داخل النظام البيئي Ultralytics—مثل YOLOv10 أو أحدث YOLO11—يوفر مزايا واضحة للمطورين.

  1. سهولة الاستخدام: يختزل Python API الخاص بـ Ultralytics التعليمات البرمجية المعقدة. يمكنك تدريب نموذج والتحقق من صحته ونشره ببضعة أسطر فقط من Python.
  2. نظام بيئي مُدار بشكل جيد: يستفيد المستخدمون من التحديثات المتكررة، ومجتمع نابض بالحياة على GitHub، وعمليات تكامل سلسة مع أدوات MLOps مثل Ultralytics HUB و Weights & Biases.
  3. تنوع الاستخدامات: بالإضافة إلى الكشف القياسي عن الكائنات، تدعم أطر عمل Ultralytics تقسيم المثيلات، و تصنيف الصور، و تقدير الوضعية، و الكشف عن الصناديق المحيطة الموجهة (OBB)، مما يوفر حلاً موحدًا لمهام رؤية الكمبيوتر المتنوعة.

مثال على التعليمات البرمجية: تشغيل YOLOv10 مع Ultralytics

يعد دمج YOLOv10 في سير عملك أمرًا مباشرًا باستخدام مكتبة Ultralytics:

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Run inference on an image
results = model.predict("path/to/image.jpg")

# Display the results
results[0].show()

الخلاصة

في المقارنة بين YOLOv10 و PP-YOLOE+، تظهر YOLOv10 كخيار أفضل لمعظم تطبيقات رؤية الكمبيوتر للأغراض العامة. تحل بنيتها الخالية من NMS عنق الزجاجة الذي طال أمده في زمن انتقال اكتشاف الكائنات، ويجعلها استخدامها الفعال للغاية للمعلمات في متناول النشر على نطاق أوسع من الأجهزة، من الأجهزة الطرفية إلى خوادم السحابة.

يظل PP-YOLOE+ منافسًا قويًا للمستخدمين المرتبطين تمامًا بإطار عمل PaddlePaddle أو أولئك الذين يعطون الأولوية للمكاسب الهامشية في الدقة على الكفاءة الحسابية. ومع ذلك، بالنسبة للمطورين الذين يبحثون عن توازن بين السرعة والدقة و سهولة الاستخدام، فإن YOLOv10—والنظام البيئي الأوسع لـ Ultralytics—يوفر مسارًا أكثر مقاومة للمستقبل وسهل الاستخدام للمطورين.

استكشف نماذج أخرى

إذا كنت مهتمًا باستكشاف المزيد من الخيارات في نظام Ultralytics البيئي، ففكر في الاطلاع على هذه المقارنات:

  • YOLO11 vs. YOLOv10: تعرف على كيفية مقارنة أحدث نموذج رائد بـ YOLOv10 الذي يركز على الكفاءة.
  • YOLOv10 مقابل RT-DETR: قارن بين المحولات في الوقت الفعلي وهياكل YOLO المستندة إلى CNN.
  • YOLOv8 vs. PP-YOLOE+: تحليل أداء YOLOv8 المعتمد على نطاق واسع مقابل نموذج Baidu.

تعليقات