Ultralytics YOLO27:
Get Started

Ultralytics YOLO ile Nesne Tespiti#

Ultralytics YOLO object detection with bounding boxes

Nesne tespiti, görüntü veya video akışındaki nesnelerin konumunu ve sınıfını belirlemeyi içeren bir görevdir.

Bir nesne algılayıcının çıktısı; görüntüdeki nesneleri çevreleyen sınırlayıcı kutuların yanı sıra her kutu için sınıf etiketleri ve güven puanlarından oluşur. Bir sahnedeki ilgili nesneleri tanımlaman gerektiğinde ancak nesnenin tam şeklini bilmen gerekmediğinde nesne tespiti iyi bir seçimdir.



İzle: Önceden Eğitilmiş Ultralytics YOLO Modeliyle Nesne Algılama.
İpucu

YOLO26 Detect modelleri varsayılan YOLO26 modelleridir; yani yolo26n.pt şeklindedir ve COCO üzerinde önceden eğitilmiştir.

Modeller#

COCO veri kümesinde önceden eğitilmiş YOLO26 Detect modelleri aşağıda gösterilmiştir.

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

Modelboyut
(piksel)
mAPval
50-95
mAPval
50-95(e2e)
Hız
CPU ONNX
(ms)
Hız
T4 TensorRT10
(ms)
parametre
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.5
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.9
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.4
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.8
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7194.4
  • mAPval değerleri, COCO val2017 veri kümesinde tek model ve tek ölçek için verilmiştir.
    yolo detect val data=coco.yaml device=0 ile yeniden üret. E2E sütununu yeniden üretmek için nms=False ekle.
  • Hız değerleri, COCO val görüntülerinde CPU üzerinde ONNX ve NVIDIA T4 GPU üzerinde TensorRT10 kullanılarak hesaplanan ortalamalardır.
    yolo detect val data=coco.yaml batch=1 device=0|cpu nms=False ile yeniden üret.
  • Parametre ve FLOP değerleri; Conv/BatchNorm katmanları birleştirildikten ve kullanılmayan tespit dalı kaldırıldıktan sonraki füzyonlu modeller içindir. Önceden eğitilmiş kontrol noktaları, eğitim mimarisinin tamamını korur ve daha yüksek sayılar gösterebilir.

Ön COCO tespit sonuçları için henüz yayımlanmamış YOLO27 önizlemesine göz at.

Eğit#

COCO8 veri kümesinde YOLO26n modelini, görüntü boyutu 640 olacak şekilde 100 epoch boyunca eğit. Kullanılabilir tüm bağımsız değişkenlerin listesi için Yapılandırma sayfasına bak.

Örnek
from ultralytics import YOLO

# Bir model yükle
model = YOLO("yolo26n.yaml")  # YAML'den yeni bir model oluştur
model = YOLO("yolo26n.pt")  # Önceden eğitilmiş bir model yükle (eğitim için önerilir)
model = YOLO("yolo26n.yaml").load("yolo26n.pt")  # YAML'den oluştur ve ağırlıkları aktar

# Modeli eğit
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

train kipinin tüm ayrıntıları için Eğitim sayfasına bak. Tespit modellerini Ultralytics Platform bulut eğitimi ile de eğitebilirsin.

Veri kümesi biçimi#

YOLO tespit veri kümesi biçiminin ayrıntılarını Veri Kümesi Kılavuzunda bulabilirsin. Mevcut bir COCO JSON veri kümesini YOLO biçimine dönüştürmek için COCO'dan YOLO'ya kılavuzunda açıklanan yerleşik convert_coco işlevini kullan. Ayrıca tespit veri kümelerini Ultralytics Platform'un yapay zekâ destekli etiketleme araçlarıyla etiketleyebilir ve yönetebilirsin.

Doğrula#

Eğitilmiş YOLO26n modelinin doğruluğunu doğrula. model, eğitim data değerini ve bağımsız değişkenlerini model öznitelikleri olarak koruduğundan bağımsız değişken gerekmez: Eğitim örneğindeki path/to/best.pt, COCO8 üzerinde doğrulama yapar. Resmî ağırlıklar, makinenizde bulunmayan bir eğitim veri kümesi yolu kaydeder; bu nedenle bir uyarıyla görevin varsayılan coco8.yaml değerine geri döner. Başka bir veri kümesinde doğrulama yapmak için data değerini ilet.

Örnek
from ultralytics import YOLO

# Bir model yükle
model = YOLO("yolo26n.pt")  # Resmî bir modeli yükle
model = YOLO("path/to/best.pt")  # özel bir model yükle

