Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO ile Model Tahmini#

Ultralytics YOLO ecosystem and integrations

Link to this sectionGiriş#

Makine öğrenimi ve bilgisayarlı görü dünyasında, görsel verileri anlamlandırma sürecine genellikle çıkarım veya tahmin denir. Ultralytics YOLO26, çok çeşitli veri kaynaklarında yüksek performanslı, gerçek zamanlı çıkarım için özel olarak hazırlanmış predict (tahmin) modu adlı güçlü bir özellik sunar.



Watch: How to Extract Results from Ultralytics YOLO26 Tasks for Custom Projects 🚀

Link to this sectionGerçek Dünya Uygulamaları#

ÜretimSporGüvenlik
Araç Yedek Parça AlgılamaFutbolcu Algılamaİnsan Düşme Algılama
Araç Yedek Parça AlgılamaFutbolcu Algılamaİnsan Düşme Algılama

Link to this sectionNeden Çıkarım için Ultralytics YOLO Kullanmalı?#

Çeşitli çıkarım ihtiyaçların için neden YOLO26'nın predict modunu düşünmen gerektiğinin nedenleri şunlardır:

  • Çok Yönlülük: Görüntüler, videolar ve hatta canlı yayınlar üzerinde çıkarım yapabilir.
  • Performans: Doğruluktan ödün vermeden gerçek zamanlı, yüksek hızlı işleme için tasarlanmıştır.
  • Kullanım Kolaylığı: Hızlı dağıtım ve test için sezgisel Python ve CLI arayüzleri.
  • Son Derece Özelleştirilebilir: Modelin çıkarım davranışını özel gereksinimlerine göre ayarlamak için çeşitli ayarlar ve parametreler.
  • Üretime Hazır: Modelleri otomatik ölçeklendirme ve izleme ile Ultralytics Platform üzerinde API uç noktaları olarak dağıt veya yerel olarak çalıştır.

Link to this sectionPredict Modunun Temel Özellikleri#

YOLO26'nın predict modu, aşağıdakileri içeren sağlam ve çok yönlü olacak şekilde tasarlanmıştır:

  • Çoklu Veri Kaynağı Uyumluluğu: Verilerin ister bireysel görüntüler, ister bir görüntü koleksiyonu, video dosyaları veya gerçek zamanlı video akışları olsun, predict modu seni kapsar.
  • Akış Modu (Streaming Mode): Results nesnelerinden oluşan bellek açısından verimli bir üretici (generator) oluşturmak için akış özelliğini kullan. Bunu, tahmin edicinin call metodunda stream=True ayarını yaparak etkinleştir.
  • Toplu İşleme (Batch Processing): Birden fazla görüntüyü veya video karesini tek bir toplu iş olarak işle ve toplam çıkarım süresini daha da azalt.
  • Entegrasyon Dostu: Esnek API'si sayesinde mevcut veri hatlarına ve diğer yazılım bileşenlerine kolayca entegre et.

Ultralytics YOLO models return either a Python list of Results objects or a memory-efficient generator of Results objects when stream=True is passed to the model during inference:

Tahmin Et (Predict)
from ultralytics import YOLO

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

# Run batched inference on a list of images
results = model(["image1.jpg", "image2.jpg"])  # return a list of Results objects

# Process results list
for result in results:
    boxes = result.boxes  # Boxes object for bounding box outputs
    masks = result.masks  # Masks object for segmentation masks outputs
    keypoints = result.keypoints  # Keypoints object for pose outputs
    probs = result.probs  # Probs object for classification outputs
    obb = result.obb  # Oriented boxes object for OBB outputs
    result.show()  # display to screen
    result.save(filename="result.jpg")  # save to disk

Link to this sectionÇıkarım Kaynakları#

YOLO26, aşağıdaki tabloda gösterildiği gibi çıkarım için farklı türde girdi kaynaklarını işleyebilir. Kaynaklar statik görüntüleri, video akışlarını ve çeşitli veri formatlarını içerir. Tablo ayrıca her bir kaynağın stream=True ✅ argümanıyla akış modunda kullanılıp kullanılamayacağını da belirtir. Akış modu, tüm kareleri belleğe yüklemek yerine bir sonuç üreticisi oluşturduğu için videoları veya canlı akışları işlemek için faydalıdır.

İpucu

Belleği verimli bir şekilde yönetmek için uzun videoları veya büyük veri kümelerini işlerken stream=True kullan. stream=False durumunda, tüm kareler veya veri noktaları için sonuçlar bellekte saklanır; bu da hızla birikebilir ve büyük girdiler için bellek yetersizliği hatalarına neden olabilir. Buna karşılık stream=True, yalnızca mevcut kare veya veri noktasının sonuçlarını bellekte tutan bir üretici kullanarak bellek tüketimini önemli ölçüde azaltır ve bellek yetersizliği sorunlarını önler.

