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

YOLOv7 مقابل YOLOv5#

عند إنشاء مسارات عمل حديثة لـالرؤية الحاسوبية، يُعد اختيار بنية كشف الأجسام المناسبة أمرًا بالغ الأهمية لتحقيق التوازن بين الدقة وسرعة الاستدلال واستخدام الموارد. تقارن هذه المراجعة نموذجين مؤثرين في مجال الرؤية الحاسوبية: YOLOv7 وUltralytics YOLOv5.

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

خلفية النماذج وأصولها#

يوفر فهم أصول هذه النماذج سياقًا لفلسفات تصميمها وحالات الاستخدام المستهدفة.

YOLOv5#

قدم YOLOv5، الذي أطلقه Glenn Jocher وفريق Ultralytics في 26 يونيو 2020، تنفيذًا أصليًا في PyTorch أعطى الأولوية لسهولة الاستخدام دون التضحية بالأداء. وسرعان ما أصبح معيارًا صناعيًا بفضل منظومته المبسطة وديناميكيات التدريب الموثوقة. يمكنك استكشاف الشيفرة المصدرية في مستودع YOLOv5 على GitHub أو الوصول إلى النموذج مباشرةً عبر منصة Ultralytics.

YOLOv7#

قدّم Chien-Yao Wang وAlexey Bochkovskiy وHong-Yuan Mark Liao من معهد علوم المعلومات في Academia Sinica بتايوان نموذج YOLOv7 في 6 يوليو 2022. وركّز النموذج بشدة على ابتكارات معمارية مثل شبكات تجميع الطبقات الفعالة الموسعة (E-ELAN) و«مجموعة الحيل المجانية» القابلة للتدريب، بهدف دفع أحدث مستويات الدقة. يمكن الاطلاع على التفاصيل في ورقة arXiv الرسمية ومستودع YOLOv7 على GitHub. ولمعرفة كيفية تشغيل نماذج YOLOv7 المُصدَّرة باستخدام Ultralytics، راجع وثائق Ultralytics YOLOv7.

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

دعم حزمة Ultralytics

يتكامل YOLOv5 بالكامل مع حزمة Python من Ultralytics. ولا يحظى YOLOv7 بدعم أصلي للتدريب أو الاستدلال باستخدام PyTorch، لكن يمكن تشغيل نقاط تحقق YOLOv7 من المصدر بعد تصديرها إلى ONNX أو TensorRT باستخدام Ultralytics، كما هو موضح في وثائق YOLOv7.

ابتكارات البنية#

تصميم Ultralytics YOLOv5#

يستخدم YOLOv5 عمودًا فقريًا معدلًا من CSPDarknet53 مقترنًا بعنق Path Aggregation Network (PANet). وقد حُسّن هذا التصميم بدرجة كبيرة لتحقيق استخراج السمات السريع وكفاءة الذاكرة. وعلى خلاف البنى الأقدم أو نماذج Transformer الثقيلة، يتطلب YOLOv5 ذاكرة CUDA أقل بكثير أثناء التدريب، ما يتيح استخدام أحجام دفعات أكبر على وحدات GPU الاستهلاكية القياسية. وإضافةً إلى مربعات الإحاطة القياسية، أضاف مستودع YOLOv5 أيضًا تجزئة المثيلات (v7.0) وتصنيف الصور (v6.2).

تصميم YOLOv7#

قدّم YOLOv7 عدة عمليات إعادة معلمة بنيوية وبنية E-ELAN، التي تتيح للشبكة تعلم سمات أكثر تنوعًا دون إتلاف مسار التدرج الأصلي. كما يطبق رأسًا مساعدًا للإشراف الوسيط أثناء التدريب. ورغم أن هذه التطورات تحقق متوسط دقة (mAP) مرتفعًا، فإنها غالبًا ما تُدخل بنى موترات معقدة قد تجعل التصدير إلى تنسيقات الأجهزة الطرفية مثل ONNX أو TensorRT أكثر صعوبة قليلًا مقارنةً بعمليات التصدير الانسيابية الأصلية لنماذج Ultralytics.

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

عند مقارنة هذه النماذج، يجب على المطورين الموازنة بين mAPval50-95 وسرعة الاستدلال والتعقيد الحسابي (FLOPs). يوضح الجدول أدناه أداء البنيتين عند تقييمهما على مجموعة بيانات COCO.

النموذجالحجم
(بكسل)
‏mAPval50-95السرعة
CPU ONNX
(مللي ثانية)
السرعة
T4 TensorRT10
(ms)
المعاملات
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
YOLOv5n64028.0-1.121.94.5
YOLOv5s64037.4-1.927.216.5
YOLOv5m64045.4-4.0321.249.0
YOLOv5l64049.0-6.6146.5109.1
YOLOv5x64050.7-11.8986.7205.7

أهم النتائج#

  • الحد الأقصى للدقة: يحقق YOLOv7x أعلى دقة إجمالية تبلغ 53.1 mAPval50-95، ما يجعله خيارًا تنافسيًا للغاية في الحالات التي يكون فيها تعظيم أداء الكشف هو الهدف الأساسي.
  • السرعة والكفاءة: يتميز Ultralytics YOLOv5n بكفاءة عالية، إذ يبلغ زمن استدلاله 1.12 ms على T4 TensorRT ولا يتجاوز عدد معلماته 1.9M. وهذا يجعله خيارًا قويًا لعمليات النشر الطرفية شديدة القيود.
  • توازن الأداء: توفر سلسلة YOLOv5 نطاقًا واسعًا من أحجام النماذج. ويقدم YOLOv5l حلًا وسطًا جيدًا؛ إذ تقل دقته قليلًا عن YOLOv7l، لكنه يوفر مسار نشر ناضجًا للغاية.

