YOLOX مقابل YOLOv7#
دُفع تطور كشف الكائنات اللحظي من خلال اختراقات معمارية مستمرة. تعد YOLOX و YOLOv7 علامتين فارقتين هامتين في هذه المسيرة. فمع إصدارهما خلال عام واحد من بعضهما البعض، قدم كلا النموذجين نهجًا جديدًا لنموذج كشف الكائنات القياسي، مما أدى إلى تحسين المفاضلة بين السرعة والدقة بشكل كبير.
تقدم هذه الصفحة تحليلاً تقنيًا متعمقًا لنموذجي YOLOX و YOLOv7، حيث تقارن بين معمارياتهما، ومقاييس أدائهما، وحالات الاستخدام المثالية لمساعدة المطورين في اختيار الأداة المناسبة لعمليات النشر الخاصة برؤية الحاسوب.
YOLOX: ريادة الكشف بدون مرساة (Anchor-Free)#
قدم باحثون في Megvii نموذج YOLOX في يوليو 2021، وقد مثل تحولًا كبيرًا بالابتعاد عن التصميمات التقليدية القائمة على المرساة (anchor-based). ومن خلال سد الفجوة بين البحث الأكاديمي والتطبيق الصناعي، عمل YOLOX على تبسيط رأس الكشف وتحسين الأداء العام.
تفاصيل النموذج الرئيسية:
- المؤلفون: Zheng Ge، وSongtao Liu، وFeng Wang، وZeming Li، وJian Sun
- المؤسسة: Megvii
- التاريخ: 2021-07-18
- ورقة بحثية: arXiv:2107.08430
- الكود المصدري: Megvii YOLOX GitHub
- التوثيق: وثائق YOLOX على GitHub
الابتكارات المعمارية#
قدم YOLOX نهجًا خاليًا من المرساة (anchor-free)، مما قلل بشكل كبير من عدد معلمات التصميم والضبط التجريبي المطلوب لمجموعات البيانات المخصصة. وقد نفذ رأسًا مفككًا (decoupled head)، يفصل بين مهام التصنيف والانحدار، مما أدى إلى تحسين سرعة التقارب والدقة. بالإضافة إلى ذلك، استخدم YOLOX استراتيجيات متقدمة لـ تعزيز البيانات مثل MixUp و Mosaic لتعزيز متانة النموذج.
من خلال التخلص من صناديق المرساة (anchor boxes)، يقلل YOLOX من العبء الحسابي لحساب تقاطع الاتحاد (IoU) بين التوقعات والحقائق الأساسية أثناء التدريب، مما يؤدي إلى انخفاض متطلبات ذاكرة CUDA وأوقات تدريب أسرع.
YOLOv7: مجموعة الحلول المجانية القابلة للتدريب#
في يوليو 2022، دفع باحثون في معهد علوم المعلومات التابع لـ Academia Sinica في تايوان حدود كشف الكائنات اللحظي إلى أبعد من ذلك عبر نموذج YOLOv7. وقد قدم مفهوم "حقيبة الميزات القابلة للتدريب" (trainable bag-of-freebies)، واضعًا معايير جديدة هي الأفضل من نوعها على مجموعة بيانات MS COCO عند إصداره.
تفاصيل النموذج الرئيسية:
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديمية سينيكا، تايوان
- التاريخ: 2022-07-06
- ورقة بحثية: arXiv:2207.02696
- الكود المصدري: WongKinYiu YOLOv7 GitHub
- التوثيق: Ultralytics YOLOv7 Docs
الابتكارات المعمارية#
تم بناء معمارية YOLOv7 حول شبكة تجميع الطبقات الفعالة الموسعة (E-ELAN)، والتي تسمح للنموذج بتعلم ميزات أكثر تنوعًا باستمرار دون تدهور مسار التدرج. علاوة على ذلك، استخدم YOLOv7 تقنيات إعادة إعداد المعلمات للنموذج (model re-parameterization)، مما مكن من تبسيط شبكات التدريب المعقدة متعددة الفروع إلى شبكات أحادية المسار أسرع أثناء الاستدلال.
مقارنة الأداء#
عند تقييم هذه النماذج للتطبيقات الواقعية، يعد فهم أدائها عبر مختلف المقاييس أمرًا بالغ الأهمية. يقارن الجدول أدناه المقاييس القياسية لأحجام مختلفة من YOLOX و YOLOv7.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
تحليل#
- الدقة: يحقق YOLOv7 بشكل عام mAP أعلى مقارنة بنماذج YOLOX المكافئة. على سبيل المثال، يحقق YOLOv7x دقة 53.1 mAP مقارنة بـ 51.1 لنموذج YOLOXx.
- السرعة: على الرغم من أن كلا النموذجين محسنان للغاية لتنفيذ GPU باستخدام TensorRT، توفر معمارية E-ELAN في YOLOv7 إنتاجية أفضل قليلاً للتطبيقات المتطورة، على الرغم من أن YOLOX يحافظ على زمن وصول ممتاز على أجهزة الحافة الأصغر.
- تعدد الاستخدامات: وسع YOLOv7 ذخيرته إلى ما هو أبعد من صناديق الإحاطة (bounding boxes) من خلال توفير أوزان بشكل أصلي لـ تجزئة الكائنات وتقدير الوضعية، مما يجعله أكثر تنوعًا من مستودع YOLOX الأساسي.
تطبيقات العالم الحقيقي#
غالبًا ما يعتمد الاختيار بين هذه النماذج على بيئة النشر الخاصة بك.
الحوسبة الطرفية وإنترنت الأشياء (IoT)#
بالنسبة لأجهزة الحافة المقيدة مثل Raspberry Pi أو معالجات الهواتف المحمولة القديمة، تعد نماذج YOLOX-Nano و YOLOX-Tiny جذابة للغاية. إن عدد معلماتها الضئيل وطبيعتها الخالية من المرساة تجعل من السهل نشرها في البيئات منخفضة الطاقة لمهام مثل تتبع الحركة الأساسي أو تطبيقات جرس الباب الذكي.
تحليلات الفيديو عالية الدقة#
لمعالجة الخلاصات عالية الدقة في كشف العيوب الصناعية أو مراقبة الازدحام المروري الكثيف، يعتبر YOLOv7 متفوقًا. يتيح تجميع الميزات القوي له الحفاظ على دقة عالية حتى عندما تكون الكائنات محجوبة جزئيًا أو متغيرة بشكل كبير في الحجم.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOX و YOLOv7 على متطلبات مشروعك الخاصة، وقيود النشر، وتفضيلات النظام البيئي.
متى تختار YOLOX#
يعد YOLOX خياراً قوياً لـ:
- أبحاث الكشف بدون نقاط ارتكاز: البحث الأكاديمي الذي يستخدم بنية YOLOX النظيفة والخالية من نقاط الارتكاز كخط أساس لتجربة رؤوس كشف جديدة أو دوال خسارة مبتكرة.
- أجهزة الحافة خفيفة الوزن للغاية: النشر على وحدات التحكم الدقيقة أو أجهزة الجوال القديمة حيث يكون البصمة الصغيرة جداً لمتغير YOLOX-Nano (0.91 مليون معلمة) أمراً بالغ الأهمية.
- دراسات تخصيص التصنيفات SimOTA: المشاريع البحثية التي تبحث في استراتيجيات تخصيص التصنيفات القائمة على النقل الأمثل وتأثيرها على تقارب التدريب.
متى تختار YOLOv7#
يُنصح بـ YOLOv7 في الحالات التالية:
- قياس الأداء الأكاديمي: إعادة إنتاج نتائج متطورة من حقبة 2022 أو دراسة تأثيرات تقنيات E-ELAN و"حقيبة الأدوات المجانية" القابلة للتدريب.
- أبحاث إعادة التقييم (Reparameterization): دراسة الالتفافات المعاد تقييمها المخطط لها واستراتيجيات قياس النموذج المركب.
- خطوط الأنابيب المخصصة الحالية: المشاريع ذات خطوط الأنابيب المخصصة للغاية المبنية حول معمارية YOLOv7 المحددة التي لا يمكن إعادة تصميمها بسهولة.
متى تختار Ultralytics (YOLO26)#
بالنسبة لمعظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:
- نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استنتاجاً متسقاً ومنخفض زمن الانتقال دون تعقيدات معالجة ما بعد المعالجة باستخدام كبت غير الأقصى.
- بيئات وحدة المعالجة المركزية (CPU) فقط: الأجهزة التي لا تحتوي على تسريع مخصص بوحدة معالجة الرسوميات (GPU)، حيث توفر سرعة استنتاج CPU أسرع بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- اكتشاف الكائنات الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار أو تحليل مستشعرات IoT حيث تعزز ProgLoss و STAL الدقة بشكل كبير على الكائنات الصغيرة جداً.
ميزة Ultralytics#
بينما يعد كل من YOLOX و YOLOv7 تطبيقات بحثية قوية، إلا أن الانتقال من مستودع بحثي إلى بيئة إنتاج قابلة للتوسع قد يكون أمرًا شاقًا. وهنا تبرز منصة Ultralytics.
توفر نماذج Ultralytics واجهة برمجة تطبيقات Python موحدة، تتعامل مع تدريب النموذج والتحقق منه ونشره كمهام مبسطة وموحدة. أنت تتجنب عناء إدارة التبعيات المعقدة لجهات خارجية أو معاملات C++ مخصصة شائعة في المعماريات القديمة.
علاوة على ذلك، تتطلب نماذج Ultralytics YOLO ذاكرة CUDA أقل بكثير أثناء التدريب مقارنة بالكواشف القائمة على المحولات مثل RT-DETR. يتيح هذا للممارسين استخدام أحجام دفعات أكبر، مما يؤدي إلى تثبيت التدريب وتسريع التقارب على مجموعات البيانات المخصصة.
تدعم Ultralytics بشكل أصلي تصدير النماذج إلى تنسيقات قياسية في الصناعة مثل ONNX و OpenVINO و CoreML باستخدام علامة منطقية بسيطة، مما يبسط إلى حد كبير عملية نشر النموذج.
مثال برمجي: التدريب باستخدام Ultralytics#
يسمح لك نظام Ultralytics البيئي بتحميل وتدريب وتشغيل الاستدلال بسهولة باستخدام YOLOv7 أو المعماريات الأحدث ببضعة أسطر فقط من الكود.
from ultralytics import YOLO
# Load a pre-trained YOLOv7 model
model = YOLO("yolov7.pt")
# Train the model on a custom dataset (e.g., COCO8)
# The API handles data loading, augmentation, and memory management automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on a test image
predictions = model("path/to/image.jpg")
predictions[0].show()المستقبل: Ultralytics YOLO26#
في حين يمثل YOLOv7 و YOLOX خطوات تاريخية مهمة، إلا أن حالة التكنولوجيا تتطور بسرعة. في يناير 2026، تم إطلاق Ultralytics YOLO26 ليقدم نماذج رائدة تحل محل النماذج السابقة.
- تصميم كامل بدون NMS: يلغي YOLO26 بشكل أصلي المعالجة اللاحقة لـ كبت غير الأعظمية (NMS). هذا يقلل بشكل كبير من اختناقات زمن الوصول ويضمن أوقات تنفيذ حتمية عبر إعدادات الأجهزة المتنوعة.
- سرعة استدلال وحدة المعالجة المركزية (CPU) أسرع بنسبة تصل إلى 43%: من خلال إزالة خسارة التوزيع البؤري (DFL) وتحسين عمق الشبكة، تم تصميم YOLO26 بشكل كبير لأجهزة الحافة التي تفتقر إلى أجهزة GPU مخصصة.
- مُحسِّن MuSGD: مستوحى من تقنيات تدريب LLM المتقدمة، يوفر مُحسِّن MuSGD (هجين من SGD و Muon) استقرار تدريب استثنائي وتقاربًا أسرع.
- تحسين كشف الكائنات الصغيرة: يوفر دمج وظائف الخسارة ProgLoss + STAL تحسينات كبيرة في التعرف على الكائنات الصغيرة والبعيدة، وهو أمر بالغ الأهمية لـ رسم خرائط الطائرات بدون طيار والمراقبة الأمنية.
- دعم المهام الأصلي: يدعم YOLO26 بشكل شامل صناديق الإحاطة الموجهة (OBB) وتجزئة الكائنات وتقدير الوضعية أصليًا ضمن نفس واجهة برمجة التطبيقات المبسطة.
بالنسبة لأي مطور حديث يبدأ مشروع رؤية حاسوب جديد اليوم، فإن تقييم Ultralytics YOLO26 على المنصة هو المسار الموصى به لتحقيق أفضل توازن مطلق بين السرعة والدقة وبساطة النشر. بالنسبة لأولئك الذين يقومون بالترقية من الأجيال السابقة مثل YOLO11 أو YOLOv8، يتطلب الانتقال تغيير سلسلة النموذج فقط، مما يفتح قدرات فائقة على الفور.