تخطي إلى المحتوى

تجزئة المثيل

أمثلة على تجزئة المثيل

يذهب تجزئة المثيل خطوة أبعد من اكتشاف الكائنات ويتضمن تحديد الكائنات الفردية في الصورة وتجزئتها عن بقية الصورة.

إن ناتج نموذج تجزئة المثيل هو مجموعة من الأقنعة أو الخطوط التي تحدد كل كائن في الصورة، بالإضافة إلى تسميات الفئات ودرجات الثقة لكل كائن. يكون تجزئة المثيل مفيدًا عندما تحتاج إلى معرفة ليس فقط مكان وجود الكائنات في الصورة، ولكن أيضًا معرفة شكلها الدقيق.



شاهد: تشغيل التجزئة باستخدام نموذج Ultralytics YOLO المدرب مسبقًا في Python.

نصيحة

YOLO11 تستخدم النماذج المقطعية -seg اللاحقة، أي yolo11n-seg.pt ويتم تدريبهم مسبقًا على كوكو.

النماذج

YOLO11 تُعرض هنا نماذج القطاعات التي تم تدريبها مسبقًا. يتم تدريب نماذج الكشف والجزء والوضعية مسبقًا على مجموعة بيانات COCO، بينما يتم تدريب نماذج التصنيف مسبقًا على مجموعة بيانات ImageNet.

يتم تنزيل النماذج تلقائياً من أحدثإصدار Ultralytics عند الاستخدام الأول.

الطراز الحجم
(بكسل)
mAPbox
50-95
mAPmask
50-95
السرعة
CPU ONNX
(مللي ثانية)
السرعة
T4 T4TensorRT10
(مللي ثانية)
بارامز
(م)

(ب)
YOLO11n-seg 640 38.9 32.0 65.9 ± 1.1 1.8 ± 0.0 2.9 10.4
يولو 11-سيج 640 46.6 37.8 117.6 ± 4.9 2.9 ± 0.0 10.1 35.5
YOLO11m-seg 640 51.5 41.5 281.6 ± 1.2 6.3 ± 0.1 22.4 123.3
YOLO11l-seg 640 53.4 42.9 344.2 ± 3.2 7.8 ± 0.2 27.6 142.2
YOLO11x-سيج 640 54.7 43.8 664.5 ± 3.2 15.8 ± 0.7 62.1 319.0
  • مافال القيم هي لنموذج واحد بمقياس واحد على COCO val2017 مجموعة البيانات.
    إعادة الإنتاج بواسطة yolo val segment data=coco-seg.yaml device=0
  • السرعة متوسطها على صور COCO val باستخدام أمازون إي سي 2 بي 4 دي على سبيل المثال.
    إعادة الإنتاج بواسطة yolo val segment data=coco-seg.yaml batch=1 device=0|cpu

القطار

قم بتدريب YOLO11n-seg على مجموعة بيانات COCO8-seg ل 100 حقبة زمنية بحجم صورة 640. للحصول على قائمة كاملة بالوسائط المتاحة، انظر صفحة التهيئة.

