YOLOv7 و YOLOX: تحليل تقني لكواشف الوقت الفعلي
اتسم تطور الرؤية الحاسوبية بالتقدم السريع في كشف الأجسام في الوقت الفعلي. وتعتبر YOLOv7 و YOLOX اثنتين من المحطات المحورية في هذه المسيرة. وبينما دفع كلا النموذجين حدود السرعة والدقة، إلا أنهما تبنيا فلسفات معمارية مختلفة لتحقيق نتائجهما. يقدم هذا الدليل مقارنة تقنية شاملة بين هذين النموذجين القويين، مما يساعدك على اختيار البنية الصحيحة لمشاريع الرؤية الحاسوبية الخاصة بك.
مقدمة عن النماذج
يعد فهم الأصول وخيارات التصميم الأساسية لهذه النماذج أمراً بالغ الأهمية لنشرها بفعالية في عمليات تعلم الآلة الحديثة.
تفاصيل YOLOv7
تم تطوير YOLOv7 بواسطة الباحثين الذين حافظوا على بنيتي CSPNet و Scaled-YOLOv4، وقدمت نهج "مجموعة الهدايا القابلة للتدريب" (trainable bag-of-freebies) لتعظيم الدقة دون زيادة تكلفة الاستدلال.
- المؤلفون: Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao
- المنظمة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- الوثائق: وثائق Ultralytics YOLOv7
تفاصيل YOLOX
اتخذت YOLOX مساراً مختلفاً من خلال إعادة النموذج إلى الكشف الخالي من المراسي (anchor-free)، مع تبسيط بنية الرأس بشكل كبير مع الحفاظ على أداء قوي.
- المؤلفون: 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
- التوثيق: التوثيق الرسمي لـ YOLOX
الاختلافات المعمارية والابتكارات
تكمن الاختلافات الجوهرية بين YOLOv7 و YOLOX في نهج كل منهما تجاه استخراج الميزات، وتوقع المربع المحيط (bounding box)، وتعيين التسميات (label assignment).
YOLOX: الرائد الخالي من المراسي (Anchor-Free)
أحدثت YOLOX ثورة في عائلة YOLO من خلال الانتقال إلى تصميم خالٍ من المراسي. تتطلب الكواشف التقليدية المعتمدة على المراسي ضبطاً استرشادياً معقداً لتجميع صناديق المراسي، وهو ما يمكن أن يكون معتمداً بشكل كبير على مجموعة البيانات. ومن خلال القضاء على صناديق المراسي، قللت YOLOX بشكل كبير من عدد معلمات التصميم. علاوة على ذلك، تستخدم YOLOX رأساً منفصلاً (decoupled head)، حيث يتم فصل مهام التصنيف وتحديد الموقع إلى فروع شبكة متميزة. هذا يحل الصراع الكامن بين تصنيف كائن ما وانحدار إحداثياته المكانية. كما تدمج YOLOX استراتيجيات متقدمة لتعيين التسميات مثل SimOTA، والتي تخصص العينات الإيجابية ديناميكياً أثناء التدريب.
YOLOv7: تجميع الطبقات الفعال والموسع
عادت YOLOv7 إلى المنهجيات المعتمدة على المراسي لكنها قدمت شبكة تجميع الطبقات الفعال والموسع (E-ELAN). تعمل E-ELAN على تحسين طول مسار التدرج، مما يضمن تعلم الشبكة بفعالية عبر أعماق متفاوتة. تعتمد البنية بشكل كبير على تقنيات إعادة التقييم (re-parameterization)، حيث يتم دمج الطبقات التلافيفية أثناء الاستدلال لتعزيز السرعة دون التضحية بالدقة. تتضمن استراتيجية "مجموعة الهدايا" في YOLOv7 ابتكارات مثل التلافيف المخطط لها والمعاد تقييمها وتعيين التسميات الموجه من الخشن إلى الدقيق، والتي تدفع دقة متوسط متوسط الدقة (mAP) للنموذج إلى مستويات ملحوظة.
بينما بسطت YOLOX مسارات النشر بفضل إعدادها الخالي من المراسي، قامت بنيات Ultralytics الحديثة منذ ذلك الحين بإتقان هذا النهج، مما أدى إلى إزالة الحاجة إلى مربعات محددة مسبقاً في الأجيال الأحدث تماماً.
مقارنة الأداء
عند تقييم هذه النماذج للإنتاج، فإن موازنة الدقة مع الكفاءة الحسابية أمر ضروري. يوضح الجدول أدناه المقايضات، مع إبراز أفضل المقاييس أداءً بخط عريض.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ملي ثانية) | السرعة T4 TensorRT10 (ملي ثانية) | المعلمات (مليون) | FLOPs (مليار) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| 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 |
كما هو موضح أعلاه، تحقق YOLOv7x أعلى mAP، مما يجعلها دقيقة بشكل استثنائي لمجموعات البيانات المعقدة. وعلى العكس من ذلك، فإن YOLOX-Nano محسنة للغاية لقيود الموارد القصوى. ومع ذلك، يظهر كلا النموذجين استخداماً عالياً نسبياً للذاكرة أثناء التدريب مقارنة بالبنيات الحديثة.
منهجيات التدريب والنظام البيئي
عامل حاسم للباحثين والمطورين هو سهولة التنفيذ. تاريخياً، تطلبت إصدارات YOLO الأقدم نصوصاً برمجية معقدة بلغة C++ أو إدارة معقدة للمتطلبات.
ميزة نظام Ultralytics البيئي
اليوم، الطريقة الأكثر فعالية لاستخدام هذه البنيات هي من خلال نظام Ultralytics البيئي الذي يتم صيانته جيداً. توفر Ultralytics واجهة برمجة تطبيقات Python موحدة وبديهية للغاية تعمل على تبسيط التدريب والتحقق من الصحة والنشر بشكل كبير.
- سهولة الاستخدام: باستخدام بضعة أسطر فقط من الكود، يمكنك بدء حلقة تدريب، مما يقلل من منحنى التعلم الحاد المرتبط بتنفيذات PyTorch الخام.
- كفاءة التدريب: تستخدم نماذج Ultralytics YOLO بطبيعتها ذاكرة أقل أثناء التدريب مقارنة بنماذج المحولات الثقيلة مثل RT-DETR. وهذا يسمح للمطورين بزيادة أحجام الدفعات (batch sizes) على أجهزة المستهلكين.
- تعدد الاستخدامات: بعيداً عن المربعات المحيطة البسيطة، يمتد النظام البيئي دون عناء ليشمل مهام مثل تجزئة المثيل (Instance Segmentation) و تقدير الوضعية (Pose Estimation).
فيما يلي مثال قابل للتشغيل بنسبة 100% يوضح كيفية تدريب نموذج باستخدام Ultralytics API:
from ultralytics import YOLO
# Load a pre-trained model
model = YOLO("yolov8n.pt") # Readily available weights for rapid transfer learning
# Train the model efficiently on your custom data
results = model.train(
data="coco8.yaml",
epochs=100,
imgsz=640,
batch=16,
device="0", # Utilizes optimal CUDA memory management
)
# Export seamlessly to ONNX or TensorRT
model.export(format="onnx")من خلال توحيد مسار التصدير (export pipeline)، يمكن للمطورين نقل أوزانهم دون عناء إلى تنسيقات مثل TensorRT أو ONNX، مما يضمن استدلالاً عالي السرعة على الأجهزة المستهدفة.
حالات الاستخدام المثالية والتطبيقات الواقعية
يعتمد الاختيار بين YOLOX و YOLOv7 إلى حد كبير على أهداف النشر:
- YOLOX للذكاء الاصطناعي على الحافة (Edge AI): تعتبر متغيرات YOLOX-Nano و YOLOX-Tiny مناسبة للغاية للنشر على الأجهزة منخفضة الطاقة. إذا كنت تقوم ببناء كاميرا أمنية ذكية على Raspberry Pi، فإن التلافيف البسيطة الخالية من المراسي في YOLOX تترجم بسهولة إلى مسرعات الحافة.
- YOLOv7 للتحليلات عالية الدقة: إذا كنت تعالج صور أقمار صناعية عالية الدقة أو تنفذ مراقبة جودة التصنيع المعقدة، فإن دقة mAP العالية لـ YOLOv7x، المدعومة بوحدات معالجة الرسومات NVIDIA المتطورة، تضمن اكتشاف حتى أصغر الحالات الشاذة.
المستقبل: الترقية إلى Ultralytics YOLO26
بينما كانت YOLOv7 و YOLOX رائدتين عند إنشائهما، فقد تقدم مشهد الرؤية الحاسوبية بشكل كبير. بالنسبة للنشر الجديد، يجب على المطورين التطلع إلى Ultralytics YOLO26، الذي تم إصداره في يناير 2026. يجمع هذا النموذج المتطور أفضل النظريات المعمارية في النظام النهائي الجاهز للإنتاج.
إليك سبب التوصية بشدة بالترقية:
- تصميم كامل خالٍ من NMS: يلغي YOLO26 محلياً كبت غير الأعظمي (NMS) أثناء المعالجة اللاحقة. تم استهلال هذا في البداية في YOLOv10، وهو يضمن زمن وصول منخفضاً باستمرار، مما يبسط النشر على الأجهزة التي تفتقر إلى دعم أجهزة NMS.
- إزالة DFL: من خلال إزالة خسارة التوزيع البؤري (Distribution Focal Loss)، يحقق YOLO26 توافقاً أفضل بكثير مع أجهزة الحافة منخفضة الطاقة وصادرات ONNX المباشرة.
- مُحسن MuSGD: مستوحى من ابتكارات تدريب النماذج اللغوية الكبيرة (LLM)، يستفيد YOLO26 من مُحسن MuSGD هجين، مما يضمن تقارباً أسرع وديناميكيات تدريب مستقرة للغاية.
- استدلال أسرع بنسبة تصل إلى 43% على وحدة المعالجة المركزية (CPU): تم تحسين YOLO26 بشكل كبير للأجهزة الواقعية، وهو يزدهر على وحدات المعالجة المركزية القياسية دون الحاجة إلى بنية تحتية باهظة الثمن لوحدة معالجة الرسومات (GPU).
- ProgLoss + STAL: تعمل دوال الخسارة المتقدمة هذه على تحسين التعرف على الأجسام الصغيرة بشكل كبير، وهي ميزة حاسمة لـ عمليات فحص الطائرات بدون طيار وشبكات إنترنت الأشياء المتطورة.
بالنسبة للمطورين الذين يسعون للحصول على أفضل توازن في الأداء عبر كشف الأجسام والتجزئة وما بعدها، فإن نشر النماذج عبر منصة Ultralytics يوفر تجربة لا مثيل لها وخالية من الاحتكاك.
خاتمة
قدم كل من YOLOX و YOLOv7 تقنيات محورية شكلت مسار رؤية الذكاء الاصطناعي مفتوح المصدر. أثبتت YOLOX جدوى الرؤوس المنفصلة الخالية من المراسي، بينما أظهرت YOLOv7 القوة الهائلة لإعادة تقييم مسار التدرج. اليوم، يضمن الاستفادة من نظام Ultralytics البيئي أنه يمكنك استخراج أقصى قدر من الإمكانات من هذه البنيات التاريخية، أو الانتقال بسلاسة إلى أحدث YOLO26 لتأمين تطبيق الرؤية الحاسوبية التالي الخاص بك في المستقبل.