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

YOLOv5 مقابل YOLOv6-3.0: موازنة نضج النظام البيئي والدقة الصناعية

في المشهد المتطور بسرعة لـ رؤية الحاسوب، يعد اختيار بنية اكتشاف الكائنات الصحيحة قرارًا محوريًا للمطورين والباحثين. تتعمق هذه المقارنة في الفروق الفنية بين Ultralytics YOLOv5، وهو نموذج أسطوري مشهور بإمكانية الوصول إليه ونظامه البيئي القوي، و Meituan YOLOv6-3.0، وهو إطار عمل مصمم خصيصًا للتطبيقات الصناعية. في حين أن كلا النموذجين يتفوقان في اكتشاف الكائنات، إلا أنهما يلبيان احتياجات نشر وتفضيلات سير عمل مختلفة.

Ultralytics YOLOv5

المؤلفون: Glenn Jocher
المنظمة: Ultralytics
التاريخ: 2020-06-26
GitHub: https://github.com/ultralytics/yolov5
المستندات: https://docs.ultralytics.com/models/yolov5/

منذ إصداره في عام 2020، أثبت YOLOv5 نفسه كواحد من نماذج الذكاء الاصطناعي الأكثر شعبية وموثوقية في العالم. تم بناؤه على إطار عمل PyTorch، وقد أعطى الأولوية لقابلية الاستخدام وقابلية التصدير والأداء "الجاهز للاستخدام"، مما أتاح الوصول إلى أحدث تقنيات الذكاء الاصطناعي البصري.

الهندسة المعمارية والنظام البيئي

يستخدم YOLOv5 عمودًا فقريًا CSPDarknet جنبًا إلى جنب مع رقبة PANet ورأس بنمط YOLOv3. تعتمد بنيته على المرساة، وتستخدم مربعات الارتساء للتنبؤ بمواقع الكائنات. والفرق الرئيسي هو تكامله في نظام بيئي ناضج. على عكس العديد من قواعد التعليمات البرمجية البحثية، تم تصميم YOLOv5 كمنتج للمهندسين، ويتميز بتصدير سلس إلى تنسيقات مثل ONNX وCoreML وTFLite، مما يجعله متعدد الاستخدامات بشكل استثنائي للنشر على الأجهزة المحمولة والحافة.

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

  • سهولة الاستخدام: يتم تحديد "تجربة YOLOv5" ببساطتها. من تدريب مجموعات البيانات المخصصة إلى تشغيل الاستدلال، فإن سير العمل مبسط وموثق جيدًا.
  • نظام بيئي مُدار بشكل جيد: يستفيد المستخدمون من الصيانة النشطة والتحديثات المتكررة والمجتمع الضخم. عمليات التكامل مع أدوات MLOps مثل Weights & Biases و Comet أصلية.
  • تعدد الاستخدامات: بالإضافة إلى الاكتشاف القياسي، يدعم المستودع instance segmentation و image classification، مما يوفر حلاً متعدد المهام في قاعدة تعليمات برمجية واحدة.
  • كفاءة الذاكرة: يُعرف YOLOv5 ببصمته المنخفضة نسبيًا في الذاكرة أثناء التدريب مقارنةً بالنماذج القائمة على المحولات، مما يجعله في متناول وحدات معالجة الرسومات GPUs الاستهلاكية.

نشر سلس

إن تركيز YOLOv5 على قابلية التصدير يسمح للمطورين بنشر النماذج بسهولة في بيئات متنوعة، من الخوادم السحابية إلى الأجهزة الطرفية مثل Raspberry Pi أو NVIDIA Jetson.

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

Meituan YOLOv6.0

المؤلفون: تشوي لي، لولو لي، ييفي قنغ، هونغ ليانغ جيانغ، منغ تشنغ، بو تشانغ، زيدان كه، شياو مينغ شو، و شيانغ شيانغ تشو
المنظمة: ميتوان
التاريخ: 2023-01-13
Arxiv: https://arxiv.org/abs/2301.05586
GitHub: https://github.com/meituan/YOLOv6
المستندات: https://docs.ultralytics.com/models/yolov6/

