YOLOX مقابل YOLOv7#
كان التطور المستمر في البنية المعمارية وراء التقدم في اكتشاف الأجسام في الزمن الحقيقي. ومن المحطات البارزة في هذا المسار YOLOX وYOLOv7. فقد صدر النموذجان بفارق أقل من عام، وقدّم كل منهما أساليب جديدة لنموذج اكتشاف الأجسام القياسي، ما حسّن بدرجة كبيرة المفاضلة بين السرعة والدقة.
تقدّم هذه الصفحة تحليلًا تقنيًا معمقًا لـ YOLOX وYOLOv7، وتقارن بين بنيتيهما ومقاييس أدائهما وحالات الاستخدام المثلى، لمساعدة المطوّرين على اختيار الأداة المناسبة لنشر تطبيقات الرؤية الحاسوبية.
YOLOX: ريادة الاكتشاف الخالي من المراسي#
قدّم باحثون في Megvii نموذج YOLOX في يوليو 2021، ممثلًا تحولًا كبيرًا بالابتعاد عن التصاميم التقليدية المعتمدة على المراسي. ومن خلال ردم الفجوة بين البحث الأكاديمي والتطبيق الصناعي، بسّط YOLOX رأس الاكتشاف وحسّن الأداء العام.
تفاصيل النموذج الرئيسية:
- المؤلفون: Zheng Ge وSongtao Liu وFeng Wang وZeming Li وJian Sun
- المؤسسة: Megvii
- التاريخ: 2021-07-18
- الورقة البحثية: arXiv:2107.08430
- الشيفرة المصدرية: YOLOX من Megvii على GitHub
- التوثيق: وثائق YOLOX على GitHub
ابتكارات البنية#
قدّم YOLOX نهجًا خاليًا من المراسي، ما قلّص بشدة عدد معلمات التصميم ومقدار الضبط الاستدلالي اللازم لمجموعات البيانات المخصصة. كما نفّذ رأسًا مفصولًا يفصل بين مهمتي التصنيف والانحدار، ما حسّن سرعة التقارب والدقة. وإضافة إلى ذلك، استخدم YOLOX استراتيجيات متقدمة لـزيادة البيانات، مثل MixUp وMosaic، لتعزيز متانة النموذج.
من خلال إزالة صناديق المراسي، يقلل YOLOX الأعباء الحاسوبية لحساب التقاطع على الاتحاد (IoU) بين التنبؤات والقيم الحقيقية أثناء التدريب، ما يؤدي إلى انخفاض متطلبات ذاكرة CUDA وتسريع أوقات التدريب.
YOLOv7: مجموعة مزايا قابلة للتدريب#
صدر YOLOv7 في يوليو 2022 على يد باحثين في معهد علوم المعلومات التابع لأكاديمية سينيكا في تايوان، ودفع حدود اكتشاف الأجسام في الزمن الحقيقي إلى آفاق أبعد. وقدّم مفهوم «مجموعة المزايا المجانية القابلة للتدريب»، محققًا عند إصداره معايير أداء رائدة جديدة على مجموعة بيانات MS COCO.
تفاصيل النموذج الرئيسية:
- المؤلفون: Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao
- الجهة: معهد علوم المعلومات، أكاديميا سينيكا، تايوان
- التاريخ: 2022-07-06
- الورقة البحثية: arXiv:2207.02696
- الشيفرة المصدرية: YOLOv7 من WongKinYiu على GitHub
- التوثيق: توثيق Ultralytics لـ YOLOv7
ابتكارات البنية#
تتمحور بنية YOLOv7 حول شبكة تجميع الطبقات الفعالة الموسعة (E-ELAN)، التي تتيح للنموذج تعلّم سمات أكثر تنوعًا باستمرار من دون إضعاف مسار التدرّج. علاوة على ذلك، استخدم YOLOv7 تقنيات إعادة تحديد معلمات النموذج، ما يتيح تبسيط شبكات التدريب المعقدة متعددة الفروع إلى شبكات أسرع أحادية المسار أثناء الاستدلال.
مقارنة الأداء#
عند تقييم هذه النماذج للتطبيقات الواقعية، من الضروري فهم أدائها عبر المقاييس المختلفة. يقارن الجدول أدناه المقاييس القياسية لأحجام متنوعة من YOLOX وYOLOv7.
| النموذج | الحجم (بكسل) | mAPالتحقق 50-95 | السرعة CPU ONNX (مللي ثانية) | السرعة 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 قيمة mAP تبلغ 53.1 مقارنةً بـ 51.1 لنموذج YOLOXx.
- السرعة: مع أن كلا النموذجين محسّن للغاية للتنفيذ على GPU باستخدام TensorRT، توفّر بنية E-ELAN في YOLOv7 إنتاجية أفضل قليلًا للتطبيقات المتطورة، بينما يحافظ YOLOX على زمن استجابة ممتاز على الأجهزة الطرفية الأصغر.
- تعدد الاستخدامات: وسّع YOLOv7 نطاق إمكاناته ليتجاوز صناديق الإحاطة، إذ يوفّر أصليًا أوزانًا لـتقسيم الكائنات وتقدير الوضعية، ما يجعله أكثر تنوعًا من مستودع YOLOX الأساسي.
تطبيقات واقعية#
غالبًا ما يتوقف الاختيار بين هذين النموذجين على بيئة النشر المحددة لديك.
الحوسبة الطرفية وإنترنت الأشياء#
تُعد YOLOX-Nano وYOLOX-Tiny خيارين جذابين للغاية للأجهزة الطرفية محدودة الموارد، مثل Raspberry Pi أو معالجات الأجهزة المحمولة الأقدم. ويجعلها عدد معاملاتها المحدود وطبيعتها الخالية من المراسي أسهل في النشر ضمن البيئات منخفضة الطاقة لمهام مثل تتبع الحركة الأساسي أو تطبيقات أجراس الأبواب الذكية.
تحليلات الفيديو عالية الدقة#
لمعالجة تدفقات الفيديو عالية الدقة في اكتشاف العيوب الصناعية أو مراقبة حركة المرور الكثيفة، يتفوق YOLOv7. إذ يتيح له تجميع السمات المتين الحفاظ على دقة عالية حتى عندما تكون الأجسام محجوبة جزئيًا أو متفاوتة الأحجام بدرجة كبيرة.
حالات الاستخدام والتوصيات#
يعتمد الاختيار بين YOLOX وYOLOv7 على متطلبات مشروعك المحددة وقيود النشر وتفضيلات المنظومة.
متى تختار YOLOX#
يُعد YOLOX خيارًا قويًا لـ:
- أبحاث الاكتشاف دون مراسي: الأبحاث الأكاديمية التي تستخدم بنية YOLOX النظيفة والخالية من المراسي أساسًا لتجربة رؤوس اكتشاف أو دوال خسارة جديدة.
- الأجهزة الطرفية فائقة الخفة: النشر على المتحكمات الدقيقة أو الأجهزة المحمولة القديمة، حيث يكون الحجم الصغير للغاية لإصدار YOLOX-Nano (0.91M معلمة) أمرًا بالغ الأهمية.
- دراسات إسناد التسميات باستخدام SimOTA: مشاريع بحثية تدرس استراتيجيات إسناد التسميات القائمة على النقل الأمثل وتأثيرها في تقارب التدريب.
متى تختار YOLOv7#
يوصى بـ YOLOv7 في الحالات التالية:
- المقارنة المرجعية الأكاديمية: إعادة إنتاج نتائج الجيل المتطور لعام 2022 أو دراسة تأثيرات E-ELAN وتقنيات مجموعة المزايا المجانية القابلة للتدريب.
- أبحاث إعادة المعلمات: دراسة الالتفافات المخطط لإعادة معلماتها واستراتيجيات توسيع النماذج المركبة.
- مسارات العمل المخصصة القائمة: المشاريع التي تعتمد على مسارات عمل مخصصة بدرجة كبيرة ومبنية على بنية YOLOv7 المحددة، والتي يصعب إعادة هيكلتها.
متى تختار Ultralytics (YOLO26)#
بالنسبة إلى معظم المشاريع الجديدة، يقدم Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطور:
- النشر الطرفي دون NMS: التطبيقات التي تتطلب استدلالاً ثابتاً بزمن استجابة منخفض، من دون تعقيد المعالجة اللاحقة للكبت غير الأقصى.
- البيئات التي تعتمد على CPU فقط: الأجهزة التي لا تتضمن تسريعاً مخصصاً بواسطة GPU، حيث يمنح الاستدلال الأسرع على CPU بنسبة تصل إلى 43% في YOLO26 ميزة حاسمة.
- اكتشاف الأجسام الصغيرة: السيناريوهات الصعبة مثل صور الطائرات المسيّرة الجوية أو تحليل مستشعرات إنترنت الأشياء، حيث يعزز ProgLoss وSTAL دقة اكتشاف الأجسام الدقيقة بدرجة كبيرة.
ميزة Ultralytics#
مع أن YOLOX وYOLOv7 تطبيقان بحثيان قويان، فإن الانتقال من مستودع بحثي إلى بيئة إنتاج قابلة للتوسع قد يكون شاقًا. وهنا تتألق منصة Ultralytics.
توفّر نماذج Ultralytics واجهة Python موحدة، وتتعامل مع تدريب النماذج والتحقق من صحتها ونشرها بوصفها مهام مبسّطة وموحّدة. وبذلك تتجنب عناء إدارة التبعيات المعقدة التابعة لجهات خارجية أو عوامل التشغيل المخصصة بلغة C++ الشائعة في البنى القديمة.
علاوة على ذلك، تتطلب نماذج Ultralytics YOLO قدرًا أقل بكثير من ذاكرة CUDA أثناء التدريب مقارنةً بكاشفات Transformer مثل RT-DETR. ويتيح ذلك للممارسين استخدام أحجام دفعات أكبر، ما يعزز استقرار التدريب ويسرّع التقارب على مجموعات البيانات المخصصة.
يدعم Ultralytics أصليًا تصدير النماذج إلى تنسيقات معيارية في القطاع مثل ONNX وOpenVINO وCoreML باستخدام وسيطة واحدة format، ما يبسّط بدرجة كبيرة عملية نشر النموذج.
مثال على الشيفرة: التدريب باستخدام Ultralytics#
لا تُدرّب حزمة Ultralytics Python نقاط تحقق YOLOv7 .pt ولا تشغّلها أصليًا (يوضّح توثيق YOLOv7 كيفية تشغيل نماذج ONNX أو TensorRT المصدّرة)، لكن يمكن تحميل البنى الأحدث مثل YOLO26 وتدريبها وتشغيلها باستخدام بضعة أسطر فقط من الشيفرة.
from ultralytics import YOLO
# تحميل نموذج YOLO26 مدرّب مسبقًا
model = YOLO("yolo26n.pt")
# تدريب النموذج على مجموعة بيانات مخصصة (مثل COCO8)
# تتولى واجهة API تلقائيًا تحميل البيانات وزيادتها وإدارة الذاكرة
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# تنفيذ الاستدلال على صورة اختبار
predictions = model("path/to/image.jpg")
predictions[0].show()المستقبل: Ultralytics YOLO26#
يمثل YOLOv7 وYOLOX محطتين تاريخيتين مهمتين، لكن أحدث التقنيات تتطور بسرعة. يقدّم Ultralytics YOLO26، الذي صدر في يناير 2026، نماذج جديدة رائدة تتجاوز النماذج السابقة.
- تصميم شامل خالٍ من NMS: يتجاوز الرأس الاختياري أحادي المطابقة (
nms=False) في YOLO26 المعالجة اللاحقة لـالكبت غير الأقصى (NMS). وهذا يقلل بشدة اختناقات زمن الاستجابة ويضمن أوقات تنفيذ حتمية عبر مختلف إعدادات الأجهزة. - استدلال أسرع بنسبة تصل إلى 43% على CPU: من خلال إزالة خسارة البؤرة التوزيعية (DFL) وتحسين عمق الشبكة، صُمم YOLO26 خصيصًا للأجهزة الطرفية التي تفتقر إلى عتاد GPU مخصص.
- محسّن MuSGD: يستلهم محسّن MuSGD، وهو مزيج من SGD وMuon، تقنيات التدريب المتقدمة للنماذج اللغوية الكبيرة، ويقدم استقرارًا استثنائيًا للتدريب وتقاربًا أسرع.
- تحسين اكتشاف الأجسام الصغيرة: يحقق دمج دوال الخسارة ProgLoss + STAL تحسينات كبيرة في التعرّف على الأجسام الصغيرة والبعيدة، وهو أمر بالغ الأهمية لـرسم الخرائط باستخدام الطائرات المسيّرة والمراقبة الأمنية.
- دعم أصيل للمهام: يدعم YOLO26 دعمًا شاملًا صناديق الإحاطة الموجّهة (OBB) وتقسيم الكائنات وتقدير الوضعية مباشرةً ضمن واجهة API واحدة مبسّطة.
لأي مطوّر معاصر يبدأ اليوم مشروعًا جديدًا في الرؤية الحاسوبية، يُوصى بتقييم Ultralytics YOLO26 على المنصة لتحقيق أفضل توازن ممكن بين السرعة والدقة وبساطة النشر. أما لمن ينتقلون من أجيال سابقة مثل YOLO11 أو YOLOv8، فلا يتطلب الانتقال سوى تغيير اسم النموذج، ما يتيح فورًا إمكانات متفوقة.