# Modeli doğrula
metrics = model.val()  # Bağımsız değişken gerekmez; veri kümesi ve ayarlar hatırlanır
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # Her kategori için mAP50-95 içeren bir liste
metrics.box.image_metrics  # Hassasiyet, geri çağırma, F1, TP, FP ve FN değerlerini içeren görüntü başına metrik sözlüğü

Tahmin#

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

Örnek
from ultralytics import YOLO

# Bir model yükle
model = YOLO("yolo26n.pt")  # Resmî bir modeli yükle
model = YOLO("path/to/best.pt")  # özel bir model yükle

# Modelle tahmin yap
results = model("https://ultralytics.com/images/bus.jpg")  # bir görüntü üzerinde tahmin yap

# Sonuçlara eriş
for result in results:
    xywh = result.boxes.xywh  # merkez-x, merkez-y, genişlik, yükseklik
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # sol üst-x, sol üst-y, sağ alt-x, sağ alt-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # her kutunun sınıf adı
    confs = result.boxes.conf  # her kutunun güven puanı

predict kipinin tüm ayrıntıları için Tahmin sayfasına bak.

Sonuç Çıktısı#

Nesne tespiti, görüntü başına bir Results nesnesi döndürür. Birincil tahmin alanı, tespit edilen her nesnenin kutu koordinatlarını, sınıf kimliklerini ve güven puanlarını içeren result.boxes alanıdır.

ÖznitelikTürŞekilAçıklama
result.boxesBoxes(N)Algılama kutuları.
result.boxes.datatorch.float32(N,6/7)Ham [x1,y1,x2,y2,conf,cls] ve isteğe bağlı izleme kimliği.
result.boxes.xyxytorch.float32(N,4)xyxy piksel kutuları.
result.boxes.conftorch.float32(N,)Güven puanları.
result.boxes.clstorch.float32(N,)Sınıf kimlikleri; adları almak için int türüne dönüştür.

Tüm görevlerde göreve özgü Results alanları için Göreve Göre Tahmin Sonuçları bölümüne bak.

Dışa aktar#

YOLO26n modelini ONNX, CoreML vb. farklı bir biçime aktar.

Örnek
from ultralytics import YOLO

# Bir model yükle
model = YOLO("yolo26n.pt")  # Resmî bir modeli yükle
model = YOLO("path/to/best.pt")  # özel bir model yükle

# Modeli dışa aktar
model.export(format="onnx")

Kullanılabilir YOLO26 dışa aktarma biçimleri aşağıdaki tabloda verilmiştir. format bağımsız değişkenini kullanarak herhangi bir biçime aktarabilirsin; örneğin format='onnx' veya format='engine'. Dışa aktarılan modellerde doğrudan tahmin yapabilir veya doğrulama gerçekleştirebilirsin; örneğin yolo predict model=yolo26n.onnx. Dışa aktarma tamamlandıktan sonra modeline yönelik kullanım örnekleri gösterilir.

Biçimformat bağımsız değişkeniModelÜst verilerBağımsız değişkenler
PyTorch-yolo26n.pt✅-
TorchScripttorchscriptyolo26n.torchscript✅imgsz, quantize, dynamic, nms, batch, device
ONNXonnxyolo26n.onnx✅imgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/✅imgsz, quantize, dynamic, nms, batch, data, fraction, device
TensorRTengineyolo26n.engine✅imgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackage✅imgsz, dynamic, quantize, nms, batch, device
Apple Core AIcoreaiyolo26n.aimodel✅imgsz, batch, quantize
TF SavedModelsaved_modelyolo26n_saved_model/✅imgsz, quantize, opset, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pb❌imgsz, opset, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tflite✅imgsz, quantize, opset, data, fraction, device
LiteRTlitertyolo26n.tflite✅imgsz, quantize, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/✅imgsz, batch, device
MNNmnnyolo26n.mnn✅imgsz, batch, dynamic, quantize, simplify, opset, nms, device
NCNNncnnyolo26n_ncnn_model/✅imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/✅imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/✅imgsz, batch, name, quantize, simplify, opset, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/✅imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/✅imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/✅imgsz, quantize, simplify, opset, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnx✅imgsz, batch, name, quantize, simplify, opset, data, fraction, device
Hailohailoyolo26n_hailo_model/✅imgsz, name, quantize, data, fraction, simplify, conf, iou, device
Huawei Ascendascendyolo26n_ascend_model/✅imgsz, batch, name, quantize, opset, simplify, nms, device
AMD Xilinxxilinxyolo26n_xilinx_model/✅imgsz, name, quantize, data, fraction, opset, simplify, device

