Meet YOLO26: next-gen vision AI.

Link to this sectionAnlamsal Bölütleme#

Semantic segmentation examples

Anlamsal bölütleme, bir görüntüdeki her piksele bir sınıf etiketi atayarak tüm sahneyi kapsayan yoğun bir sınıf haritası üretir. Bireysel nesneleri ayıran örnek bölütlemeden farklı olarak anlamsal bölütleme, kaç tane farklı nesne olursa olsun aynı sınıfa ait tüm pikselleri bir araya getirir.

Anlamsal bölütleme modelinin çıktısı, her piksel değerinin tahmin edilen bir sınıf kimliğine (ID) karşılık geldiği tek bir yükseklik çarpı genişlik sınıf haritasıdır. Bu özellik, anlamsal bölütlemeyi otonom sürüş, tıbbi görüntüleme ve arazi örtüsü haritalama gibi sahne ayrıştırma görevleri için ideal kılar.

İpucu

Use task=semantic or the yolo semantic CLI task for semantic segmentation. YOLO26 semantic segmentation model files use the -sem suffix, such as yolo26n-sem.pt.

Link to this sectionModeller#

Cityscapes veri kümesi üzerinde önceden eğitilmiş YOLO26 anlamsal bölütleme modelleri aşağıda gösterilmiştir.

Modeller ilk kullanımda en son Ultralytics sürümünden otomatik olarak indirilir.

Modelboyut
(piksel)
mIoUvalHız
RTX3090 PyTorch
(ms)
parametreler
(M)
FLOPs
(B)
YOLO26n-sem1024 × 204878.34.4 ± 0.01.622.7
YOLO26s-sem1024 × 204880.88.4 ± 0.06.588.8
YOLO26m-sem1024 × 204882.019.9 ± 0.114.3304.5
YOLO26l-sem1024 × 204882.926.5 ± 0.117.9384.7
YOLO26x-sem1024 × 204883.648.9 ± 0.240.2861.7
  • mIoUval değerleri, Cityscapes doğrulama kümesi üzerindeki tek model, tek ölçekli sonuçlardır.
    Bunu yolo semantic val data=cityscapes.yaml device=0 imgsz=2048 ile yeniden üretebilirsin.
  • Hız metrikleri, bir RTX3090 örneği kullanılarak Cityscapes doğrulama görüntüleri üzerinden ortalanmıştır.
    Bunu yolo semantic val data=cityscapes.yaml batch=1 device=0|cpu imgsz=2048 ile yeniden üretebilirsin.
  • Params ve FLOPs değerleri, Conv ve BatchNorm katmanlarını birleştiren model.fuse() işleminden sonraki birleştirilmiş model içindir. Önceden eğitilmiş kontrol noktaları, tam eğitim mimarisini korur ve daha yüksek sayılar gösterebilir.

Link to this sectionEğit (Train)#

YOLO26n-sem modelini Cityscapes8 veri kümesi üzerinde 1024 görüntü boyutunda 100 dönem boyunca eğit. Mevcut tüm bağımsız değişkenlerin tam listesi için Yapılandırma sayfasına göz at.

