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

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

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

إذاً، لنبدأ مع ملاحظات إصدار YOLOv5 v7.0!
Link to this sectionتحديثات هامة في YOLOv5#
إليك ما تم تحديثه في YOLOv5 منذ إصدارنا الأخير لـ YOLOv5 v6.2 في أغسطس 2022.
- نماذج التجزئة ⭐ جديد: نماذج التجزئة المدربة مسبقاً على COCO وفق معايير SOTA لـ YOLOv5-seg متاحة الآن لأول مرة (#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 سيقوم الآن بفحص الذاكرة المتاحة ومقارنتها باستهلاك الذاكرة المتوقع لمجموعة البيانات. هذا يقلل من المخاطر في التخزين المؤقت ويجب أن يساعد في تحسين اعتماد ميزة التخزين المؤقت لمجموعة البيانات، والتي يمكن أن تسرع التدريب بشكل كبير. (#10027 بواسطة @glenn-jocher)
- تكامل سجلات وتصور Comet: تتيح لك Comet، المجانية للأبد، حفظ نماذج YOLOv5، واستئناف التدريب، وتصور التنبؤات وتصحيح أخطائها تفاعلياً. (#9232 بواسطة @DN6)
Link to this sectionنقاط تفتيش تجزئة جديدة#
لقد قمنا بتدريب نماذج تجزئة YOLOv5 على COCO لمدة 300 دورة تدريبية بحجم صورة 640 باستخدام وحدات معالجة الرسوميات A100. قمنا بتصدير جميع النماذج إلى ONNX FP32 لاختبارات سرعة CPU وإلى TensorRT FP16 لاختبارات سرعة GPU. أجرينا جميع اختبارات السرعة على دفاتر ملاحظات Google Colab Pro لسهولة التكرار.
- تم تدريب جميع نقاط التحقق (checkpoints) لـ 300 دورة تدريبية (epochs) باستخدام مُحسِّن SGD مع ضبط lr0=0.01 و weight_decay=5e-5 عند حجم صورة 640 وبجميع الإعدادات الافتراضية. يتم تسجيل جميع عمليات التشغيل في Weights & Biases training logs.
- قيم الدقة هي لنموذج واحد بمقياس واحد على مجموعة بيانات 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
Link to this sectionأمثلة جديدة لاستخدام التجزئة#
Link to this sectionالتدريب#
يدعم تدريب تجزئة YOLOv5 التنزيل التلقائي لمجموعة بيانات التجزئة COCO128-seg باستخدام المعامل --data coco128-seg.yaml والتنزيل اليدوي لمجموعة بيانات COCO-segments باستخدام bash data/scripts/get_coco.sh --train --val --segments ثم python train.py --data coco.yaml.
Link to this sectionوحدة معالجة رسوميات واحدة (Single-GPU)#
python segment/train.py --model yolov5s-seg.pt --data coco128-seg.yaml --epochs 5 --img 640
Link to this sectionوحدات معالجة رسوميات متعددة 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
Link to this sectionالتحقق (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 # تحقق
Link to this sectionالتنبؤ (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 (تحذير: الاستنتاج غير مدعوم بعد)

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

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






