YOLOv9 مقابل YOLOv5: غوص تقني عميق في كشف الأجسام الحديث

شهد مجال الرؤية الحاسوبية نمواً هائلاً، حيث يعمل كشف الأجسام كعمود فقري لعدد لا يحصى من التطبيقات الصناعية والبحثية. غالباً ما يتطلب اختيار البنية المناسبة تقييماً دقيقاً لمتوسط دقة التنبؤ (mAP)، وسرعة الاستدلال، وحمل الذاكرة. في هذه المقارنة، نستكشف نموذجين مؤثرين للغاية: YOLOv9، الذي يشتهر باختراقاته المعمارية في الاحتفاظ بمعلومات التدرج، و Ultralytics YOLOv5، المعيار الصناعي المختبر ميدانياً والمعروف بسهولة استخدامه المذهلة وتعدد استخداماته في النشر.

الابتكارات المعمارية والأصول التقنية

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

YOLOv9: معلومات التدرج القابلة للبرمجة

طوّر الباحثان Chien-Yao Wang و Hong-Yuan Mark Liao في معهد علوم المعلومات التابع لأكاديمية سينيكا في تايوان نموذج YOLOv9 الذي تم إصداره في 21 فبراير 2024. يقدم النموذج مفهومين رائدين لمعالجة اختناق المعلومات الشائع في الشبكات العصبية العميقة: معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN).

من خلال استخدام PGI، يضمن YOLOv9 الاحتفاظ بالمعلومات الحيوية طوال عملية التغذية الأمامية، مما يؤدي إلى تحديثات تدرج دقيقة للغاية. وفي الوقت نفسه، تزيد بنية GELAN من كفاءة المعلمات، مما يسمح للنموذج بتحقيق دقة متطورة مع حمل حسابي منخفض بشكل مدهش. يمكنك استكشاف التفاصيل التقنية في ورقة YOLOv9 Arxiv الرسمية أو عرض مستودع YOLOv9 على GitHub.

اعرف المزيد حول YOLOv9

Ultralytics YOLOv5: معيار الإنتاج

قام Glenn Jocher بتأليف YOLOv5 وأطلقته Ultralytics في 26 يونيو 2020، وقد أحدث هذا النموذج ثورة في سهولة الوصول إلى الرؤية الحاسوبية. كواحد من أوائل نماذج كشف الأجسام التي بُنيت أصلاً على إطار عمل PyTorch، فقد تجاوز تعقيدات إطار عمل Darknet C القديم. يستفيد YOLOv5 من بنية CSPNet المحسنة للغاية وعنق PANet، مع إعطاء الأولوية لتوازن سلس بين السرعة والدقة.

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

اعرف المزيد حول YOLOv5

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

عند تقييم النماذج لأجهزة الحافة، تذكر أن نماذج Ultralytics YOLO تتطلب عادةً ذاكرة GPU أقل بكثير أثناء التدريب والاستدلال مقارنة بالبنى الثقيلة القائمة على Transformer.

تحليل الأداء: السرعة مقابل الدقة

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

النموذجالحجم
(بكسل)
mAPval
50-95
السرعة
CPU ONNX
(ملي ثانية)
السرعة
T4 TensorRT10
(ملي ثانية)
المعلمات
(مليون)
FLOPs
(مليار)
YOLOv9t64038.3-2.32.07.7
YOLOv9s64046.8-3.547.126.4
YOLOv9m64051.4-6.4320.076.3
YOLOv9c64053.0-7.1625.3102.1
YOLOv9e64055.6-16.7757.3189.0
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

تحليل المفاضلات

يؤسس YOLOv9 هيمنة مطلقة في الدقة الخام. يدفع YOLOv9e حدود mAP إلى 55.6%، مستفيداً من طبقات GELAN للحفاظ على التفاصيل الدقيقة. وهذا يجعله خياراً استثنائياً لـ التصوير الطبي أو السيناريوهات التي تتطلب دقة صارمة على الأجسام الصغيرة.

على العكس من ذلك، يتألق YOLOv5 في سرعة النشر الخام ومرونة الأجهزة. يُعرف YOLOv5n (Nano) بخفة وزنه الشديدة، حيث ينفذ عمليات الاستدلال في 1.12 مللي ثانية فقط على GPU من نوع T4 عبر TensorRT. إذا كنت تنشر على أجهزة IoT مقيدة، أو هواتف محمولة، أو Raspberry Pi، فإن بصمة ذاكرة YOLOv5 تجعله موثوقاً بشكل استثنائي.

ميزة نظام Ultralytics البيئي

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

سهولة الاستخدام والتصدير

تعمل Ultralytics على تجريد العقبات الهندسية المعقدة. يتم التعامل مع ميزات مثل زيادة البيانات التلقائية و ضبط المعلمات الفائقة بشكل جاهز. نقل النماذج إلى الإنتاج أمر تافه بنفس القدر، مع أوامر تصدير مدمجة لتحويل النماذج إلى تنسيقات ONNX أو OpenVINO أو TFLite.

