YOLOv8 مقابل YOLOv10: مقارنة تقنية شاملة
يعد اختيار النموذج الصحيح لاكتشاف الأجسام أمرًا محوريًا لنجاح أي مشروع رؤية حاسوبية. يقدم هذا الدليل مقارنة تقنية مفصلة بين Ultralytics YOLOv8 و YOLOv10وتحليل ابتكاراتهما المعمارية ومقاييس الأداء وحالات الاستخدام المثالية. في حين يقدم YOLOv10 تحسينات جديدة في الكفاءة، يظل Ultralytics YOLOv8 قوة مهيمنة بسبب نظامه البيئي القوي، وتعدد استخداماته التي لا مثيل لها، وموثوقيته المثبتة في سيناريوهات النشر المتنوعة.
Ultralytics YOLOv8: المعيار متعدد الاستخدامات
صدر في يناير 2023, Ultralytics YOLOv8 يمثّل قفزة كبيرة إلى الأمام في سلسلةYOLO حيث تم تصميمه ليس فقط كنموذج بل كإطار عمل شامل للذكاء الاصطناعي للرؤية. وهو يعطي الأولوية لقابلية الاستخدام والمرونة، مما يجعله الخيار المفضل للمطورين بدءاً من الهواة إلى مهندسي المؤسسات.
- المؤلفون: Glenn Jocher و Ayush Chaurasia و Jing Qiu
- المنظمةUltralytics
- التاريخ: 2023-01-10
- جيثب:ultralytics
- المستندات:وثائقYOLOv8
البنية والقدرات
يستخدم YOLOv8 آلية الكشف الخالية من الارتكاز، والتي تبسّط عملية التدريب من خلال إلغاء الحاجة إلى تحديد صندوق الارتكاز يدويًا. يعمل هذا النهج على تحسين التعميم عبر أشكال الأجسام المختلفة. تتميز بنيته برأس منفصل وعمود فقري حديث يوازن بين التكلفة الحسابية والدقة العالية.
من الخصائص المميزة لـ YOLOv8 دعمه الأصلي متعدد المهام. على عكس العديد من النماذج المتخصصة، يوفر YOLOv8 إمكانيات جاهزة لـ
المزايا الرئيسية
يُعد النظام الإيكولوجي المُعتنى به جيدًا المحيط بـ YOLOv8 ميزة هائلة. فهو يتكامل بسلاسة مع Ultralytics HUB لتدريب النماذج وإدارتها، ويوفر خيارات تصدير واسعة النطاق إلى تنسيقات مثل ONNX TensorRT CoreML. بالإضافة إلى ذلك، فإن متطلبات الذاكرة الخاصة به أثناء التدريب والاستدلال أقل بكثير من البنى القائمة على المحولات، مما يضمن تشغيله بكفاءة على الأجهزة القياسية.
YOLOv10: تجاوز حدود الكفاءة
YOLOv10الذي طوره باحثون في جامعة تسينغهوا، يركز بشكل كبير على تحسين خط أنابيب الاستدلال من خلال إزالة الاختناقات المرتبطة بالمعالجة اللاحقة.
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المنظمةجامعة تسينغهوا
- التاريخ: 2024-05-23
- اركسيف:arXiv:2405.14458
- جيثب:THU-MIG/yolov10
- المستنداتوثائقYOLOv10
الابتكارات المعمارية
الميزة البارزة في YOLOv10 هي استراتيجية التدريبNMS. تعتمد أجهزة الكشف عن الكائنات التقليدية على الكبت غير الأقصى (NMS) لتصفية المربعات المحدودة المتداخلة أثناء الاستدلال، مما قد يؤدي إلى تأخير في الاستنتاج. يستخدم YOLOv10 تعيينات مزدوجة متسقة أثناء التدريب - يجمع بين الإشراف الفردي والمتعدد للإشارات الإشرافية الغنية والمطابقة الفردية للاستدلال الفعال. يسمح ذلك للنموذج بالتنبؤ بالمربعات المحدودة الدقيقة دون الحاجة إلى NMS)، مما يقلل من زمن الاستجابة من طرف إلى طرف.
تشتمل البنية أيضًا على تصميم شامل يجمع بين الكفاءة والدقة، ويتميز برؤوس تصنيف خفيفة الوزن وتقليل التداخل بين القنوات المكانية لتقليل التكرار الحسابي (FLOPs) وعدد المعلمات.
مقاييس الأداء والتحليل
عند مقارنة هذين النموذجين، من الضروري النظر إلى ما هو أبعد من مجرد أرقام الدقة البحتة. في حين أن YOLOv10 يُظهر كفاءة مذهلة من حيث المعلمات, YOLOv8 يحافظ على أداء قوي عبر مجموعة واسعة من الأجهزة والمهام.
جدول المقارنة
يسلط الجدول أدناه الضوء على الأداء على مجموعة بياناتCOCO . يُحقِّق YOLOv10 mAP أعلى في سرعة الاستدلال مع عدد أقل من المعلمات في بعض الحالات، لكن يظل YOLOv8 منافسًا للغاية في سرعة الاستدلال، خاصةً على معايير CPU GPU القياسية.
| النموذج | الحجم (بالبكسل) | mAPفال 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
التحليل النقدي
- توازن الأداء: يوفر YOLOv8 مفاضلة ممتازة بين السرعة والدقة. فسرعاته على CPU (عبر ONNX) موثقة ومُحسّنة بشكل جيد، مما يجعله خيارًا موثوقًا لعمليات النشر التي تفتقر إلى أجهزة GPU المتخصصة.
- كفاءة التدريب: تشتهر نماذج Ultralytics بعمليات التدريب الفعالة. يمكن للمستخدمين في كثير من الأحيان تحقيق التقارب بشكل أسرع باستخدام المعلمات الفائقة المحسّنة في YOLOv8 والأوزان المتاحة بسهولة والمدرّبة مسبقًا.
- نضج النظام الإيكولوجي: بينما يوفر YOLOv10 مكاسب نظرية في الكفاءة، فإن YOLOv8 يستفيد من سنوات من التحسين في نظام Ultralytics البيئي. يتضمن ذلك دعمًا مكثفًا لزيادة البيانات، والتصحيح المجتمعي النشط، والتكامل مع أدوات مثل Weights & Biases و Comet.
أهمية تعدد الاستخدامات
إذا كان مشروعك يتطلب أكثر من مجرد مربعات محدّدة - مثل فهم لغة الجسد عبر تقدير الوضعية أو ترسيم الحدود بدقة عبر YOLOv8 -فإن YOLOv10 هو الفائز الواضح لأن YOLOv10 متخصص حاليًا بشكل أساسي في اكتشاف الأجسام.
حالات الاستخدام المثالية
متى تختار Ultralytics YOLOv8
إن YOLOv8 هو الخيار الموصى به للغالبية العظمى من التطبيقات في العالم الحقيقي نظرًا لتعدد استخداماته وسهولة استخدامه.
- حلول الذكاء الاصطناعي متعددة الأوجه: مثالية للمشاريع التي تتطلب تجزئة النماذج أو التصنيف إلى جانب الكشف.
- النشر المؤسسي: مثالي للشركات التي تحتاج إلى إطار عمل مستقر ومدعوم مع خيارات ترخيص واضحة وتكامل في خطوط أنابيب MLOPS الحالية.
- البيع بالتجزئة الذكي: قدرتها على التعامل مع مهام متعددة تجعلها مناسبة لتحليلات البيع بالتجزئة المعقدة مثل مراقبة الرفوف وتحليل سلوك العملاء.
- النماذج الأولية السريعة: تتيح واجهة برمجة تطبيقات Python البسيطة للمطورين الانتقال من المفهوم إلى النموذج المدرَّب في دقائق.
متى تختار YOLOv10
من الأفضل حجز YOLOv10 لمنافذ محددة حيث تكون قيود الأجهزة شديدة.
- الذكاء الاصطناعي ذو الكمون الحرج في زمن الاستجابة: التطبيقات على وحدات التحكم الدقيقة أو الأنظمة المدمجة القديمة حيث يتم احتساب كل جزء من الثانية من زمن الاستجابة للاستدلال.
- معالجة الفيديو عالية الإنتاجية: سيناريوهات مثل إدارة حركة المرور حيث يمكن أن يؤدي تقليل وقت ما بعد المعالجة لكل إطار إلى توفير موارد حوسبة كبيرة بشكل تراكمي.
تنفيذ الكود
إحدى السمات المميزة لنظام Ultralytics البيئي هي سهولة الاستخدام. يمكن الوصول إلى كلا النموذجين من خلال ultralytics حزمة Python مما يضمن تجربة مطور متناسقة للمطورين.
فيما يلي مثال على كيفية تشغيل الاستدلال باستخدام YOLOv8الذي يوضح بساطة واجهة برمجة التطبيقات.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Perform object detection on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
وبالمثل، نظرًا لأن Ultralytics تدعم النظام الإيكولوجي الأوسع، يمكنك غالبًا تبديل الأوزان بسهولة لتجربة البنى الأخرى، شريطة أن تكون مدعومة داخل المكتبة.
التصدير السلس
يوفر Ultralytics أمرًا من سطر واحد لتصدير نماذجك المدربة إلى تنسيقات ملائمة للنشر. يعمل هذا الأمر بشكل لا تشوبه شائبة مع YOLOv8 لإنشاء نماذج محسّنة للإنتاج:
# Export YOLOv8 model to ONNX format
model.export(format="onnx")
الخلاصة
يُعدّ كل من YOLOv8 و YOLOv10 إنجازين رائعين في هندسة الرؤية الحاسوبية. يتخطى YOLOv10 حدود الكفاءة المعمارية من خلال تصميمه NMS)، مما يجعله منافسًا قويًا لمهام الكشف المتخصصة للغاية والحساسة لوقت الاستجابة.
ومع ذلك، من أجل تطوير قوي ومتعدد الاستخدامات ومستقبلي, Ultralytics YOLOv8 يظل الخيار الأفضل. حيث توفر قدرته على التعامل مع التصنيف والتجزئة وتقدير الوضعية في إطار عمل واحد قيمة لا مثيل لها. إلى جانب التوثيق الشامل، والدعم المجتمعي النشط، والتكامل السلس مع Ultralytics HUB، يمكّن YOLOv8 المطورين من بناء حلول ذكاء اصطناعي شاملة بشكل أسرع وأكثر موثوقية.
لأولئك الذين يبحثون عن أحدث ما توصل إليه الأداء المطلق، نوصي أيضاً باستكشاف YOLO11الذي يعتمد على نقاط القوة في YOLOv8 لتقديم دقة وسرعة أكبر.