يضع YOLOv6-3.0، الذي تم تطويره بواسطة فريق رؤية الذكاء الاصطناعي في Meituan، نفسه كمنافس صناعي يركز على الموازنة بين السرعة والدقة، وتحديدًا للتطبيقات المدركة للأجهزة. لقد تم تصميمه لزيادة الإنتاجية إلى أقصى حد على وحدات معالجة الرسوميات (GPUs) باستخدام تحسين TensorRT.

الهيكلة والتركيز الصناعي

تستخدم YOLOv6 عمودًا فقريًا EfficientRep وعنق Rep-PAN، وتستفيد من تقنيات إعادة المعلمات (نمط RepVGG) لتحسين سرعة الاستدلال دون التضحية بالدقة. أثناء التدريب، يستخدم النموذج هيكلًا متعدد الفروع، والذي ينهار إلى هيكل أحادي الفرع أثناء الاستدلال. قدم الإصدار 3.0 استراتيجيات مثل التقطير الذاتي لزيادة متوسط الدقة (mAP).

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

  • تحسين وحدة معالجة الرسوميات (GPU): تم ضبط التصميم بشكل كبير للاستدلال القياسي لوحدة معالجة الرسوميات (GPU)، وغالبًا ما يحقق معايير FPS عالية على بطاقات NVIDIA T4 عند استخدام TensorRT.
  • Quantization Friendly: توفر Meituan دعمًا خاصًا للتكميم بعد التدريب (PTQ) والتدريب المدرك للتكميم (QAT)، وهو أمر بالغ الأهمية لبعض سيناريوهات النشر الصناعية.
  • تعدد استخدامات محدود: على الرغم من تفوق YOLOv6 في الاكتشاف، إلا أنه يفتقر إلى الدعم الأصلي الواسع متعدد المهام (مثل تقدير الوضعية أو obb) الموجود في مجموعة Ultralytics الشاملة.
  • التعقيد: يمكن أن تضيف خطوات إعادة التهيئة ومسارات التدريب المحددة تعقيدًا مقارنةً بالطبيعة سهلة الاستخدام لنماذج Ultralytics.

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

مقارنة أداء مباشرة

تسلط المقارنة أدناه الضوء على المفاضلات في الأداء. يهدف YOLOv6-3.0 إلى تحقيق ذروة الدقة على الأجهزة القوية، وغالبًا ما يضحي بكفاءة المعلمات. في المقابل، يحافظ Ultralytics YOLOv5 على توازن ملحوظ، حيث يقدم نماذج خفيفة الوزن تتفوق في البيئات القائمة على وحدة المعالجة المركزية CPU و الاستدلال في الوقت الفعلي على الأجهزة الطرفية.

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4
YOLOv6-3.0n64037.5-1.174.711.4
YOLOv6-3.0s64045.0-2.6618.545.3
YOLOv6-3.0m64050.0-5.2834.985.8
YOLOv6-3.0l64052.8-8.9559.6150.7

التحليل

تبرز YOLOv5n كحل فعال للغاية لتطبيقات الهاتف المحمول، حيث تتطلب عددًا أقل بكثير من المعلمات (2.6 مليون) مقارنة بأصغر متغير YOLOv6 (4.7 مليون). في حين أن YOLOv6-3.0 تحقق ذروة mAP أعلى بأحجام أكبر، إلا أنها تفعل ذلك على حساب زيادة حجم النموذج (FLOPs والمعلمات). بالنسبة للمطورين الذين يستهدفون نشر CPU (الشائع في الروبوتات أو المراقبة منخفضة الطاقة)، يتم قياس سرعات CPU الخاصة بـ YOLOv5 وتحسينها بشكل صريح، في حين تركز YOLOv6 بشكل كبير على تسريع GPU.

