YOLOX ضد YOLOv6-3.0: مقارنة فنية
يعد اختيار بنية الكشف عن الكائنات الصحيحة قرارًا حاسمًا للمطورين والباحثين الذين يهدفون إلى تحقيق التوازن بين الأداء والسرعة والكفاءة الحسابية. تستكشف هذه المقارنة الشاملة الفروق الفنية بين YOLOX، وهو كاشف عالي الأداء وخالي من المرساة من Megvii، و YOLOv6-3.0، وهو إطار عمل صناعي تم تطويره بواسطة Meituan. من خلال تحليل بنياتهما ومعاييرهما ومنهجيات التدريب الخاصة بهما، نهدف إلى إرشادك نحو أفضل نموذج لتطبيقات الرؤية الحاسوبية المحددة الخاصة بك.
YOLOX: سد الفجوة بين البحث والصناعة
المؤلفون: تشنغ قه، سونغ تاو ليو، فنغ وانغ، تسه مينغ لي، و جيان صن
المنظمة:Megvii
التاريخ: 2021-07-18
Arxiv:https://arxiv.org/abs/2107.08430
GitHub:https://github.com/Megvii-BaseDetection/YOLOX
المستندات:https://yolox.readthedocs.io/en/latest/
يمثل YOLOX، الذي تم إصداره في عام 2021، تحولًا كبيرًا في سلالة YOLO من خلال اعتماد آلية خالية من المرساة ودمج تقنيات الكشف المتقدمة التي كانت مخصصة سابقًا للبحث الأكاديمي. من خلال إزالة الاعتماد على مربعات الإرساء المحددة مسبقًا، قام YOLOX بتبسيط عملية التدريب وتحسين التعميم عبر مختلف أشكال الكائنات.
البنية والميزات الرئيسية
يتميز YOLOX بهيكل "رأس مفصول". على عكس نماذج YOLO التقليدية التي جمعت بين مهام التصنيف والتوطين في فرع واحد، يفصل YOLOX بينهما، مما يحسن بشكل كبير من سرعة التقارب والدقة. وهو يستخدم إستراتيجية تعيين التسميات SimOTA (تعيين النقل الأمثل المبسط)، والتي تقوم بتعيين عينات موجبة ديناميكيًا لكائنات ground truth، مما يقلل من عدم استقرار التدريب.
تصميم خالي من المراسي
يزيل YOLOX الحاجة إلى تجميع مربع الارتكاز اليدوي، وهي خطوة شائعة في إصدارات YOLO السابقة. هذا يقلل من عدد المعلمات الفائقة التجريبية وخيارات التصميم المتضمنة في التدريب، مما يجعل النموذج أكثر قوة لمجموعات البيانات المتنوعة دون ضبط مكثف.
نقاط القوة والضعف
نقاط القوة:
- دقة عالية: يسمح الرأس المفصول وتعيين الملصقات المتقدم لـ YOLOX بتحقيق درجات متوسط دقة (mAP) تنافسية، خاصة على مجموعة بيانات COCO.
- مرونة البحث: تصميمها المبسط يجعلها خط أساس ممتاز للباحثين الذين يجرون تجارب على رؤوس الكشف الجديدة أو استراتيجيات التعيين.
- اكتشاف الكائنات الصغيرة: يمكن أن يوفر النهج الخالي من المرساة أحيانًا أداءً أفضل على الكائنات الصغيرة مقارنة بالأنظمة الصلبة القائمة على المرساة.
نقاط الضعف:
- زمن انتقال الاستدلال: على الرغم من دقته، فإن الرأس المنفصل يقدم حملًا حسابيًا إضافيًا طفيفًا، مما يؤدي غالبًا إلى سرعات استدلال أبطأ مقارنةً بالنماذج الصناعية المحسّنة بالكامل مثل YOLOv6.
- نضج النظام البيئي: في حين أن التعليمات البرمجية مفتوحة المصدر، إلا أن النظام البيئي لأدوات الطرف الثالث وأدلة النشر ودعم المجتمع أصغر من نظام Ultralytics YOLOv8 أو YOLOv5.
حالات الاستخدام المثالية
تعتبر YOLOX مناسبة بشكل خاص للبحث الأكاديمي والسيناريوهات التي تعطى فيها الأولوية للدقة على سرعة الاستدلال الخام.
- التصوير الطبي: تحليل الهياكل المعقدة في تحليل الصور الطبية حيث تكون الدقة ذات أهمية قصوى.
- الكشف عن العيوب: تحديد الحالات الشاذة الدقيقة في التصنيع حيث يكون للكشف الفائت تكلفة باهظة.
- التجارب الأكاديمية: تستخدم كخط أساس نظيف وخالٍ من المرساة لتطوير خوارزميات رؤية حاسوبية جديدة.
YOLOv6-3.0: مصمم للسرعة الصناعية
المؤلفون: تشوي لي، لولو لي، ييفي جينغ، هونغليانغ جيانغ، مينغ تشنغ، بو تشانغ، زيدان كه، شياومينغ شو، و شيانغشيانغ تشو
المنظمة:Meituan
التاريخ: 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 عبارة عن كاشف للأجسام مصمم خصيصًا للتطبيقات الصناعية في العالم الحقيقي. قدم تحديث "3.0"، المعروف باسم "إعادة تحميل كاملة النطاق"، تحسينات معمارية كبيرة لزيادة الإنتاجية إلى أقصى حد على أجهزة مثل وحدات معالجة الرسوميات NVIDIA.
البنية والميزات الرئيسية
يكمن جوهر YOLOv6-3.0 في استخدامه المكثف لـ إعادة المعلمات. يستخدم النموذج EfficientRep العمود الفقري ورقبة Rep-PAN، مما يسمح للشبكة بالحصول على هياكل معقدة ومتعددة الفروع أثناء التدريب ولكنها تنهار إلى هياكل بسيطة ذات مسار واحد أثناء الاستدلال. يضمن هذا النهج "نمط RepVGG" قدرة عالية على استخراج الميزات دون عقوبة زمن الوصول لوقت التشغيل للفروع المعقدة.
بالإضافة إلى ذلك، يستخدم YOLOv6-3.0 التدريب بمساعدة المرساة (AAT)، والجمع بين فوائد النماذج القائمة على المرساة وغير القائمة على المرساة لتحقيق الاستقرار في التدريب وتسريع التقارب.
نقاط القوة والضعف
نقاط القوة:
- سرعة استثنائية: مُحسَّن لـ TensorRT، يوفر YOLOv6-3.0 زمن انتقال منخفض للغاية، مما يجعله مثاليًا لتطبيقات fps العالية.
- جاهز للنشر: ميزات مثل دعم تحديد كمية النموذج تسهل النشر بسهولة أكبر على الأجهزة والخوادم الطرفية.
- الكفاءة: توفر تقنية إعادة التهيئة توازنًا ممتازًا بين FLOPs والدقة.
نقاط الضعف:
- حدة موارد التدريب: يمكن لبنية وقت التدريب المعقدة (قبل إعادة المعلمات) أن تتطلب ذاكرة GPU كبيرة مقارنةً بالنماذج الأبسط.
- نطاق مهمة محدود: يركز YOLOv6 بشكل أساسي على الاكتشاف (detection). يفتقر إلى الدعم الأصلي والمتكامل للمهام الأخرى مثل تقدير الوضع أو مربعات الإحاطة الموجهة (OBB) ضمن نفس واجهة برمجة التطبيقات السلسة الموجودة في عروض Ultralytics.
حالات الاستخدام المثالية
يتألق YOLOv6-3.0 في البيئات التي يكون فيها سرعة الاستدلال في الوقت الفعلي مطلبًا صارمًا.
- الروبوتات الذاتية: تمكين الروبوتات من التنقل والتفاعل مع البيئات الديناميكية على الفور.
- فحص خط الإنتاج: فحص الجودة عالي السرعة على أحزمة التصنيع حيث لا يمكن المساس بالإنتاجية.
- تحليل الفيديو: معالجة تدفقات فيديو متعددة في وقت واحد من أجل أنظمة الإنذار الأمني.
مقارنة أداء مباشرة
تكشف مقارنة مقاييس الأداء على مجموعة بيانات COCO عن فلسفات تصميم متميزة. يقدم YOLOX بنية مبسطة بدقة محترمة، بينما يدفع YOLOv6-3.0 حدود سرعة الاستدلال من خلال التحسين الهيكلي.
| النموذج | الحجم (بالبكسل) | 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 |
| YOLOv6-3.0n | 640 | 37.5 | - | 1.17 | 4.7 | 11.4 |
| YOLOv6-3.0s | 640 | 45.0 | - | 2.66 | 18.5 | 45.3 |
| YOLOv6-3.0m | 640 | 50.0 | - | 5.28 | 34.9 | 85.8 |
| YOLOv6-3.0l | 640 | 52.8 | - | 8.95 | 59.6 | 150.7 |
تُظهر البيانات أن YOLOv6-3.0n أسرع بشكل ملحوظ على أجهزة GPU (1.17 مللي ثانية مقابل 2.56 مللي ثانية لـ YOLOXs) مع الحفاظ أيضًا على mAP قوي. بالنسبة للأجهزة ذات الموارد المحدودة حيث يهم كل ميغابايت، يظل YOLOXnano خيارًا مثيرًا للاهتمام بمعاملات أقل من 1 مليون، على الرغم من أن دقته أقل. في الطرف الأعلى، يتفوق YOLOv6-3.0l على YOLOXx في كل من الدقة (52.8 مقابل 51.1 mAP) والكفاءة، باستخدام ما يقرب من 40% معاملات أقل.
منهجيات التدريب والنظام البيئي
تختلف تجربة المستخدم لتدريب هذه النماذج اختلافًا كبيرًا.
YOLOX تعتمد على تقنيات زيادة البيانات القوية مثل Mosaic و MixUp لتحقيق نتائجها بدون أوزان مُدرَّبة مسبقًا. إن مسار التدريب الخاص بها موجه نحو البحث، مما يوفر المرونة لأولئك الذين لديهم معرفة عميقة بتكوينات PyTorch.
YOLOv6-3.0 تستخدم التقطير الذاتي، حيث يوجه نموذج معلم أكبر النموذج الطالب أثناء التدريب، مما يعزز دقة النماذج الأصغر دون زيادة تكلفة الاستدلال. هذه المنهجية قوية ولكنها تضيف تعقيدًا إلى إعداد التدريب.
ومع ذلك، غالبًا ما يجد المطورون الذين يعطون الأولوية لسير عمل مبسط أن النظام البيئي Ultralytics متفوق. على عكس الأدوات المجزأة التي غالبًا ما توجد في نماذج الأبحاث المستقلة، توفر Ultralytics نظامًا أساسيًا موحدًا.
- سهولة الاستخدام: يتيح Python API بسيط التدريب والتحقق من الصحة و الاستدلال في بضعة أسطر فقط من التعليمات البرمجية.
- نظام بيئي مُدار بشكل جيد: تضمن التحديثات المتكررة التوافق مع أحدث إصدارات PyTorch و CUDA وتنسيقات التصدير مثل ONNX و OpenVINO.
- كفاءة التدريب: تم تحسين نماذج Ultralytics لتحقيق كفاءة في استخدام الذاكرة، وغالبًا ما يتم التدريب بشكل أسرع وباستخدام ذاكرة GPU أقل من البنى القائمة على المحولات المماثلة.
سهولة استخدام Ultralytics
إن تدريب نموذج حديث باستخدام Ultralytics بسيط مثل:
from ultralytics import YOLO
# Load a model
model = YOLO("yolo11n.pt")
# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
الخلاصة: ميزة Ultralytics
في حين أن YOLOX يقدم تصميمًا مبتكرًا خاليًا من anchor ومناسبًا للبحث، و YOLOv6-3.0 يقدم سرعة رائعة لأجهزة صناعية معينة، فإن Ultralytics YOLO11 يمثل قمة تكنولوجيا رؤية الكمبيوتر الحالية.
يوفر YOLO11 و YOLOv8 الراسخ توازنًا فائقًا في الأداء، حيث يحققان أحدث نتائج mAP بسرعات استدلال ملحوظة عبر كل من CPU و GPU. على عكس المنافسين الذين يقتصرون بشكل أساسي على الكشف، تقدم نماذج Ultralytics تنوعًا لا مثيل له، وتدعم أصلاً ما يلي:
بالنسبة للمطورين الباحثين عن حل مضمون للمستقبل مدعوم بتطوير نشط، ووثائق شاملة، ومجتمع مزدهر، تظل Ultralytics الخيار الموصى به لنقل المشاريع من الفكرة إلى الإنتاج.
لاستكشاف المزيد من المقارنات، ضع في اعتبارك القراءة عن YOLOv5 مقابل YOLOv6 أو YOLO11 مقابل RT-DETR.