البدء السريع باستخدام 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 loading
model = torch.hub.load("ultralytics/yolov5", "yolov5s") # Can be 'yolov5n' - 'yolov5x6', or 'custom'
# Inference on images
img = "https://ultralytics.com/images/zidane.jpg" # Can be a file, Path, PIL, OpenCV, numpy, or list of images
# Run inference
results = model(img)
# Display results
results.print() # or .show(), .save(), .crop(), .pandas(), etc.الاستدلال باستخدام 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 أيام على التوالي (لاحظ أن إعدادات تدريب وحدات معالجة الرسوميات المتعددة تعمل بشكل أسرع). قم تعظيم الأداء باستخدام أعلى --batch-size ممكن أو استخدم --batch-size -1 لميزة الدفعة التلقائية في YOLOv5، والتي تجد تلقائياً حجم الدفعة الأمثل. أحجام الدفعات التالية مثالية لوحدات معالجة الرسوميات 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الموضح في البدء السريع.