Ultralytics YOLO27:

مقارنة بين YOLOv9 وYOLOv5#

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

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

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

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

طوّر الباحثان Chien-Yao Wang وHong-Yuan Mark Liao في معهد علوم المعلومات التابع لـ Academia Sinica في تايوان نموذج 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 بدرجة كبيرة لتحقيق كفاءة تدريب سريعة والعمل في بيئات منخفضة الذاكرة، مما يجعله مستقرًا للغاية عند النشر على الأجهزة الطرفية.

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

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

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

عند تصميم مسار معالجة للرؤية الحاسوبية، يجب على المطورين موازنة المفاضلات بين الدقة ووقت الاستجابة. يوضح الجدول التالي فروق الأداء على مجموعة بيانات 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 (نانو) بخفة وزنه المشهودة، إذ ينفذ عمليات الاستدلال في 1.12 مللي ثانية فقط على وحدة معالجة الرسومات T4 عبر TensorRT. وإذا كنت تنشر على أجهزة IoT محدودة الموارد، أو هواتف محمولة، أو Raspberry Pi، فإن البصمة الذاكرية لـ YOLOv5 تجعله موثوقًا بدرجة استثنائية.

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

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

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

تجرد 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 YOLO26 أفضل مزيج من الأداء وتجربة المطور:

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

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

التعليقات