KaynakÖrnekTipNotlar
image'image.jpg'str veya PathTek bir görüntü dosyası.
URL'https://ultralytics.com/images/bus.jpg'strBir görüntüye ait URL.
screenshot'screen'strEkran görüntüsü yakala.
PILImage.open('image.jpg')PIL.ImageRGB kanallı HWC formatı.
OpenCVcv2.imread('image.jpg')np.ndarrayBGR kanallı HWC formatı uint8 (0-255).
NumPynp.zeros((640,1280,3))np.ndarrayBGR kanallı HWC formatı uint8 (0-255).
torchtorch.zeros(16,3,320,640)torch.TensorRGB kanallı BCHW formatı float32 (0.0-1.0).
CSV'sources.csv'str veya PathGörüntülerin, videoların veya dizinlerin yollarını içeren CSV dosyası.
video ✅'video.mp4'str veya PathMP4, AVI vb. formatlarda video dosyası.
directory ✅'path/'str veya PathGörüntüleri veya videoları içeren bir dizine giden yol.
glob ✅'path/*.jpg'strBirden fazla dosyayı eşleştirmek için glob deseni. Joker karakter olarak * karakterini kullan.
YouTube ✅'https://youtu.be/LNwODJXcvt4'strBir YouTube videosuna giden URL.
stream ✅'rtsp://example.com/media.mp4'strRTSP, RTMP, TCP veya IP adresi gibi akış protokolleri için URL.
multi-stream ✅'list.streams'str veya PathHer satırda bir akış URL'si bulunan *.streams metin dosyası, yani 8 akış, 8'lik toplu iş boyutuyla (batch-size 8) çalışacaktır.
webcam ✅0intÜzerinde çıkarım yapmak için bağlı kamera cihazının indeksi.

Aşağıda her kaynak türünü kullanmak için kod örnekleri verilmiştir:

Tahmin kaynakları

Bir görüntü dosyası üzerinde çıkarım çalıştır.

from ultralytics import YOLO

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

# Define path to the image file
source = "path/to/image.jpg"

# Run inference on the source
results = model(source)  # list of Results objects

Link to this sectionÇıkarım Argümanları#

model.predict() yöntemi, varsayılan değerleri geçersiz kılmak için çıkarım sırasında geçirilebilecek birden fazla argümanı kabul eder:

Link to this sectionSabit boyut ve minimum dikdörtgen (rect)#

Varsayılan olarak predict, mümkün olduğunda minimum-dikdörtgen dolgusunu etkinleştiren rect=True kullanır. Görüntü, imgsz içine sığacak şekilde ölçeklendirilir ve yalnızca en yakın adım (stride) katına kadar doldurulur, bu nedenle nihai tensör imgsz değerinden daha küçük olabilir. Minimum-dikdörtgen dolgusu yalnızca yığın içindeki tüm görüntüler aynı boyuta sahip olduğunda ve arka uç (PyTorch .pt veya dinamik ONNX / Triton) bunu desteklediğinde kullanılır. Aksi takdirde, görüntüler tam imgsz hedefine göre doldurulur.

Use rect=False to always pad to the full imgsz target. This is recommended when you need a fixed input size to match exported models (ONNX, TensorRT, etc.).

Tam sayı ve tuple imgsz

  • Bir tam sayı olan imgsz=640, adım yuvarlamasından sonra kare bir hedef olan (640, 640) değerine dönüşür.
  • Bir tuple olan imgsz=(384, 672), dikdörtgen bir hedef belirler. rect=True ve auto=True ayarlarıyla, gerçek tensör bu hedeften daha küçük olabilir.

Eğitim ve tahmin/dışa aktarma

Eğitim yalnızca tek bir tam sayı imgsz kabul eder (bir [h, w] listesi en büyük değere zorlanır). Tahmin ve dışa aktarma ise hem tam sayı hem de bir (height, width) tuple kabul eder.

Örnek
from ultralytics import YOLO

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

# Run inference on 'bus.jpg' with arguments
model.predict("https://ultralytics.com/images/bus.jpg", save=True, imgsz=320, conf=0.25)

Çıkarım argümanları:

ArgümanTipVarsayılanAçıklama
sourcestr veya int veya NoneNoneÇıkarım için veri kaynağını belirtir. Bir görüntü yolu, video dosyası, dizin, URL veya canlı yayınlar için cihaz kimliği olabilir. Belirtilmezse, bir uyarı günlüğe kaydedilir ve model yerleşik demo varlıklarına (ultralytics/assets veya OBB için bir demo URL'sine) geri döner. Çok çeşitli formatları ve kaynakları destekleyerek farklı girdi türleri arasında esnek uygulama sağlar.
conffloat0.25Tespitler için minimum güven eşiğini ayarlar. Bu eşiğin altındaki güvenle tespit edilen nesneler dikkate alınmaz. Bu değeri ayarlamak, yanlış pozitifleri azaltmana yardımcı olabilir.
ioufloat0.7Maksimum Olmayan Bastırma (NMS) için Örtüşme Üzerinden Kesişim (IoU) eşiği. Daha düşük değerler, örtüşen kutuları eleyerek daha az tespit sonucu üretir; bu, kopyaları azaltmak için kullanışlıdır.
imgszint veya tuple640Letterbox hedefi. Bir tam sayı kare N×N sonuç verir; bir tuple ise (height, width) verir. rect=True ile, gerçek tensör minimum-dikdörtgen dolgusu nedeniyle bu hedeften daha küçük olabilir. Sabit bir boyut için rect=False kullan. Bkz. Sabit boyut vs minimum dikdörtgen.
rectboolTrueTrue ise, mümkün olduğunda (aynı boyutta yığın ve desteklenen arka uç) minimum-dikdörtgen dolgusu kullan. False ise, her zaman tam imgsz değerine göre doldur. Bkz. Sabit boyut vs minimum dikdörtgen.
halfboolFalseDoğruluk üzerinde minimum etkiyle desteklenen GPU'larda model çıkarımını hızlandırabilen yarım hassasiyet (FP16) çıkarımını etkinleştirir.
devicestrNoneÇıkarım için cihazı belirtir (örneğin, cpu, cuda:0, 0, npu veya npu:0). Kullanıcıların model yürütme için CPU, belirli bir GPU, Huawei Ascend NPU veya diğer işlem cihazları arasında seçim yapmasına olanak tanır.
batchint1Çıkarım için toplu boyutunu (batch size) belirtir (yalnızca kaynak bir dizin, video dosyası veya .txt dosyası olduğunda çalışır). Daha büyük bir toplu boyutu, daha yüksek iş hacmi sağlayarak çıkarım için gereken toplam süreyi kısaltabilir.
max_detint300Görüntü başına izin verilen maksimum tespit sayısı. Modelin tek bir çıkarımda tespit edebileceği toplam nesne sayısını sınırlandırarak yoğun sahnelerde aşırı çıktı oluşmasını önler.
vid_strideint1Video girdileri için kare adımı. İşlemeyi hızlandırmak adına videolardaki karelerin atlanmasına olanak tanır ancak zamansal çözünürlükten ödün verilir. 1 değeri her kareyi işler, daha yüksek değerler ise kare atlar.
stream_bufferboolFalseVideo akışları için gelen karelerin sıraya alınıp alınmayacağını belirler. False ise, yeni kareleri kabul etmek için eski kareler atılır (gerçek zamanlı uygulamalar için optimize edilmiştir). True ise, yeni kareleri bir arabelleğe alır, böylece hiçbir karenin atlanmamasını sağlar ancak çıkarım FPS'si akış FPS'sinden düşükse gecikmeye neden olur.
visualizeboolFalseÇıkarım sırasında model özelliklerinin görselleştirilmesini etkinleştirir ve modelin ne "gördüğüne" dair içgörü sağlar. Hata ayıklama ve model yorumlama için kullanışlıdır.
augmentboolFalseTahminler için test zamanı artırmayı (TTA) etkinleştirir; çıkarım hızından ödün vererek tespit sağlamlığını potansiyel olarak artırabilir.
agnostic_nmsboolFalseFarklı sınıflara ait örtüşen kutuları birleştiren, sınıftan bağımsız bir Maksimum Olmayan Bastırma (NMS) yöntemini etkinleştirir. Sınıf örtüşmesinin yaygın olduğu çok sınıflı tespit senaryolarında kullanışlıdır. Uçtan uca modeller için (YOLO26, YOLOv10), bu özellik yalnızca aynı tespitin birden fazla sınıf etiketiyle görünmesini engeller (IoU=1.0 kopyalar) ve farklı kutular arasında IoU eşik tabanlı bastırma yapmaz.
classeslist[int]NoneTahminleri belirli bir sınıf kimliği setine göre filtreler. Yalnızca belirtilen sınıflara ait tespitler döndürülür. Çok sınıflı tespit görevlerinde ilgili nesnelere odaklanmak için kullanışlıdır.
retina_masksboolFalseYüksek çözünürlüklü segmentasyon maskeleri döndürür. Etkinleştirilirse, döndürülen maskeler (masks.data) orijinal görüntü boyutuyla eşleşecektir. Devre dışı bırakılırsa, çıkarım sırasında kullanılan görüntü boyutuna sahip olurlar.
embedlist[int]NoneÖzellik vektörlerini veya gömüleri çıkarmak için kullanılacak katmanları belirtir. Kümeleme veya benzerlik arama gibi sonraki görevler için kullanışlıdır.
projectstrNonesave etkinleştirildiğinde tahmin çıktılarının kaydedildiği proje dizininin adı.
namestrNoneTahmin çalışmasının adı. save etkinleştirildiğinde tahmin çıktılarının depolandığı proje klasörü içinde bir alt dizin oluşturmak için kullanılır.
streamboolFalseTüm kareleri aynı anda belleğe yüklemek yerine Results nesneleri üreten bir jeneratör döndürerek uzun videolar veya çok sayıda görüntü için bellek açısından verimli işlemeyi etkinleştirir.
verboseboolTrueTahmin süreci hakkında gerçek zamanlı geri bildirim sağlayan detaylı çıkarım günlüklerinin terminalde gösterilip gösterilmeyeceğini kontrol eder.
compilebool veya strFalseEnables PyTorch 2.x torch.compile graph compilation with backend='inductor'. Accepts True"default", False → disables, or a string mode such as "default", "reduce-overhead", "max-autotune-no-cudagraphs". Falls back to eager with a warning if unsupported.
end2endboolNoneNMS içermeyen çıkarımı destekleyen YOLO modellerinde (YOLO26, YOLOv10) uçtan uca modu geçersiz kılar. False olarak ayarlamak, geleneksel NMS hattını kullanarak tahmin çalıştırmanı ve ayrıca iou argümanından yararlanmanı sağlar. Ayrıntılar için Uçtan Uca Tespit rehberine bak.

Görselleştirme argümanları:

ArgümanTipVarsayılanAçıklama
showboolFalseTrue ise, açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim için kullanışlıdır.
saveboolFalse or TrueEk açıklama eklenmiş görüntülerin veya videoların dosyalara kaydedilmesini etkinleştirir. Dokümantasyon, daha fazla analiz veya sonuç paylaşımı için kullanışlıdır. CLI kullanıldığında varsayılan olarak True, Python içinde kullanıldığında False değerini alır.
save_framesboolFalseVideolar işlenirken, tek tek kareleri görüntü olarak kaydeder. Belirli kareleri çıkarmak veya detaylı kare kare analiz yapmak için kullanışlıdır.
save_txtboolFalseTespit sonuçlarını [class] [x_center] [y_center] [width] [height] [confidence] formatını takip eden bir metin dosyasında kaydeder. Diğer analiz araçlarıyla entegrasyon için kullanışlıdır.
save_confboolFalseKaydedilen metin dosyalarına güven puanlarını dahil eder. Sonradan işleme ve analiz için mevcut olan detay düzeyini artırır.
save_cropboolFalseTespit edilen nesnelerin kırpılmış görüntülerini kaydeder. Veri seti artırma, analiz veya belirli nesneler için odaklanmış veri setleri oluşturmak için kullanışlıdır.
show_labelsboolTrueGörsel çıktıda her bir tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar.
show_confboolTrueHer tespit için güven skorunu etiketin yanında görüntüler. Her bir tespit için modelin kesinliği hakkında içgörü sağlar.
show_boxesboolTrueTespit edilen nesnelerin etrafına sınırlayıcı kutular çizer. Görüntülerde veya video karelerinde nesnelerin görsel tanımlanması ve konumlandırılması için gereklidir.
line_widthint or NoneNoneSınırlayıcı kutuların çizgi genişliğini belirtir. None ise, çizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.

Link to this sectionGörüntü ve Video Formatları#

YOLO26, ultralytics/data/utils.py dosyasında belirtildiği gibi çeşitli görüntü ve video formatlarını destekler. Geçerli son ekler ve örnek tahmin komutları için aşağıdaki tablolara bak.

Link to this sectionGörüntüler#

Aşağıdaki tablo geçerli Ultralytics görüntü formatlarını içerir.

Not

HEIC/HEIF formatları, ilk kullanımda otomatik olarak yüklenen pi-heif kütüphanesini gerektirir. AVIF, Pillow tarafından yerel olarak desteklenir.

Görüntü Son EkleriÖrnek Tahmin KomutuReferans
.avifyolo predict source=image.avifAV1 Görüntü Dosyası Formatı
.bmpyolo predict source=image.bmpMicrosoft BMP Dosya Formatı
.dngyolo predict source=image.dngAdobe DNG
.heicyolo predict source=image.heicYüksek Verimli Görüntü Formatı
.heifyolo predict source=image.heifYüksek Verimli Görüntü Formatı
.jp2yolo predict source=image.jp2JPEG 2000
.jpegyolo predict source=image.jpegJPEG
.jpeg2000yolo predict source=image.jpeg2000JPEG 2000
.jpgyolo predict source=image.jpgJPEG
.mpoyolo predict source=image.mpoÇoklu Resim Nesnesi
.pngyolo predict source=image.pngTaşınabilir Ağ Grafikleri
.tifyolo predict source=image.tifTag Image File Format
.tiffyolo predict source=image.tiffTag Image File Format
.webpyolo predict source=image.webpWebP

Link to this sectionVideolar#

Aşağıdaki tablo geçerli Ultralytics video formatlarını içerir.

Video UzantılarıÖrnek Tahmin KomutuReferans
.asfyolo predict source=video.asfAdvanced Systems Format
.aviyolo predict source=video.aviAudio Video Interleave
.gifyolo predict source=video.gifGraphics Interchange Format
.m4vyolo predict source=video.m4vMPEG-4 Part 14
.mkvyolo predict source=video.mkvMatroska
.movyolo predict source=video.movQuickTime File Format
.mp4yolo predict source=video.mp4MPEG-4 Part 14 - Wikipedia
.mpegyolo predict source=video.mpegMPEG-1 Part 2
.mpgyolo predict source=video.mpgMPEG-1 Part 2
.tsyolo predict source=video.tsMPEG Transport Stream
.wmvyolo predict source=video.wmvWindows Media Video
.webmyolo predict source=video.webmWebM Project

Link to this sectionSonuçlarla Çalışmak#

Tüm Ultralytics predict() çağrıları bir Results nesneleri listesi döndürür:

Sonuçlar
from ultralytics import YOLO

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

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
results = model(
    [
        "https://ultralytics.com/images/bus.jpg",
        "https://ultralytics.com/images/zidane.jpg",
    ]
)  # batch inference

Results nesneleri şu özniteliklere sahiptir:

ÖznitelikTipAçıklama
orig_imgnp.ndarrayNumPy dizisi olarak orijinal görüntü.
orig_shapetuple(yükseklik, genişlik) formatında orijinal görüntü şekli.
boxesBoxes, optionalTespit sınırlayıcı kutularını (bounding boxes) içeren bir Boxes nesnesi.
masksMasks, optionalTespit maskelerini içeren bir Masks nesnesi.
probsProbs, optionalSınıflandırma görevi için her sınıfın olasılıklarını içeren bir Probs nesnesi.
keypointsKeypoints, optionalHer nesne için tespit edilen kilit noktaları (keypoints) içeren bir Keypoints nesnesi.
obbOBB, optionalYönlendirilmiş sınırlayıcı kutuları (oriented bounding boxes) içeren bir OBB nesnesi.
semantic_maskSemanticMask, optionalYoğun bir piksel başına sınıf haritası içeren bir SemanticMask nesnesi.
speeddictGörüntü başına milisaniye cinsinden ön işleme, çıkarım ve son işleme hızlarını içeren bir sözlük.
namesdictSınıf dizinlerini sınıf adlarıyla eşleştiren bir sözlük.
pathstrGörüntü dosyasının yolu.
save_dirstr, optionalSonuçları kaydetmek için dizin.

Link to this sectionGöreve Göre Sonuçlar#

Her tahmin, görüntü veya kare başına bir Results nesnesi döndürür. Yukarıdaki ortak alanlar her zaman mevcuttur; göreve özel tahmin verileri ise aşağıdaki alanlarda saklanır. Koordinat, güven ve olasılık tensörleri, yarı hassasiyet (half precision) kullanılmadığı sürece torch.float32, kullanıldığında ise torch.float16 şeklindedir. result.numpy() işleminden sonra tensörler, eşleşen NumPy veri türlerine sahip NumPy dizilerine dönüşür. Örnek maskeler torch.uint8 ikili tensörleridir; anlamsal maskeler ise sınıf kimlikleri için sınıf sayısına bağlı olarak en küçük pratik tamsayı veri türünü (torch.uint8, torch.int16 veya torch.int32) kullanır.

ÖznitelikTipŞekilAçıklama
result.boxesBoxes(N)Tespit kutuları.
result.boxes.datatorch.float32(N,6/7)İsteğe bağlı takip kimliği ile birlikte ham [x1,y1,x2,y2,conf,cls].
result.boxes.xyxytorch.float32(N,4)xyxy piksel kutuları.
result.boxes.conftorch.float32(N,)Güven skorları.
result.boxes.clstorch.float32(N,)Sınıf kimlikleri; isimler için int türüne dönüştürülür.

Results nesneleri aşağıdaki yöntemlere sahiptir:

YöntemDönüş TürüAçıklama
update()NoneResults nesnesini kutular, maskeler, olasılıklar, obb, anahtar noktalar veya anlamsal maskeler gibi yeni verilerle günceller.
cpu()ResultsTüm tensörler CPU belleğine taşınmış şekilde Results nesnesinin bir kopyasını döndürür.
numpy()ResultsTüm tensörler NumPy dizilerine dönüştürülmüş şekilde Results nesnesinin bir kopyasını döndürür.
cuda()ResultsTüm tensörler GPU belleğine taşınmış şekilde Results nesnesinin bir kopyasını döndürür.
to()ResultsTensörler belirtilen aygıta ve dtype'a taşınmış şekilde Results nesnesinin bir kopyasını döndürür.
new()ResultsAynı resim, yol, isimler ve hız özniteliklerine sahip yeni bir Results nesnesi oluşturur.
plot()np.ndarrayAlgılama sonuçlarını bir giriş BGR resim üzerine çizer ve açıklamalı resmi döndürür.
show()NoneResmi açıklamalı çıkarım sonuçlarıyla görüntüler.
save()strAçıklamalı çıkarım sonuçları resmini dosyaya kaydeder ve dosya adını döndürür.
verbose()strHer görev için algılama ve sınıflandırma sonuçlarını detaylandıran bir günlük dizesi döndürür.
save_txt()strAlgılama sonuçlarını bir metin dosyasına kaydeder ve kaydedilen dosyaya giden yolu döndürür.
save_crop()NoneKırpılmış algılama resimlerini belirtilen dizine kaydeder.
summary()List[Dict[str, Any]]Çıkarım sonuçlarını isteğe bağlı normalleştirme ile özetlenmiş bir sözlüğe dönüştürür.
to_df()DataFrameAlgılama sonuçlarını bir Polars DataFrame'ine dönüştürür.
to_csv()strAlgılama sonuçlarını CSV formatına dönüştürür.
to_json()strAlgılama sonuçlarını JSON formatına dönüştürür.

Daha fazla detay için Results sınıfı dokümantasyonuna bakabilirsin.

Link to this sectionKutular#

Boxes nesnesi, sınırlayıcı kutuları indekslemek, işlemek ve farklı formatlara dönüştürmek için kullanılabilir.

Kutular
from ultralytics import YOLO

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

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")  # results list

# View results
for r in results:
    print(r.boxes)  # print the Boxes object containing the detection bounding boxes

İşte Boxes sınıfı yöntemleri ve özellikleri için isimleri, türleri ve açıklamaları dahil olmak üzere bir tablo:

AdTipAçıklama
cpu()YöntemNesneyi CPU belleğine taşı.
numpy()YöntemNesneyi bir NumPy dizisine dönüştür.
cuda()YöntemNesneyi CUDA belleğine taşı.
to()YöntemNesneyi belirtilen cihaza taşı.
xyxyÖzellik (torch.Tensor)Kutuları xyxy formatında döndür.
confÖzellik (torch.Tensor)Kutuların güven değerlerini döndür.
clsÖzellik (torch.Tensor)Kutuların sınıf değerlerini döndür.
idÖzellik (torch.Tensor)Kutuların izleme kimliklerini (track ID) döndür (eğer mevcutsa).
xywhÖzellik (torch.Tensor)Kutuları xywh formatında döndür.
xyxynÖzellik (torch.Tensor)Kutuları orijinal görüntü boyutuna göre normalleştirilmiş xyxy formatında döndür.
xywhnÖzellik (torch.Tensor)Kutuları orijinal görüntü boyutuna göre normalleştirilmiş xywh formatında döndür.

Daha fazla detay için Boxes sınıfı dokümantasyonuna bak.

Link to this sectionMaskeler#

Masks nesnesi maskeleri dizinlemek, işlemek ve segmentlere dönüştürmek için kullanılabilir.

Maskeler
from ultralytics import YOLO

# Load a pretrained YOLO26n-seg Segment model
model = YOLO("yolo26n-seg.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")  # results list

# View results
for r in results:
    print(r.masks)  # print the Masks object containing the detected instance masks

Masks sınıfı yöntemleri ve özellikleri için ad, tür ve açıklama dahil olmak üzere bir tablo aşağıdadır:

AdTipAçıklama
dataÖzellik (torch.Tensor)torch.uint8 ikili maske tensörü, (N,H,W) boyutunda ve 0 veya 1 değerleriyle.
cpu()YöntemMaske tensörünü CPU belleğinde döndürür.
numpy()YöntemMaske tensörünü bir NumPy dizisi olarak döndürür.
cuda()YöntemMaske tensörünü GPU belleğinde döndürür.
to()YöntemMaske tensörünü belirtilen cihaz ve veri türüyle döndürür.
xynÖzellik (list[np.ndarray])Normalleştirilmiş maske poligonlarının bir listesi.
xyÖzellik (list[np.ndarray])Piksel koordinatlarındaki maske poligonlarının bir listesi.

Daha fazla detay için Masks sınıfı dokümantasyonuna bak.

Link to this sectionSemanticMask#

SemanticMask, anlamsal bölümleme sonuçları için tek bir yoğun sınıf haritası saklar. Masksten farklı olarak, nesne başına bir ikili maske içermez ve poligon yardımcıları sağlamaz.

SemanticMask
from ultralytics import YOLO

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

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")  # results list

# View results
for r in results:
    print(r.semantic_mask.data)  # print the H x W class-ID map
AdTipAçıklama
dataÖzellik (torch.Tensor)(H,W) boyutunda sınıf kimliği haritası. Veri türü torch.uint8, torch.int16 veya sınıf sayısına göre seçilen torch.int32dir.
shapeÖzellik (tuple)Genellikle result.orig_shape ile eşleşen sınıf haritasının boyutu.
cpu()YöntemAnlamsal maske tensörünü CPU belleğinde döndürür.
numpy()YöntemAnlamsal maske tensörünü bir NumPy dizisi olarak döndürür.
cuda()YöntemAnlamsal maske tensörünü GPU belleğinde döndürür.
to()YöntemAnlamsal maske tensörünü belirtilen cihaz ve veri türüyle döndürür.

Link to this sectionAnahtar Noktalar (Keypoints)#

Keypoints nesnesi koordinatları dizinlemek, işlemek ve normalleştirmek için kullanılabilir.

Anahtar Noktalar (Keypoints)
from ultralytics import YOLO

# Load a pretrained YOLO26n-pose Pose model
model = YOLO("yolo26n-pose.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")  # results list

# View results
for r in results:
    print(r.keypoints)  # print the Keypoints object containing the detected keypoints

Keypoints sınıfı yöntemleri ve özellikleri için ad, tür ve açıklama dahil olmak üzere bir tablo aşağıdadır:

AdTipAçıklama
cpu()YöntemAnahtar noktalar tensörünü CPU belleğinde döndürür.
numpy()YöntemAnahtar noktalar tensörünü bir NumPy dizisi olarak döndürür.
cuda()YöntemAnahtar noktalar tensörünü GPU belleğinde döndürür.
to()YöntemAnahtar noktalar tensörünü belirtilen cihaz ve veri türüyle döndürür.
xynÖzellik (torch.Tensor)Tensörler olarak temsil edilen normalleştirilmiş anahtar noktaların bir listesi.
xyÖzellik (torch.Tensor)Tensörler olarak temsil edilen piksel koordinatlarındaki anahtar noktaların bir listesi.
confÖzellik (torch.Tensor)Varsa anahtar noktaların güven değerlerini döndürür, yoksa None döndürür.

Daha fazla detay için Keypoints sınıfı dokümantasyonuna bak.

Link to this sectionProbs#

Probs nesnesi dizinleme yapmak, sınıflandırmanın top1 ve top5 indekslerini ve puanlarını almak için kullanılabilir.

Probs
from ultralytics import YOLO

# Load a pretrained YOLO26n-cls Classify model
model = YOLO("yolo26n-cls.pt")

# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")  # results list

# View results
for r in results:
    print(r.probs)  # print the Probs object containing the detected class probabilities

Probs sınıfı için yöntemleri ve özellikleri özetleyen tablo aşağıdadır:

AdTipAçıklama
cpu()YöntemProbs tensörünün bir kopyasını CPU belleğinde döndürür.
numpy()YöntemProbs tensörünün bir kopyasını bir NumPy dizisi olarak döndürür.
cuda()YöntemProbs tensörünün bir kopyasını GPU belleğinde döndürür.
to()YöntemProbs tensörünün bir kopyasını belirtilen cihaz ve veri türüyle döndürür.
top1Özellik (int)En iyi 1. sınıfın indeksi.
top5Özellik (list[int])En iyi 5 sınıfın indeksleri.
top1confÖzellik (torch.Tensor)En iyi 1. sınıfın güveni.
top5confÖzellik (torch.Tensor)En iyi 5 sınıfın güvenleri.

Daha fazla detay için Probs sınıfı dokümantasyonuna bak.

Link to this sectionOBB#

OBB nesnesi, yönlendirilmiş sınırlayıcı kutuları dizinlemek, işlemek ve farklı formatlara dönüştürmek için kullanılabilir.

OBB
from ultralytics import YOLO

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

# Run inference on an image
results = model("https://ultralytics.com/images/boats.jpg")  # results list

# View results
for r in results:
    print(r.obb)  # print the OBB object containing the oriented detection bounding boxes

OBB sınıfı yöntemleri ve özellikleri için ad, tür ve açıklama dahil olmak üzere bir tablo aşağıdadır:

AdTipAçıklama
cpu()YöntemNesneyi CPU belleğine taşı.
numpy()YöntemNesneyi bir NumPy dizisine dönüştür.
cuda()YöntemNesneyi CUDA belleğine taşı.
to()YöntemNesneyi belirtilen cihaza taşı.
confÖzellik (torch.Tensor)Kutuların güven değerlerini döndür.
clsÖzellik (torch.Tensor)Kutuların sınıf değerlerini döndür.
idÖzellik (torch.Tensor)Kutuların izleme kimliklerini (track ID) döndür (eğer mevcutsa).
xyxyÖzellik (torch.Tensor)Yatay kutuları xyxy formatında döndür.
xywhrÖzellik (torch.Tensor)Döndürülmüş kutuları xywhr formatında döndür.
xyxyxyxyÖzellik (torch.Tensor)Döndürülmüş kutuları xyxyxyxy formatında döndür.
xyxyxyxynÖzellik (torch.Tensor)Döndürülmüş kutuları görüntü boyutuna göre normalleştirilmiş xyxyxyxy formatında döndür.

Daha fazla detay için OBB sınıfı dokümantasyonuna bak.

Link to this sectionSonuçları Çizdirme#

The plot() method in Results objects facilitates visualization of predictions by overlaying detected objects (such as bounding boxes, masks, keypoints, and probabilities) onto the original image. This method returns the annotated image as a NumPy array, allowing for easy display or saving.

Çizim
from PIL import Image

from ultralytics import YOLO

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

# Run inference on 'bus.jpg'
results = model(["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"])  # results list

# Visualize the results
for i, r in enumerate(results):
    # Plot results image
    im_bgr = r.plot()  # BGR-order numpy array
    im_rgb = Image.fromarray(im_bgr[..., ::-1])  # RGB-order PIL image

    # Show results to screen (in supported environments)
    r.show()

    # Save results to disk
    r.save(filename=f"results{i}.jpg")

Link to this sectionplot() Yöntemi Parametreleri#

plot() yöntemi, çıktıyı özelleştirmek için çeşitli argümanları destekler:

ArgümanTipAçıklamaVarsayılan
confboolTespit güven skorlarını dahil et.True
line_widthfloatSınırlayıcı kutuların çizgi kalınlığı. None ise görüntü boyutuyla ölçeklenir.None
font_sizefloatMetin yazı tipi boyutu. None ise görüntü boyutuyla ölçeklenir.None
fontstrMetin açıklamaları için yazı tipi adı.'Arial.ttf'
pilboolGörüntüyü bir PIL Image nesnesi olarak döndür.False
imgnp.ndarrayÇizim için alternatif görüntü. None ise orijinal görüntüyü kullanır.None
im_gputorch.TensorDaha hızlı maske çizimi için GPU hızlandırmalı görüntü. Boyut: (1, 3, 640, 640).None
kpt_radiusintÇizilen anahtar noktalar için yarıçap.5
kpt_lineboolAnahtar noktaları çizgilerle birleştir.True
labelsboolAçıklamalara sınıf etiketlerini dahil et.True
boxesboolSınırlayıcı kutuları görselin üzerine bindir.True
masksboolMaskeleri görselin üzerine bindir.True
probsboolSınıflandırma olasılıklarını dahil et.True
showboolAçıklamalı görseli varsayılan görsel görüntüleyiciyi kullanarak doğrudan görüntüle.False
saveboolAçıklamalı görseli filename ile belirtilen dosyaya kaydet.False
filenamestrsave değeri True olduğunda açıklamalı görselin kaydedileceği dosyanın yolu ve adı.None
color_modestrRenk modunu belirt, örneğin 'instance' veya 'class'.'class'
txt_colortuple[int, int, int]Sınırlayıcı kutu ve görsel sınıflandırma etiketi için BGR metin rengi.(255, 255, 255)

Link to this sectionİş Parçacığı Güvenli Çıkarım#

Farklı iş parçacıklarında birden fazla YOLO modelini paralel olarak çalıştırırken çıkarım sırasında iş parçacığı güvenliğini sağlamak çok önemlidir. İş parçacığı güvenli çıkarım, her iş parçacığının tahminlerinin izole edilmesini ve birbirine karışmamasını sağlayarak, yarış durumlarını önler ve tutarlı, güvenilir çıktılar elde etmeni garanti eder.

YOLO modellerini çok iş parçacıklı bir uygulamada kullanırken, çakışmaları önlemek için her iş parçacığı için ayrı model nesneleri oluşturmak veya iş parçacığına özgü depolama kullanmak önemlidir:

İş Parçacığı Güvenli Çıkarım

İş parçacığı güvenli çıkarım için her iş parçacığının içinde tek bir model oluştur:

from threading import Thread

from ultralytics import YOLO

def thread_safe_predict(model, image_path):
    """Performs thread-safe prediction on an image using a locally instantiated YOLO model."""
    model = YOLO(model)
    results = model.predict(image_path)
    # Process results

# Starting threads that each have their own model instance
Thread(target=thread_safe_predict, args=("yolo26n.pt", "image1.jpg")).start()
Thread(target=thread_safe_predict, args=("yolo26n.pt", "image2.jpg")).start()

YOLO modelleri ile iş parçacığı güvenli çıkarım hakkında derinlemesine bir bakış ve adım adım talimatlar için lütfen YOLO Thread-Safe Inference Guide kılavuzumuza başvur. Bu kılavuz, yaygın tuzaklardan kaçınman ve çok iş parçacıklı çıkarımının sorunsuz çalışmasını sağlaman için gereken tüm bilgileri sana sunacaktır.

Link to this sectionAkış Kaynağı for döngüsü#

İşte video kareleri üzerinde çıkarım yapmak için OpenCV (cv2) ve YOLO kullanan bir Python betiği. Bu betik, gerekli paketleri (opencv-python ve ultralytics) zaten kurduğunu varsayar.

Akış for-döngüsü
import cv2

from ultralytics import YOLO

# Load the YOLO model
model = YOLO("yolo26n.pt")

# Open the video file
video_path = "path/to/your/video/file.mp4"
cap = cv2.VideoCapture(video_path)

# Loop through the video frames
while cap.isOpened():
    # Read a frame from the video
    success, frame = cap.read()

    if success:
        # Run YOLO inference on the frame
        results = model(frame)

        # Visualize the results on the frame
        annotated_frame = results[0].plot()

        # Display the annotated frame
        cv2.imshow("YOLO Inference", annotated_frame)

        # Break the loop if 'q' is pressed
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
    else:
        # Break the loop if the end of the video is reached
        break

# Release the video capture object and close the display window
cap.release()
cv2.destroyAllWindows()

Bu betik, videonun her karesinde tahminler yürütecek, sonuçları görselleştirecek ve bir pencerede görüntüleyecektir. Döngüden 'q' tuşuna basarak çıkılabilir.

Link to this sectionSSS#

Link to this sectionUltralytics YOLO nedir ve gerçek zamanlı çıkarım için predict modu ne işe yarar?#

Ultralytics YOLO, gerçek zamanlı nesne tespiti, örnek segmentasyonu, anlamsal segmentasyon ve sınıflandırma için kullanılan son teknoloji ürünü bir modeldir. predict modu, kullanıcıların görüntüler, videolar ve canlı yayınlar gibi çeşitli veri kaynakları üzerinde yüksek hızlı çıkarım yapmasına olanak tanır. Performans ve çok yönlülük için tasarlanmış olup, toplu işleme ve akış modları da sunar. Özellikleri hakkında daha fazla ayrıntı için Ultralytics YOLO predict modu bölümüne göz at.

Link to this sectionUltralytics YOLO kullanarak farklı veri kaynaklarında nasıl çıkarım çalıştırabilirim?#

Ultralytics YOLO, bireysel görüntüler, videolar, dizinler, URL'ler ve akışlar dahil olmak üzere çok çeşitli veri kaynaklarını işleyebilir. Veri kaynağını model.predict() çağrısında belirtebilirsin. Örneğin, yerel bir görüntü için 'image.jpg' veya bir URL için 'https://ultralytics.com/images/bus.jpg' kullan. Dokümantasyondaki çeşitli çıkarım kaynakları için detaylı örneklere göz at.

Link to this sectionYOLO çıkarım hızını ve bellek kullanımını nasıl optimize ederim?#

Çıkarım hızını optimize etmek ve belleği verimli yönetmek için, tahmincinin çağrı yönteminde stream=True değerini ayarlayarak akış modunu kullanabilirsin. Akış modu, tüm kareleri belleğe yüklemek yerine Results nesnelerinden oluşan bellek açısından verimli bir üreteç oluşturur. Uzun videoları veya büyük veri setlerini işlemek için akış modu özellikle kullanışlıdır. Akış modu hakkında daha fazla bilgi edin.

Link to this sectionUltralytics YOLO hangi çıkarım argümanlarını destekler?#

YOLO'daki model.predict() yöntemi conf, iou, imgsz, device ve daha fazlası gibi çeşitli argümanları destekler. Bu argümanlar, güven eşikleri, görsel boyutu ve hesaplama için kullanılan cihaz gibi parametreleri ayarlayarak çıkarım sürecini özelleştirmeni sağlar. Bu argümanların detaylı açıklamaları çıkarım argümanları bölümünde bulunabilir.

Link to this sectionYOLO tahminlerinin sonuçlarını nasıl görselleştirebilir ve kaydedebilirim?#

YOLO ile çıkarım çalıştırdıktan sonra, Results nesneleri açıklamalı görüntüleri görüntülemek ve kaydetmek için yöntemler içerir. Sonuçları görselleştirmek ve kaydetmek için result.show() ve result.save(filename="result.jpg") gibi yöntemleri kullanabilirsin. Dosya adı yolundaki eksik üst dizinler otomatik olarak oluşturulur (örneğin, result.save("path/to/result.jpg")). Bu yöntemlerin kapsamlı bir listesi için sonuçlarla çalışma bölümüne başvur.

Yorumlar