منهجيات التدريب والخبرة

تختلف تجربة التدريب اختلافًا كبيرًا بين النظامين البيئيين. تعطي Ultralytics الأولوية لنهج منخفض التعليمات البرمجية وعالي المرونة.

سير عمل Ultralytics

يمكن دمج YOLOv5 مباشرةً عبر PyTorch Hub، مما يسمح للمستخدمين بتحميل النماذج وتشغيلها بأقل قدر من التعليمات البرمجية القياسية. يعالج البرنامج النصي للتدريب كل شيء بدءًا من زيادة البيانات وحتى التسجيل تلقائيًا.

import torch

# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Perform inference
img = "https://ultralytics.com/images/zidane.jpg"
results = model(img)
results.print()

سير العمل الصناعي

تتطلب YOLOv6 بشكل عام إعدادًا يدويًا أكثر يتضمن استنساخ المستودع وإعداد ملفات تكوين محددة للعمود الفقري لإعادة المعلمات وتشغيل البرامج النصية الأقل تكاملاً مع أدوات MLOps الخارجية الجاهزة. على الرغم من قوتها، إلا أنها تتطلب فهمًا أعمق للقيود المعمارية المحددة (مثل معلمات التقطير الذاتي) لتحقيق المعايير المرجعية المبلغ عنها.

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

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

  • Ultralytics YOLOv5: الخيار الأمثل للنماذج الأولية السريعة والنشر على الحافة ودعم المجتمع. إذا كنت بحاجة إلى النشر على Raspberry Pi أو هاتف محمول أو خادم CPU، فإن الطبيعة خفيفة الوزن لـ YOLOv5 ودعم التصدير لا مثيل لهما. كما أنه مثالي للباحثين الذين يحتاجون إلى قاعدة بيانات متعددة الاستخدامات تدعم segmentation و classification جنبًا إلى جنب مع detect.
  • Meituan YOLOv6-3.0: الأنسب للبيئات صناعية ثابتة حيث تتوفر وحدات معالجة الرسومات المتطورة، وتعظيم mAP هو الأولوية الوحيدة. إذا كنت تقوم ببناء نظام ضمان جودة المصنع يعمل على خوادم NVIDIA T4/A10 ولديك الموارد الهندسية لضبط النماذج التي تمت إعادة تحديد معلماتها بدقة، فإن YOLOv6 هو مرشح قوي.

الخلاصة

لا تزال Ultralytics YOLOv5 حجر الزاوية في مجتمع رؤية الكمبيوتر، ويُحتفى بها بسبب توازن الأداء و سهولة الاستخدام والنظام البيئي المزدهر. إن قدرتها على تقديم نتائج موثوقة عبر مجموعة واسعة من الأجهزة - من الحافة إلى السحابة - تجعلها خيارًا فائقًا لمعظم المطورين الذين يعطون الأولوية للتنوع والوقت اللازم لطرح المنتج في السوق.

في حين أن YOLOv6-3.0 يقدم ابتكارات معمارية رائعة لاستدلال GPU الصناعي، إلا أنه يفتقر إلى النظام البيئي الشامل والقدرة على التكيف متعدد المنصات لنماذج Ultralytics. بالنسبة لأولئك الذين يبحثون عن أحدث ما توصلوا إليه في الأداء والكفاءة، نوصي باستكشاف Ultralytics YOLO11، والذي يتجاوز كلاً من YOLOv5 و YOLOv6 في الدقة والسرعة مع الاحتفاظ بواجهة برمجة تطبيقات Ultralytics سهلة الاستخدام.

بالنسبة للمهام المتخصصة، قد يفكر المطورون أيضًا في نماذج أخرى في وثائق Ultralytics، مثل YOLOv8، و YOLOv9، و YOLOv10، أو RT-DETR المستندة إلى المحولات.

استكشف الإمكانات الكاملة للرؤية الذكاء الاصطناعي في وثائق نماذج Ultralytics.


تعليقات