YOLOX مقابل YOLOv10#
اتسم تطور نماذج الرؤية الحاسوبية الآنية بقفزات معمارية كبيرة. ومن المحطات المحورية في هذه الرحلة YOLOX وYOLOv10. أُطلق YOLOX في عام 2021، وتمكن بنجاح من سد الفجوة بين البحث الأكاديمي والتطبيق الصناعي من خلال تقديم تصميم فعال للغاية خالٍ من المراسي. وبعد ثلاث سنوات، أحدث YOLOv10 ثورة في المجال بإلغاء الحاجة إلى قمع غير الأقصى (NMS) أثناء المعالجة اللاحقة، متجاوزًا حدود الكفاءة والسرعة.
تستعرض هذه المقارنة التقنية الشاملة معماريات كلا النموذجين ومقاييس أدائهما وحالات الاستخدام المثالية لهما، مقدمةً رؤى تساعدك على اختيار الأداة المناسبة لمشروعك التالي في اكتشاف الأجسام.
أصول النماذج وبياناتها الوصفية#
يوفر فهم أصول هذه النماذج سياقًا لاختياراتها المعمارية وبيئات النشر المستهدفة لها.
تفاصيل YOLOX
- المؤلفون: Zheng Ge وSongtao Liu وFeng Wang وZeming Li وJian Sun
- المنظمة: Megvii
- التاريخ: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- الوثائق: https://github.com/Megvii-BaseDetection/YOLOX/tree/main/docs
تفاصيل YOLOv10
- المؤلفون: Ao Wang، Hui Chen، Lihao Liu، Kai Chen، Zijia Lin، Jungong Han، و Guiguang Ding
- الجهة: جامعة تسينغهوا
- التاريخ: 2024-05-23
- Arxiv: https://arxiv.org/abs/2405.14458
- GitHub: https://github.com/THU-MIG/yolov10
- التوثيق: https://docs.ultralytics.com/models/yolov10
الابتكارات المعمارية#
تتمثل الفروق الأساسية بين YOLOX وYOLOv10 في كيفية تعاملهما مع تنبؤات مربعات الإحاطة والمعالجة اللاحقة.
YOLOX: تصميم رائد خالٍ من المراسي#
أحدث YOLOX تحولًا كبيرًا بنقل عائلة YOLO إلى معمارية خالية من المراسي. فمن خلال التنبؤ بمركز الجسم بدلًا من الاعتماد على مربعات مراسي محددة مسبقًا، قلّل YOLOX بشكل كبير عدد معلمات التصميم والضبط الاستكشافي المطلوب لمجموعات البيانات المخصصة. علاوة على ذلك، قدم رأسًا مفصولًا يفصل مهمتي التصنيف والانحدار إلى مسارين متميزين. وقد عالج هذا النهج التعارض بين تحديد ماهيّة الجسم وتحديد موضعه، مما أدى إلى تحسن ملحوظ في سرعة التقارب والدقة.
YOLOv10: ثورة خالية من NMS#
على الرغم من أن YOLOX بسّط رأس الكشف، فإنه ظل يعتمد على NMS لتصفية تنبؤات مربعات الإحاطة المتكررة. عالج YOLOv10 عنق الزجاجة الأساسي هذا. ومن خلال استخدام إسنادات مزدوجة متسقة أثناء التدريب، يحقق YOLOv10 كشفًا أصليًا شاملًا من البداية إلى النهاية. ويستخدم رأسًا من واحد إلى متعدد أثناء التدريب لضمان إشارات إشراف غنية، بينما يستخدم رأسًا من واحد إلى واحد أثناء الاستدلال لإخراج التنبؤات النهائية مباشرةً. يلغي هذا التصميم الشامل، المدفوع بالكفاءة والدقة، NMS تمامًا، مما يقلل زمن استدلال الشرائح المضمنة بشكل كبير.
غالبًا ما يكون قمع غير الأقصى عملية معقدة لتسريعها على وحدات المعالجة العصبية (NPUs). وبإزالتها، يتيح YOLOv10 تنفيذ رسم النموذج بالكامل بسلاسة على الأجهزة المتخصصة، مما يحسن التوافق بشكل كبير مع أطر التحسين مثل OpenVINO وTensorRT.
مقاييس الأداء والمقارنة#
عند تقييم النماذج للإنتاج، من الضروري تحقيق توازن بين الدقة والنفقات الحسابية. يوضح الجدول أدناه المفاضلات بين المقاييس المختلفة لـ YOLOX وYOLOv10.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة T4 TensorRT10 (مللي ثانية) | المعاملات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
تحليل البيانات#
توضح المقاييس بجلاء القفزة الجيلية التي حققها YOLOv10. فعلى سبيل المثال، يحقق YOLOv10-S متوسط الدقة المتوسطة البالغ 46.7% مقارنةً بـ 46.9% للنموذج YOLOX-m، لكنه يفعل ذلك باستخدام أقل من ثلث عدد المعلمات (7.2M مقابل 25.3M) وعدد أقل بكثير من FLOPs. علاوة على ذلك، يرفع النموذج المتطور YOLOv10-X قيمة mAP إلى 54.4%، مما يجعله منافسًا قويًا لمهام الدقة الصعبة، مع بقائه أسرع من معمارية YOLOX-x الأقدم.
ميزة منظومة Ultralytics#
مع بقاء YOLOX تطبيقًا بحثيًا قويًا مفتوح المصدر، يتيح اعتماد YOLOv10 الوصول الفوري إلى المنظومة المتكاملة جيدة الصيانة التي توفرها Ultralytics. ويضمن اختيار نموذج تدعمه Ultralytics تجربة مستخدم مبسطة تتميز بواجهة API بسيطة ووثائق شاملة.
يستفيد المطورون كثيرًا من متطلبات الذاكرة الخاصة بالإطار؛ إذ يستهلك تدريب نماذج Ultralytics عادةً ذاكرة CUDA أقل بكثير من البدائل الثقيلة القائمة على Transformer مثل RT-DETR. وتتيح بصمة التدريب الفعالة هذه أحجام دفعات أكبر على الأجهزة المخصصة للمستهلكين، مما يسرّع الانتقال من جمع البيانات إلى نشر النموذج. علاوة على ذلك، يوفر الإطار تعدد استخدامات لا يضاهى، إذ يتيح للمستخدمين التبديل بسلاسة بين اكتشاف الأجسام وتجزئة المثيلات وتقدير الوضعيات مع إجراء تغييرات طفيفة على الشيفرة.
مثال على التدريب والاستدلال#
تجعل واجهة API الموحدة عملية التحقق من الأفكار سريعة للغاية. يوضح المقتطف التالي مدى سهولة تدريب نموذج YOLOv10 ونشره باستخدام الواجهة الخلفية PyTorch:
from ultralytics import YOLO
# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")
# Export the model for edge deployment
model.export(format="engine", quantize=16)وبالاستفادة من إجراءات التصدير المضمنة، لا يتطلب تحويل النماذج إلى تنسيقات مثل TensorRT أو ONNX سوى سطر واحد من الشيفرة، مع تجاوز عقبات الترجمة المعقدة بالكامل.
حالات الاستخدام المثالية وسيناريوهات النشر#
يعتمد الاختيار بين هاتين المعماريتين إلى حد كبير على قيود الأجهزة ومتطلبات المجال المحددة.
تحليلات الفيديو الآنية#
بالنسبة إلى التطبيقات التي تتطلب زمن استجابة منخفضًا للغاية، مثل القيادة الذاتية أو مراقبة حركة المرور الآنية، يُعد YOLOv10 الخيار الأفضل. يضمن تصميمه الشامل من البداية إلى النهاية والخالي من NMS أزمنة تنفيذ حتمية، وهو أمر بالغ الأهمية لأنظمة السلامة التي لا يمكنها تحمل زمن استجابة متغيرًا للمعالجة اللاحقة. وتحقق النماذج بسهولة معدلات إطارات مرتفعة على أجهزة مثل سلسلة NVIDIA Jetson.
خطوط الأساس الأكاديمية ووحدات التحكم الدقيقة الطرفية#
لا يزال لـ YOLOX قيمة في البيئات الأكاديمية التي يرغب فيها الباحثون في استخدام خط أساس نظيف ذي رأس مفصول للتجريب باستراتيجيات إسناد التسميات. بالإضافة إلى ذلك، يمكن تشغيل YOLOX-Nano الصغير للغاية (بأقل من مليون معلمة) على وحدات التحكم الدقيقة الطرفية شديدة القيود، حيث تُقاس الذاكرة بالكيلوبايت، شريطة أن تدعم الأجهزة عمليات الالتفاف القياسية.
المعيار الأسمى: Ultralytics YOLO26#
على الرغم من أن YOLOv10 حقق قفزة هائلة بإزالة NMS، فإن مجال الرؤية الحاسوبية يتقدم بسرعة. وبالنسبة إلى المطورين الذين يهدفون إلى تطبيق أفضل أداء في فئته اليوم، نوصي بشدة باستكشاف YOLO26.
بصفته أحدث معيار في مجال الذكاء الاصطناعي للرؤية، يستفيد YOLO26 من الأفكار الأساسية لأسلافه ويعززها بقوة. فهو يوفر التوازن الأمثل في الأداء، مع دعم أصلي للكشف والتجزئة والوضعيات ومربعات الإحاطة الموجهة.
إليك أسباب كون YOLO26 الخيار الموصى به لخطوط معالجة الرؤية الحاسوبية الحديثة:
- تصميم شامل من البداية إلى النهاية وخالٍ من NMS: استنادًا إلى إنجازات YOLOv10، يعمل YOLO26 أصليًا من البداية إلى النهاية، مما يضمن أزمنة استدلال أسرع وحتمية دون اختناقات المعالجة اللاحقة.
- استدلال على CPU أسرع بنسبة تصل إلى 43%: جرى تحسينه خصيصًا للحوسبة الطرفية، مما يضمن أداءً استثنائيًا على المعالجات المحمولة والأجهزة التي تفتقر إلى GPU منفصل.
- مُحسِّن MuSGD: مستوحًى من تدريب نماذج اللغة الكبيرة (وتحديدًا Kimi K2 من Moonshot AI)، يستخدم YOLO26 مزيجًا من SGD وMuon لتحقيق تدريب مستقر للغاية وتقارب سريع.
- ProgLoss + STAL: توفر دوال الخسارة المتقدمة هذه تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية للمجالات الصعبة مثل الصور الجوية وملاحة الطائرات المسيّرة.
- إزالة DFL: من خلال إزالة خسارة البؤرة التوزيعية، يبسّط YOLO26 رسم النموذج بهدف تصديره بسلاسة إلى الأجهزة الطرفية ومنخفضة الطاقة.
- تحسينات خاصة بالمهام: سواء كنت تستخدم تقدير الاحتمالية اللوغاريتمية المتبقية (RLE) لتقدير الوضعية أو خسارة زاوية متخصصة لـ OBB، فإن YOLO26 مضبوط بدقة لكل مهمة رئيسية من مهام الرؤية.
بالنسبة إلى المطورين المستعدين لترقية خطوط معالجة البيانات لديهم باستخدام أكفأ أدوات التدريب والنشر المتاحة، يضمن الانتقال إلى منصة Ultralytics والاستفادة من YOLO26 بقاءك في طليعة الذكاء الاصطناعي. ويمكن للمستخدمين المهتمين بالمعماريات الأقدم ولكن المستقرة أيضًا مراجعة YOLO11 أو YOLOv8 للاستفادة من دعم مجتمعي واسع ومتانة مثبتة.