Ultralytics YOLO27:

Python Kullanımı#

Ultralytics YOLO Python Kullanımı belgelerine hoş geldin! Bu kılavuz, Ultralytics YOLO'yu Python projelerine sorunsuz bir şekilde entegre etmene yardımcı olmak için tasarlanmıştır; nesne tespiti, örnek bölütleme, anlamsal bölütleme, derinlik tahmini ve sınıflandırma dahil. 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 tespiti yeteneklerini hızlı bir şekilde uygulamana olanak tanır. Başlayalım!



Watch: Mastering Ultralytics YOLO: Python

Örneğin, kullanıcılar sadece birkaç satır kodla bir model yükleyebilir, modeli eğitebilir, modelin bir doğrulama kümesindeki performansını değerlendirebilir ve hatta modeli ONNX formatına dışarı 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")

Eğit#

Eğitim modu, özel bir veri kümesi üzerinde bir YOLO modelini 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 parametrelerini optimize etmeyi içerir.

Eğit
from ultralytics import YOLO

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

Eğitim Örnekleri

Doğrulama#

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

Doğrulama
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

Tahmin#

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
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

Dışa aktarma#

Dışarı aktarma modu, bir YOLO modelini dağıtım için kullanılabilecek bir forma dışarı 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, model üretim ortamlarına dağıtılırken yararlıdır.

Dışa aktarma

Resmi bir YOLO modelini dinamik toplu iş boyutu ve görüntü boyutuyla ONNX formatına dışarı aktar.

from ultralytics import YOLO

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

Dışarı Aktarma Örnekleri

Takip et#

Takip modu, bir YOLO modeli kullanarak gerçek zamanlı olarak nesneleri takip etmek için kullanılır. Bu modda model bir kontrol noktası dosyasından yüklenir ve kullanıcı gerçek zamanlı nesne takibi gerçekleştirmek için canlı bir video akışı sağlayabilir. Bu mod gözetim sistemleri veya sürücüsüz arabalar 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

Kıyaslama#

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

Kıyaslama

Tüm dışarı aktarma formatlarında resmi bir YOLO modelini kıyasla.

from ultralytics.utils.benchmarks import benchmark

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

Kıyaslama Örnekleri

Eğiticileri Kullanma#

YOLO model sınıfı, Eğitici sınıfları için üst düzey 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ın daha büyük esneklik ve özelleştirme sağlar.

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

overrides = {"model": "yolo26n.pt", "data": "coco8.yaml", "epochs": 3}

# Trainer
trainer = DetectionTrainer(overrides=overrides)
trainer.train()
trained_model = trainer.best  # path to best.pt

# Validator
validator = DetectionValidator(args={"data": "coco8.yaml"})
validator(model=trained_model)

# Predictor
predictor = DetectionPredictor(overrides={"model": trained_model})
predictor(source="https://ultralytics.com/images/bus.jpg")

# Resume from the last checkpoint
trainer = DetectionTrainer(overrides={**overrides, "resume": trainer.last})

Özel görevleri desteklemek veya araştırma ve geliştirme fikirlerini keşfetmek için Eğiticileri 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 kendi özel ihtiyaçlarına uyarlamana olanak tanır.

Özelleştirme öğreticileri

SSS#

  • Ultralytics YOLO'yu Python projelerine entegre etmek basittir. Önceden eğitilmiş bir model yükleyebilir veya sıfırdan yeni bir model eğitebilirsin. Başlamak için yapman gerekenler şunlardır:

    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()

    Tahmin Modu bölümümüzde daha ayrıntılı örnekler incele.

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

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

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

  • Özel bir YOLO modelini 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ğitim ve örnek kullanımlara yönelik köprüler hakkında daha fazla ayrıntı için Eğitim Modu sayfamızı ziyaret et.

  • YOLO modellerini dağıtıma uygun bir formatta dışarı aktarmak export fonksiyonu ile basittir. Örneğin, bir modeli ONNX formatına dışarı 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ışarı aktarma seçenekleri için Dışarı Aktarma Modu belgelerine başvuru yap.

  • Evet, YOLO modellerini farklı veri kümelerinde 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")

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

Yorumlar