nms=None, harici NMS için varsayılan olarak ham çıktılar üretir. Kullanılabilir bir NMS içermeyen başlık seçmek için nms=False değerini ayarla; desteklenmeyen biçimler yerel çıktı yoluna döner. Yukarıdaki nms girdileri, nms=True ile NMS içerebilen biçimleri tanımlar.

Ayrıntılı export bilgileri için Dışa Aktarma sayfasına bak.

Sık Sorulan Sorular#

  • Evet. Ultralytics Platform hızlı başlangıç kılavuzu, veri kümelerini etiketlemek, tespit modellerini bulut GPU'larında eğitmek ve çıkarım uç noktalarına dağıtmak için tarayıcı tabanlı bir iş akışını açıklar.

  • YOLO26 modelini özel bir veri kümesinde eğitmek birkaç adım içerir:

    1. Veri Kümesini Hazırla: Veri kümenin YOLO biçiminde olduğundan emin ol. Yönergeler için Veri Kümesi Kılavuzumuza bak.
    2. Modeli Yükle: Önceden eğitilmiş bir modeli yüklemek veya YAML dosyasından yeni bir model oluşturmak için Ultralytics YOLO kitaplığını kullan.
    3. Modeli Eğit: Python'da train yöntemini veya CLI'da yolo detect train komutunu çalıştır.
    Örnek
    from ultralytics import YOLO
    
    # Önceden eğitilmiş bir modeli yükle
    model = YOLO("yolo26n.pt")
    
    # Modeli özel veri kümenle eğit
    model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)

    Ayrıntılı yapılandırma seçenekleri için Yapılandırma sayfasını ziyaret et.

  • Ultralytics YOLO26; nesne tespiti, örnek segmentasyonu, anlamsal segmentasyon, derinlik tahmini, sınıflandırma, poz tahmini ve yönlendirilmiş sınırlayıcı kutular için çeşitli önceden eğitilmiş modeller sunar. Bu modeller; nesne tespiti için COCO veri kümesinde, anlamsal segmentasyon için Cityscapes'te, derinlik tahmini için çoklu veri kümesi karışımında, sınıflandırma için ImageNet'te veya OBB için DOTAv1'de önceden eğitilmiştir. Kullanılabilir modellerden bazıları şunlardır:

    Ayrıntılı liste ve performans ölçümleri için Modeller bölümüne bak.

  • Eğittiğin YOLO26 modelinin doğruluğunu doğrulamak için Python'da .val() yöntemini veya CLI'da yolo detect val komutunu kullanabilirsin. Bu işlem mAP50-95, mAP50 ve daha fazlası gibi ölçümler sağlar.

    Örnek
    from ultralytics import YOLO
    
    # Modeli yükle
    model = YOLO("path/to/best.pt")
    
    # Modeli doğrula
    metrics = model.val()
    print(metrics.box.map)  # mAP50-95

    Doğrulama hakkında daha fazla bilgi için Doğrulama sayfasını ziyaret et.

  • Ultralytics YOLO26, farklı platform ve cihazlarla uyumluluğu sağlamak için modelleri ONNX, TensorRT, CoreML ve daha birçok biçime aktarmana olanak tanır.

    Örnek
    from ultralytics import YOLO
    
    # Modeli yükle
    model = YOLO("yolo26n.pt")
    
    # Modeli ONNX biçimine aktar
    model.export(format="onnx")

    Desteklenen biçimlerin tam listesi ve yönergeler için Dışa Aktarma sayfasına göz at.

  • Ultralytics YOLO26; nesne tespiti, örnek segmentasyonu, anlamsal segmentasyon ve poz tahmini alanlarında en gelişmiş performansı sunmak üzere tasarlanmıştır. Başlıca avantajları şunlardır:

    1. Önceden Eğitilmiş Modeller: Geliştirme sürecini hızlandırmak için COCO ve ImageNet gibi popüler veri kümelerinde önceden eğitilmiş modellerden yararlan.
    2. Yüksek Doğruluk: Güvenilir nesne tespiti sağlayan etkileyici mAP puanlarına ulaşır.
    3. Hız: Gerçek zamanlı çıkarım için optimize edilmiştir ve hızlı işlem gerektiren uygulamalar için idealdir.
    4. Esneklik: Modelleri ONNX ve TensorRT gibi çeşitli biçimlere aktararak birden fazla platformda dağıt.

    YOLO26'nın kullanımda olduğu örnekleri ve başarı hikâyelerini görmek için Blogumuzu keşfet.

Yorumlar