تجزئة المثيل
يذهب تجزئة المثيل إلى أبعد من اكتشاف الكائن ويتضمن تحديد الكائنات الفردية في صورة وتقسيمها عن بقية الصورة.
ناتج نموذج تجزئة المثيل عبارة عن مجموعة من الأقنعة أو الخطوط التي تحدد كل كائن في الصورة ، جنبا إلى جنب مع تسميات الفئة ودرجات الثقة لكل كائن. يكون تجزئة المثيل مفيدا عندما تحتاج إلى معرفة ليس فقط مكان وجود الكائنات في الصورة ، ولكن أيضا ما هو شكلها الدقيق.
شاهد: تشغيل التجزئة مع المدربين مسبقا Ultralytics YOLOv8 نموذج في Python.
بقشيش
YOLOv8 تستخدم نماذج المقطع -seg
لاحقة ، أي yolov8n-seg.pt
ويتم تدريبهم مسبقا على كوكو.
نماذج
YOLOv8 يتم عرض نماذج الشرائح المدربة مسبقا هنا. يتم تدريب نماذج الكشف والمقطع والوضع مسبقا على مجموعة بيانات COCO ، بينما يتم تدريب نماذج التصنيف مسبقا على مجموعة بيانات ImageNet .
يتم تنزيل الموديلات تلقائيا من الأحدث Ultralytics حرر عند الاستخدام الأول.
نموذج | حجم (بكسل) |
خريطةتابوت 50-95 |
خريطةقناع 50-95 |
السرعة CPU ONNX (مللي ثانية) |
سرعة أ 100 TensorRT (مللي ثانية) |
المعلمات (م) |
يتخبط (ب) |
---|---|---|---|---|---|---|---|
YOLOv8n-ثواني | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
YOLOv8s-ثواني | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
YOLOv8m-ثواني | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
YOLOv8l-ثواني | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
YOLOv8x-ثواني | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
- mAPval القيم هي لمقياس أحادي الطراز على كوكو فال2017 مجموعة البيانات.
إعادة إنتاج بواسطةyolo val segment data=coco.yaml device=0
- سرعة تم حساب المتوسط على صور COCO val باستخدام أمازون EC2 P4d مثيل.
إعادة إنتاج بواسطةyolo val segment data=coco8-seg.yaml batch=1 device=0|cpu
قطار
قطار YOLOv8n-seg على مجموعة بيانات COCO128-seg ل 100 حقبة بحجم الصورة 640. للحصول على قائمة كاملة بالوسيطات المتاحة، راجع صفحة التكوين .
مثل
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n-seg.yaml") # build a new model from YAML
model = YOLO("yolov8n-seg.pt") # load a pretrained model (recommended for training)
model = YOLO("yolov8n-seg.yaml").load("yolov8n.pt") # build from YAML and transfer weights
# Train the model
results = model.train(data="coco8-seg.yaml", epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo segment train data=coco8-seg.yaml model=yolov8n-seg.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo segment train data=coco8-seg.yaml model=yolov8n-seg.pt epochs=100 imgsz=640
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo segment train data=coco8-seg.yaml model=yolov8n-seg.yaml pretrained=yolov8n-seg.pt epochs=100 imgsz=640
تنسيق مجموعة البيانات
YOLO يمكن العثور على تنسيق مجموعة بيانات التجزئة بالتفصيل في دليل مجموعة البيانات. لتحويل مجموعة البيانات الحالية من تنسيقات أخرى (مثل COCO وغيرها) إلى YOLO ، يرجى استخدام JSON2YOLO الأداة بواسطة Ultralytics.
فال
التحقق من صحة المدربين YOLOv8n-دقة نموذج seg على مجموعة بيانات COCO128-seg. لا حاجة لتمرير أي حجة على أنها model
تحتفظ بتدريبها data
والحجج كسمات نموذجية.
مثل
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n-seg.pt") # load an official model
model = YOLO("path/to/best.pt") # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95(B)
metrics.box.map50 # map50(B)
metrics.box.map75 # map75(B)
metrics.box.maps # a list contains map50-95(B) of each category
metrics.seg.map # map50-95(M)
metrics.seg.map50 # map50(M)
metrics.seg.map75 # map75(M)
metrics.seg.maps # a list contains map50-95(M) of each category
تنبأ
استخدم مدربا YOLOv8n-seg نموذج لتشغيل التنبؤات على الصور.
مثل
شاهد التفاصيل predict
تفاصيل الوضع في تنبأ صفحة.
تصدير
تصدير أ YOLOv8n-seg نموذج إلى تنسيق مختلف مثل ONNX, CoreMLالخ.
مثل
ترد تنسيقات التصدير المتاحة YOLOv8-seg في الجدول أدناه. يمكنك التصدير إلى أي تنسيق باستخدام format
الحجة ، أي format='onnx'
أو format='engine'
. يمكنك التنبؤ أو التحقق من صحة النماذج المصدرة مباشرة، أي yolo predict model=yolov8n-seg.onnx
. يتم عرض أمثلة الاستخدام للطراز الخاص بك بعد اكتمال التصدير.
تنسيق | format جدال |
نموذج | البيانات الوصفية | الحجج |
---|---|---|---|---|
PyTorch | - | yolov8n-seg.pt |
✅ | - |
TorchScript | torchscript |
yolov8n-seg.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolov8n-seg.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolov8n-seg_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolov8n-seg.engine |
✅ | imgsz , half , dynamic , simplify , workspace , int8 , batch |
CoreML | coreml |
yolov8n-seg.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolov8n-seg_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolov8n-seg.pb |
❌ | imgsz , batch |
TF لايت | tflite |
yolov8n-seg.tflite |
✅ | imgsz , half , int8 , batch |
TF حافة TPU | edgetpu |
yolov8n-seg_edgetpu.tflite |
✅ | imgsz |
TF.شبيبه | tfjs |
yolov8n-seg_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolov8n-seg_paddle_model/ |
✅ | imgsz , batch |
NCNN | ncnn |
yolov8n-seg_ncnn_model/ |
✅ | imgsz , half , batch |
شاهد التفاصيل export
التفاصيل في تصدير صفحة.
الأسئلة المتداولة
كيف يمكنني تدريب نموذج تجزئة YOLOv8 على مجموعة بيانات مخصصة؟
لتدريب نموذج تجزئة YOLOv8 على مجموعة بيانات مخصصة، عليك أولاً إعداد مجموعة بياناتك بتنسيق التجزئة YOLO . يمكنك استخدام أدوات مثل JSON2YOLO لتحويل مجموعات البيانات من تنسيقات أخرى. بمجرد أن تصبح مجموعة بياناتك جاهزة، يمكنك تدريب النموذج باستخدام الأوامر Python أو CLI :
مثل
راجع صفحة التكوين لمعرفة المزيد من الوسيطات المتاحة.
ما الفرق بين اكتشاف الكائنات وتجزئة المثيل في YOLOv8 ؟
يحدد الكشف عن الكائنات ويحدد موقع الكائنات داخل الصورة من خلال رسم مربعات محددة حولها، في حين أن تجزئة النماذج لا تحدد المربعات المحددة فحسب، بل تحدد أيضًا الشكل الدقيق لكل كائن. YOLOv8 توفر نماذج تجزئة النماذج أقنعة أو خطوطًا تحدد كل كائن تم اكتشافه، وهو أمر مفيد بشكل خاص للمهام التي تكون فيها معرفة الشكل الدقيق للأجسام مهمة، مثل التصوير الطبي أو القيادة الذاتية.
لماذا تستخدم YOLOv8 للتجزئة على سبيل المثال؟
Ultralytics YOLOv8 هو نموذج متطور معروف بدقته العالية وأدائه في الوقت الحقيقي، مما يجعله مثاليًا لمهام التجزئة على سبيل المثال. YOLOv8 تأتي نماذج التجزئة مدربة مسبقًا على مجموعة بيانات COCO، مما يضمن أداءً قويًا عبر مجموعة متنوعة من الكائنات. بالإضافة إلى ذلك، يدعم YOLOv8 وظائف التدريب والتحقق من الصحة والتنبؤ والتصدير مع تكامل سلس، مما يجعله متعدد الاستخدامات للغاية لكل من التطبيقات البحثية والصناعية.
كيف أقوم بتحميل نموذج التجزئة YOLOv8 المدرب مسبقًا والتحقق من صحته؟
يعد تحميل نموذج التجزئة YOLOv8 المدرب مسبقًا والتحقق من صحته أمرًا بسيطًا ومباشرًا. إليك كيفية القيام بذلك باستخدام كل من Python و CLI:
مثل
ستزودك هذه الخطوات بمقاييس التحقق من الصحة مثل متوسط الدقة المتوسطة (mAP)، وهي ضرورية لتقييم أداء النموذج.
كيف يمكنني تصدير نموذج تجزئة YOLOv8 إلى تنسيق ONNX ؟
يعد تصدير نموذج التجزئة YOLOv8 إلى تنسيق ONNX أمرًا بسيطًا ويمكن القيام به باستخدام الأوامر Python أو CLI :
مثل
لمزيد من التفاصيل حول التصدير إلى تنسيقات مختلفة، راجع صفحة التصدير.