تخطي إلى المحتوى

YOLOv7 YOLOX: نظرة متعمقة على بنى الكشف عن الكائنات في الوقت الفعلي

في عالم الرؤية الحاسوبية سريع التطور، يعد اختيار نموذج الكشف عن الأجسام المناسب أمراً بالغ الأهمية لتحقيق النجاح. وهناك معلمان هامان في هذه الرحلة هما YOLOv7 و YOLOX. على الرغم من أن كلا الهيكلين قد دفعا حدود السرعة والدقة عند إصدارهما، إلا أنهما اتبعا نهجين مختلفين تمامًا لحل مشكلة الكشف. يقدم هذا الدليل مقارنة تقنية مفصلة لمساعدة المطورين والباحثين والمهندسين على اتخاذ قرارات مستنيرة لحالات الاستخدام المحددة الخاصة بهم.

نظرة عامة على النموذج والأصول

فهم نسب هذه النماذج يوفر سياقًا لقراراتها المعمارية.

YOLOv7: محطة القوة لـ "حقيبة الميزات المجانية"

تم إصدار YOLOv7 في يوليو 2022، YOLOv7 تصميمه ليكون أسرع وأدق كاشف للأجسام في الوقت الفعلي في ذلك الوقت. وقد ركز بشكل كبير على التحسينات المعمارية مثل E-ELAN (شبكات تجميع الطبقات الفعالة الموسعة) و"حقيبة الهدايا" القابلة للتدريب لتعزيز الدقة دون زيادة تكلفة الاستدلال.

تعرف على المزيد حول YOLOv7

YOLOX: تطور خالٍ من الـ Anchor

يمثل YOLOX، الذي أطلقته Megvii في عام 2021، تحولًا مهمًا عن الآلية القائمة على المراسي التي كانت سائدة YOLO السابقة (مثل YOLOv3 و YOLOv5). من خلال دمج رأس منفصل وتصميم خالٍ من المراسي، بسط YOLOX عملية التدريب وحسّن الأداء، وسدّ الفجوة بين البحث والتطبيق الصناعي.

مقارنة الأداء الفني

يوضح الجدول التالي مقاييس أداء النماذج المماثلة في COCO .

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9

الاختلافات المعمارية الرئيسية

  1. آليات التثبيت:

    • YOLOv7: يستخدم نهجًا قائمًا على المراسي. يتطلب مربعات مراسي محددة مسبقًا، والتي يمكن أن تكون حساسة لضبط المعلمات الفائقة، ولكنها غالبًا ما تعمل بكفاءة على مجموعات البيانات القياسية مثل MS COCO.
    • YOLOX: تم اعتماد تصميم بدون مرساة. وهذا يلغي الحاجة إلى تجميع صناديق المرساة (مثل K-means) ويقلل من عدد معلمات التصميم، مما يبسط تكوين النموذج.
  2. تصميم الشبكة:

    • YOLOv7: يتميز بهيكل E-ELAN، الذي يوجه مسارات التدرج لتعلم الميزات المتنوعة بفعالية. كما يستخدم "إعادة تحديد المعلمات المخطط لها" لدمج الطبقات أثناء الاستدلال، مما يزيد السرعة دون التضحية بدقة التدريب.
    • YOLOX: يستخدم رأسًا منفصلًا، يفصل بين مهام التصنيف والانحدار. يؤدي هذا عادةً إلى تقارب أسرع ودقة أفضل، ولكنه قد يزيد قليلاً من عدد المعلمات مقارنةً بالرأس المزدوج.
  3. تعيين التسمية:

    • YOLOv7: يستخدم استراتيجية تخصيص العلامات الموجهة من الخشن إلى الناعم.
    • YOLOX: أدخلت SimOTA (تخصيص النقل الأمثل المبسط)، وهي استراتيجية تخصيص تسميات ديناميكية تعامل مشكلة التخصيص كمهمة نقل مثلى، مما يحسن استقرار التدريب.

المعيار الحديث: YOLO26

على الرغم من أن YOLOv7 YOLOX كانا ثوريين، إلا أن هذا المجال قد تطور. يجمع YOLO26 الجديد، الذي تم إصداره في يناير 2026، بين أفضل ما في كلا العالمين. يتميز بتصميم أصلي شامل NMS (مثل فلسفة YOLOX الخالية من المراسي ولكنها أكثر تطوراً) ويزيل Distribution Focal Loss (DFL) للحصول على CPU أسرع بنسبة تصل إلى 43٪ CPU .

تعرف على المزيد حول YOLO26

التدريب والنظام البيئي

غالبًا ما تكون تجربة المطورين مهمة بقدر أهمية مقاييس الأداء الأولية. وهذا هو المجال الذي يميز Ultralytics بشكل كبير.

سهولة الاستخدام والتكامل

يتطلب تدريب YOLOX عادةً التنقل في قاعدة كود Megvii، والتي على الرغم من قوتها، إلا أنها قد تمثل منحنى تعلم أكثر صعوبة للمستخدمين المعتادين على واجهات برمجة التطبيقات عالية المستوى. على العكس من ذلك، Ultralytics تشغيل YOLOv7 Ultralytics تجربة سلسة.

