İçeriğe geç

ile Model Doğrulama Ultralytics YOLO

Ultralytics YOLO ekosistem ve entegrasyonlar

Giriş

Doğrulama, eğitilmiş modellerinizin kalitesini değerlendirmenize olanak tanıyan, makine öğrenimi işlem hattındaki kritik bir adımdır. Ultralytics YOLOv8 adresindeki Val modu, nesne algılama modellerinizin performansını değerlendirmek için sağlam bir araç ve metrik paketi sunar. Bu kılavuz, modellerinizin hem doğru hem de güvenilir olmasını sağlamak için Val modunun nasıl etkili bir şekilde kullanılacağını anlamak için eksiksiz bir kaynak görevi görür.



İzle: Ultralytics Modlar Eğitimi: Doğrulama

Neden Ultralytics YOLO ile Doğrulama Yapmalısınız?

İşte YOLOv8'un Val modunu kullanmanın neden avantajlı olduğu:

  • Hassasiyet: Modelinizi kapsamlı bir şekilde değerlendirmek için mAP50, mAP75 ve mAP50-95 gibi doğru ölçümler elde edin.
  • Kolaylık: Eğitim ayarlarını hatırlayarak doğrulama sürecini basitleştiren yerleşik özelliklerden yararlanın.
  • Esneklik: Modelinizi aynı veya farklı veri kümeleri ve görüntü boyutlarıyla doğrulayın.
  • Hiperparametre Ayarlama: Daha iyi performans için modelinize ince ayar yapmak üzere doğrulama metriklerini kullanın.

Val Modunun Temel Özellikleri

Bunlar, YOLOv8'un Val modu tarafından sunulan dikkate değer işlevlerdir:

  • Otomatik Ayarlar: Modeller, doğrudan doğrulama için eğitim yapılandırmalarını hatırlar.
  • Çoklu Metrik Desteği: Modelinizi bir dizi doğruluk ölçütüne göre değerlendirin.
  • CLI ve Python API: Doğrulama tercihinize göre komut satırı arayüzü veya Python API arasından seçim yapın.
  • Veri Uyumluluğu: Eğitim aşamasında kullanılan veri kümelerinin yanı sıra özel veri kümeleriyle de sorunsuz çalışır.

İpucu

  • YOLOv8 modeller eğitim ayarlarını otomatik olarak hatırlar, böylece bir modeli aynı görüntü boyutunda ve orijinal veri kümesinde yalnızca yolo val model=yolov8n.pt veya model('yolov8n.pt').val()

Kullanım Örnekleri

COCO8 veri kümesi üzerinde eğitilmiş YOLOv8n model doğruluğunu doğrulayın. Herhangi bir argüman geçilmesine gerek yoktur. model eğitimini sürdürür data ve model öznitelikleri olarak bağımsız değişkenler. Dışa aktarma bağımsız değişkenlerinin tam listesi için aşağıdaki Bağımsız Değişkenler bölümüne bakın.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')  # load an official model
model = YOLO('path/to/best.pt')  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map    # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps   # a list contains map50-95 of each category
yolo detect val model=yolov8n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

YOLO Model Doğrulama için Argümanlar

YOLO modellerini doğrularken, değerlendirme sürecini optimize etmek için çeşitli argümanlara ince ayar yapılabilir. Bu bağımsız değişkenler girdi görüntüsü boyutu, toplu işleme ve performans eşikleri gibi hususları kontrol eder. Aşağıda, doğrulama ayarlarınızı etkili bir şekilde özelleştirmenize yardımcı olmak için her bir bağımsız değişkenin ayrıntılı bir dökümü yer almaktadır.

Tartışma Tip Varsayılan Açıklama
data str None Veri kümesi yapılandırma dosyasının yolunu belirtir (örn, coco8.yaml). Bu dosya doğrulama verilerine giden yolları, sınıf adlarını ve sınıf sayısını içerir.
imgsz int 640 Girdi görüntülerinin boyutunu tanımlar. Tüm görüntüler işlenmeden önce bu boyuta yeniden boyutlandırılır.
batch int 16 Toplu iş başına görüntü sayısını ayarlar. Kullanım -1 GPU bellek kullanılabilirliğine göre otomatik olarak ayarlanan AutoBatch için.
save_json bool False Eğer Truedaha fazla analiz veya diğer araçlarla entegrasyon için sonuçları bir JSON dosyasına kaydeder.
save_hybrid bool False Eğer Trueorijinal açıklamaları ek model tahminleriyle birleştiren etiketlerin hibrit bir versiyonunu kaydeder.
conf float 0.001 Tespitler için minimum güven eşiğini ayarlar. Bu eşiğin altında güvene sahip tespitler atılır.
iou float 0.6 Maksimum Olmayan Bastırma (NMS) için Birlik Üzerinde Kesişme (IoU) eşiğini ayarlar. Yinelenen algılamaların azaltılmasına yardımcı olur.
max_det int 300 Görüntü başına maksimum algılama sayısını sınırlar. Yoğun sahnelerde aşırı algılamaları önlemek için kullanışlıdır.
half bool True Yarım hassasiyetli (FP16) hesaplamaya olanak tanıyarak bellek kullanımını azaltır ve doğruluk üzerinde minimum etkiyle hızı potansiyel olarak artırır.
device str None Doğrulama için cihazı belirtir (cpu, cuda:0vb.). CPU veya GPU kaynaklarının kullanımında esneklik sağlar.
dnn bool False Eğer TrueONNX model çıkarımı için OpenCV DNN modülünü kullanır ve PyTorch çıkarım yöntemlerine bir alternatif sunar.
plots bool False Olarak ayarlandığında Truemodelin performansının görsel olarak değerlendirilmesi için zemin gerçeğine karşı tahminlerin çizimlerini oluşturur ve kaydeder.
rect bool False Eğer Truegruplama için dikdörtgen çıkarım kullanır, dolguyu azaltır ve potansiyel olarak hızı ve verimliliği artırır.
split str val Doğrulama için kullanılacak veri kümesi bölünmesini belirler (val, testveya train). Performans değerlendirmesi için veri segmenti seçiminde esneklik sağlar.

Bu ayarların her biri doğrulama sürecinde hayati bir rol oynar ve YOLO modellerinin özelleştirilebilir ve verimli bir şekilde değerlendirilmesine olanak tanır. Bu parametreleri özel ihtiyaçlarınıza ve kaynaklarınıza göre ayarlamak, doğruluk ve performans arasında en iyi dengeyi elde etmenize yardımcı olabilir.

Bağımsız Değişkenlerle Örnek Doğrulama

Aşağıdaki örnekler Python ve CLI adreslerinde özel argümanlarla YOLO model doğrulamasını göstermektedir.

Örnek

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.pt')

# Customize validation settings
validation_results = model.val(data='coco8.yaml',
                               imgsz=640,
                               batch=16,
                               conf=0.25,
                               iou=0.6,
                               device='0')
yolo val model=yolov8n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0


Oluşturma 2023-11-12, Güncelleme 2024-04-18
Yazarlar: glenn-jocher (9), Burhan-Q (1), RizwanMunawar (1)

Yorumlar