Link to this sectionYOLOv4: كشف كائنات عالي السرعة ودقيق#
مرحبًا بك في صفحة وثائق Ultralytics الخاصة بـ YOLOv4، وهو كاشف كائنات متطور يعمل في الوقت الفعلي، أطلقه Alexey Bochkovskiy في عام 2020 على الرابط https://github.com/AlexeyAB/darknet. تم تصميم YOLOv4 لتوفير التوازن الأمثل بين السرعة والدقة، مما يجعله خيارًا ممتازًا للعديد من التطبيقات.
مخطط بنية YOLOv4. يستعرض تصميم الشبكة المعقد لـ YOLOv4، بما في ذلك المكونات الأساسية (backbone)، والعنق (neck)، والرأس (head)، وطبقاتها المترابطة لتحقيق كشف مثالي للكائنات في الوقت الفعلي.
Link to this sectionمقدمة#
يرمز YOLOv4 إلى You Only Look Once version 4. وهو نموذج كشف كائنات يعمل في الوقت الفعلي تم تطويره لمعالجة قيود إصدارات YOLO السابقة مثل YOLOv3 ونماذج كشف كائنات أخرى. على عكس كاشفات الكائنات الأخرى المستندة إلى الشبكات العصبية التلافيفية (CNN)، فإن YOLOv4 ليس قابلاً للتطبيق في أنظمة التوصية فحسب، بل أيضًا في إدارة العمليات المستقلة وتقليل المدخلات البشرية. يسمح تشغيله على وحدات معالجة الرسومات (GPUs) التقليدية بالاستخدام الواسع بتكلفة معقولة، وهو مصمم للعمل في الوقت الفعلي على GPU تقليدي مع تطلب GPU واحد فقط للتدريب.
Link to this sectionالبنية الهندسية#
يستفيد YOLOv4 من العديد من الميزات المبتكرة التي تعمل معًا لتحسين أدائه. وتشمل هذه الميزات التوصيلات المتبقية الموزونة (WRC)، وتوصيلات الجزء المتقاطع (CSP)، وتطبيع الدفعات المصغرة المتقاطعة (CmBN)، والتدريب العدائي الذاتي (SAT)، وتفعيل Mish، وتعزيز البيانات Mosaic، والتنظيم بأسلوب DropBlock، وخسارة CIoU. يتم الجمع بين هذه الميزات لتحقيق نتائج متطورة.
يتكون كاشف الكائنات النموذجي من عدة أجزاء بما في ذلك الإدخال، وbackbone، والعنق، والرأس. تم تدريب الـ backbone الخاص بـ YOLOv4 مسبقاً على ImageNet ويُستخدم للتنبؤ بالفئات وbounding boxes للكائنات. يمكن أن يكون الـ backbone من نماذج متعددة بما في ذلك VGG أو ResNet أو ResNeXt أو DenseNet. يُستخدم جزء العنق من الكاشف لجمع feature maps من مراحل مختلفة وعادةً ما يتضمن عدة مسارات من الأسفل إلى الأعلى وعدة مسارات من الأعلى إلى الأسفل. الرأس هو الجزء المستخدم لإجراء اكتشافات الكائنات النهائية والتصنيفات.
Link to this sectionمجموعة الهدايا (Bag of Freebies)#
يستخدم YOLOv4 أيضًا طرقًا تُعرف باسم "مجموعة الهدايا" (bag of freebies)، وهي تقنيات تحسن دقة النموذج أثناء التدريب دون زيادة تكلفة الاستدلال. تُعد زيادة البيانات تقنية شائعة من "مجموعة الهدايا" تُستخدم في كشف الكائنات، حيث تزيد من تباين الصور المدخلة لتحسين متانة النموذج. تتضمن بعض أمثلة زيادة البيانات التشوهات الضوئية (ضبط السطوع، والتباين، والصبغة، والتشبع، وضجيج الصورة) والتشوهات الهندسية (إضافة تحجيم عشوائي، واقتصاص، وقلب، وتدوير). تساعد هذه التقنيات النموذج على التعميم بشكل أفضل على أنواع مختلفة من الصور.
Link to this sectionالميزات والأداء#
تم تصميم YOLOv4 للحصول على سرعة ودقة مثاليتين في اكتشاف الكائنات. تتضمن بنية YOLOv4 شبكة CSPDarknet53 كـ backbone، وPANet كعنق، وYOLOv3 كـ detection head. يسمح هذا التصميم لـ YOLOv4 بإجراء اكتشاف الكائنات بسرعة مذهلة، مما يجعله مناسباً للتطبيقات ذات الوقت الفعلي. يتفوق YOLOv4 أيضاً في الدقة، حيث يحقق نتائج متطورة في مقاييس اكتشاف الكائنات مثل COCO.
عند مقارنته بنماذج أخرى في عائلة YOLO، مثل YOLOv5 وYOLOv7، يحتفظ YOLOv4 بمكانة قوية في التوازن بين السرعة والدقة. وبينما قد توفر النماذج الأحدث مزايا معينة، فإن الابتكارات المعمارية لـ YOLOv4 لا تزال تجعله ذا صلة بالعديد من التطبيقات التي تتطلب أداءً في الوقت الفعلي.
Link to this sectionأمثلة الاستخدام#
YOLOv4 هو نموذج يعتمد على Darknet ولا يتم دعمه أصلاً بواسطة حزمة Ultralytics Python: لا توجد أوزان مدربة مسبقًا yolov4.pt منشورة على ultralytics/assets ولا توجد ملفات YAML ultralytics/cfg/models/v4/. تم الاحتفاظ بهذه الصفحة كمرجع معماري. يجب على المستخدمين المهتمين بتشغيل YOLOv4 الرجوع مباشرة إلى مستودع GitHub الخاص بـ YOLOv4 للحصول على تعليمات التثبيت والاستخدام.
إليك نظرة عامة موجزة على الخطوات النموذجية التي قد تتخذها لاستخدام YOLOv4:
-
قم بزيارة مستودع YOLOv4 على GitHub: https://github.com/AlexeyAB/darknet.
-
اتبع التعليمات الواردة في ملف README للتثبيت. يتضمن هذا عادةً استنساخ المستودع، وتثبيت التبعيات اللازمة، وإعداد أي متغيرات بيئة ضرورية.
-
بمجرد اكتمال التثبيت، يمكنك تدريب النموذج واستخدامه وفقًا لتعليمات الاستخدام الواردة في المستودع. يتضمن هذا عادةً إعداد مجموعة البيانات الخاصة بك، وتكوين معلمات النموذج، وتدريب النموذج، ثم استخدام النموذج المدرب لإجراء كشف الكائنات.
يرجى ملاحظة أن الخطوات المحددة قد تختلف اعتمادًا على حالة الاستخدام الخاصة بك والحالة الحالية لمستودع YOLOv4. لذلك، يوصى بشدة بالرجوع مباشرة إلى التعليمات المقدمة في مستودع GitHub الخاص بـ YOLOv4.
للتدريب والاستدلال داخل إطار عمل Ultralytics، راجع YOLO11 أو YOLO26.
Link to this sectionالخلاصة#
YOLOv4 هو نموذج كشف كائنات قوي وفعال يحقق توازناً بين السرعة والدقة. إن استخدامه لميزات فريدة وتقنيات "مجموعة الهدايا" أثناء التدريب يسمح له بالأداء بشكل ممتاز في مهام كشف الكائنات في الوقت الفعلي. يمكن تدريب YOLOv4 واستخدامه من قبل أي شخص لديه GPU تقليدي، مما يجعله سهل الوصول وعملياً لمجموعة واسعة من التطبيقات بما في ذلك أنظمة المراقبة، والمركبات ذاتية القيادة، والأتمتة الصناعية.
بالنسبة لأولئك الذين يتطلعون إلى تنفيذ كشف الكائنات في مشاريعهم، يظل YOLOv4 منافساً قوياً، خاصة عندما يكون الأداء في الوقت الفعلي أولوية. في حين تركز Ultralytics حالياً على دعم إصدارات YOLO الأحدث مثل YOLO11 وYOLO26، فقد أثرت الابتكارات المعمارية التي تم تقديمها في YOLOv4 على تطوير هذه النماذج اللاحقة.
Link to this sectionالاقتباسات والشكر#
نود أن نشكر مؤلفي 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. نحن نقدر جهودهم في تطوير المجال وإتاحة عملهم للمجتمع الأوسع.
Link to this sectionالأسئلة الشائعة#
Link to this sectionما هو YOLOv4 ولماذا يجب أن أستخدمه لـ كشف الكائنات؟#
YOLOv4، الذي يرمز إلى "You Only Look Once version 4"، هو نموذج متطور لكشف الكائنات في الوقت الفعلي طوره Alexey Bochkovskiy في عام 2020. يحقق توازناً أمثلاً بين السرعة والدقة، مما يجعله مناسباً جداً للتطبيقات في الوقت الفعلي. تتضمن بنية YOLOv4 العديد من الميزات المبتكرة مثل التوصيلات المتبقية الموزونة (WRC)، وتوصيلات الجزء المتقاطع (CSP)، والتدريب العدائي الذاتي (SAT)، من بين أمور أخرى، لتحقيق نتائج متطورة. إذا كنت تبحث عن نموذج عالي الأداء يعمل بكفاءة على وحدات معالجة الرسومات التقليدية، فإن YOLOv4 هو خيار ممتاز.
Link to this sectionكيف تعزز بنية YOLOv4 أداءه؟#
تتضمن بنية YOLOv4 العديد من المكونات الرئيسية: العمود الفقري، والعنق، والرأس. العمود الفقري، الذي يمكن أن يكون نماذج مثل VGG أو ResNet أو CSPDarknet53، مدرب مسبقاً للتنبؤ بالفئات وصناديق التحديد. العنق، الذي يستخدم PANet، يربط خرائط الميزات من مراحل مختلفة لاستخراج البيانات بشكل شامل. أخيراً، الرأس، الذي يستخدم تكوينات من YOLOv3، يقوم بعمليات كشف الكائنات النهائية. يستخدم YOLOv4 أيضاً تقنيات "مجموعة الهدايا" مثل زيادة البيانات Mosaic والتنظيم بأسلوب DropBlock، مما يزيد من تحسين سرعته ودقته.
Link to this sectionما هي "مجموعة الهدايا" (bag of freebies) في سياق YOLOv4؟#
تشير "مجموعة الهدايا" إلى الطرق التي تحسن دقة تدريب YOLOv4 دون زيادة تكلفة الاستدلال. تتضمن هذه التقنيات أشكالاً مختلفة من زيادة البيانات مثل التشوهات الضوئية (ضبط السطوع، والتباين، وما إلى ذلك) والتشوهات الهندسية (التحجيم، والاقتصاص، والقلب، والتدوير). من خلال زيادة تباين الصور المدخلة، تساعد هذه التحسينات YOLOv4 على التعميم بشكل أفضل على أنواع مختلفة من الصور، مما يحسن متانته ودقته دون المساس بأدائه في الوقت الفعلي.
Link to this sectionلماذا يُعتبر YOLOv4 مناسباً لكشف الكائنات في الوقت الفعلي على وحدات معالجة الرسومات التقليدية؟#
صُمم YOLOv4 لتحسين السرعة والدقة معاً، مما يجعله مثالياً لمهام كشف الكائنات في الوقت الفعلي التي تتطلب أداءً سريعاً وموثوقاً. يعمل بكفاءة على وحدات معالجة الرسومات التقليدية، ويحتاج إلى وحدة واحدة فقط لكل من التدريب والاستدلال. وهذا يجعله سهل الوصول وعملياً لمختلف التطبيقات بدءاً من أنظمة التوصية إلى إدارة العمليات المستقلة، مما يقلل الحاجة إلى إعدادات أجهزة واسعة النطاق ويجعله حلاً فعالاً من حيث التكلفة لكشف الكائنات في الوقت الفعلي.
Link to this sectionكيف يمكنني البدء باستخدام YOLOv4 إذا كانت Ultralytics لا تدعمه حالياً؟#
للبدء بـ YOLOv4، يجب عليك زيارة مستودع YOLOv4 على GitHub الرسمي. اتبع تعليمات التثبيت الواردة في ملف README، والتي تتضمن عادةً استنساخ المستودع، وتثبيت التبعيات، وإعداد متغيرات البيئة. بمجرد التثبيت، يمكنك تدريب النموذج عن طريق إعداد مجموعة البيانات الخاصة بك، وتكوين معلمات النموذج، واتباع تعليمات الاستخدام المقدمة. نظراً لأن Ultralytics لا تدعم حالياً YOLOv4، فمن المستحسن الرجوع مباشرة إلى YOLOv4 GitHub للحصول على أحدث التوجيهات وأكثرها تفصيلاً.