Örnek Segmentasyonu

Örnek bölütleme, nesne tespitinden bir adım öteye gider ve bir görüntüdeki bireysel nesneleri tanımlamayı ve bunları görüntünün geri kalanından ayırmayı içerir.
Örnek segmentasyon modelinin çıktısı, her nesne için sınıf etiketleri ve güven skorlarıyla birlikte, görüntüdeki her nesneyi ana hatlarıyla belirten bir dizi maske veya konturdur. Örnek segmentasyonu, bir görüntüdeki nesnelerin sadece nerede olduğunu değil, aynı zamanda tam şeklinin ne olduğunu da bilmeniz gerektiğinde kullanışlıdır.
İzle: Python'da Önceden Eğitilmiş Ultralytics YOLO Modeli ile Segmentasyon Çalıştırın.
İpucu
YOLO26 Segment modelleri şunu kullanır: -seg sonek, yani, yolo26n-seg.pt, ve üzerinde önceden eğitilmiştir COCO.
Modeller
YOLO26 önceden eğitilmiş Segment modelleri burada gösterilmiştir. Detect, Segment ve Pose modelleri COCO veri kümesi üzerinde önceden eğitilmişken, Classify modelleri ImageNet veri kümesi üzerinde önceden eğitilmiştir.
Modeller, ilk kullanımda en son Ultralytics sürümünden otomatik olarak indirilir.
| Model | boyut (piksel) | mAPbox 50-95(e2e) | mAPmask 50-95(e2e) | Hız CPU ONNX (ms) | Hız T4 TensorRT10 (ms) | parametreler (M) | FLOP'lar (B) |
|---|---|---|---|---|---|---|---|
| YOLO26n-seg | 640 | 39.6 | 33.9 | 53.3 ± 0.5 | 2.1 ± 0.0 | 2.7 | 9.1 |
| YOLO26s-seg | 640 | 47.3 | 40.0 | 118.4 ± 0.9 | 3.3 ± 0.0 | 10.4 | 34.2 |
| YOLO26m-seg | 640 | 52.5 | 44.1 | 328.2 ± 2.4 | 6.7 ± 0.1 | 23.6 | 121.5 |
| YOLO26l-seg | 640 | 54.4 | 45.5 | 387.0 ± 3.7 | 8.0 ± 0.1 | 28.0 | 139.8 |
| YOLO26x-seg | 640 | 56.5 | 47.0 | 787.0 ± 6.8 | 16.4 ± 0.1 | 62.8 | 313.5 |
- mAPval değerleri, tek model ve tek ölçek için COCO val2017 veri kümesi üzerindendir.
Tekrar oluşturmak içinyolo val segment data=coco.yaml device=0 - Hız COCO val görüntülerinde ortalaması alınarak Amazon EC2 P4d örneği kullanılarak COCO val görüntülerinde ortalama alınmıştır.
Tekrar oluşturmak içinyolo val segment data=coco.yaml batch=1 device=0|cpu
Eğit
YOLO26n-seg modelini 640 görüntü boyutunda 100 epoch boyunca COCO8-seg veri kümesi üzerinde eğitin. Mevcut argümanların tam listesi için Yapılandırma sayfasına bakın.
Örnek
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-seg.yaml") # build a new model from YAML
model = YOLO("yolo26n-seg.pt") # load a pretrained model (recommended for training)
model = YOLO("yolo26n-seg.yaml").load("yolo26n.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=yolo26n-seg.yaml epochs=100 imgsz=640
# Start training from a pretrained *.pt model
yolo segment train data=coco8-seg.yaml model=yolo26n-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=yolo26n-seg.yaml pretrained=yolo26n-seg.pt epochs=100 imgsz=640
Veri kümesi formatı
YOLO segment veri kümesi formatına Veri Kümesi Kılavuzu'nda ayrıntılı olarak ulaşılabilir. Mevcut veri kümenizi diğer formatlardan (COCO vb. gibi) YOLO formatına dönüştürmek için lütfen Ultralytics tarafından sunulan JSON2YOLO aracını kullanın.
Doğrula
Eğitilmiş YOLO26n-seg modelini doğrula doğruluğu COCO8-seg veri kümesinde. Herhangi bir argümana gerek yoktur, çünkü model eğitimini korur data ve argümanları model nitelikleri olarak saklar.
Örnek
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-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 containing mAP50-95(B) for each category
metrics.seg.map # map50-95(M)
metrics.seg.map50 # map50(M)
metrics.seg.map75 # map75(M)
metrics.seg.maps # a list containing mAP50-95(M) for each category
yolo segment val model=yolo26n-seg.pt # val official model
yolo segment val model=path/to/best.pt # val custom model
Tahmin et
Görüntüler üzerinde tahminler çalıştırmak için eğitilmiş bir YOLO26n-seg modeli kullanın.
Örnek
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-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
# Access the results
for result in results:
xy = result.masks.xy # mask in polygon format
xyn = result.masks.xyn # normalized
masks = result.masks.data # mask in matrix format (num_objects x H x W)
yolo segment predict model=yolo26n-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
Tamamını görün predict sayfasındaki mod ayrıntıları. Tahmin et sayfasında bulabilirsiniz.
Dışa aktar
Bir YOLO26n-seg modelini ONNX, CoreML vb. gibi farklı bir formata dışa aktarın.
Örnek
from ultralytics import YOLO
# Load a model
model = YOLO("yolo26n-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=yolo26n-seg.pt format=onnx # export official model
yolo export model=path/to/best.pt format=onnx # export custom-trained model
Mevcut YOLO26-seg dışa aktarma formatları aşağıdaki tabloda yer almaktadır. Herhangi bir formata şunu kullanarak dışa aktarabilirsiniz: format argümanı, yani format='onnx' veya format='engine'. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsiniz, yani, yolo predict model=yolo26n-seg.onnx. Kullanım örnekleri, dışa aktarma tamamlandıktan sonra modeliniz için gösterilir.
| Format | format Argüman | Model | Meta Veri | Argümanlar |
|---|---|---|---|---|
| PyTorch | - | yolo26n-seg.pt | ✅ | - |
| TorchScript | torchscript | yolo26n-seg.torchscript | ✅ | imgsz, half, dynamic, optimize, nms, batch, device |
| ONNX | onnx | yolo26n-seg.onnx | ✅ | imgsz, half, dynamic, simplify, opset, nms, batch, device |
| OpenVINO | openvino | yolo26n-seg_openvino_model/ | ✅ | imgsz, half, dynamic, int8, nms, batch, data, fraction, device |
| TensorRT | engine | yolo26n-seg.engine | ✅ | imgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device |
| CoreML | coreml | yolo26n-seg.mlpackage | ✅ | imgsz, dynamic, half, int8, nms, batch, device |
| TF SavedModel | saved_model | yolo26n-seg_saved_model/ | ✅ | imgsz, keras, int8, nms, batch, device |
| TF GraphDef | pb | yolo26n-seg.pb | ❌ | imgsz, batch, device |
| TF Lite | tflite | yolo26n-seg.tflite | ✅ | imgsz, half, int8, nms, batch, data, fraction, device |
| TF Edge TPU | edgetpu | yolo26n-seg_edgetpu.tflite | ✅ | imgsz, device |
| TF.js | tfjs | yolo26n-seg_web_model/ | ✅ | imgsz, half, int8, nms, batch, device |
| PaddlePaddle | paddle | yolo26n-seg_paddle_model/ | ✅ | imgsz, batch, device |
| MNN | mnn | yolo26n-seg.mnn | ✅ | imgsz, batch, int8, half, device |
| NCNN | ncnn | yolo26n-seg_ncnn_model/ | ✅ | imgsz, half, batch, device |
| IMX500 | imx | yolo26n-seg_imx_model/ | ✅ | imgsz, int8, data, fraction, device |
| RKNN | rknn | yolo26n-seg_rknn_model/ | ✅ | imgsz, batch, name, device |
| ExecuTorch | executorch | yolo26n-seg_executorch_model/ | ✅ | imgsz, device |
| Axelera | axelera | yolo26n-seg_axelera_model/ | ✅ | imgsz, int8, data, fraction, device |
Tamamını görün export ayrıntıları Dışa aktar sayfasında bulabilirsiniz.
SSS
Özel bir veri kümesi üzerinde bir YOLO26 segmentasyon modeli nasıl eğitirim?
Özel bir veri kümesi üzerinde bir YOLO26 segmentasyon modeli eğitmek için öncelikle veri kümenizi YOLO segmentasyon formatında hazırlamanız gerekir. Diğer formatlardaki veri kümelerini dönüştürmek için JSON2YOLO gibi araçları kullanabilirsiniz. Veri kümeniz hazır olduğunda, modeli python veya CLI komutlarını kullanarak eğitebilirsiniz:
Örnek
from ultralytics import YOLO
# Load a pretrained YOLO26 segment model
model = YOLO("yolo26n-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=yolo26n-seg.pt epochs=100 imgsz=640
Mevcut diğer argümanlar için Yapılandırma sayfasına bakın.
YOLO26'da nesne algılama ve örnek segmentasyon arasındaki fark nedir?
Nesne detect etme, görüntülerdeki nesneleri etraflarına sınırlayıcı kutular çizerek tanımlar ve yerlerini belirlerken, örnek segmentasyon (instance segmentation) yalnızca sınırlayıcı kutuları tanımlamakla kalmaz, aynı zamanda her nesnenin tam şeklini de belirler. YOLO26 örnek segmentasyon (instance segmentation) modelleri, detect edilen her nesnenin ana hatlarını çizen maskeler veya konturlar sağlar; bu, tıbbi görüntüleme veya otonom sürüş gibi nesnelerin kesin şeklini bilmenin önemli olduğu görevler için özellikle kullanışlıdır.
Örnek segmentasyon (instance segmentation) için neden YOLO26 kullanılmalı?
Ultralytics YOLO26, yüksek doğruluğu ve gerçek zamanlı performansı ile tanınan, örnek segmentasyon görevleri için ideal, son teknoloji bir modeldir. YOLO26 Segment modelleri, çeşitli nesnelerde sağlam performans sağlayarak COCO dataset üzerinde önceden eğitilmiş olarak gelir. Ek olarak, YOLO; eğitim, doğrulama, tahmin ve dışa aktarma işlevlerini sorunsuz entegrasyonla destekleyerek hem araştırma hem de endüstriyel uygulamalar için oldukça çok yönlüdür.
Önceden eğitilmiş bir YOLO segmentasyon modelini nasıl yükler ve doğrularım?
Önceden eğitilmiş bir YOLO segmentasyon modelini yüklemek ve doğrulamak basittir. İşte hem python hem de CLI kullanarak bunu nasıl yapabileceğiniz:
Örnek
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n-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=yolo26n-seg.pt
Bu adımlar, model performansını değerlendirmek için çok önemli olan Ortalama Hassasiyet (mAP) gibi doğrulama metrikleri sağlayacaktır.
Bir YOLO segmentasyon modelini ONNX formatına nasıl aktarabilirim?
Bir YOLO segmentasyon modelini ONNX formatına aktarmak basittir ve python veya CLI komutları kullanılarak yapılabilir:
Örnek
from ultralytics import YOLO
# Load a pretrained model
model = YOLO("yolo26n-seg.pt")
# Export the model to ONNX format
model.export(format="onnx")
yolo export model=yolo26n-seg.pt format=onnx
Çeşitli formatlara aktarma hakkında daha fazla bilgi için Dışa Aktarma sayfasına bakın.