YOLOX مقابل YOLOv7#
لقد قاد التطور في object detection في الوقت الفعلي تحقيق اختراقات معمارية مستمرة. وهناك محطتان رئيسيتان في هذه الرحلة هما YOLOX و YOLOv7. فمن خلال إطلاقهما بفارق عام تقريباً، قدم كلا النموذجين مقاربات مبتكرة لنموذج اكتشاف الكائنات القياسي، مما أدى إلى تحسين المقايضة بين السرعة و accuracy بشكل ملحوظ.
تقدم هذه الصفحة تحليلاً تقنيًا متعمقًا لنموذجي YOLOX و YOLOv7، حيث تقارن بين معمارياتهما، ومقاييس أدائهما، وحالات الاستخدام المثالية لمساعدة المطورين في اختيار الأداة المناسبة لعمليات النشر الخاصة برؤية الحاسوب.
YOLOX: ريادة الكشف بدون مرساة (Anchor-Free)#
قدم باحثون في Megvii نموذج YOLOX في يوليو 2021، وقد مثل تحولًا كبيرًا بالابتعاد عن التصميمات التقليدية القائمة على المرساة (anchor-based). ومن خلال سد الفجوة بين البحث الأكاديمي والتطبيق الصناعي، عمل YOLOX على تبسيط رأس الكشف وتحسين الأداء العام.
تفاصيل النموذج الرئيسية:
- المؤلفون: Zheng Ge، وSongtao Liu، وFeng Wang، وZeming Li، وJian Sun
- Organization: Megvii
- التاريخ: 2021-07-18
- ورقة بحثية: arXiv:2107.08430
- الشفرة المصدرية: Megvii YOLOX GitHub
- الوثائق: وثائق YOLOX على GitHub
الابتكارات المعمارية#
قدمت YOLOX نهجاً خالياً من نقاط الارتكاز (anchor-free)، مما قلل بشكل جذري من عدد معاملات التصميم والضبط الاستدلالي المطلوب لمجموعات البيانات المخصصة. وقد طبقت رأساً مفصولاً يمهد لفصل مهام التصنيف والانحدار، مما أدى إلى تحسين سرعة التقارب والدقة. بالإضافة إلى ذلك، استخدمت YOLOX استراتيجيات متقدمة لـ data augmentation مثل MixUp و Mosaic لتعزيز متانة النموذج.
من خلال القضاء على صناديق الارتكاز، تقلل YOLOX العبء الحسابي لحساب التقاطع على الاتحاد (IoU) بين التنبؤات والحقائق الأرضية أثناء التدريب، مما ينتج عنه متطلبات أقل لـ CUDA memory وأوقات تدريب أسرع.
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.
- السرعة: على الرغم من تحسين كلا النموذجين بشكل كبير لتنفيذ وحدة المعالجة الرسومية باستخدام TensorRT، إلا أن بنية E-ELAN في YOLOv7 توفر إنتاجية أفضل قليلاً للتطبيقات المتطورة، على الرغم من أن YOLOX تحافظ على زمن انتقال ممتاز على أجهزة الحافة الأصغر.
- التعددية: قامت YOLOv7 بتوسيع نطاق استخدامها إلى ما بعد صناديق الإحاطة من خلال توفير أوزان أصلية لـ instance segmentation و pose estimation، مما يجعلها أكثر تنوعاً من مستودع 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 Platform.
توفر نماذج Ultralytics واجهة برمجة تطبيقات Python موحدة، تتعامل مع تدريب النموذج والتحقق منه ونشره كمهام مبسطة وموحدة. أنت تتجنب عناء إدارة التبعيات المعقدة لجهات خارجية أو معاملات C++ مخصصة شائعة في المعماريات القديمة.
علاوة على ذلك، تتطلب نماذج Ultralytics YOLO ذاكرة CUDA أقل بكثير أثناء التدريب مقارنة بكاشفات المستندة إلى المُحول (transformer-based) مثل RT-DETR. يتيح هذا للممارسين استخدام أحجام دفعات batch sizes أكبر، مما يعمل على تثبيت التدريب وتسريع التقارب على مجموعات البيانات المخصصة.
تدعم Ultralytics بليونة تصدير النماذج إلى التنسيقات القياسية للصناعة مثل ONNX و OpenVINO و CoreML باستخدام علامة منطقية بسيطة، مما يسهل بشكل كبير model deployment process.
مثال برمجي: التدريب باستخدام 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 محلياً المعالجة اللاحقة لـ Non-Maximum Suppression (NMS). وهذا يقلل بشكل كبير من اختناقات زمن الانتقال ويضمن أوقات تنفيذ حتمية عبر إعدادات الأجهزة المتنوعة.
- سرعة استدلال وحدة المعالجة المركزية (CPU) أسرع بنسبة تصل إلى 43%: من خلال إزالة خسارة التوزيع البؤري (DFL) وتحسين عمق الشبكة، تم تصميم YOLO26 بشكل كبير لأجهزة الحافة التي تفتقر إلى أجهزة GPU مخصصة.
- مُحسِّن MuSGD: مستوحى من تقنيات تدريب LLM المتقدمة، يوفر مُحسِّن MuSGD (هجين من SGD و Muon) استقرار تدريب استثنائي وتقاربًا أسرع.
- تحسين اكتشاف الكائنات الصغيرة: يوفر دمج دالتي الخسارة ProgLoss + STAL تحسينات كبيرة في التعرف على الكائنات الصغيرة والبعيدة - وهو أمر بالغ الأهمية لـ drone mapping ومراقبة الأمان.
- دعم المهام الأصلية: يدعم YOLO26 بشكل شامل Oriented Bounding Boxes (OBB)، وتقسيم المثيلات (instance segmentation)، وتقدير وضعية الجسم (pose estimation) أصلياً داخل نفس واجهة برمجة التطبيقات المبسطة.
لأي مطور حديث يبدأ مشروع رؤية حاسوبية جديداً اليوم، فإن تقييم Ultralytics YOLO26 on the Platform هو المسار الموصى به لتحقيق أفضل توازن مطلق بين السرعة والدقة وبساطة النشر. وبالنسبة لأولئك الذين يقومون بالتحديث من الأجيال السابقة مثل YOLO11 أو YOLOv8، فإن الانتقال يتطلب تغيير سلسلة النموذج فقط، مما يتيح إمكانيات فائقة على الفور.