中文 | 한국어 | 日本語 | Русский | الألمانية | الفرنسية | الاسبانية | البرتغالية | التركية | تينغ فيت | العربية
يولوv5؟ هي رؤية الذكاء الاصطناعي الأكثر شعبية في العالم، والتي تمثل أبحاث Ultralytics مفتوحة المصدر في أساليب الذكاء الاصطناعي للرؤية المستقبلية، والتي تتضمن الدروس المستفادة وأفضل الممارسات التي تطورت على مدى آلاف الساعات من البحث والتطوير.
نأمل أن تساعدك الموارد الموجودة هنا في تحقيق أقصى استفادة من YOLOv5. يرجى تصفح مستندات YOLOv5 للحصول على التفاصيل، وإثارة مشكلة على GitHub للحصول على الدعم، والانضمام إلى مجتمع Discord الخاص بنا لطرح الأسئلة والمناقشات!
لطلب ترخيص مؤسسي، يرجى إكمال النموذج الموجود على Ultralytics Licensing.
يولو11 ؟ جديد
يسعدنا أن نكشف النقاب عن إطلاق Ultralytics YOLO11، وهو أحدث تقدم في نماذج الرؤية الحديثة (SOTA) الخاصة بنا! متوفر الآن على GitHub ، يعتمد YOLO11 على تراثنا المتمثل في السرعة والدقة وسهولة الاستخدام. سواء كنت تتعامل مع اكتشاف الكائنات أو تجزئة الصور أو تصنيف الصور، فإن YOLO11 يوفر الأداء والتنوع اللازم للتفوق في التطبيقات المتنوعة.
ابدأ اليوم واطلق العنان للإمكانات الكاملة لـ YOLO11! تفضل بزيارة Ultralytics Docs للحصول على أدلة وموارد شاملة:
نقطة تثبيت Ultralytics
التوثيق
راجع مستندات YOLOv5 للحصول على الوثائق الكاملة حول التدريب والاختبار والنشر. انظر أدناه للحصول على أمثلة البدء السريع.
استنساخ الريبو وتثبيت require.txt في بيئة Python>=3.8.0 ، بما في ذلك PyTorch>=1.8 .
استنساخ البوابة https://github.com/ultralytics/yolov5 # clonecd yolov5 تثبيت النقطة -r المتطلبات.txt # تثبيت
YOLOv5 PyTorch Hub الاستدلال. يتم تنزيل النماذج تلقائيًا من أحدث إصدار من YOLOv5.
import torch# Modelmodel = torch.hub.load("ultralytics/yolov5", "yolov5s") # أو yolov5n - yolov5x6, custom# Imagesimg = "https://ultralytics.com/images/zidane.jpg" # أو ملف، المسار، PIL، OpenCV، numpy، list# Inferenceresults = model(img)# Resultsresults.print() # أو .show(), .save(), .crop(), .pandas()، إلخ.
يقوم detect.py
بتشغيل الاستدلال على مجموعة متنوعة من المصادر، وتنزيل النماذج تلقائيًا من أحدث إصدار من YOLOv5 وحفظ النتائج في runs/detect
.
python Detect.py --weights yolov5s.pt --source 0 # webcam img.jpg # صورة vid.mp4# فيديو شاشة # لقطة شاشة المسار/ # الدليل list.txt # قائمة الصور list.streams # قائمة التدفقات "path/*.jpg" # glob "https://youtu.be/LNwODJXcvt4" # YouTube "rtsp://example.com/media.mp4" # RTSP، RTMP، تدفق HTTP
الأوامر أدناه تعيد إنتاج نتائج YOLOv5 COCO. يتم تنزيل النماذج ومجموعات البيانات تلقائيًا من أحدث إصدار من YOLOv5. أوقات التدريب لـ YOLOv5n/s/m/l/x هي 1/2/4/6/8 أيام على وحدة معالجة الرسومات V100 (أسرع مرات متعددة من وحدة معالجة الرسومات). استخدم أكبر --batch-size
ممكن، أو قم بتمرير --batch-size -1
لـ YOLOv5 AutoBatch. أحجام الدفعة المعروضة لـ V100-16GB.
python Train.py --data coco.yaml --epochs 300 --weights '' --cfg yolov5n.yaml --batch-size 128 يولوف 5s 64 يولوف5م 40 يولوف5ل 24 يولوف 5x 16
تدريب البيانات المخصصة؟ مُستَحسَن
نصائح للحصول على أفضل نتائج التدريب ☘️
التدريب على وحدات معالجة الرسومات المتعددة
مركز باي تورش؟ جديد
TFLite، ONNX، CoreML، TensorRT التصدير؟
نشر منصة NVIDIA Jetson؟ جديد
زيادة وقت الاختبار (TTA)
تجميع النماذج
تشذيب النموذج/التناثر
تطور المعلمة الفائقة
نقل التعلم باستخدام الطبقات المجمدة
ملخص الهندسة المعمارية؟ جديد
Ultralytics HUB لتدريب ونشر YOLO؟ مُستَحسَن
تسجيل ClearML
YOLOv5 مع Deepsparse من Neural Magic
تسجيل المذنب؟ جديد
التكامل
تعمل عمليات التكامل الرئيسية لدينا مع منصات الذكاء الاصطناعي الرائدة على توسيع وظائف عروض Ultralytics، مما يعزز المهام مثل تصنيف مجموعة البيانات والتدريب والتصور وإدارة النماذج. اكتشف كيف يمكن لـ Ultralytics، بالتعاون مع W&B وComet وRoboflow وOpenVINO، تحسين سير عمل الذكاء الاصطناعي لديك.
مركز Ultralytics؟ | دبليو آند بي | المذنب ⭐ جديد | السحر العصبي |
---|---|---|---|
تبسيط سير عمل YOLO: قم بتسمية وتدريب ونشر بسهولة باستخدام Ultralytics HUB. حاول الآن! | تتبع التجارب والمعلمات الفائقة والنتائج باستخدام الأوزان والتحيزات | مجانًا إلى الأبد، يتيح لك Comet حفظ نماذج YOLOv5 واستئناف التدريب وتصور التنبؤات وتصحيح الأخطاء بشكل تفاعلي | قم بتشغيل استنتاج YOLO11 بشكل أسرع بما يصل إلى 6 مرات باستخدام Neural Magic DeepSparse |
مركز Ultralytics
استمتع بتجربة الذكاء الاصطناعي السلس مع Ultralytics HUB ⭐، الحل الشامل لتصور البيانات، YOLOv5 وYOLOv8؟ تدريب النموذج ونشره، دون أي ترميز. قم بتحويل الصور إلى رؤى قابلة للتنفيذ وإضفاء الحيوية على رؤى الذكاء الاصطناعي الخاصة بك بسهولة باستخدام نظامنا الأساسي المتطور وتطبيق Ultralytics سهل الاستخدام. ابدأ رحلتك مجانًا الآن!
لماذا YOLOv5
تم تصميم YOLOv5 ليكون سهل الاستخدام للغاية وسهل التعلم. نحن نعطي الأولوية للنتائج في العالم الحقيقي.
يشير COCO AP val إلى مقياس [email protected]:0.95 الذي تم قياسه على مجموعة بيانات COCO val2017 المكونة من 5000 صورة عبر أحجام استدلال مختلفة من 256 إلى 1536.
تقيس سرعة وحدة معالجة الرسومات متوسط وقت الاستدلال لكل صورة في مجموعة بيانات COCO val2017 باستخدام مثيل AWS p3.2xlarge V100 بحجم دفعة 32.
بيانات EfficientDet من google/automl بحجم الدفعة 8.
إعادة إنتاج بواسطة python val.py --task study --data coco.yaml --iou 0.7 --weights yolov5n6.pt yolov5s6.pt yolov5m6.pt yolov5l6.pt yolov5x6.pt
نموذج | مقاس (بكسل) | خريطة فال 50-95 | خريطة فال 50 | سرعة وحدة المعالجة المركزية ب1 (آنسة) | سرعة V100 ب1 (آنسة) | سرعة V100 ب32 (آنسة) | المعلمات (م) | يتخبط @640 (ب) |
---|---|---|---|---|---|---|---|---|
YOLOv5n | 640 | 28.0 | 45.7 | 45 | 6.3 | 0.6 | 1.9 | 4.5 |
YOLOv5s | 640 | 37.4 | 56.8 | 98 | 6.4 | 0.9 | 7.2 | 16.5 |
YOLov5m | 640 | 45.4 | 64.1 | 224 | 8.2 | 1.7 | 21.2 | 49.0 |
YOLov5l | 640 | 49.0 | 67.3 | 430 | 10.1 | 2.7 | 46.5 | 109.1 |
YOLov5x | 640 | 50.7 | 68.9 | 766 | 12.1 | 4.8 | 86.7 | 205.7 |
YOLOv5n6 | 1280 | 36.0 | 54.4 | 153 | 8.1 | 2.1 | 3.2 | 4.6 |
YOLov5s6 | 1280 | 44.8 | 63.7 | 385 | 8.2 | 3.6 | 12.6 | 16.8 |
YOLov5m6 | 1280 | 51.3 | 69.3 | 887 | 11.1 | 6.8 | 35.7 | 50.0 |
YOLov5l6 | 1280 | 53.7 | 71.3 | 1784 | 15.8 | 10.5 | 76.8 | 111.4 |
YOLOv5x6 + تيتا | 1280 1536 | 55.0 55.8 | 72.7 72.7 | 3136 - | 26.2 - | 19.4 - | 140.7 - | 209.8 - |
يتم تدريب جميع نقاط التفتيش على 300 فترة بالإعدادات الافتراضية. تستخدم نماذج Nano وSmall hyp.scratch-low.yaml hyps، بينما تستخدم جميع النماذج الأخرى hyp.scratch-high.yaml.
قيم mAP val مخصصة لمقياس أحادي النموذج في مجموعة بيانات COCO val2017.
إعادة إنتاج بواسطة python val.py --data coco.yaml --img 640 --conf 0.001 --iou 0.65
تم حساب متوسط السرعة على صور COCO val باستخدام مثيل AWS p3.2xlarge. مرات NMS (~1 مللي ثانية/img) غير متضمنة.
إعادة إنتاج بواسطة python val.py --data coco.yaml --img 640 --task speed --batch 1
تتضمن زيادة وقت اختبار TTA زيادات في الانعكاس والحجم.
إعادة إنتاج بواسطة python val.py --data coco.yaml --img 1536 --iou 0.7 --augment
التقسيم
تعد نماذج تجزئة المثيلات الإصدار v7.0 الجديدة من YOLOv5 هي الأسرع والأكثر دقة في العالم، حيث تتفوق على جميع معايير SOTA الحالية. لقد جعلنا تدريبها والتحقق من صحتها ونشرها أمرًا في غاية السهولة. اطلع على التفاصيل الكاملة في ملاحظات الإصدار الخاصة بنا وقم بزيارة دفتر ملاحظات YOLOv5 Segmentation Colab الخاص بنا للحصول على برامج تعليمية للبدء السريع.
قمنا بتدريب نماذج تجزئة YOLOv5 على COCO لمدة 300 حقبة بحجم صورة 640 باستخدام وحدات معالجة الرسومات A100. قمنا بتصدير جميع الطرز إلى ONNX FP32 لاختبارات سرعة وحدة المعالجة المركزية وإلى TensorRT FP16 لاختبارات سرعة وحدة معالجة الرسومات. لقد أجرينا جميع اختبارات السرعة على أجهزة الكمبيوتر المحمولة Google Colab Pro لسهولة التكرار.
نموذج | مقاس (بكسل) | صندوق الخريطة 50-95 | قناع الخريطة 50-95 | وقت القطار 300 عصر A100 (ساعة) | سرعة وحدة المعالجة المركزية ONNX (آنسة) | سرعة تي ار تي ايه100 (آنسة) | المعلمات (م) | يتخبط @640 (ب) |
---|---|---|---|---|---|---|---|---|
YOLOv5n-seg | 640 | 27.6 | 23.4 | 80:17 | 62.7 | 1.2 | 2.0 | 7.1 |
YOLOv5s-seg | 640 | 37.6 | 31.7 | 88:16 | 173.3 | 1.4 | 7.6 | 26.4 |
YOLOv5m-seg | 640 | 45.0 | 37.1 | 108:36 | 427.0 | 2.2 | 22.0 | 70.8 |
YOLOv5l-seg | 640 | 49.0 | 39.9 | 66:43 (2x) | 857.4 | 2.9 | 47.9 | 147.7 |
YOLOv5x-seg | 640 | 50.7 | 41.4 | 62:56 (3x) | 1579.2 | 4.5 | 88.8 | 265.7 |
يتم تدريب جميع نقاط التفتيش على 300 حقبة باستخدام مُحسِّن SGD مع lr0=0.01
و weight_decay=5e-5
بحجم الصورة 640 وجميع الإعدادات الافتراضية.
تم تسجيل عمليات التشغيل في https://wandb.ai/glenn-jocher/YOLOv5_v70_official
قيم الدقة مخصصة لمقياس فردي لنموذج واحد في مجموعة بيانات COCO.
إعادة إنتاج بواسطة python segment/val.py --data coco.yaml --weights yolov5s-seg.pt
بلغ متوسط السرعة أكثر من 100 صورة استدلالية باستخدام مثيل Colab Pro A100 ذو ذاكرة الوصول العشوائي العالية. تشير القيم إلى سرعة الاستدلال فقط (يضيف NMS حوالي 1 مللي ثانية لكل صورة).
إعادة إنتاج بواسطة python segment/val.py --data coco.yaml --weights yolov5s-seg.pt --batch 1
قم بالتصدير إلى ONNX في FP32 وTensorRT في FP16 باستخدام export.py
.
إعادة إنتاج بواسطة python export.py --weights yolov5s-seg.pt --include engine --device 0 --half
يدعم التدريب على تجزئة YOLOv5 مجموعة بيانات تجزئة COCO128-seg للتنزيل التلقائي باستخدام وسيطة --data coco128-seg.yaml
والتنزيل اليدوي لمجموعة بيانات COCO-segments باستخدام bash data/scripts/get_coco.sh --train --val --segments
ثم python train.py --data coco.yaml
.
# Single-GPupython section/train.py --data coco128-seg.yaml --weights yolov5s-seg.pt --img 640# Multi-GPU DDPpython -m torch.distributed.run --nproc_per_node 4 --master_port 1 section /train.py --data coco128-seg.yaml --الأوزان yolov5s-seg.pt --img 640 --device 0,1,2,3
التحقق من صحة mAP قناع YOLOv5s-seg على مجموعة بيانات COCO:
bash data/scripts/get_coco.sh --val --segments # تنزيل تقسيم شرائح COCO val (780 ميجا بايت، 5000 صورة) شريحة python/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # التحقق من صحة
استخدم YOLOv5m-seg.pt المدرب مسبقًا للتنبؤ بـ bus.jpg:
شريحة بايثون/predict.py --الأوزان yolov5m-seg.pt --بيانات المصدر/صور/bus.jpg
model = torch.hub.load( "ultralytics/yolov5", "custom", "yolov5m-seg.pt") # تحميل من PyTorch Hub (تحذير: الاستدلال غير مدعوم بعد)
تصدير نموذج YOLOv5s-seg إلى ONNX وTensorRT:
python Export.py --الأوزان yolov5s-seg.pt --تشمل محرك onnx --img 640 --device 0
تصنيف
يوفر الإصدار 6.2 من YOLOv5 الدعم للتدريب على نماذج التصنيف والتحقق من صحتها ونشرها! اطلع على التفاصيل الكاملة في ملاحظات الإصدار الخاصة بنا وقم بزيارة دفتر ملاحظات Colab الخاص بتصنيف YOLOv5 للحصول على دروس البدء السريع.
قمنا بتدريب نماذج التصنيف YOLOv5-cls على ImageNet لمدة 90 حقبة باستخدام مثيل 4xA100، وقمنا بتدريب نماذج ResNet وEfficientNet جنبًا إلى جنب مع نفس إعدادات التدريب الافتراضية للمقارنة. قمنا بتصدير جميع الطرز إلى ONNX FP32 لاختبارات سرعة وحدة المعالجة المركزية وإلى TensorRT FP16 لاختبارات سرعة وحدة معالجة الرسومات. لقد أجرينا جميع اختبارات السرعة على Google Colab Pro لسهولة التكرار.
نموذج | مقاس (بكسل) | لجنة التنسيق الإدارية أعلى 1 | لجنة التنسيق الإدارية top5 | تمرين 90 عصرا 4xA100 (ساعة) | سرعة وحدة المعالجة المركزية ONNX (آنسة) | سرعة تنسور آر تي V100 (آنسة) | المعلمات (م) | يتخبط @224 (ب) |
---|---|---|---|---|---|---|---|---|
YOLOv5n-cls | 224 | 64.6 | 85.4 | 7:59 | 3.3 | 0.5 | 2.5 | 0.5 |
YOLOv5s-cls | 224 | 71.5 | 90.2 | 8:09 | 6.6 | 0.6 | 5.4 | 1.4 |
YOLOv5m-cls | 224 | 75.9 | 92.9 | 10:06 | 15.5 | 0.9 | 12.9 | 3.9 |
YOLOv5l-cls | 224 | 78.0 | 94.0 | 11:56 | 26.9 | 1.4 | 26.5 | 8.5 |
YOLOv5x-cls | 224 | 79.0 | 94.4 | 15:04 | 54.3 | 1.8 | 48.1 | 15.9 |
ريسنيت18 | 224 | 70.3 | 89.5 | 6:47 | 11.2 | 0.5 | 11.7 | 3.7 |
ريسنيت34 | 224 | 73.9 | 91.8 | 8:33 | 20.6 | 0.9 | 21.8 | 7.4 |
ريسنيت50 | 224 | 76.8 | 93.4 | 11:10 | 23.4 | 1.0 | 25.6 | 8.5 |
ريسنيت101 | 224 | 78.5 | 94.3 | 17:10 | 42.1 | 1.9 | 44.5 | 15.9 |
EfficientNet_b0 | 224 | 75.1 | 92.4 | 13:03 | 12.5 | 1.3 | 5.3 | 1.0 |
EfficientNet_b1 | 224 | 76.4 | 93.2 | 17:04 | 14.9 | 1.6 | 7.8 | 1.5 |
EfficientNet_b2 | 224 | 76.6 | 93.4 | 17:10 | 15.9 | 1.6 | 9.1 | 1.7 |
EfficientNet_b3 | 224 | 77.7 | 94.0 | 19:19 | 18.9 | 1.9 | 12.2 | 2.4 |
يتم تدريب جميع نقاط التفتيش على 90 حقبة باستخدام مُحسِّن SGD مع lr0=0.001
و weight_decay=5e-5
بحجم الصورة 224 وجميع الإعدادات الافتراضية.
تم تسجيل عمليات التشغيل على https://wandb.ai/glenn-jocher/YOLOv5-Classifier-v6-2
قيم الدقة مخصصة لمقياس أحادي النموذج في مجموعة بيانات ImageNet-1k.
إعادة إنتاج بواسطة python classify/val.py --data ../datasets/imagenet --img 224
بلغ متوسط السرعة أكثر من 100 صورة استدلالية باستخدام مثيل Google Colab Pro V100 ذو ذاكرة الوصول العشوائي العالية.
إعادة إنتاج بواسطة python classify/val.py --data ../datasets/imagenet --img 224 --batch 1
قم بالتصدير إلى ONNX في FP32 وTensorRT في FP16 باستخدام export.py
.
إعادة إنتاج بواسطة python export.py --weights yolov5s-cls.pt --include engine onnx --imgsz 224
يدعم التدريب على تصنيف YOLOv5 التنزيل التلقائي لمجموعات بيانات MNIST وFashion-MNIST وCIFAR10 وCIFAR100 وImagenette وImagewoof وImageNet باستخدام الوسيطة --data
. لبدء التدريب على MNIST على سبيل المثال، استخدم --data mnist
.
# Single-GPUpython classify/train.py --model yolov5s-cls.pt --data cifar100 --epochs 5 --img 224 --batch 128# Multi-GPU DDPpython -m torch.distributed.run --nproc_per_node 4 - -master_port 1 classify/train.py --model yolov5s-cls.pt --data imagenet --epochs 5 --img 224 --device 0,1,2,3
التحقق من صحة دقة YOLOv5m-cls في مجموعة بيانات ImageNet-1k:
bash data/scripts/get_imagenet.sh --val # تنزيل ImageNet val Split (6.3G، 50000 صورة)python classify/val.py --weights yolov5m-cls.pt --data ../datasets/imagenet --img 224 # التحقق من صحة
استخدم YOLOv5s-cls.pt المدرب مسبقًا للتنبؤ بـ bus.jpg:
python classify/predict.py --الأوزان yolov5s-cls.pt --source data/images/bus.jpg
model = torch.hub.load("ultralytics/yolov5", "custom", "yolov5s-cls.pt") # التحميل من PyTorch Hub
قم بتصدير مجموعة من نماذج YOLOv5s-cls وResNet وEfficientNet المدربة إلى ONNX وTensorRT:
python Export.py --الأوزان yolov5s-cls.pt resnet50.ptكفاءةnet_b0.pt --تشمل محرك onnx --img 224
البيئات
ابدأ في ثوانٍ مع بيئاتنا التي تم التحقق منها. انقر فوق كل رمز أدناه للحصول على التفاصيل.
يساهم
نحن نحب مدخلاتك! نريد أن نجعل المساهمة في YOLOv5 سهلة وشفافة قدر الإمكان. يرجى الاطلاع على دليل المساهمة الخاص بنا للبدء، وملء استبيان YOLOv5 لإرسال تعليقات إلينا حول تجاربك. شكرا لجميع المساهمين لدينا!
رخصة
تقدم Ultralytics خيارين للترخيص لاستيعاب حالات الاستخدام المتنوعة:
ترخيص AGPL-3.0 : يعد هذا الترخيص مفتوح المصدر المعتمد من OSI مثاليًا للطلاب والمتحمسين، حيث يعزز التعاون المفتوح ومشاركة المعرفة. راجع ملف الترخيص لمزيد من التفاصيل.
ترخيص المؤسسة : مصمم للاستخدام التجاري، يسمح هذا الترخيص بالتكامل السلس لبرامج Ultralytics ونماذج الذكاء الاصطناعي في السلع والخدمات التجارية، متجاوزًا متطلبات المصدر المفتوح لـ AGPL-3.0. إذا كان السيناريو الخاص بك يتضمن دمج حلولنا في عرض تجاري، فاتصل من خلال ترخيص Ultralytics.
اتصال
للحصول على تقارير الأخطاء وطلبات الميزات في YOLOv5، يرجى زيارة مشكلات GitHub، والانضمام إلى مجتمع Discord الخاص بنا لطرح الأسئلة والمناقشات!