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

YOLOv9 YOLOv5: دراسة تقنية متعمقة حول الكشف الحديث عن الكائنات

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

النموذجالحجم
(بالبكسل)
mAPval
50-95
السرعة
وحدة المعالجة المركزية CPU ONNX
(بالمللي ثانية)
السرعة
T4 TensorRT10
(بالمللي ثانية)
المعلمات
(M)
FLOPs
(B)
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 مللي ثانية فقط على وحدة معالجة رسومات T4 عبر TensorRT. إذا كنت تقوم بالنشر على أجهزة إنترنت الأشياء المقيدة، أو الهواتف المحمولة، أو Raspberry Pi، فإن بصمة الذاكرة لـ YOLOv5 تجعله موثوقًا بشكل استثنائي.

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

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

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

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

تنوع المهام

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

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

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

متى تختار YOLOv9

YOLOv9 خيار قوي لـ:

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

متى تختار YOLOv5

YOLOv5 في الحالات التالية:

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

متى تختار Ultralytics YOLO26)

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

  • نشر طرفي خالٍ من NMS: التطبيقات التي تتطلب استدلالًا متسقًا ومنخفض زمن الوصول دون تعقيد معالجة ما بعد التثبيط غير الأقصى.
  • بيئات 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 التوصية النهائية لمسارات العمل الحديثة. يقدم تصميمًا شاملاً خالٍ من NMS، مما يزيل اختناقات المعالجة اللاحقة تمامًا. ومع إزالة DFL (Distribution Focal Loss) لتصدير مبسط وتوافق أفضل مع الأجهزة الطرفية/منخفضة الطاقة، فإنه يحقق سرعة استدلال على CPU أسرع بنسبة تصل إلى 43%. يتم تعزيز استقرار التدريب عبر مُحسِّن MuSGD الجديد، ويوفر ProgLoss + STAL دوال خسارة محسّنة مع تحسينات ملحوظة في التعرف على الكائنات الصغيرة، وهو أمر حاسم لإنترنت الأشياء والروبوتات والتصوير الجوي، مما يجعله البنية الأكثر قوة لكل من عمليات النشر على الحافة والسحابة.

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


تعليقات