البدء السريع باستخدام YOLOv5 🚀#
ابدأ رحلتك في عالم كشف الكائنات الديناميكي في الوقت الفعلي مع Ultralytics YOLOv5! أُعدّ هذا الدليل ليكون نقطة انطلاق شاملة لمهتمي الذكاء الاصطناعي والمحترفين الساعين إلى إتقان YOLOv5. من الإعداد الأولي إلى تقنيات التدريب المتقدمة، ستجد فيه ما تحتاج إليه. وبنهاية هذا الدليل، ستكتسب المعرفة اللازمة لتطبيق YOLOv5 في مشاريعك بثقة، باستخدام أحدث أساليب التعلّم العميق. لننطلق ونحلق عاليًا مع YOLOv5!
التثبيت#
استعد للانطلاق باستنساخ مستودع YOLOv5 وإعداد البيئة. يضمن ذلك تثبيت جميع المتطلبات اللازمة. تأكد من تجهيز Python>=3.8.0 وPyTorch>=1.8 للانطلاق. فهذه الأدوات الأساسية ضرورية لتشغيل YOLOv5 بفاعلية.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesالاستدلال باستخدام PyTorch Hub#
اختبر سهولة الاستدلال باستخدام PyTorch Hub في YOLOv5، حيث تُنزّل النماذج بسلاسة من أحدث إصدار من YOLOv5. تستفيد هذه الطريقة من قوة PyTorch لتحميل النماذج وتنفيذها بسهولة، ما يجعل الحصول على التنبؤات أمرًا مباشرًا.
import torch
# تحميل النموذج
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # قد تكون 'yolov5n' - 'yolov5x6' أو 'custom'
# الاستدلال على الصور
img = "https://ultralytics.com/images/zidane.jpg" # قد يكون ملفًا أو Path أو PIL أو OpenCV أو numpy أو قائمة صور
# تنفيذ الاستدلال
results = model(img)
# عرض النتائج
results.print() # or .show(), .save(), .crop(), .pandas()، إلخ.الاستدلال باستخدام detect.py#
استخدم detect.py لإجراء استدلال مرن على مصادر متنوعة. ويجلب تلقائيًا النماذج من أحدث إصدار من YOLOv5 ويحفظ النتائج بسهولة. هذا البرنامج النصي مثالي للاستخدام عبر سطر الأوامر ودمج YOLOv5 في أنظمة أكبر، إذ يدعم مدخلات مثل الصور ومقاطع الفيديو والأدلة وكاميرات الويب وحتى البث المباشر.
python detect.py --weights yolov5s.pt --source 0 # webcam
python detect.py --weights yolov5s.pt --source image.jpg # image
python detect.py --weights yolov5s.pt --source video.mp4 # video
python detect.py --weights yolov5s.pt --source screen # screenshot
python detect.py --weights yolov5s.pt --source path/ # directory
python detect.py --weights yolov5s.pt --source list.txt # list of images
python detect.py --weights yolov5s.pt --source list.streams # list of streams
python detect.py --weights yolov5s.pt --source 'path/*.jpg' # glob pattern
python detect.py --weights yolov5s.pt --source 'https://youtu.be/LNwODJXcvt4' # YouTube video
python detect.py --weights yolov5s.pt --source 'rtsp://example.com/media.mp4' # RTSP, RTMP, HTTP streamالتدريب#
أعِد إنتاج معايير مجموعة بيانات COCO الخاصة بـ YOLOv5 باتباع تعليمات التدريب أدناه. تُسحب النماذج ومجموعات البيانات اللازمة (مثل coco128.yaml أو coco.yaml الكاملة) مباشرةً من أحدث إصدار من YOLOv5. يستغرق تدريب YOLOv5n/s/m/l/x على وحدة معالجة رسومات V100 GPU عادةً 1/2/4/6/8 أيام على التوالي (لاحظ أن إعدادات التدريب متعدد وحدات GPU أسرع). حقق أقصى أداء باستخدام أعلى قيمة ممكنة لـ --batch-size، أو استخدم --batch-size -1 لتفعيل ميزة AutoBatch في YOLOv5، التي تعثر تلقائيًا على حجم الدفعة الأمثل. أحجام الدفعات التالية مثالية لوحدات GPU من طراز V100-16GB. راجع ملخص البنية للحصول على تفاصيل حول ملفات تهيئة النموذج (*.yaml).
# Train YOLOv5n on COCO128 for 3 epochs
python train.py --data coco128.yaml --epochs 3 --weights yolov5n.pt --batch-size 128
# Train YOLOv5s on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5s.yaml --batch-size 64
# Train YOLOv5m on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5m.yaml --batch-size 40
# Train YOLOv5l on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5l.yaml --batch-size 24
# Train YOLOv5x on COCO for 300 epochs
python train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5x.yaml --batch-size 16
ختامًا، لا يُعد YOLOv5 أداة متطورة للكشف عن الكائنات فحسب، بل هو أيضًا دليل على قوة التعلم الآلي في تغيير طريقة تفاعلنا مع العالم من خلال الفهم البصري. وبينما تتقدم في هذا الدليل وتبدأ في تطبيق YOLOv5 على مشاريعك، تذكّر أنك في طليعة ثورة تقنية قادرة على تحقيق إنجازات مذهلة في الرؤية الحاسوبية. وإذا احتجت إلى مزيد من الرؤى أو الدعم من زملائك المهتمين بهذا المجال، فنحن ندعوك إلى مستودع GitHub، موطن مجتمع مزدهر من المطورين والباحثين. استكشف موارد إضافية مثل منصة Ultralytics لإدارة مجموعات البيانات وتدريب النماذج دون كتابة تعليمات برمجية، أو ألقِ نظرة على صفحة الحلول للاطلاع على التطبيقات الواقعية ومصادر الإلهام. واصل الاستكشاف والابتكار، واستمتع بإمكانات YOLOv5 المذهلة. نتمنى لك كشفًا موفقًا! 🌠🔍
الأسئلة الشائعة#
ليس للاستدلال. ينزّل PyTorch Hub الشيفرة والأوزان عند الطلب باستخدام
torch.hub.load("ultralytics/yolov5", "yolov5s"). يلزم استنساخ المستودع لتشغيل البرامج النصيةtrain.pyوval.pyوdetect.pyوexport.py.يحقق
yolov5s.ptأفضل توازن بين السرعة والدقة لمعظم المشاريع. استخدمyolov5n.ptللأجهزة الطرفية، وyolov5m.ptإلىyolov5x.ptعندما تكون الدقة أهم من السرعة، ومتغيرات P6 مثلyolov5s6.ptللتدريب بدقة 1280 بكسل. راجع جدول نقاط التحقق المدربة مسبقًا للاطلاع على القائمة الكاملة.ضع الصور والتسميات بتنسيق YOLO في مجلدَي
images/وlabels/متوازيين، وصفهما فيdataset.yaml، ثم شغّلpython train.py --data dataset.yaml --weights yolov5s.pt. يشرح البرنامج التعليمي تدريب بيانات مخصصة كل خطوة.يتميز YOLOv5 بالاستقرار ويظل مدعومًا بالكامل في المستودع المستقل، لكنه لم يعد أحدث نموذج. للأعمال الجديدة، يوفر YOLO26 ضمن الحزمة
ultralyticsسرعة ودقة أكبر، ويُصدَّر من البداية إلى النهاية دون NMS، باستخدام سير العمل نفسهpip install ultralyticsالموضح في البدء السريع.