مثال على ذلك

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-seg.yaml")  # build a new model from YAML
model = YOLO("yolo11n-seg.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo11n-seg.yaml").load("yolo11n.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=yolo11n-seg.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo segment train data=coco8-seg.yaml model=yolo11n-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=yolo11n-seg.yaml pretrained=yolo11n-seg.pt epochs=100 imgsz=640

تنسيق مجموعة البيانات

YOLO يمكن الاطلاع على تنسيق مجموعة بيانات التجزئة بالتفصيل في دليل مجموعة البيانات. لتحويل مجموعة البيانات الموجودة لديك من تنسيقات أخرى (مثل COCO وما إلى ذلك) إلى تنسيق YOLO ، يرجى استخدام أداة JSON2YOLO بواسطة Ultralytics.

فال

التحقق من صحة نموذج YOLO11n-seg المدرّب الدقة على مجموعة بيانات COCO8-seg. لا حاجة لوسائط لأن model تحتفظ بتدريبها data والوسائط كسمات نموذجية.

مثال على ذلك

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-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
yolo segment val model=yolo11n-seg.pt  # val official model
yolo segment val model=path/to/best.pt  # val custom model

التنبؤ

استخدم نموذج YOLO11n-seg المدرّب لتشغيل التنبؤات على الصور.

مثال على ذلك

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-seg.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image
yolo segment predict model=yolo11n-seg.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo segment predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

انظر بالكامل predict تفاصيل الوضع في التنبؤ الصفحة.

التصدير

قم بتصدير نموذج YOLO11n-seg إلى تنسيق مختلف مثل ONNX ، CoreML ، إلخ.

مثال على ذلك

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n-seg.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom trained model

# Export the model
model.export(format="onnx")
yolo export model=yolo11n-seg.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

ترد تنسيقات التصدير المتاحة YOLO11-seg في الجدول أدناه. يمكنك التصدير إلى أي تنسيق باستخدام format الحجة، أي format='onnx' أو format='engine'. يمكنك التنبؤ أو التحقق من الصحة مباشرةً على النماذج المصدرة، أي yolo predict model=yolo11n-seg.onnx. تظهر أمثلة الاستخدام للنموذج الخاص بك بعد اكتمال التصدير.

التنسيق format الجدال الطراز البيانات الوصفية الحجج
PyTorch - yolo11n-seg.pt -
TorchScript torchscript yolo11n-seg.torchscript imgsz, optimize, batch
ONNX onnx yolo11n-seg.onnx imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolo11n-seg_openvino_model/ imgsz, half, int8, batch
TensorRT engine yolo11n-seg.engine imgsz, half, dynamic, simplify, workspace, int8, batch
CoreML coreml yolo11n-seg.mlpackage imgsz, half, int8, nms, batch
TF SavedModel saved_model yolo11n-seg_saved_model/ imgsz, keras, int8, batch
TF GraphDef pb yolo11n-seg.pb imgsz, batch
TF لايت tflite yolo11n-seg.tflite imgsz, half, int8, batch
TF إيدج TPU edgetpu yolo11n-seg_edgetpu.tflite imgsz
TF.js tfjs yolo11n-seg_web_model/ imgsz, half, int8, batch
PaddlePaddle paddle yolo11n-seg_paddle_model/ imgsz, batch
MNN mnn yolo11n-seg.mnn imgsz, batch, int8, half
NCNN ncnn yolo11n-seg_ncnn_model/ imgsz, half, batch
IMX500 imx yolo11n-seg_imx_model/ imgsz, int8

انظر بالكامل export التفاصيل في التصدير الصفحة.

الأسئلة الشائعة

كيف يمكنني تدريب نموذج تجزئة YOLO11 على مجموعة بيانات مخصصة؟

لتدريب نموذج التجزئة YOLO11 على مجموعة بيانات مخصصة، تحتاج أولاً إلى إعداد مجموعة بياناتك بتنسيق التجزئة YOLO . يمكنك استخدام أدوات مثل JSON2YOLO لتحويل مجموعات البيانات من تنسيقات أخرى. بمجرد أن تصبح مجموعة بياناتك جاهزة، يمكنك تدريب النموذج باستخدام الأوامر Python أو CLI :

مثال على ذلك

from ultralytics import YOLO

# Load a pretrained YOLO11 segment model
model = YOLO("yolo11n-seg.pt")

# Train the model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=640)
yolo segment train data=path/to/your_dataset.yaml model=yolo11n-seg.pt epochs=100 imgsz=640

راجع صفحة التكوين لمعرفة المزيد من الوسيطات المتاحة.

ما الفرق بين اكتشاف الكائنات وتجزئة المثيل في YOLO11 ؟

يحدد الكشف عن الكائنات ويحدد موقع الكائنات داخل الصورة من خلال رسم مربعات محددة حولها، في حين أن تجزئة النماذج لا تحدد المربعات المحددة فحسب، بل تحدد أيضًا الشكل الدقيق لكل كائن. YOLO11 توفر نماذج تجزئة النماذج أقنعة أو خطوطًا تحدد كل كائن تم اكتشافه، وهو أمر مفيد بشكل خاص للمهام التي تكون فيها معرفة الشكل الدقيق للأجسام مهمة، مثل التصوير الطبي أو القيادة الذاتية.

لماذا تستخدم YOLO11 للتجزئة على سبيل المثال؟

Ultralytics YOLO11 هو نموذج متطور معروف بدقته العالية وأدائه في الوقت الحقيقي، مما يجعله مثاليًا لمهام التجزئة على سبيل المثال. YOLO11 تأتي نماذج التجزئة مدربة مسبقًا على مجموعة بيانات COCO، مما يضمن أداءً قويًا عبر مجموعة متنوعة من الكائنات. بالإضافة إلى ذلك، يدعم YOLO وظائف التدريب والتحقق من الصحة والتنبؤ والتصدير مع تكامل سلس، مما يجعله متعدد الاستخدامات للغاية لكل من التطبيقات البحثية والصناعية.

كيف أقوم بتحميل نموذج التجزئة YOLO المدرب مسبقًا والتحقق من صحته؟

تحميل والتحقق من صحة نموذج التجزئة YOLO المدرب مسبقًا والتحقق من صحته أمر سهل ومباشر. إليك كيفية القيام بذلك باستخدام كل من Python و CLI:

مثال على ذلك

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n-seg.pt")

# Validate the model
metrics = model.val()
print("Mean Average Precision for boxes:", metrics.box.map)
print("Mean Average Precision for masks:", metrics.seg.map)
yolo segment val model=yolo11n-seg.pt

ستوفر لك هذه الخطوات مقاييس التحقق من الصحة مثل متوسط الدقة المتوسطة (mAP)، وهي ضرورية لتقييم أداء النموذج.

كيف يمكنني تصدير نموذج تجزئة YOLO إلى تنسيق ONNX ؟

يعد تصدير نموذج التجزئة YOLO إلى تنسيق ONNX أمرًا بسيطًا ويمكن القيام به باستخدام الأوامر Python أو CLI :

مثال على ذلك

from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo11n-seg.pt")

# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo11n-seg.pt format=onnx

لمزيد من التفاصيل حول التصدير إلى تنسيقات مختلفة، راجع صفحة التصدير.

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 1 شهر

التعليقات