Ultralytics YOLO27:
Get Started

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 لتحسينات مكثفة لتحقيق كفاءة تدريب عالية وسلاسة العمل في البيئات محدودة الذاكرة، مما يجعله مستقرًا للغاية عند النشر على الأجهزة الطرفية.

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

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

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

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

النموذجالحجم
(بكسل)
mAPالتحقق
50-95
السرعة
CPU ONNX
(مللي ثانية)
السرعة
T4 TensorRT10
(ms)
المعاملات
(M)
FLOPs
(B)
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
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

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

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

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

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

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

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

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

تعدد المهام#

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

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

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

متى تختار YOLOv9#

يُعد YOLOv9 خيارًا قويًا لما يلي:

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

متى تختار YOLOv5#

يُنصح بـ YOLOv5 في الحالات التالية:

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

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

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

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

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

تكمن ميزة منظومة Ultralytics في إمكانية التبديل بين نموذج YOLOv5 ونموذج YOLOv9 بمجرد تغيير سلسلة الأوزان.

from ultralytics import YOLO

# ⁨حمّل نموذج YOLOv9 مدرّبًا مسبقًا (استبدله بـ "yolov5su.pt" لاستخدام YOLOv5u)⁩
model = YOLO("yolov9c.pt")

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

# ⁨نفّذ الاستدلال على صور جديدة⁩
predictions = model.predict("https://ultralytics.com/images/zidane.jpg")

# ⁨التصدير إلى ONNX لنشر سلس⁩
model.export(format="onnx")

استكشاف البنى الأحدث#

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

  • YOLO11: تطور قوي ومحسّن لسلالة YOLOv8، يوفر توازنًا ممتازًا بين السرعة والدقة في جميع مهام الرؤية.
  • YOLO26: صدر YOLO26 في عام 2026، وهو التوصية المثلى لخطوط المعالجة الحديثة. يقدم تصميمًا شاملًا وخاليًا من NMS اختياريًا (nms=False) يزيل اختناقات المعالجة اللاحقة لـNMS. وبفضل إزالة DFL (إزالة Distribution Focal Loss لتبسيط التصدير وتحسين التوافق مع الأجهزة الطرفية ومنخفضة الطاقة)، يحقق استدلالًا أسرع بنسبة تصل إلى 43% على CPU. ويعزز مُحسِّن MuSGD الجديد استقرار التدريب، بينما يحقق ProgLoss + STAL (الخسارة التدريجية وإسناد التسميات المراعي للأهداف الصغيرة) تحسينات ملحوظة في التعرف على الأجسام الصغيرة، وهو أمر بالغ الأهمية لإنترنت الأشياء والروبوتات والصور الجوية، مما يجعله البنية الأكثر متانة للنشر على الأجهزة الطرفية والسحابة.

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

التعليقات