YOLOv10 مقابل YOLOX: مقارنة تقنية
في المشهد سريع التطور في مجال الرؤية الحاسوبية، يعد اختيار النموذج الصحيح لاكتشاف الأجسام أمرًا بالغ الأهمية لتحقيق التوازن بين الأداء والكفاءة وسهولة النشر. تستكشف هذه المقارنة التقنية الاختلافات بين YOLOv10وهو أحدث كاشف شامل في الوقت الحقيقي من جامعة تسينغهوا، و YOLOX، وهو نموذج مرموق خالٍ من الارتكاز من شركة Megvii.
بينما قدم YOLOX ابتكارات مهمة في عام 2021 فيما يتعلق بآليات الكشف الخالية من الارتكاز، يمثل YOLOv10 أحدث ما توصل إليه عام 2024، حيث يقدم استدلالاً NMS وتكاملًا أكثر إحكامًا مع نظامUltralytics البيئي.
YOLOv10: الكشف من النهاية إلى النهاية في الوقت الفعلي
يهدف YOLOv10 إلى سد الفجوة بين كفاءة ما بعد المعالجة وبنية النموذج. من خلال تقديم استراتيجية تعيين مزدوجة متسقة للتدريب NMS فإنه يلغي الحاجة إلى الكبح غير الأقصى (NMS) أثناء الاستدلال، مما يقلل بشكل كبير من زمن الاستجابة.
تفاصيل فنية:
- المؤلفون: Ao Wang, Hui Chen, Lihao Liu، وآخرون.
- المنظمةجامعة تسينغهوا
- التاريخ: 2024-05-23
- اركسيف:arXiv:2405.14458
- جيثب:THU-MIG/yolov10
الهندسة المعمارية ونقاط القوة
يعتمد YOLOv10 على نقاط القوة في أجيال YOLO السابقة ولكنه يحسّن البنية من أجل تحقيق الكفاءة والدقة. وهو يستخدم تصميم نموذج شامل يتضمن رؤوس تصنيف خفيفة الوزن وتصغير حجم القناة المكانية المنفصلة عن القناة المكانية.
- الاستدلالNMS: تُعد إزالة NMS مغيرًا لقواعد اللعبة بالنسبة لتطبيقات الاستدلال في الوقت الحقيقي، مما يضمن زمن استجابة يمكن التنبؤ به ونفقات أقل CPU على الأجهزة الطرفية.
- التوازن بين الكفاءة والدقة: يحقق YOLOv10 أداءً متطورًا مع عدد أقل من المعلمات وعمليات التشغيل المتتالية مقارنةً بسابقاته ومنافسيه.
- تكامل Ultralytics : أن تكون مدعومًا بالكامل من
ultralyticsتعني الحزمة أن المستخدمين يستفيدون من Python APIتصدير سلس إلى تنسيقات مثل TensorRT و OpenVINOوالوثائق الشاملة.
ميزة النظام البيئي
يوفر تكامل YOLOv10 في نظام Ultralytics البيئي وصولاً فورياً إلى ميزات متقدمة مثل التعليق التلقائي والتدريب السحابي ومجتمع قوي للدعم.
نقاط الضعف
- بنية أحدث: كإصدار عام 2024، ينمو النظام البيئي للبرامج التعليمية للجهات الخارجية بسرعة، ولكنه قد لا يتطابق بعد مع حجم النماذج القديمة القديمة.
يولوكس: الرائد الخالي من المرساة
تم إصدار YOLOX في عام 2021، وقد تحول YOLOX إلى آلية خالية من المراسي ورؤوس منفصلة، مبتعدًا بذلك عن النهج القائم على المراسي في YOLOv4 و YOLOv5. وهو يستخدم SimOTA (تعيين النقل الأمثل المبسط) لتعيين التسمية، والتي كانت خطوة مهمة إلى الأمام في استراتيجيات تعيين التسمية الديناميكية.
تفاصيل فنية:
- المؤلفون: تشنغ قه، سونغتاو ليو، فنغ وانغ، زيمينغ لي، وجيان صن
- المنظمةميجفي
- التاريخ: 2021-07-18
- اركسيف:arXiv:2107.08430
- جيثبMegvii-BaseDetection/YOLOX
الهندسة المعمارية ونقاط القوة
لا يزال YOLOX خط أساس قوي في مجتمع الأبحاث نظرًا لتصميمه النظيف الخالي من المرساة.
- آلية خالية من المرساة: من خلال إزالة مربعات الارتكاز المحددة مسبقًا، يقلل YOLOX من تعقيد التصميم وعدد المعلمات الفائقة التي تتطلب الضبط.
- الرأس المنفصل: أدى فصل مهام التصنيف وتحديد الموقع إلى تحسين سرعة التقارب والدقة مقارنةً بالتصميمات القديمة ذات الرأس المزدوج.
- خط أساس قوي: يُستخدم كمعيار موثوق للبحث الأكاديمي في رؤوس الاكتشاف واستراتيجيات التعيين.
نقاط الضعف
- سرعة الاستدلال: على الرغم من كفاءة YOLOX بالنسبة لوقته، إلا أنه يتخلف بشكل عام عن الموديلات الأحدث مثل YOLOv10 و YOLO11 من حيث سرعة الاستدلال الخام، خاصةً عندما يؤخذ وقت NMS في الحسبان.
- سير العمل المجزأ: على عكس نماذج Ultralytics غالبًا ما تتطلب YOLOX قاعدة الرموز الخاصة بها وإعداد بيئتها الخاصة، وتفتقر إلى الواجهة الموحدة للتدريب والتحقق من الصحة والنشر الموجودة في الأطر الحديثة.
- كثافة الموارد: عدد أعلى من وحدات FLOP وعدد المعلمات لمستويات دقة مماثلة مقارنةً بالبنى الحديثة الفعالة.
تحليل الأداء
تسلط المقارنة أدناه الضوء على التطورات الكبيرة التي تحققت في الكفاءة والدقة على مدار السنوات الثلاث التي تفصل بين هذه النماذج. تركز المقاييس على حجم النموذج (المعلمات) والتكلفة الحسابية (FLOPs) والدقةmAP) على مجموعة بيانات COCO .
| النموذج | الحجم (بالبكسل) | mAPفال 50-95 | السرعة وحدة المعالجة المركزية CPU ONNX (بالمللي ثانية) | السرعة T4 TensorRT10 (بالمللي ثانية) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
الملاحظات النقدية
- الدقة مقابل الحجم: يوفر YOLOv10 باستمرار دقة mAP أعلى مع عدد أقل من المعلمات. على سبيل المثال، يحقق YOLOv10s 46.7 mAP مع 7.2 مليون معلمة فقط، بينما يحقق YOLOv10s 40.5 mAP مع 9.0 مليون معلمة. وهذا يوضح كفاءة YOLOv10 المعمارية المتفوقة.
- كفاءة الحوسبة: عدد وحدات FLOPs لنماذج YOLOv10 أقل بكثير. يعمل YOLOv10x بـ 160.4 مليار فلوب مقارنةً بـ 281.9 مليار فلوب ضخمة من YOLOv10x، بينما لا يزال يتفوق عليه في الدقة (54.4 مقابل 51.1 mAP).
- سرعة الاستدلال: تسمح إزالة NMS والبنية المحسّنة لـ YOLOv10 بتحقيق زمن استجابة أقل. تُظهِر معايير T4 TensorRT أن YOLOv10x يعمل بسرعة 12.2 مللي ثانية، وهو أسرع بكثير من YOLOXx بسرعة 16.1 مللي ثانية.
حالات الاستخدام المثالية
YOLOv10: المعيار الحديث
YOLOv10 هو الخيار المفضل لمعظم مشاريع التطوير الجديدة، لا سيما تلك التي تتطلب:
- نشر الذكاء الاصطناعي المتطور: بصمة الذاكرة المنخفضة والكفاءة العالية تجعلها مثالية لأجهزة مثل Raspberry Pi أو NVIDIA Jetson.
- تطبيقات الوقت الحقيقي: تستفيد الأنظمة التي تتطلب تغذية راجعة فورية، مثل القيادة الذاتية والروبوتات وتحليلات الفيديو، من زمن الاستجابة المنخفض NMS.
- التطور السريع: يتيح نظام Ultralytics البيئي إمكانية إجراء إدارة مجموعة البياناتوالتدريب والنشر عبر
ultralytics.
يولوكس: الإرث والأبحاث
تظل YOLOX ذات صلة بـ
- البحث الأكاديمي: غالبًا ما يستخدم الباحثون الذين يدرسون تطور أجهزة الكشف الخالية من الارتكاز أو استراتيجيات تعيين التسميات المحددة مثل SimOTA، YOLOX كخط أساس.
- الأنظمة القديمة: قد تستمر خطوط أنابيب الإنتاج الحالية التي تم تحسينها بالفعل لـ YOLOX في استخدامها حيث تفوق تكاليف الترقية مكاسب الأداء.
استخدام YOLOv10 مع Ultralytics
تتمثل إحدى أهم مزايا YOLOv10 في سهولة استخدامه. تعمل واجهة برمجة تطبيقات Ultralytics Python على تبسيط سير العمل بالكامل، بدءًا من تحميل الأوزان المدربة مسبقًا إلى التدريب على البيانات المخصصة.
فيما يلي مثال على كيفية تشغيل التنبؤات وتدريب نموذج YOLOv10 :
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")
# Train the model on a custom dataset (COCO format)
model.train(data="coco8.yaml", epochs=100, imgsz=640)
كفاءة التدريب
تشتهر نماذج Ultralytics YOLO بكفاءة التدريب، وغالباً ما تتطلب ذاكرة CUDA أقل من البنى القديمة أو النماذج القائمة على المحولات. يسمح ذلك بتدريب دفعات أكبر على وحدات معالجة الرسومات الاستهلاكية القياسية.
الخلاصة
بينما لعبت YOLOX دورًا محوريًا في تعميم الكشف الخالي من المراسي, YOLOv10 يمثل القفزة التالية إلى الأمام في تكنولوجيا الرؤية الحاسوبية. يوفر YOLOv10 حزمة مقنعة للمطورين والباحثين على حد سواء، بفضل بنيته NMS ونسبة الدقة إلى الحوسبة الفائقة والتكامل السلس في نظام Ultralytics القوي.
بالنسبة لأولئك الذين يتطلعون إلى نشر أحدث ما توصلت إليه التكنولوجيا في مجال اكتشاف الأجسام، يوفر YOLOv10 السرعة والدقة اللازمتين. قد يفكر المطورون المهتمون بقدرات أوسع، مثل تقدير الوضعية أو المربعات المحدودة الموجهة، في استكشاف YOLO11 أو YOLO11 متعدد الاستخدامات أو YOLOv8.