YOLOv4: كشف دقيق وفائق السرعة للكائنات

مرحبًا بك في صفحة وثائق Ultralytics الخاصة بـ YOLOv4، وهو كاشف كائنات متطور وفوري تم إطلاقه في عام 2020 بواسطة Alexey Bochkovskiy على الرابط https://github.com/AlexeyAB/darknet. تم تصميم YOLOv4 لتوفير التوازن الأمثل بين السرعة والدقة، مما يجعله خيارًا ممتازًا للعديد من التطبيقات.

مخطط بنية YOLOv4 مخطط بنية YOLOv4. يستعرض التصميم الشبكي المعقد لـ YOLOv4، بما في ذلك المكونات الأساسية (backbone)، والعنق (neck)، والرأس (head)، وطبقاتها المترابطة لتحقيق كشف فوري ومثالي للكائنات.

مقدمة

يرمز YOLOv4 إلى You Only Look Once version 4. وهو نموذج لكشف الكائنات في الوقت الفعلي تم تطويره لمعالجة قيود إصدارات YOLO السابقة مثل YOLOv3 ونماذج أخرى لكشف الكائنات. على عكس كاشفات الكائنات الأخرى القائمة على الشبكات العصبية التلافيفية (CNN)، لا يقتصر استخدام YOLOv4 على أنظمة التوصية فحسب، بل يمتد ليشمل إدارة العمليات المستقلة وتقليل المدخلات البشرية. يتيح تشغيله على وحدات معالجة الرسومات (GPUs) التقليدية استخدامه على نطاق واسع بتكلفة معقولة، وقد تم تصميمه للعمل في الوقت الفعلي على GPU تقليدي مع تطلب وحدة واحدة فقط للتدريب.

البنية

يستفيد YOLOv4 من العديد من الميزات المبتكرة التي تعمل معًا لتحسين أدائه. تشمل هذه الميزات الاتصالات المتبقية المرجحة (WRC)، واتصالات المراحل الجزئية المتقاطعة (CSP)، وتقنية تطبيع الدفعات المصغرة المتقاطعة (CmBN)، والتدريب العدائي الذاتي (SAT)، وتنشيط Mish، وزيادة البيانات بطريقة الفسيفساء (Mosaic)، وتقنية التنظيم بـ DropBlock، وخسارة CIoU. يتم دمج هذه الميزات لتحقيق نتائج متطورة.

يتكون كاشف الكائنات النموذجي من عدة أجزاء بما في ذلك المدخلات، والعمود الفقري، والعنق، والرأس. يتم تدريب العمود الفقري لـ YOLOv4 مسبقًا على ImageNet ويُستخدم للتنبؤ بالفئات ومربعات التحديد للكائنات. يمكن أن يكون العمود الفقري من عدة نماذج بما في ذلك VGG أو ResNet أو ResNeXt أو DenseNet. يُستخدم جزء العنق من الكاشف لجمع خرائط الميزات من مراحل مختلفة وعادة ما يتضمن عدة مسارات تصاعدية وتنازلية. أما جزء الرأس فهو المستخدم لإجراء عمليات الكشف والتصنيف النهائية للكائنات.

مجموعة الميزات المجانية (Bag of Freebies)

يستخدم YOLOv4 أيضًا طرقًا تُعرف باسم "حقيبة الميزات المجانية" (bag of freebies)، وهي تقنيات تعمل على تحسين دقة النموذج أثناء التدريب دون زيادة تكلفة الاستدلال. تُعد زيادة البيانات تقنية شائعة من "حقيبة الميزات المجانية" المستخدمة في كشف الكائنات، حيث تزيد من تباين صور الإدخال لتحسين متانة النموذج. تتضمن بعض أمثلة زيادة البيانات التشويهات الضوئية (تعديل السطوع، والتباين، والصبغة، والتشبع، وضوضاء الصورة) والتشوهات الهندسية (إضافة تغيير الحجم العشوائي، والقص، والقلب، والتدوير). تساعد هذه التقنيات النموذج على التعميم بشكل أفضل على أنواع مختلفة من الصور.

الميزات والأداء

تم تصميم YOLOv4 لتحقيق السرعة والدقة الأمثل في كشف الكائنات. تتضمن بنية YOLOv4 نموذج CSPDarknet53 كعمود فقري، وPANet كعنق، وYOLOv3 كـ رأس للكشف. يتيح هذا التصميم لـ YOLOv4 إجراء كشف الكائنات بسرعة مبهرة، مما يجعله مناسبًا للتطبيقات الفورية. كما يتفوق YOLOv4 في الدقة، حيث يحقق نتائج متطورة في معايير كشف الكائنات مثل COCO.

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

أمثلة الاستخدام

