Ultralytics YOLO27: انضم إلى قائمة الانتظار.
Get Started

YOLOv7 مقابل YOLOv9#

تطور مجال كشف الأجسام في الوقت الفعلي بسرعة، إذ حسّن كل إصدار جديد الأداء على الأجهزة الطرفية والخوادم السحابية على حد سواء. وعند تقييم البنى لمشروعات الرؤية الحاسوبية، كثيرًا ما يقارن المطورون المعايير الراسخة بالتصميمات الأحدث. يقارن هذا الدليل بين محطتين بارزتين في عائلة YOLO: YOLOv7 وYOLOv9.

يتناول الدليل البنى ومقاييس الأداء وسيناريوهات النشر المثلى لمساعدتك على اختيار النموذج المناسب لتطبيقك، ويوضح كيف تجعل منصة Ultralytics وواجهة Python البرمجية تدريب النماذج المدعومة مثل YOLOv9 والتحقق منها ونشرها أسهل.

سلالة النماذج والمواصفات التقنية#

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

YOLOv7: رائد مجموعة المزايا المجانية#

أصبح YOLOv7، الذي صدر في منتصف عام 2022، بنية واسعة الاستخدام ومحسّنة جيدًا. وقد أدخل إعادة ضبط المعلمات البنيوية ونهج «مجموعة المزايا المجانية القابلة للتدريب» للحفاظ على سرعات استدلال عالية دون التضحية بـ متوسط الدقة المتوسطة (mAP).

الابتكارات المعمارية: يتضمن YOLOv7 شبكة تجميع الطبقات الفعّالة الموسعة (E-ELAN)، التي تمكّن النموذج من تعلم ميزات أكثر تنوعًا عبر توسيع التعددية وترتيبها عشوائيًا ودمجها. وينتج عن هذا التصميم استخدام ممتاز لوحدات GPU وزمن استجابة الاستدلال. إلا أنه قد يتطلب ذاكرة كبيرة أثناء عمليات التدريب المعقدة مقارنةً بالإصدارات الحديثة.

تعرّف على المزيد عن YOLOv7

YOLOv9: معالجة اختناق المعلومات#

عالج YOLOv9، الذي قدمه فريق البحث نفسه في أوائل عام 2024، «عنق زجاجة المعلومات» المتأصل في الشبكات العصبية العميقة. فكثيرًا ما تُفقد تفاصيل مهمة أثناء مرور البيانات عبر الطبقات العميقة. ويحد YOLOv9 من ذلك باستخدام مكونات بنيوية جديدة.

الابتكارات المعمارية: يقدم YOLOv9 معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعّالة المعممة (GELAN). وتضمن PGI الحفاظ على تدرجات موثوقة وإعادتها لتحديث الأوزان بدقة. أما GELAN فتعظّم كفاءة المعلمات، ما يمكّن YOLOv9 من تحقيق دقة عالية بعمليات FLOPs أقل بكثير من أسلافه.

تعرّف على المزيد عن YOLOv9

تحليل الأداء#

عند الاختيار بين البنى، يجب على مهندسي الذكاء الاصطناعي الموازنة بين الدقة وسرعة الاستدلال والتكلفة الحسابية. يوضح الجدول أدناه اختلافات الأداء بين هذه النماذج على مجموعة بيانات COCO القياسية.

النموذجالحجم
(بكسل)
mAPالتحقق
50-95
السرعة
CPU ONNX
(مللي ثانية)
السرعة
T4 TensorRT10
(ms)
المعاملات
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.226.7
YOLOv9m64051.4-6.4320.176.8
YOLOv9c64053.0-7.1625.5102.8
YOLOv9e64055.6-16.7758.1192.5

أهم النتائج#

  • كفاءة المعلمات: يضاهي YOLOv9m دقة YOLOv7l (51.4% mAP) مع استخدام معلمات أقل بنحو 45% (20.1M مقابل 36.9M). ويجعل هذا الانخفاض نشر YOLOv9m أسهل على أجهزة الذكاء الاصطناعي الطرفي محدودة الذاكرة.
  • عمليات النشر المصغرة: يعمل إصدار YOLOv9t (الصغير) في 2.3 ms على GPU من نوع T4 باستخدام TensorRT، ما يجعله مناسبًا للبيئات ذات القيود الصارمة على الزمن الفعلي.
  • أقصى دقة: يصل YOLOv9e إلى 55.6% mAP، أي أعلى بمقدار 2.5 نقطة من YOLOv7x، للتطبيقات التي تكون فيها الدقة هي الأولوية القصوى.
تأمين مشاريع الرؤية الحاسوبية للمستقبل