توحدPython Ultralytics Python سير العمل. يمكنك التبديل بين YOLOv7 و YOLOv10، أو حتى YOLO11 ببساطة عن طريق تغيير سلسلة اسم النموذج. هذه المرونة ضرورية للنماذج الأولية السريعة والمقارنة المعيارية.

مثال على الكود: واجهة متسقة

إليك كيفية تدريب YOLOv7 باستخدام Ultralytics . تعمل بنية الكود نفسها تمامًا مع النماذج الأحدث مثل YOLO26.

from ultralytics import YOLO

# Load a YOLOv7 model (or swap to "yolo26n.pt" for the latest)
model = YOLO("yolov7.pt")

# Train on a custom dataset
# Ultralytics automatically handles data augmentation and logging
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on an image
results = model("path/to/image.jpg")

الذاكرة والكفاءة

تشتهر Ultralytics بكفاءتها في استخدام الموارد.

  • كفاءة التدريب: تم تحسين YOLOv7 Ultralytics لاستخدام CUDA أقل مقارنة بالتطبيقات الأولية أو النماذج القائمة على المحولات مثل RT-DETR، مما يسمح بأحجام دفعات أكبر على أجهزة المستهلكين.
  • النشر: يتم تصدير النماذج إلى تنسيقات الإنتاج بواسطة أمر واحد. سواء كان الهدف هو ONNX, TensorRT، أو CoreML، Ultralytics export يعالج الوضع تعقيد تحويل الرسم البياني.

حالات الاستخدام المثالية

غالبًا ما يعتمد الاختيار بين هذه النماذج على القيود المحددة لبيئة النشر لديك.

متى تختار YOLOv7

YOLOv7 منافسًا قويًا في GPU عالية الأداء التي تتطلب دقة قصوى.

  • مراقبة عالية الجودة: مثالية لأنظمة الإنذار الأمني حيث يكون اكتشاف الأجسام الصغيرة عن بعد أمرًا بالغ الأهمية.
  • الفحص الصناعي: إن ميزة استخراج الملامح القوية تجعله مناسبًا لمهام التصنيع المعقدة، مثل اكتشاف العيوب في خطوط التجميع.
  • الحافةGPU: يمكن للأجهزة مثل سلسلة NVIDIA Orin الاستفادة من بنية YOLOv7 المعاد تهيئة معلماتها بشكل فعال.

متى تختار YOLOX

غالبًا ما يُفضل استخدام YOLOX في بيئات البحث أو سيناريوهات الحافة القديمة المحددة.

  • البحث الأكاديمي: التصميم الخالي من المراسي وقاعدة الكود النظيفة تجعل YOLOX أساسًا ممتازًا للباحثين الذين يجرون تجارب على رؤوس كشف جديدة أو استراتيجيات تخصيص.
  • النشر على الأجهزة المحمولة (Nano/Tiny): تم تحسين إصدارات YOLOX-Nano و Tiny بشكل كبير لتناسب وحدات المعالجة المركزية للأجهزة المحمولة، على غرار أهداف الكفاءة التي تسعى إليها YOLOv6 Lite.
  • قواعد الكود القديمة: قد تجد الفرق التي اندمجت بالفعل بشكل عميق في MegEngine أو PyTorch المحددة أن YOLOX أسهل في الصيانة.

المستقبل: الانتقال إلى YOLO26

بينما يفي YOLOv7 YOLOX بالغرض منهما، يمثل YOLO26 قفزة نوعية إلى الأمام. فهو يعالج أوجه القصور في كلا السلفين:

  1. NMS: على عكس YOLOv7 الذي يتطلب NMS) و YOLOX (الذي يبسط المراسي ولكنه لا يزال يستخدم NMS)، يستخدم YOLO26 تصميمًا أصليًا شاملاً. وهذا يزيل تمامًا عنق الزجاجة المتمثل في زمن الوصول في مرحلة ما بعد المعالجة.
  2. MuSGD Optimizer: مستوحى من تدريب LLM، يعمل هذا المحسن على استقرار التدريب لمهام الرؤية الحاسوبية، متجاوزًا SGD القياسي SGD في YOLO القديمة.
  3. تنوع المهام: بينما يركز YOLOX بشكل أساسي على الكشف، يقدم YOLO26 أداءً متطورًا في مجالات تقسيم المثيلات وتقدير الوضعيات ومربعات الحدود الموجهة (OBB).

الخلاصة

ساهم كل من YOLOv7 YOLOX بشكل كبير في تطوير تقنية الكشف عن الأجسام. YOLOv7 أن الأساليب القائمة على المراسي لا تزال تهيمن على الدقة من خلال بنية ذكية مثل E-ELAN. نجح YOLOX في تحدي الوضع الراهن من خلال تعميم الكشف بدون مراسي في YOLO .

بالنسبة للمطورين الذين يبدؤون مشاريع جديدة اليوم، فإن الاستفادة من Ultralytics هو الخيار الأكثر استراتيجية. فهو يوفر الوصول إلى YOLOv7 الإصدارات القديمة، بينما يوفر مسارًا مباشرًا إلى السرعة والدقة الفائقتين لـ YOLO26. سهولة تبديل النماذج، إلى جانب التوثيق الشامل ودعم المجتمع، تضمن أن مشاريع الرؤية الحاسوبية الخاصة بك ستكون جاهزة للمستقبل.

مزيد من القراءة


تعليقات