YOLOv4 هو نموذج يعتمد على Darknet ولا يتم دعمه أصلاً بواسطة حزمة Python الخاصة بـ Ultralytics: لا توجد أوزان مدربة مسبقًا بصيغة yolov4.pt منشورة على ultralytics/assets ولا توجد ملفات YAML بمسار ultralytics/cfg/models/v4/. يتم الاحتفاظ بهذه الصفحة كمرجع معماري. يجب على المستخدمين المهتمين بتشغيل YOLOv4 الرجوع مباشرة إلى مستودع YOLOv4 على GitHub للحصول على تعليمات التثبيت والاستخدام.

إليك نظرة عامة موجزة على الخطوات النموذجية التي قد تتخذها لاستخدام YOLOv4:

  1. قم بزيارة مستودع YOLOv4 على GitHub: https://github.com/AlexeyAB/darknet.

  2. اتبع التعليمات الواردة في ملف README للتثبيت. يتضمن هذا عادةً استنساخ المستودع، وتثبيت التبعيات اللازمة، وإعداد أي متغيرات بيئية ضرورية.

  3. بمجرد اكتمال التثبيت، يمكنك تدريب النموذج واستخدامه وفقًا لتعليمات الاستخدام الواردة في المستودع. يتضمن هذا عادةً إعداد مجموعة البيانات الخاصة بك، وتكوين معلمات النموذج، وتدريب النموذج، ثم استخدام النموذج المدرب لإجراء كشف الكائنات.

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

للتدريب والاستدلال ضمن إطار عمل Ultralytics، راجع YOLO11 أو YOLO26.

خاتمة

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

بالنسبة لأولئك الذين يتطلعون إلى تنفيذ كشف الكائنات في مشاريعهم، يظل YOLOv4 منافسًا قويًا، خاصة عندما تكون الأولوية للأداء الفوري. بينما تركز Ultralytics حاليًا على دعم إصدارات YOLO الأحدث مثل YOLO11 وYOLO26، فقد أثرت الابتكارات المعمارية المقدمة في YOLOv4 على تطوير هذه النماذج اللاحقة.

الاقتباسات والشكر

نود أن نشكر مؤلفي YOLOv4 على مساهماتهم الهامة في مجال كشف الكائنات في الوقت الفعلي:

اقتباس
@misc{bochkovskiy2020yolov4,
      title={YOLOv4: Optimal Speed and Accuracy of Object Detection},
      author={Alexey Bochkovskiy and Chien-Yao Wang and Hong-Yuan Mark Liao},
      year={2020},
      eprint={2004.10934},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

يمكن العثور على ورقة YOLOv4 الأصلية على arXiv. جعل المؤلفون أعمالهم متاحة للجمهور، ويمكن الوصول إلى قاعدة البيانات البرمجية على GitHub. نحن نقدر جهودهم في تطوير هذا المجال وجعل أعمالهم متاحة للمجتمع الأوسع.

الأسئلة الشائعة

ما هو YOLOv4 ولماذا يجب أن أستخدمه لـ كشف الكائنات؟

YOLOv4، والذي يرمز إلى "You Only Look Once version 4"، هو نموذج كشف كائنات متطور وفوري تم تطويره بواسطة Alexey Bochkovskiy في عام 2020. إنه يحقق توازنًا مثاليًا بين السرعة والدقة، مما يجعله مناسبًا للغاية للتطبيقات الفورية. تدمج بنية YOLOv4 العديد من الميزات المبتكرة مثل الاتصالات المتبقية المرجحة (WRC)، واتصالات المراحل الجزئية المتقاطعة (CSP)، والتدريب العدائي الذاتي (SAT)، من بين أمور أخرى، لتحقيق نتائج متطورة. إذا كنت تبحث عن نموذج عالي الأداء يعمل بكفاءة على وحدات GPU التقليدية، فإن YOLOv4 خيار ممتاز.

كيف تعمل بنية YOLOv4 على تعزيز أدائه؟

تتضمن بنية YOLOv4 العديد من المكونات الرئيسية: العمود الفقري، والعنق، والرأس. العمود الفقري، الذي يمكن أن يكون نماذج مثل VGG أو ResNet أو CSPDarknet53، مدرب مسبقًا للتنبؤ بالفئات ومربعات التحديد. العنق، الذي يستخدم PANet، يربط خرائط الميزات من مراحل مختلفة لاستخراج بيانات شاملة. أخيرًا، الرأس، الذي يستخدم تكوينات من YOLOv3، يقوم بعمليات كشف الكائنات النهائية. يستخدم YOLOv4 أيضًا تقنيات "حقيبة الميزات المجانية" مثل زيادة البيانات بالفسيفساء وتنظيم DropBlock، مما يزيد من تحسين سرعته ودقته.

ما هي "حقيبة الميزات المجانية" في سياق YOLOv4؟

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

لماذا يعتبر YOLOv4 مناسبًا لكشف الكائنات في الوقت الفعلي على وحدات GPU التقليدية؟

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

كيف يمكنني البدء مع YOLOv4 إذا كانت Ultralytics لا تدعمه حاليًا؟

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

التعليقات