البدء السريع باستخدام YOLOv5 🚀
هذا الدليل نقطة انطلاق لاكتشاف الكائنات في الوقت الفعلي باستخدام Ultralytics YOLOv5. ويتناول التثبيت والاستدلال باستخدام PyTorch Hub وdetect.py والتدريب، لتتمكن من تطبيق نموذج التعلم العميق هذا في مشاريعك.
التثبيت#
استنسخ مستودع YOLOv5 وثبّت المتطلبات في بيئة تحتوي على Python>=3.8.0 وPyTorch>=1.8.
git clone https://github.com/ultralytics/yolov5 # clone repository
cd yolov5
pip install -r requirements.txt # install dependenciesالاستدلال باستخدام PyTorch Hub#
شغّل استدلال YOLOv5 عبر PyTorch Hub، الذي ينزّل النماذج تلقائيًا من أحدث إصدار لـ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 ويحفظ النتائج في runs/detect. يُعد هذا النص البرمجي مثاليًا للاستخدام عبر سطر الأوامر ودمج 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 في مشاريع الرؤية الحاسوبية الخاصة بك، يُعد مستودع GitHub المكان المناسب لطرح الأسئلة ومشاركة النتائج مع المطورين والباحثين الآخرين. ويمكنك أيضًا استخدام منصة Ultralytics لإدارة مجموعات البيانات وتدريب النماذج دون كتابة التعليمات البرمجية، أو تصفح صفحة الحلول للاطلاع على التطبيقات الواقعية.
الأسئلة الشائعة#
ليس للاستدلال. ينزّل 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الموضح في دليل البدء السريع.
التعليقات
اطرح سؤالًا، وشارك نتائجك، أو ساعد شخصًا آخر.