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

YOLO PP-YOLOE+: دراسة تقنية متعمقة حول الكشف عن الأجسام الصناعية

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

يحلل هذا الدليل الشامل ابتكاراتهما المعمارية، ويقارن مقاييس أدائهما، ويقدم Ultralytics وهو نموذج من الجيل التالي يعيد تعريف معايير سهولة الاستخدام والنشر المتطور.

نظرة عامة على DAMO-YOLO

تم تقديمYOLO نموذج التقطير المعزز) لتجاوز حدود الأداء من خلال الاستفادة من تصميم البنية التلقائي وتقنيات التدريب المتقدمة.

المؤلفون: Xianzhe Xu، Yiqi Jiang، Weihua Chen، Yilun Huang، Yuan Zhang، و Xiuyu Sun
المنظمة:مجموعة Alibaba
التاريخ: 23 نوفمبر 2022
Arxiv:YOLO
GitHub:YOLO

الابتكارات المعمارية

YOLO عن التصميم اليدوي التقليدي من خلال دمج البحث في البنية العصبية (NAS). وتشمل مكوناته الأساسية ما يلي:

  • الهيكل الأساسي MAE-NAS: يتم اكتشاف الهيكل الأساسي تلقائيًا باستخدام طريقة الحواف المساعدة (MAE-NAS) لتعظيم الإنتاجية في ظل قيود زمن انتقال محددة.
  • RepGFPN: تصميم ثقيل يعتمد على شبكة هرم الميزات العامة (GFPN). يستخدم أبعاد قنوات متفاوتة عبر مستويات المقياس لتحسين دمج الميزات دون التكلفة الحسابية الباهظة لشبكات BiFPN النموذجية.
  • ZeroHead: رأس كشف خفيف الوزن يقلل من تعقيد طبقات التنبؤ النهائية، مما يوفر أجزاء من الثانية حاسمة أثناء الاستدلال.
  • AlignedOTA: استراتيجية محسّنة لتخصيص التسميات تحل مشاكل عدم التوافق بين مهام التصنيف والانحدار أثناء التدريب.

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

YOLO القوة الأساسية لـYOLO تصميمها الموجه نحو زمن الاستجابة. فباستخدام NAS، تستخرج أقصى دقة ممكنة من ميزانية حسابية محددة. ومع ذلك، يمكن أن تكون هذه التعقيدات سلاحًا ذا حدين؛ فقد يكون من الصعب تعديل البنية القائمة على NAS أو ضبطها لمجموعات البيانات المخصصة مقارنة بالبنى المصممة يدويًا. علاوة على ذلك، فإن اعتمادها على التقطير (حيث يوجه نموذج معلم كبير الطالب) يضيف تعقيدًا إلى مسار التدريب.

نظرة عامة على PP-YOLOE+

PP-YOLOE+ هو الإصدار المطور من PP-YOLOE، وهو بمثابة حجر الزاوية في مجموعة PaddleDetection. ويركز بشكل كبير على تنوع الاستخدامات في السحابة والحافة.

المؤلفون: PaddlePaddle
المنظمة:Baidu
التاريخ: 2 أبريل 2022
Arxiv:PP-YOLOE ورقة بحثية
GitHub:PaddlePaddle

الابتكارات المعمارية

يعتمد PP-YOLOE+ على نموذج بدون مرساة، مع التركيز على التحسين واستقرار التدريب:

  • CSPRepResStage: يستخدم العمود الفقري بنية CSP (Cross Stage Partial) قابلة للتوسع مع كتل متبقية قابلة لإعادة المعلمات، مما يسمح باستخراج الميزات المعقدة أثناء التدريب وتبسيط العمليات أثناء الاستدلال.
  • تعلم محاذاة المهام (TAL): مخطط ديناميكي لتعيين التسميات يحاذي بشكل واضح نقاط الربط مع الكائنات الحقيقية استنادًا إلى كل من درجة التصنيف و IoU التقاطع فوق الاتحاد).
  • الضغط والإثارة الفعالان (ESE): آلية انتباه مدمجة في العمود الفقري لتعزيز تمثيل الميزات من خلال إعادة معايرة استجابات الميزات حسب القناة.

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

يتميز PP-YOLOE+ بتكامل النظام البيئي. كونه جزءًا من PaddlePaddle فإنه يدعم بقوة أهداف النشر المتنوعة، بما في ذلك وحدات معالجة الرسومات (GPU) من جانب الخادم والأجهزة المحمولة. ومع ذلك، يمكن أن يتأثر أدائه في PyTorch القياسي بالحاجة إلى تحويل النماذج أو التكيف مع بناء جملة PaddlePaddle المحدد، مما قد يسبب صعوبات للمطورين المعتادين على PyTorch القياسي. PyTorch .

مقارنة الأداء

يوضح الجدول التالي الفروق في الأداء بين النموذجين على COCO .

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
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

