تقديم تقسيم المِثيلات في Ultralytics YOLOv5 v7.0
اكتشف YOLOv5 v7.0 مع نماذج تقسيم المِثيلات الجديدة، التي تتفوق على معايير SOTA لأفضل دقة وسرعة في الذكاء الاصطناعي. انضم إلى مجتمعنا.

YOLOv5 v7.0، أحدث إصدار من بنيتنا للذكاء الاصطناعي، قد تم إصداره، ويسعدنا جداً أن نقدم نماذج تجزئة المثيلات الجديدة الخاصة بنا!

أثناء عملنا على هذا الإصدار الأخير، وضعنا هدفين أساسيين نصب أعيننا. الأول هو مهمتنا لجعل الذكاء الاصطناعي سهلاً، والثاني هو هدفنا لإعادة تعريف المعنى الحقيقي لـ "أحدث ما توصلت إليه التقنية" (state-of-the-art).
لذا، مع التحسينات والإصلاحات والتحديثات الكبيرة، لقد حققنا ذلك تماماً. من خلال الحفاظ على سير العمل البسيط نفسه الخاص بنماذج كشف الكائنات الحية Ultralytics YOLOv5 الحالية، أصبح من السهل أكثر من أي وقت مضى تدريب نماذجك والتحقق منها ونشرها باستخدام YOLOv5 v7.0. علاوة على ذلك، لقد تفوقنا على جميع SOTA benchmarks، مما يجعل YOLOv5 فعلياً الأسرع والأكثر دقة في العالم.
باعتبار هذا أول إصدار لنا لنماذج التجزئة، فنحن فخورون جداً بهذا الإنجاز. ونتقدم بجزيل الشكر لمجتمعنا التفاني والمساهمين، الذين ساعدوا في جعل هذا الإصدار ممكناً.

لذا، لنبدأ مع ملاحظات الإصدار الخاصة بـ YOLOv5 v7.0!
تحديثات مهمة لـ Ultralytics YOLOv5#
إليك ما تم تحديثه في YOLOv5 منذ إصرارنا الأخير لـ YOLOv5 v6.2 في أغسطس 2022.
- نماذج التجزئة ⭐ جديد: تتوفر الآن نماذج تجزئة YOLOv5-seg المدربة مسبقاً على COCO لأول مرة (#9052 بواسطة @glenn-jocher و @AyushExel و @Laughing-q)
- تصدير PaddlePaddle: قم بتصدير أي نموذج YOLOv5 (cls، seg، det) إلى تنسيق Paddle باستخدام python export.py --include paddle (#9459 بواسطة @glenn-jocher)
- التخزين المؤقت التلقائي YOLOv5 AutoCache: استخدام python train.py --cache ram سيقوم الآن بفحص الذاكرة المتاحة والمقارنة مقابل استخدام RAM المتوقع لمجموعة البيانات. هذا يقلل من المخاطر في التخزين المؤقت وينبغي أن يساعد في تحسين اعتماد ميزة التخزين المؤقت لمجموعة البيانات، والتي يمكنها تسريع التدريب بشكل كبير. (#10027 بواسطة @glenn-jocher)
- تكامل تسجيل وتصور Comet: مجانية إلى الأبد، تتيح لك Comet حفظ نماذج YOLOv5، واستئناف التدريب، وتصور وتصحيح أخطاء التنبؤات تفاعلياً. (#9232 بواسطة @DN6)
نقاط تفتيش تجزئة جديدة#
قمنا بتدريب نماذج تجزئة Ultralytics YOLOv5 على COCO لـ 300 حقبة بحجم صورة 640 باستخدام وحدات معالجة رسومية من نوع A100. لقد قمنا بتصدير جميع النماذج إلى صيغة ONNX FP32 لإجراء اختبارات سرعة وحدة المعالجة المركزية وإلى TensorRT FP16 لإجراء اختبارات سرعة وحدة معالجة الرسوميات. لقد أجرينا جميع اختبارات السرعة على دفاتر ملاحظات Google Colab Pro لضمان سهولة إمكانية إعادة الإنتاج.
- تم تدريب جميع نقاط التحقق إلى 300 حقبة باستخدام مُحسِّن SGD مع lr0=0.01 و weight_decay=5e-5 بحجم صورة 640 وجميع الإعدادات الافتراضية. يتم تسجيل جميع عمليات التشغيل في سجلات تدريب Weights & Biases.
- قيم الدقة هي لنموذج واحد بمقياس واحد على مجموعة بيانات 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
أمثلة جديدة لاستخدام التجزئة#
التدريب#
يدعم تدريب تجزئة Ultralytics 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-GPU)#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
وحدات معالجة رسوميات متعددة DDP#
python -m torch.distributed.run --nproc_per_node 4 --master_port 1 segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640 --device 0,1,2,3
التحقق (Val)#
التحقق من دقة YOLOv5m-seg على مجموعة بيانات COCO:
bash data/scripts/get_coco.sh --val --segments # تنزيل تقسيم أجزاء التحقق من COCO (780 ميجابايت، 5000 صورة) python segment/val.py --weights yolov5s-seg.pt --data coco.yaml --img 640 # تحقق
التنبؤ (Predict)#
استخدم YOLOv5m-seg المدرب مسبقاً للتنبؤ بـ bus.jpg:
python segment/predict.py --weights yolov5m-seg.pt --data data/images/bus.jpg
model = torch.hub.load('ultralytics/yolov5', 'custom', 'yolov5m-seg.pt') # تحميل من PyTorch Hub (تحذير: الاستنتاج غير مدعوم بعد)

التصدير (Export)#
تصدير نموذج YOLOv5s-seg إلى ONNX و TensorRT:
python export.py --weights yolov5s-seg.pt --include onnx engine --img 640 --device 0

لديك أي أسئلة؟ اسأل منتدى Ultralytics، أو اطرح مشكلة، أو قدم طلباً سحابياً PR على المستودع. يمكنك أيضاً البدء باستخدام دفتر ملاحظات تجزئة YOLOv5 Colab للحصول على دروس تعليمية سريعة.