تعدد مهام النموذج

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

حالات الاستخدام والتوصيات

يعتمد الاختيار بين YOLOv9 و YOLOv5 على متطلبات مشروعك المحددة، وقيود النشر، وتفضيلات النظام البيئي.

متى تختار YOLOv9

يعتبر YOLOv9 خياراً قوياً لـ:

  • أبحاث عنق زجاجة المعلومات: المشاريع الأكاديمية التي تدرس معمارية معلومات التدرج القابلة للبرمجة (PGI) وشبكة تجميع الطبقات الفعالة المعممة (GELAN).
  • دراسات تحسين تدفق التدرج: الأبحاث التي تركز على فهم وتخفيف فقدان المعلومات في طبقات الشبكة العميقة أثناء التدريب.
  • قياس أداء الاكتشاف عالي الدقة: السيناريوهات التي تحتاج فيها إلى أداء قياس COCO القوي لـ YOLOv9 كنقطة مرجعية للمقارنات المعمارية.

متى تختار YOLOv5

يُوصى باستخدام YOLOv5 في الحالات التالية:

  • أنظمة الإنتاج المثبتة: عمليات النشر الحالية التي يتم فيها تقدير سجل YOLOv5 الطويل من الاستقرار، والتوثيق المكثف، والدعم المجتمعي الهائل.
  • التدريب بموارد محدودة: البيئات ذات موارد GPU المحدودة حيث يكون خط أنابيب التدريب الفعال ومتطلبات الذاكرة الأقل لـ YOLOv5 ميزة كبيرة.
  • دعم واسع لتنسيقات التصدير: المشاريع التي تتطلب النشر عبر العديد من التنسيقات بما في ذلك ONNX، و TensorRT، و CoreML، و TFLite.

متى تختار Ultralytics (YOLO26)

بالنسبة لمعظم المشاريع الجديدة، يوفر Ultralytics YOLO26 أفضل مزيج من الأداء وتجربة المطورين:

  • نشر الحافة الخالي من NMS: التطبيقات التي تتطلب استدلالاً ثابتاً ومنخفض التأخير دون تعقيد المعالجة اللاحقة لـ Non-Maximum Suppression.
  • بيئات تعتمد فقط على CPU: الأجهزة التي لا تحتوي على تسريع GPU مخصص، حيث توفر سرعة استدلال YOLO26 الأسرع بنسبة تصل إلى 43% على CPU ميزة حاسمة.
  • اكتشاف الكائنات الصغيرة: السيناريوهات الصعبة مثل صور الطائرات بدون طيار أو تحليل مستشعرات إنترنت الأشياء حيث تعزز ProgLoss و STAL الدقة بشكل كبير على الكائنات الصغيرة جداً.

مثال على التنفيذ

جمال نظام Ultralytics هو أنه يمكنك التبديل بين نموذج YOLOv5 ونموذج YOLOv9 ببساطة عن طريق تغيير سلسلة الأوزان.

from ultralytics import YOLO

# Load a pretrained YOLOv9 model (swap to "yolov5s.pt" to use YOLOv5)
model = YOLO("yolov9c.pt")

# Train the model efficiently on a custom dataset
train_results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on new images
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")

# Export to ONNX for seamless deployment
model.export(format="onnx")

استكشاف بنيات أحدث

بينما يعد YOLOv5 و YOLOv9 نموذجين ممتازين بمزايا متميزة، يستمر المجال في التقدم. قد يرغب المستخدمون الذين يستكشفون مشاريع جديدة أيضاً في تقييم أحدث إصدارات Ultralytics.

  • YOLO11: تطور قوي ومصقول لسلالة YOLOv8 يقدم توازناً ممتازاً بين السرعة والدقة عبر جميع مهام الرؤية.
  • YOLO26: تم إصداره في عام 2026، ويعد YOLO26 التوصية المثالية لخطوط الأنابيب الحديثة. يقدم تصميماً End-to-End NMS-Free، مما يلغي تماماً اختناقات المعالجة اللاحقة. مع إزالة DFL (تمت إزالة Distribution Focal Loss لتبسيط التصدير وتحسين التوافق مع أجهزة الحافة/منخفضة الطاقة)، فإنه يحقق استدلالاً أسرع لوحدة المعالجة المركزية بنسبة تصل إلى 43%. تم تعزيز استقرار التدريب عبر محسن MuSGD الجديد، ويوفر ProgLoss + STAL وظائف خسارة محسنة مع تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية لـ IoT، والروبوتات، والصور الجوية، مما يجعله البنية الأكثر قوة لكل من عمليات النشر على الحافة والسحابة.

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

التعليقات