Meet YOLO26: next-gen vision AI.

Link to this sectionPython Kullanımı#

Ultralytics YOLO Python Kullanımı dokümantasyonuna hoş geldin! Bu kılavuz, Ultralytics YOLO'yu Python projelerine nesne algılama, örnek segmentasyonu, anlamsal segmentasyon ve sınıflandırma için sorunsuz bir şekilde entegre etmene yardımcı olmak üzere tasarlanmıştır. Burada, önceden eğitilmiş modelleri nasıl yükleyeceğini ve kullanacağını, yeni modelleri nasıl eğiteceğini ve görüntüler üzerinde tahminleri nasıl gerçekleştireceğini öğreneceksin. Kullanımı kolay Python arayüzü, YOLO'yu Python projelerine dahil etmek isteyen herkes için değerli bir kaynaktır ve gelişmiş nesne algılama yeteneklerini hızla uygulamanı sağlar. Hadi başlayalım!



Watch: Mastering Ultralytics YOLO: Python

Örneğin kullanıcılar, sadece birkaç satır kodla bir model yükleyebilir, eğitebilir, doğrulama kümesindeki performansını değerlendirebilir ve hatta ONNX formatına aktarabilir.

Python
from ultralytics import YOLO

# Create a new YOLO model from scratch
model = YOLO("yolo26n.yaml")

# Load a pretrained YOLO model (recommended for training)
model = YOLO("yolo26n.pt")

# Train the model using the 'coco8.yaml' dataset for 3 epochs
results = model.train(data="coco8.yaml", epochs=3)

# Evaluate the model's performance on the validation set
results = model.val()

# Perform object detection on an image using the model
results = model("https://ultralytics.com/images/bus.jpg")

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

Link to this sectionEğit (Train)#

Eğitim modu, bir YOLO modelini özel bir veri kümesi üzerinde eğitmek için kullanılır. Bu modda model, belirtilen veri kümesi ve hiperparametreler kullanılarak eğitilir. Eğitim süreci, modelin bir görüntüdeki nesnelerin sınıflarını ve konumlarını doğru bir şekilde tahmin edebilmesi için modelin parametrelerinin optimize edilmesini içerir.

Eğit (Train)
from ultralytics import YOLO

model = YOLO("yolo26n.pt")  # pass any model type
results = model.train(epochs=5)

Eğitim Örnekleri

Link to this sectionDoğrula (Val)#

Doğrulama modu, eğitildikten sonra bir YOLO modelini doğrulamak için kullanılır. Bu modda model, doğruluğunu ve genelleme performansını ölçmek için bir doğrulama kümesi üzerinde değerlendirilir. Bu mod, modelin performansını artırmak için hiperparametrelerini ayarlamak amacıyla kullanılabilir.

Doğrula (Val)
from ultralytics import YOLO

# Load a YOLO model
model = YOLO("yolo26n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate on training data
model.val()

Doğrulama Örnekleri

Link to this sectionTahmin Et (Predict)#

Tahmin modu, eğitilmiş bir YOLO modeli kullanarak yeni görüntüler veya videolar üzerinde tahminler yapmak için kullanılır. Bu modda model bir kontrol noktası dosyasından yüklenir ve kullanıcı çıkarım gerçekleştirmek için görüntüler veya videolar sağlayabilir. Model, giriş görüntüleri veya videolarındaki nesnelerin sınıflarını ve konumlarını tahmin eder.

Tahmin Et (Predict)
import cv2
from PIL import Image

from ultralytics import YOLO

model = YOLO("model.pt")
# accepts all formats - image/dir/Path/URL/video/PIL/ndarray. 0 for webcam
results = model.predict(source="0")
results = model.predict(source="folder", show=True)  # Display preds. Accepts all YOLO predict arguments

# from PIL
im1 = Image.open("bus.jpg")
results = model.predict(source=im1, save=True)  # save plotted images

# from ndarray
im2 = cv2.imread("bus.jpg")
results = model.predict(source=im2, save=True, save_txt=True)  # save predictions as labels

# from list of PIL/ndarray
results = model.predict(source=[im1, im2])

Tahmin Örnekleri

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

Dışa aktarma modu, bir YOLO modelini dağıtım için kullanılabilecek bir formata aktarmak için kullanılır. Bu modda model, diğer yazılım uygulamaları veya donanım cihazları tarafından kullanılabilecek bir formata dönüştürülür. Bu mod, modeli üretim ortamlarına dağıtırken kullanışlıdır.

Dışa Aktar (Export)

Resmi bir YOLO modelini, dinamik yığın boyutu ve görüntü boyutuyla ONNX formatına aktar.

from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="onnx", dynamic=True)

Dışa Aktarma Örnekleri

Link to this sectionTakip et#

Takip modu, bir YOLO modeli kullanarak gerçek zamanlı nesne takibi için kullanılır. Bu modda model bir kontrol noktası dosyasından yüklenir ve kullanıcı gerçek zamanlı nesne takibi yapmak için canlı bir video akışı sağlayabilir. Bu mod, gözetim sistemleri veya sürücüsüz araçlar gibi uygulamalar için kullanışlıdır.

Takip et
from ultralytics import YOLO

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

# Track with the model
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True)
results = model.track(source="https://youtu.be/LNwODJXcvt4", show=True, tracker="bytetrack.yaml")

Takip Örnekleri

Link to this sectionKıyaslama#

