تخطي إلى المحتوى

YOLOv4: كشف دقيق وعالي السرعة عن الأجسام

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

مخطط هيكلية YOLOv4 مخطط هيكلية YOLOv4. يعرض التصميم الشبكي المعقد لـ YOLOv4، بما في ذلك المكونات الأساسية والعنق والرأس، والطبقات المترابطة الخاصة بها للكشف الأمثل عن الأجسام في الوقت الفعلي.

مقدمة

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

البنية

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

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

حقيبة المكافآت المجانية

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

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

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

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

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

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

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

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

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

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

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

نأسف لأي إزعاج قد يسببه هذا وسنسعى جاهدين لتحديث هذا المستند بأمثلة استخدام لـ Ultralytics بمجرد تنفيذ دعم YOLOv4.

الخلاصة

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

بالنسبة لأولئك الذين يتطلعون إلى تنفيذ الكشف عن الكائنات في مشاريعهم، يظل YOLOv4 منافسًا قويًا، خاصةً عندما تكون الأولوية للأداء في الوقت الفعلي. بينما تركز Ultralytics حاليًا على دعم إصدارات YOLO الأحدث مثل YOLOv8 و YOLO11، فقد أثرت الابتكارات المعمارية التي تم تقديمها في 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 الإصدار 4"، هو نموذج حديث للكشف عن الأجسام في الوقت الفعلي تم تطويره بواسطة Alexey Bochkovskiy في عام 2020. إنه يحقق توازنًا مثاليًا بين السرعة و الدقة، مما يجعله مناسبًا للغاية للتطبيقات في الوقت الفعلي. يتضمن هيكل YOLOv4 العديد من الميزات المبتكرة مثل Weighted-Residual-Connections (WRC) و Cross-Stage-Partial-connections (CSP) و Self-adversarial-training (SAT)، من بين أمور أخرى، لتحقيق أحدث النتائج. إذا كنت تبحث عن نموذج عالي الأداء يعمل بكفاءة على وحدات معالجة الرسومات (GPUs) التقليدية، فإن YOLOv4 يعد خيارًا ممتازًا.

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

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

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

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

لماذا يعتبر YOLOv4 مناسبًا للكشف عن الأجسام في الوقت الفعلي على وحدات معالجة الرسومات (GPUs) التقليدية؟

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

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

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



📅 أُنشئ منذ سنة واحدة ✏️ تم التحديث منذ 3 أشهر

تعليقات