YOLOv4: كشف الأجسام عالي السرعة والدقة#
مرحبًا بك في صفحة توثيق Ultralytics الخاصة بـ YOLOv4، وهو كاشف أجسام آني متطور أطلقه Alexey Bochkovskiy في عام 2020 على https://github.com/AlexeyAB/darknet. صُمم YOLOv4 لتوفير التوازن الأمثل بين السرعة والدقة، ما يجعله خيارًا ممتازًا للعديد من التطبيقات.
مخطط بنية YOLOv4. يعرض تصميم الشبكة المعقدة لـ YOLOv4، بما في ذلك مكوّنات العمود الفقري والعنق والرأس وطبقاتها المترابطة لتحقيق الكشف الأمثل عن الأجسام في الوقت الفعلي.
مقدمة#
يرمز YOLOv4 إلى You Only Look Once الإصدار 4. وهو نموذج لكشف الأجسام في الوقت الفعلي، طُوّر لمعالجة قيود إصدارات YOLO السابقة مثل YOLOv3 وغيرها من نماذج كشف الأجسام. وعلى خلاف كاشفات الأجسام القائمة على الشبكات العصبية الالتفافية (CNN) الأخرى، لا يقتصر YOLOv4 على أنظمة التوصية، بل يُستخدم أيضًا لإدارة العمليات المستقلة وتقليل المدخلات البشرية. ويتيح تشغيله على وحدات معالجة الرسومات التقليدية (GPUs) استخدامه على نطاق واسع بتكلفة ميسورة، كما صُمم للعمل في الوقت الفعلي على وحدة معالجة رسومات تقليدية واحدة فقط مع الاكتفاء بوحدة واحدة من هذا النوع للتدريب.
البنية#
يستخدم YOLOv4 العديد من الميزات المبتكرة التي تعمل معًا لتحسين أدائه. وتشمل هذه الميزات الاتصالات المتبقية الموزونة (WRC)، والاتصالات الجزئية عبر المراحل (CSP)، والتطبيع المصغر المتقاطع للدفعات Batch Normalization (CmBN)، والتدريب الخصومي الذاتي (SAT)، وتفعيل Mish، وزيادة البيانات الفسيفسائية، والتنظيم DropBlock، ودالة خسارة CIoU. وتُدمج هذه الميزات لتحقيق نتائج متطورة.
يتكوّن كاشف الأجسام النموذجي من عدة أجزاء، تشمل الإدخال والعمود الفقري والعنق والرأس. ويُدرَّب العمود الفقري لـ YOLOv4 مسبقًا على ImageNet، ويُستخدم للتنبؤ بفئات الأجسام ومربعات الإحاطة الخاصة بها. ويمكن أن يكون العمود الفقري مستمدًا من عدة نماذج، منها VGG وResNet وResNeXt وDenseNet. ويُستخدم جزء العنق في الكاشف لجمع خرائط السمات من مراحل مختلفة، ويتضمن عادةً عدة مسارات تصاعدية وعدة مسارات تنازلية. أما جزء الرأس فهو المسؤول عن إجراء عمليات الكشف والتصنيف النهائية للأجسام.
حزمة المزايا المجانية#
يستخدم YOLOv4 أيضًا أساليب تُعرف باسم «حزمة المزايا المجانية»، وهي تقنيات تحسّن دقة النموذج أثناء التدريب من دون زيادة تكلفة الاستدلال. وتُعد زيادة البيانات من تقنيات حزمة المزايا المجانية الشائعة المستخدمة في كشف الأجسام، إذ تزيد تنوع صور الإدخال لتحسين متانة النموذج. وتشمل بعض أمثلة زيادة البيانات التشوهات اللونية الضوئية، مثل ضبط سطوع الصورة وتباينها ودرجة لونها وتشبعها وضجيجها، والتشوهات الهندسية، مثل تغيير القياس والاقتصاص والقلب والتدوير عشوائيًا. وتساعد هذه التقنيات النموذج على التعميم بصورة أفضل على أنواع مختلفة من الصور.
الميزات والأداء#
صُمم YOLOv4 لتحقيق السرعة والدقة المثليين في كشف الأجسام. وتتضمن بنية YOLOv4 نموذج CSPDarknet53 بوصفه العمود الفقري، وPANet بوصفه العنق، وYOLOv3 بوصفه رأس الكشف. ويتيح هذا التصميم لـ YOLOv4 إجراء كشف الأجسام بسرعة لافتة، ما يجعله مناسبًا للتطبيقات الآنية. كما يتميز YOLOv4 بدقته، إذ يحقق نتائج متطورة في معايير قياس كشف الأجسام مثل COCO.
عند مقارنته بنماذج أخرى من عائلة YOLO، مثل YOLOv5 وYOLOv7، يحافظ YOLOv4 على مكانة قوية في تحقيق التوازن بين السرعة والدقة. ورغم أن النماذج الأحدث قد توفر بعض المزايا، فإن الابتكارات المعمارية في YOLOv4 لا تزال تجعله ملائمًا للعديد من التطبيقات التي تتطلب أداءً آنيًا.
أمثلة على الاستخدام#
YOLOv4 نموذج قائم على Darknet، ولا يحظى بدعم أصلي من حزمة Ultralytics Python: فلا توجد أوزان مدرَّبة مسبقًا لـ yolov4.pt منشورة على ultralytics/assets، ولا توجد ملفات YAML لـ ultralytics/cfg/models/v4/. وتُحافظ هذه الصفحة بوصفها مرجعًا معماريًا. وينبغي للمستخدمين المهتمين بتشغيل YOLOv4 الرجوع مباشرةً إلى مستودع YOLOv4 على GitHub للحصول على تعليمات التثبيت والاستخدام.
فيما يلي نظرة موجزة على الخطوات النموذجية التي قد تتخذها لاستخدام YOLOv4:
-
زُر مستودع YOLOv4 على GitHub: https://github.com/AlexeyAB/darknet.
-
اتبع التعليمات الواردة في ملف README للتثبيت. ويتضمن ذلك عادةً استنساخ المستودع، وتثبيت التبعيات اللازمة، وإعداد أي متغيرات بيئية مطلوبة.
-
بعد اكتمال التثبيت، يمكنك تدريب النموذج واستخدامه وفقًا لتعليمات الاستخدام الواردة في المستودع. ويتضمن ذلك عادةً إعداد مجموعة البيانات، وتهيئة معلمات النموذج، وتدريب النموذج، ثم استخدام النموذج المدرَّب لإجراء كشف الأجسام.
يرجى ملاحظة أن الخطوات المحددة قد تختلف تبعًا لحالة الاستخدام الخاصة بك والحالة الراهنة لمستودع YOLOv4. لذلك، يُوصى بشدة بالرجوع مباشرةً إلى التعليمات الواردة في مستودع YOLOv4 على GitHub.
للتدريب والاستدلال ضمن إطار Ultralytics، راجع YOLO11 أو YOLO26.
الخلاصة#
YOLOv4 نموذج قوي وفعال لكشف الأجسام، يحقق توازنًا بين السرعة والدقة. ويتيح استخدامه لميزات فريدة وتقنيات حزمة المزايا المجانية أثناء التدريب أداءً ممتازًا في مهام كشف الأجسام في الوقت الفعلي. ويمكن لأي شخص لديه وحدة معالجة رسومات تقليدية تدريب YOLOv4 واستخدامه، ما يجعله متاحًا وعمليًا لمجموعة واسعة من التطبيقات، بما في ذلك أنظمة المراقبة والمركبات ذاتية القيادة والأتمتة الصناعية.
بالنسبة إلى من يرغبون في تنفيذ كشف الأجسام في مشروعاتهم، يظل 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، الذي يرمز إلى «You Only Look Once الإصدار 4»، هو نموذج متطور لكشف الأجسام في الوقت الفعلي، طوّره Alexey Bochkovskiy في عام 2020. ويحقق توازنًا أمثل بين السرعة والدقة، ما يجعله ملائمًا جدًا للتطبيقات الآنية. وتتضمن بنية YOLOv4 عدة ميزات مبتكرة، مثل الاتصالات المتبقية الموزونة (WRC)، والاتصالات الجزئية عبر المراحل (CSP)، والتدريب الخصومي الذاتي (SAT)، وغيرها، لتحقيق نتائج متطورة. وإذا كنت تبحث عن نموذج عالي الأداء يعمل بكفاءة على وحدات معالجة الرسومات التقليدية، فإن YOLOv4 خيار ممتاز.
تتضمن بنية YOLOv4 عدة مكوّنات رئيسية: العمود الفقري والعنق والرأس. ويُدرَّب العمود الفقري مسبقًا للتنبؤ بالفئات ومربعات الإحاطة، ويمكن أن يكون نموذجًا مثل VGG أو ResNet أو CSPDarknet53. ويستخدم العنق PANet لربط خرائط السمات من مراحل مختلفة، ما يتيح استخراجًا شاملًا للبيانات. وأخيرًا، يُجري الرأس، الذي يستخدم تهيئات من YOLOv3، عمليات الكشف النهائية عن الأجسام. كما يستخدم YOLOv4 تقنيات «حزمة المزايا المجانية»، مثل زيادة البيانات الفسيفسائية وتنظيم DropBlock، لتحسين سرعته ودقته بدرجة أكبر.
تشير «حزمة المزايا المجانية» إلى أساليب تحسّن دقة تدريب YOLOv4 من دون زيادة تكلفة الاستدلال. وتشمل هذه التقنيات أشكالًا مختلفة من زيادة البيانات، مثل التشوهات اللونية الضوئية، كضبط السطوع والتباين وغيرهما، والتشوهات الهندسية، مثل تغيير القياس والاقتصاص والقلب والتدوير. ومن خلال زيادة تنوع صور الإدخال، تساعد تحسينات البيانات هذه YOLOv4 على التعميم بصورة أفضل على أنواع مختلفة من الصور، مما يحسّن متانته ودقته من دون التأثير سلبًا في أدائه الآني.
صُمم YOLOv4 لتحسين السرعة والدقة معًا، ما يجعله مثاليًا لمهام كشف الأجسام في الوقت الفعلي التي تتطلب أداءً سريعًا وموثوقًا. ويعمل بكفاءة على وحدات معالجة الرسومات التقليدية، ولا يحتاج إلا إلى وحدة واحدة للتدريب والاستدلال. وهذا يجعله متاحًا وعمليًا لمختلف التطبيقات، بدءًا من أنظمة التوصية ووصولًا إلى إدارة العمليات المستقلة، مما يقلل الحاجة إلى تجهيزات عتادية واسعة ويجعله حلًا منخفض التكلفة لكشف الأجسام في الوقت الفعلي.
للبدء باستخدام YOLOv4، ينبغي زيارة مستودع YOLOv4 الرسمي على GitHub. اتبع تعليمات التثبيت الواردة في ملف README، والتي تتضمن عادةً استنساخ المستودع، وتثبيت التبعيات، وإعداد المتغيرات البيئية. وبعد التثبيت، يمكنك تدريب النموذج من خلال إعداد مجموعة البيانات وتهيئة معلمات النموذج واتباع تعليمات الاستخدام المقدمة. ونظرًا إلى أن Ultralytics لا تدعم YOLOv4 حاليًا، يُوصى بالرجوع مباشرةً إلى YOLOv4 على GitHub للحصول على أحدث الإرشادات وأكثرها تفصيلًا.