Kıyaslama modu, YOLO için çeşitli dışa aktarma formatlarının hızını ve doğruluğunu profillemek için kullanılır. Kıyaslamalar, aktarılan formatın boyutu, mAP50-95 metrikleri (nesne algılama ve segmentasyon için) veya accuracy_top1 metrikleri (sınıflandırma için) ve ONNX, OpenVINO, TensorRT gibi çeşitli dışa aktarma formatlarında görüntü başına milisaniye cinsinden çıkarım süresi hakkında bilgi sağlar. Bu bilgiler, kullanıcıların hız ve doğruluk gereksinimlerine göre belirli kullanım durumları için en uygun dışa aktarma formatını seçmelerine yardımcı olabilir.

Kıyaslama

Resmi bir YOLO modelini tüm dışa aktarma formatlarında kıyasla.

from ultralytics.utils.benchmarks import benchmark

# Benchmark
benchmark(model="yolo26n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

Kıyaslama Örnekleri

Link to this sectionEğiticileri Kullanma#

YOLO model sınıfı, Eğitici sınıfları için yüksek seviyeli bir sarmalayıcı görevi görür. Her YOLO görevinin BaseTrainer sınıfından türetilen kendi eğiticisi vardır. Bu mimari, makine öğrenimi iş akışlarında daha fazla esneklik ve kişiselleştirme sağlar.

Algılama Eğiticisi Örneği
from ultralytics.models.yolo.detect import DetectionPredictor, DetectionTrainer, DetectionValidator

# trainer
trainer = DetectionTrainer(overrides={})
trainer.train()
trained_model = trainer.best

# Validator
val = DetectionValidator(args=...)
val(model=trained_model)

# predictor
pred = DetectionPredictor(overrides={})
pred(source=SOURCE, model=trained_model)

# resume from last weight
overrides["resume"] = trainer.last
trainer = DetectionTrainer(overrides=overrides)

Eğiticileri, özel görevleri desteklemek veya araştırma ve geliştirme fikirlerini keşfetmek için kolayca özelleştirebilirsin. Ultralytics YOLO'nun modüler tasarımı, ister yeni bir bilgisayarlı görü görevi üzerinde çalışıyor ol ister daha iyi performans için mevcut modellerde ince ayar yapıyor ol, çerçeveyi özel ihtiyaçlarına göre uyarlamana olanak tanır.

Kişiselleştirme öğreticileri

Link to this sectionSSS#

Link to this sectionYOLO'yu nesne algılama için Python projeme nasıl entegre edebilirim?#

Ultralytics YOLO'yu Python projelerine entegre etmek basittir. Önceden eğitilmiş bir modeli yükleyebilir veya sıfırdan yeni bir model eğitebilirsin. İşte başlaman için gerekenler:

from ultralytics import YOLO

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

# Perform object detection on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Visualize the results
for result in results:
    result.show()

Daha detaylı örnekleri Tahmin Modu bölümümüzde görebilirsin.

Link to this sectionYOLO'da mevcut olan farklı modlar nelerdir?#

Ultralytics YOLO, farklı makine öğrenimi iş akışlarına hitap etmek için çeşitli modlar sunar. Bunlar şunları içerir:

  • Eğitim: Özel veri kümeleri kullanarak bir model eğit.
  • Doğrulama: Model performansını bir doğrulama kümesi üzerinde doğrula.
  • Tahmin: Yeni görüntüler veya video akışları üzerinde tahminler yap.
  • Dışa Aktarma: Modelleri ONNX ve TensorRT gibi çeşitli formatlara aktar.
  • Takip: Video akışlarında gerçek zamanlı nesne takibi.
  • Kıyaslama: Model performansını farklı konfigürasyonlarda kıyasla.

Her mod, model geliştirme ve dağıtımın farklı aşamaları için kapsamlı işlevler sağlamak üzere tasarlanmıştır.

Link to this sectionVeri kümemi kullanarak özel bir YOLO modelini nasıl eğitebilirim?#

Özel bir YOLO modeli eğitmek için veri kümeni ve diğer hiperparametreleri belirtmen gerekir. İşte hızlı bir örnek:

from ultralytics import YOLO

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

# Train the model with custom dataset
model.train(data="path/to/your/dataset.yaml", epochs=10)

Eğitimle ilgili daha fazla ayrıntı ve örnek kullanım bağlantıları için Eğitim Modu sayfamızı ziyaret et.

Link to this sectionYOLO modellerini dağıtım için nasıl dışa aktarırım?#

YOLO modellerini dağıtıma uygun bir formatta dışa aktarmak export fonksiyonu ile basittir. Örneğin, bir modeli ONNX formatına aktarabilirsin:

from ultralytics import YOLO

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

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

Çeşitli dışa aktarma seçenekleri için Dışa Aktarma Modu dokümantasyonuna bak.

Link to this sectionYOLO modelimi farklı veri kümeleri üzerinde doğrulayabilir miyim?#

Evet, YOLO modellerini farklı veri kümeleri üzerinde doğrulamak mümkündür. Eğitimden sonra, performansı değerlendirmek için doğrulama modunu kullanabilirsin:

from ultralytics import YOLO

# Load a YOLO model
model = YOLO("yolo26n.yaml")

# Train the model
model.train(data="coco8.yaml", epochs=5)

# Validate the model on a different dataset
model.val(data="path/to/separate/data.yaml")

Detaylı örnekler ve kullanım için Doğrulama Modu sayfasına göz at.

Yorumlar