على الرغم من كفاءة YOLOv7 وYOLOv9، فإن YOLO26 هو حاليًا نموذج Ultralytics الموصى به للمشروعات الجديدة. فهو يقدم تصميمًا أصليًا شاملًا خاليًا من NMS (اختياري عبر nms=False) يتخطى معالجة كبت الصندوق غير الأقصى (NMS) اللاحقة، ويوفر استدلالًا على CPU أسرع بنسبة تصل إلى 43% (YOLO26n مقارنةً بـ YOLO11n). ويحسّن محسّن MuSGD استقرار التدريب، بينما تحسّن ProgLoss + STAL (الخسارة التدريجية وإسناد التسميات المراعي للأهداف الصغيرة) كشف الأجسام الصغيرة.

ميزة Ultralytics#

اختيار بنية النموذج ليس سوى الخطوة الأولى. يحدّد النظام البرمجي المحيط بالنموذج مدى سرعة انتقالك من النموذج الأولي إلى الإنتاج. يوفّر دمج النماذج المدعومة مثل YOLOv9 عبر واجهة Python البرمجية من Ultralytics فوائد كبيرة للمطورين والباحثين.

سهولة الاستخدام وكفاءة التدريب#

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

تحسّن Ultralytics أيضًا استخدام الذاكرة أثناء التدريب والاستدلال. وبالمقارنة مع نماذج Transformer الأثقل مثل RT-DETR، تُدرَّب بنى Ultralytics YOLO عادةً بسرعة أكبر وتتطلب ذاكرة CUDA أقل، ما يجعل تشغيلها عمليًا على وحدات GPU الاستهلاكية.

مثال على الشفرة: تدريب مبسط#

يدرّب المثال القابل للتنفيذ التالي نموذج YOLOv9 ويتحقق منه ويصدره باستخدام واجهة Python البرمجية من Ultralytics:

from ultralytics import YOLO

# ⁨تهيئة النموذج (يمكنك استبدال 'yolov9c.pt' بـ 'yolo26n.pt')⁩
model = YOLO("yolov9c.pt")

# ⁨تدريب النموذج على مجموعة بيانات العينة COCO8⁩
train_results = model.train(
    data="coco8.yaml",
    epochs=50,
    imgsz=640,
    device="0",  # ⁨استخدام GPU 0 إذا كان متاحًا⁩
    batch=16,  # ⁨تحسين حجم الدفعة لتحقيق كفاءة استخدام الذاكرة⁩
)

# ⁨التحقق من أداء النموذج على مجموعة التحقق⁩
metrics = model.val()

# ⁨تصدير النموذج المدرّب إلى تنسيق ONNX لنشره⁩
model.export(format="onnx")

التنوع عبر المهام#

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

حالات الاستخدام والتطبيقات المثالية#

غالبًا ما يعتمد الاختيار بين YOLOv7 وYOLOv9 على قيود المجال المحددة لديك وتوافر العتاد.

متى تستخدم YOLOv7#

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

متى تستخدم YOLOv9#

  • التصوير الطبي: يساعد PGI YOLOv9 على الحفاظ على التفاصيل الدقيقة عبر الطبقات العميقة، وهو أمر مفيد لمهام تحليل الصور الطبية مثل اكتشاف الأورام.
  • تحليلات التجزئة المكتظة: يمكن لدمج السمات في YOLOv9 تحسين الدقة وتقليل السلبيات الكاذبة عند تتبع المنتجات المتراصة بكثافة على رفوف المتاجر وعدّها.
  • الصور الجوية وصور الطائرات المسيّرة: تتيح كفاءة YOLOv9m في استخدام المعلمات معالجة الصور عالية الدقة على الطائرات المسيّرة، ما يساعد في الحفاظ على الحياة البرية ومراقبة المحاصيل دون استنزاف البطارية.

الخلاصة#

يمثل كل من YOLOv7 وYOLOv9 محطتين مهمتين في عائلة YOLO. فقد قدم YOLOv7 تحسينات أساسية للمعالجة في الوقت الفعلي، بينما عالج YOLOv9 فقدان المعلومات في الشبكات العميقة لتحسين كفاءة المعلمات.

لكن النماذج الأحدث من Ultralytics مثل YOLO11 وYOLO26 توفر توازنًا أفضل بين السرعة والدقة وتجربة المطور في المشروعات الجديدة. ويُعد YOLO26 نقطة البداية الموصى بها بفضل محسّن MuSGD وإزالة Distribution Focal Loss (DFL لتحسين التوافق مع نطاق أوسع من العتاد.

التعليقات