تحليل

  • النماذج الصغيرة (نانو/صغيرة): يوفرYOLO دقة أعلى (mAP) للمتغيرات الصغيرة، مما يظهر فعالية بنيته الأساسية المُحسّنة بواسطة NAS في البيئات المقيدة. ومع ذلك، فإن PP-YOLOE+t أصغر بكثير من حيث عدد المعلمات (4.85 مليون مقابل 8.5 مليون)، مما قد يكون مفضلًا للأجهزة ذات سعة التخزين المحدودة للغاية.
  • النماذج المتوسطة إلى الكبيرة: مع زيادة حجم النموذج، يميل PP-YOLOE+ إلى التوسع بشكل أفضل من حيث الدقة، متجاوزًاYOLO الفئات المتوسطة والكبيرة (على سبيل المثال، 52.9 mAP 50.8 mAP الكبيرة).
  • سرعة الاستدلال:YOLO زمن انتقال فائق على TensorRT لمعظم الأحجام، مما يؤكد صحة بنيته التي تركز على زمن الاستجابة. على العكس من ذلك، يُظهر PP-YOLOE+s سرعة فعالة بشكل مدهش (2.62 مللي ثانية)، مما يجعله منافسًا قويًا لتطبيقات محددة في الوقت الفعلي.

ميزة Ultralytics: YOLO26

بينما يقدمYOLO PP-YOLOE+ ميزات جذابة لمجالات محددة، يمثل Ultralytics الخطوة التالية في تطور الرؤية الحاسوبية، حيث يعالج قيود كلا السلفين من خلال تغييرات جذرية في البنية وتحسينات في قابلية الاستخدام.

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

لماذا YOLO26 هو الخيار الأفضل

  1. تصميم شامل NMS: على عكس PP-YOLOE+ YOLO التقليدية التي تتطلب Non-Maximum Suppression (NMS) لتصفية المربعات المتداخلة، فإن YOLO26 شامل بطبيعته. وهذا يزيل أحد العوائق الرئيسية في النشر، ويقلل من تباين زمن الاستجابة ويبسط عملية التصدير إلى تنسيقات مثل ONNX و CoreML.
  2. CPU لا مثيل له: تم تحسين YOLO26 خصيصًا للحوسبة الطرفية، ويوفر CPU أسرع بنسبة تصل إلى 43٪ مقارنة بالأجيال السابقة. وهذا أمر بالغ الأهمية للتطبيقات التي تعمل على Raspberry Pi أو الهواتف المحمولة أو حالات السحابة القياسية حيث لا تتوفر وحدات معالجة الرسومات (GPU).
  3. استقرار التدريب المتقدم: يدمج YOLO26 محسن MuSGD، وهو مزيج من SGD Muon (مستوحى من تدريب LLM)، مما يضمن تقاربًا أسرع وتشغيلًا أكثر استقرارًا للتدريب، حتى مع مجموعات البيانات المخصصة المعقدة.
  4. بنية مبسطة: يؤدي إزالة فقدان بؤرة التوزيع (DFL) إلى تبسيط بنية النموذج، مما يعزز التوافق مع الأجهزة الطرفية والمسرعات منخفضة الطاقة التي تعاني من وظائف الخسارة المعقدة.
  5. نظام بيئي شامل: مع Ultralytics يحصل المستخدمون على إمكانية الوصول إلى خط أنابيب سلس لإدارة البيانات والتدريب على السحابة والنشر بنقرة واحدة.

تنوع لا يمكن اكتشافه

على عكسYOLO يركز بشكل أساسي على الكشف، يدعم YOLO26 بشكل أساسي مجموعة كاملة من المهام بما في ذلك تقسيم المثيلات، وتقدير الوضع، و OBB (مربع الحدود الموجه)، والتصنيف.

سهولة الاستخدام

إحدى السمات المميزة Ultralytics هي تجربة المطور. في حين أنYOLO PP-YOLOE+ قد تتطلب ملفات تكوين معقدة أو معرفة خاصة بالإطار، يمكن تنفيذ YOLO26 في بضع أسطر من التعليمات البرمجية.

from ultralytics import YOLO

# Load the latest YOLO26 nano model
model = YOLO("yolo26n.pt")

# Train the model on your custom dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Export to ONNX for deployment
model.export(format="onnx")

حالات الاستخدام في العالم الحقيقي

  • التجزئة الذكية: استخدم سرعة YOLO26 لمراقبة مخزون الرفوف في الوقت الفعلي دون الحاجة إلى GPU باهظة الثمن.
  • الزراعة: استفد من وظائف ProgLoss + STAL لتحسين التعرف على الأجسام الصغيرة، وهو أمر ضروري للكشف عن الآفات أو عد المحاصيل في صور الطائرات بدون طيار.
  • التصنيع: نشر نماذج NMS لمراقبة الجودة عالية السرعة على خطوط التجميع حيث لا يمكن التنازل عن زمن الاستجابة الثابت.

الخلاصة

يعتمد اختيار النموذج المناسب على القيود المحددة الخاصة بك. يعد YOLO خيارًا ممتازًا للبحث في بنى NAS والسيناريوهات التي تعطي الأولوية لأهداف TensorRT محددة. يعد PP-YOLOE+ خيارًا قويًا لأولئك الذين يتكاملون بعمق في نظام Baidu البيئي الذي يتطلب دقة عالية على أجهزة من فئة الخوادم.

ومع ذلك، بالنسبة للغالبية العظمى من المطورين والمؤسسات التي تبحث عن حل مستقبلي وسهل الاستخدام ومتعدد الاستخدامات، فإن Ultralytics هو الخيار الأمثل. تصميمه الشامل CPU الفائق ودعم مجتمع مفتوح المصدر نابض بالحياة يجعله الخيار الأمثل لتطبيقات الرؤية الحاسوبية الحديثة.

للمستخدمين المهتمين بخيارات أخرى متطورة، استكشفوا YOLO11 أو RT-DETR في Ultralytics .


تعليقات