ميزة منظومة Ultralytics#

لا تمثل بنية النموذج سوى نصف المعادلة؛ فالمنظومة المحيطة به هي ما يحدد مدى جدواه في العالم الفعلي، وقد صُممت نماذج Ultralytics مع أخذ ذلك في الحسبان.

سهولة الاستخدام: توفر Ultralytics واجهة Python برمجية موحدة وسهلة الاستخدام. يمكنك تدريب النماذج والتحقق منها ونشرها بأقل قدر من الشيفرة التمهيدية، بالاستناد إلى وثائق رسمية شاملة. منظومة مُدارة جيدًا: يتيح التطوير النشط تحديثات منتظمة وإصلاحات للأخطاء وتكاملًا مع أدوات التتبع الحديثة مثل Weights & Biases. كفاءة التدريب: يقلل YOLOv5 أوقات التدريب باستخدام أدوات تحميل بيانات محسّنة وتخزين مؤقت ذكي. كما تسرّع الأوزان المدربة مسبقًا والجاهزة للاستخدام عملية نقل التعلم عبر مجالات متنوعة.

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

مع حزمة Ultralytics، تبدو بداية جولة التدريب بالطريقة نفسها لكل بنية مدعومة.

from ultralytics import YOLO

# ⁨تحميل نموذج YOLOv5 مدرّب مسبقًا⁩
model = YOLO("yolov5su.pt")  # ⁨YOLOv5u: أوزان YOLOv5 الخالية من المراسي لحزمة ultralytics⁩

# ⁨تدريب النموذج على مجموعة البيانات التجريبية COCO8⁩
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

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

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

متى تختار YOLOv7#

  • المقارنة الأكاديمية المعيارية: مفيدة للباحثين الذين يحتاجون إلى مقارنة تقنيات جديدة بخط أساس موثق جيدًا من عام 2022.
  • المعالجة السحابية باستخدام وحدات GPU المتطورة: مناسبة للنشر على عتاد خوادم قوي عندما يتقدم تحقيق أعلى mAP في المشاهد المكتظة على بساطة التصدير.

متى تختار YOLOv5#

  • عمليات نشر الإنتاج: مثالي للتطبيقات التجارية التي تتطلب استقرارًا عاليًا وخيارات مباشرة لنشر النماذج وتوافقًا واسعًا بين المنصات.
  • الأجهزة الطرفية: تعمل الإصدارات الأصغر (YOLOv5n وYOLOv5s) جيدًا على الهواتف المحمولة والأنظمة المضمّنة.
  • متطلبات المهام المتعددة: إذا احتاج مشروعك إلى الانتقال من الكشف البسيط إلى تجزئة المثيلات أو التصنيف باستخدام إطار عمل موحد.
استكشاف بنى أخرى

هل تبحث عن إصدارات أحدث؟ فكّر في استكشاف Ultralytics YOLOv8 أو Ultralytics YOLO11 للاطلاع على مزيد من التطورات في اكتشاف الكائنات الخالي من المراسي وقدرات التعلم متعدد المهام.

الجيل التالي: Ultralytics YOLO26#

مع أن YOLOv5 وYOLOv7 يحتلان مكانة بارزة في تاريخ ذكاء الرؤية الاصطناعي، فإن المشهد يتطور باستمرار. أُطلق Ultralytics YOLO26 في يناير 2026، وهو أحدث نماذج Ultralytics، ويتفوق على الأجيال السابقة في الدقة وسرعة CPU وبساطة النشر.

يقدم YOLO26 عدة ميزات أساسية:

  • تصميم شامل خالٍ من NMS: استنادًا إلى التدريب الخالي من NMS الذي أدخله YOLOv10 إلى نماذج YOLO، يوفّر YOLO26 رأسًا شاملًا اختياريًا (nms=False) يتجاوز معالجة كبح الصناديق المحددة غير القصوى (NMS) اللاحقة، ما يقلل زمن الاستجابة ويبسط منطق النشر.
  • مُحسِّن MuSGD: يستلهم هذا المُحسِّن الهجين من Kimi K2 من Moonshot AI، ويجمع بين SGD القياسي وMuon، ناقلًا أفكار تدريب نماذج اللغة الكبيرة إلى الرؤية الحاسوبية لتحقيق تدريب أكثر استقرارًا وتقارب أسرع.
  • تحسين سرعة CPU: من خلال إزالة خسارة البؤرة التوزيعية (DFL)، يحقق YOLO26n استدلالًا على CPU أسرع بنسبة تصل إلى 43% مقارنةً بـ YOLO11n، ما يجعل YOLO26 ملائمًا لنشر الذكاء الاصطناعي الطرفي وأجهزة إنترنت الأشياء منخفضة الطاقة.
  • ProgLoss + STAL: تحسن الخسارة التدريجية وإسناد التسميات المراعي للأهداف الصغيرة التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية للصور الجوية والروبوتات الدقيقة.
  • تحسينات مخصصة للمهام: يتضمن خسارة للتجزئة الدلالية لتوليد الأقنعة، وتقدير الاحتمالية اللوغاريتمية المتبقية (RLE) لتقدير الوضعيات، وخسارة زاوية متخصصة لمعالجة مشكلات حدود الصناديق المحيطة الموجّهة (OBB).

الخلاصة#

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

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

التعليقات