YOLOv7 مقابل YOLOX#
لقد تميز تطور رؤية الحاسوب بتطورات سريعة في اكتشاف الأجسام في الوقت الفعلي. تعد كل من YOLOv7 و YOLOX علامتين فارقتين في هذه الرحلة. وفي حين أن كلا النموذجين قد دفعا حدود السرعة والدقة، فقد تبنيا فلسفات معمارية مختلفة لتحقيق نتائجهما. يقدم هذا الدليل مقارنة تقنية شاملة بين هذين النموذجين القويين، مما يساعدك على اختيار البنية المناسبة لمشاريع رؤية الحاسوب الخاصة بك.
مقدمة عن النماذج#
يعد فهم الأصول وخيارات التصميم الأساسية لهذه النماذج أمراً بالغ الأهمية لنشرها بفعالية في عمليات تعلم الآلة الحديثة.
تفاصيل YOLOv7#
طُوِّرت YOLOv7 بواسطة الباحثين الذين حافظوا على بنى CSPNet و Scaled-YOLOv4، وقدمت نهج "حقيبة الهدايا القابلة للتدريب" (trainable bag-of-freebies) لتعظيم الدقة دون زيادة تكلفة الاستنتاج.
- المؤلفون: Chien-Yao Wang و Alexey Bochkovskiy و Hong-Yuan Mark Liao
- المنظمة: Institute of Information Science, Academia Sinica, Taiwan
- التاريخ: 2022-07-06
- Arxiv: https://arxiv.org/abs/2207.02696
- GitHub: https://github.com/WongKinYiu/yolov7
- التوثيق: Ultralytics YOLOv7 Documentation
تفاصيل YOLOX#
اتخذت YOLOX مساراً مختلفاً من خلال إعادة النموذج إلى الاكتشاف الخالي من المراسي (anchor-free)، مما أدى إلى تبسيط بنية الرأس بشكل كبير مع الحفاظ على أداء قوي.
- المؤلفون: Zheng Ge، وSongtao Liu، وFeng Wang، وZeming Li، وJian Sun
- Organization: Megvii
- التاريخ: 2021-07-18
- Arxiv: https://arxiv.org/abs/2107.08430
- GitHub: https://github.com/Megvii-BaseDetection/YOLOX
- المستندات: مستندات YOLOX الرسمية
الاختلافات المعمارية والابتكارات#
تكمن الاختلافات الجوهرية بين YOLOv7 و YOLOX في نهجهما لاستخراج الميزات، وتوقع المربعات المحيطة (bounding box)، وتعيين التسميات.
YOLOX: الرائد في تقنية خلو المراسي (Anchor-Free)#
أحدثت YOLOX ثورة في عائلة YOLO من خلال الانتقال إلى تصميم خالي من المراسي (anchor-free). تتطلب أجهزة الكشف التقليدية القائمة على المراسي ضبطاً استدلالياً معقداً لتجميع مربعات المراسي، والذي يمكن أن يعتمد بشكل كبير على مجموعة البيانات. من خلال التخلص من مربعات المراسي، قللت YOLOX بشكل كبير من عدد معاملات التصميم. علاوة على ذلك، تستخدم YOLOX رأساً منفصلاً (decoupled head)، مما يفصل مهام التصنيف والموقع إلى فروع شبكية متميزة. وهذا يحل الصراع الكامن بين تصنيف الكائن والانحدار لإحداثياته المكانية. تدمج YOLOX أيضاً استراتيجيات تعيين التسميات المتقدمة مثل SimOTA، والتي تخصص عينات إيجابية ديناميكياً أثناء التدريب.
YOLOv7: تجميع الطبقات الفعال والممتد (Extended Efficient Layer Aggregation)#
عادت YOLOv7 إلى المنهجيات القائمة على المراسي ولكنها قدمت شبكة تجميع الطبقات الفعالة والممتدة (E-ELAN). تعمل E-ELAN على تحسين طول مسار التدرج، مما يضمن تعلم الشبكة بفعالية عبر أعماق مختلفة. تعتمد البنية بشكل كبير على تقنيات إعادة التقييم، حيث يتم دمج الطبقات التلافيفية أثناء الاستنتاج لتعزيز السرعة دون التضحية بالدقة. تتضمن استراتيجية "حقيبة الهدايا" في YOLOv7 ابتكارات مثل التلافيف المخطط لها والمعاد تقييمها وتعيين التسميات الموجه من الخشن إلى الدقيق، والتي تدفع دقة متوسط متوسط الدقة (mAP) للنموذج إلى مستويات ملحوظة.
بينما بسطت YOLOX خطوط أنابيب النشر بإعدادها الخالي من المراسي، قامت بنى Ultralytics الحديثة منذ ذلك الحين بإتقان هذا النهج، مما أدى إلى إزالة الحاجة تماماً إلى صناديق محددة مسبقاً في الأجيال الأحدث.
مقارنة الأداء#
عند تقييم هذه النماذج للإنتاج، يعد موازنة الدقة مع الكفاءة الحسابية أمراً ضرورياً. يوضح الجدول أدناه المقايضات، مع تسليط الضوء على أفضل المقاييس أداءً بالخط العريض.
| النموذج | الحجم (بكسل) | mAPval 50-95 | السرعة CPU ONNX (ms) | السرعة T4 TensorRT10 (ms) | المعلمات (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 بطبيعتها ذاكرة أقل أثناء التدريب مقارنة بنماذج المحولات (Transformer) الثقيلة مثل RT-DETR. يتيح هذا للمطورين زيادة أحجام الدفعات (batch sizes) إلى أقصى حد على الأجهزة الاستهلاكية.
- التنوع: بعيداً عن مربعات الإحاطة البسيطة، يمتد النظام البيئي بسهولة ليشمل مهام مثل تجزئة المثيلات (Instance Segmentation) وتقدير الوضعية (Pose Estimation).
فيما يلي مثال قابل للتشغيل بنسبة 100% يوضح كيفية تدريب نموذج باستخدام واجهة برمجة تطبيقات Ultralytics:
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: تحسن دالة الخسارة المتقدمة هذه بشكل جذري التعرف على الكائنات الصغيرة، وهي ميزة حاسمة لفحوصات الطائرات بدون طيار (الدرون) الجوية وشبكات إنترنت الأشياء المعقدة.
للمطورين الذين يبحثون عن أفضل توازن للأداء عبر اكتشاف الكائنات (object detection) والتجزئة وما وراء ذلك، يوفر نشر النماذج عبر منصة Ultralytics (Ultralytics Platform) تجربة لا مثيل لها وخالية من الاحتكاك.
الخلاصة#
قدم كل من YOLOX و YOLOv7 تقنيات محورية شكلت مسار رؤية الذكاء الاصطناعي مفتوح المصدر. أثبتت YOLOX جدوى الرؤوس المنفصلة الخالية من المراسي، بينما أظهرت YOLOv7 القوة الهائلة لإعادة معايير مسار التدرج. اليوم، يضمن الاستفادة من نظام Ultralytics البيئي إمكانية استخراج أقصى إمكانيات من هذه الهجمات التاريخية، أو الانتقال بسلاسة إلى أحدث طراز YOLO26 لتأمين تطبيق رؤية الكمبيوتر التالي للمستقبل.