Örnek
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-sem.yaml")  # build a new model from YAML
model = YOLO("yolo26n-sem.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n-sem.yaml").load("yolo26n-sem.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="cityscapes8.yaml", epochs=100, imgsz=1024)

train moduna dair tüm detaylar için Eğitim sayfasına bak.

Link to this sectionVeri kümesi biçimi#

Anlamsal bölütleme veri kümeleri, genellikle her piksel değerinin bir sınıf kimliğini temsil ettiği PNG formatında tek kanallı maske görüntüleri kullanır. 255 değerine sahip pikseller "yoksay" olarak kabul edilir ve kayıp hesaplamasından hariç tutulur. Veri kümesi YAML dosyası, görüntülere ve ilgili maske dizinlerine giden yolları belirtmelidir. Biçim detayları için Anlamsal Bölütleme Veri Kümesi Kılavuzu sayfasını incele. Desteklenen veri kümeleri arasında Cityscapes ve ADE20K bulunur.

Link to this sectionDoğrula (Val)#

Eğitilmiş bir YOLO26n-sem modelinin doğruluğunu bir anlamsal bölütleme veri kümesi üzerinde doğrula. Doğrulamanın amaçlanan veri kümesi YAML dosyasını kullanması için data parametresini açıkça belirt.

Örnek
from ultralytics import YOLO

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

# Validate the model
metrics = model.val(data="cityscapes.yaml")
metrics.miou  # mean Intersection over Union
metrics.pixel_accuracy  # overall pixel accuracy

Link to this sectionTahmin Et (Predict)#

Görüntüler üzerinde tahmin yürütmek için eğitilmiş bir YOLO26n-sem modeli kullan.

Örnek
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n-sem.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:
    semantic_mask = result.semantic_mask.data  # class map, shape (H,W), integer dtype selected by class count

Tüm predict modu ayrıntılarını Tahmin (Predict) sayfasında görebilirsin.

Link to this sectionSonuç Çıktısı#

YOLO anlamsal bölütleme, görüntü başına bir Results nesnesi döndürür. Her sonuç, nesne maskeleri listesi yerine görüntünün tamamı için yoğun bir sınıf haritası saklar. Aynı tahmin edilen sınıfa sahip pikseller, farklı nesnelere ait olsalar bile aynı sınıf kimliğini paylaşırlar.

ÖznitelikTipŞekilAçıklama
result.semantic_maskSemanticMask(H,W)Yoğun sınıf haritası.
result.semantic_mask.datatorch.uint8
torch.int16
torch.int32
(H,W)Sınıf kimlikleri; sınıf sayısına göre seçilen veri tipi (dtype).
result.masks--Örnek maskesi yok.
result.boxes--Örnek kutuları/güvenilirlikleri yok.
result.masks.xy--Varsayılan çokgenler yok.

Her görev için göreve özel Results alanlarını görmek istersen, Göreve Göre Tahmin Sonuçları bölümüne bak.

Link to this sectionÖrnek Bölütleme vs Anlamsal Bölütleme#

ÖzellikÖrnek Bölütleme (task="segment")Anlamsal Bölütleme (task="semantic")
Tahmin amacıAlgılanan her nesneyi ayrı ayrı bölütleHer piksele bir sınıf kimliği ata
Çıktı alanıresult.masksresult.semantic_mask
Ana veriresult.masks.dataresult.semantic_mask.data
Şekil(N,H,W)(H,W)
Piksel değerleriİkili maske değerleri: 0 veya 1Sınıf kimlikleri: 0, 1, 2, ...
Veri Tipi (Dtype)torch.uint8torch.uint8
torch.int16
torch.int32
Aynı sınıf nesneleriAyrı örnekler olarak tutulurAynı sınıf bölgesinde birleştirilir
ÇokgenlerEvet, result.masks.xy ve result.masks.xyn aracılığıylaVarsayılan olarak çokgen çıktısı yok
Kutular ve güvenEvet, result.boxes aracılığıylaÖrnek başına kutu veya güven puanı yok
Tipik kullanımSayma, izleme, kırpma, nesne düzeyinde ölçümYoğun sahne etiketleme, sürülebilir alan, arazi örtüsü, tıbbi bölgeler

Link to this sectionDışa Aktar (Export)#

Bir YOLO26n-sem modelini ONNX, CoreML vb. farklı bir formata dışa aktar.

Örnek
from ultralytics import YOLO

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

# Export the model
model.export(format="onnx")

Mevcut YOLO26 anlamsal bölütleme dışa aktarma biçimleri aşağıdaki tabloda yer almaktadır. format bağımsız değişkenini kullanarak (örneğin: format='onnx' veya format='engine') herhangi bir biçime dışa aktarabilirsin. Dışa aktarılan modeller üzerinde doğrudan tahmin veya doğrulama yapabilirsin; örneğin: yolo predict model=yolo26n-sem.onnx. Dışa aktarma tamamlandıktan sonra modelin için kullanım örnekleri gösterilecektir.

Formatformat ArgümanıModelMeta verilerArgümanlar
PyTorch-yolo26n-sem.pt-
TorchScripttorchscriptyolo26n-sem.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n-sem.onnximgsz, half, int8, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n-sem_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n-sem.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n-sem.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n-sem_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n-sem.pbimgsz, batch, device
TF Litetfliteyolo26n-sem.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n-sem_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n-sem_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n-sem_paddle_model/imgsz, batch, device
MNNmnnyolo26n-sem.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n-sem_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n-sem_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n-sem_rknn_model/imgsz, batch, name, half, int8, data, fraction, device
ExecuTorchexecutorchyolo26n-sem_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n-sem_axelera_model/imgsz, batch, int8, data, fraction, device
DEEPXdeepxyolo26n-sem_deepx_model/imgsz, int8, data, optimize, device
Qualcomm QNNqnnyolo26n-sem_qnn.onnximgsz, batch, name, int8, data, fraction, device

Tüm export ayrıntılarını Export sayfasında bulabilirsin.

Link to this sectionSSS#

Link to this sectionÖzel bir veri kümesinde nasıl YOLO26 anlamsal bölütleme modeli eğitebilirim?#

Özel bir veri kümesinde YOLO26 anlamsal bölütleme modeli eğitmek için, her piksel değerinin bir sınıf kimliğini (0, 1, 2, ...) temsil ettiği ve 255 değerine sahip piksellerin eğitim sırasında yoksayıldığı PNG maske görüntüleri hazırlaman gerekir. Görüntü ve maske dizinlerine işaret eden bir veri kümesi YAML dosyası oluştur ve ardından modeli eğit:

Örnek
from ultralytics import YOLO

# Load a pretrained YOLO26 semantic segmentation model
model = YOLO("yolo26n-sem.pt")

# Train the model
results = model.train(data="path/to/your_dataset.yaml", epochs=100, imgsz=512)

Daha fazla mevcut argüman için Yapılandırma sayfasına göz at.

Link to this sectionÖrnek bölütleme ile anlamsal bölütleme arasındaki fark nedir?#

Örnek bölütleme ve anlamsal bölütleme, her ikisi de piksel düzeyinde görevlerdir ancak temel bir şekilde farklılaşırlar:

  • Anlamsal bölütleme her piksele bir sınıf etiketi atar ancak aynı sınıfın bireysel nesneleri arasında ayrım yapmaz. Örneğin, bir sahnedeki tüm arabalar aynı sınıf etiketini paylaşır.
  • Örnek bölütleme her bir nesneyi ayrı ayrı tanımlar ve aynı sınıfa ait olsalar bile her nesne için farklı maskeler üretir.

Anlamsal bölütleme, otonom sürüş ve arazi örtüsü haritalama gibi sahne anlama görevleri için en uygun yöntemdir; örnek bölütleme ise bireysel nesneleri saymak veya izlemek önemli olduğunda tercih edilir.

Link to this sectionÖrnek bölütleme verilerini anlamsal bölütleme eğitmek için kullanabilir miyim?#

Yes. If your dataset uses Ultralytics YOLO polygon labels (one .txt per image), omit masks_dir from the dataset YAML and the loader will convert polygons to per-image semantic masks on the fly. For multi-class datasets (N > 1) an extra background class is appended to names automatically. For single-class datasets (N == 1) training stays at 1 class — your declared class becomes 1 in the mask and uncovered pixels become 0. See the Semantic Segmentation Dataset Guide for details.

Link to this sectionAnlamsal bölütleme için hangi veri kümeleri desteklenmektedir?#

Ultralytics YOLO26, çeşitli anlamsal bölütleme veri kümeleri için yerleşik yapılandırmalar sağlar:

  • Cityscapes: Otonom sürüş araştırmalarında yaygın olarak kullanılan 19 sınıflı kentsel sokak sahneleri.
  • ADE20K: 150 sınıfa sahip büyük ölçekli bir sahne ayrıştırma veri kümesi.

Ayrıca piksel değerlerinin sınıf kimliklerine karşılık geldiği PNG maske açıklamaları sunan herhangi bir özel veri kümesini de kullanabilirsin.

Link to this sectionÖnceden eğitilmiş bir YOLO26 anlamsal bölütleme modelini nasıl doğrularım?#

Önceden eğitilmiş bir YOLO26 anlamsal bölütleme modelini, değerlendirme için kullanılan veri kümesi YAML dosyası ile doğrula:

Örnek
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n-sem.pt")

# Validate the model
metrics = model.val(data="cityscapes.yaml")
print("Mean IoU:", metrics.miou)
print("Pixel Accuracy:", metrics.pixel_accuracy)

Bu adımlar, anlamsal bölütleme performansını değerlendirmek için standart ölçümler olan ortalama Kesişim Birleşim Üzerinden (mIoU) ve piksel doğruluğu gibi doğrulama metriklerini sana sağlayacaktır.

Link to this sectionBir YOLO26 anlamsal bölütleme modelini ONNX biçimine nasıl dışa aktarabilirim?#

Bir YOLO26 anlamsal bölütleme modelini Python veya CLI komutlarıyla ONNX biçimine dışa aktar:

Örnek
from ultralytics import YOLO

# Load a pretrained model
model = YOLO("yolo26n-sem.pt")

# Export the model to ONNX format
model.export(format="onnx")

Çeşitli formatlara dışa aktarma hakkında daha fazla ayrıntı için Dışa Aktarma sayfasına başvur.

Katkıda Bulunanlar

Yorumlar