İçeriğe geç

ile Model Doğrulama Ultralytics YOLO

Ultralytics YOLO ekosistem ve entegrasyonlar

Giriş

Validation is a critical step in the machine learning pipeline, allowing you to assess the quality of your trained models. Val mode in Ultralytics YOLO11 provides a robust suite of tools and metrics for evaluating the performance of your object detection models. This guide serves as a complete resource for understanding how to effectively use the Val mode to ensure that your models are both accurate and reliable.



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

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

Here's why using YOLO11's Val mode is advantageous:

  • 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.
  • Hyperparameter Tuning: Use validation metrics to fine-tune your model for better performance.

Val Modunun Temel Özellikleri

These are the notable functionalities offered by YOLO11's Val mode:

  • 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

  • YOLO11 models automatically remember their training settings, so you can validate a model at the same image size and on the original dataset easily with just yolo val model=yolo11n.pt veya model('yolo11n.pt').val()

Kullanım Örnekleri

Validate trained YOLO11n model accuracy on the COCO8 dataset. No arguments are needed as the 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("yolo11n.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=yolo11n.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). This file includes paths to validation data, class names, and number of classes.
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 Sets the Intersection Over Union (IoU) threshold for Non-Maximum Suppression (NMS). Helps in reducing duplicate detections.
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 Enables half-precision (FP16) computation, reducing memory usage and potentially increasing speed with minimal impact on accuracy.
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 True, uses the OpenCV DNN module for ONNX model inference, offering an alternative to PyTorch inference methods.
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("yolo11n.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=yolo11n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0

SSS

How do I validate my YOLO11 model with Ultralytics?

To validate your YOLO11 model, you can use the Val mode provided by Ultralytics. For example, using the Python API, you can load a model and run validation with:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # map50-95

Alternatif olarak, komut satırı arayüzünü (CLI) kullanabilirsiniz:

yolo val model=yolo11n.pt

Daha fazla özelleştirme için, aşağıdaki gibi çeşitli argümanları ayarlayabilirsiniz imgsz, batchve conf hem Python hem de CLI modlarında. Kontrol edin YOLO Model Doğrulama için Argümanlar bölümünde parametrelerin tam listesini bulabilirsiniz.

What metrics can I get from YOLO11 model validation?

YOLO11 model validation provides several key metrics to assess model performance. These include:

  • mAP50 (IoU eşiğinde ortalama Ortalama Hassasiyet 0,5)
  • mAP75 (IoU eşiğinde ortalama Ortalama Hassasiyet 0,75)
  • mAP50-95 (0,5 ila 0,95 arasındaki çoklu IoU eşiklerinde ortalama Ortalama Hassasiyet)

Python API'sini kullanarak bu metriklere aşağıdaki şekilde erişebilirsiniz:

metrics = model.val()  # assumes `model` has been loaded
print(metrics.box.map)  # mAP50-95
print(metrics.box.map50)  # mAP50
print(metrics.box.map75)  # mAP75
print(metrics.box.maps)  # list of mAP50-95 for each category

Tam bir performans değerlendirmesi için tüm bu ölçümleri gözden geçirmek çok önemlidir. Daha fazla ayrıntı için Val Modunun Temel Özellikleri bölümüne bakın.

Doğrulama için Ultralytics YOLO adresini kullanmanın avantajları nelerdir?

Doğrulama için Ultralytics YOLO adresinin kullanılması çeşitli avantajlar sağlar:

  • Precision: YOLO11 offers accurate performance metrics including mAP50, mAP75, and mAP50-95.
  • Kolaylık: Modeller eğitim ayarlarını hatırlayarak doğrulamayı kolaylaştırır.
  • Esneklik: Aynı veya farklı veri kümelerine ve görüntü boyutlarına karşı doğrulama yapabilirsiniz.
  • Hiperparametre Ayarlama: Doğrulama metrikleri, daha iyi performans için modellerde ince ayar yapılmasına yardımcı olur.

Bu avantajlar, modellerinizin kapsamlı bir şekilde değerlendirilmesini ve üstün sonuçlar için optimize edilebilmesini sağlar. Neden Ultralytics YOLO ile Doğrulama bölümünde bu avantajlar hakkında daha fazla bilgi edinin.

Can I validate my YOLO11 model using a custom dataset?

Yes, you can validate your YOLO11 model using a custom dataset. Specify the data argument with the path to your dataset configuration file. This file should include paths to the validation data, class names, and other relevant details.

Python adresindeki örnek:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Validate with a custom dataset
metrics = model.val(data="path/to/your/custom_dataset.yaml")
print(metrics.box.map)  # map50-95

CLI adresini kullanan örnek:

yolo val model=yolo11n.pt data=path/to/your/custom_dataset.yaml

Doğrulama sırasında daha fazla özelleştirilebilir seçenek için Bağımsız Değişkenlerle Örnek Doğrulama bölümüne bakın.

How do I save validation results to a JSON file in YOLO11?

Doğrulama sonuçlarını bir JSON dosyasına kaydetmek için save_json argümanına True doğrulama çalıştırılırken. Bu işlem hem Python API'sinde hem de CLI adresinde yapılabilir.

Python adresindeki örnek:

from ultralytics import YOLO

# Load a model
model = YOLO("yolo11n.pt")

# Save validation results to JSON
metrics = model.val(save_json=True)

CLI adresini kullanan örnek:

yolo val model=yolo11n.pt save_json=True

Bu işlevsellik özellikle daha fazla analiz veya diğer araçlarla entegrasyon için kullanışlıdır. Daha fazla ayrıntı için YOLO Model Doğrulama Argümanları bölümüne bakın.


📅 Created 11 months ago ✏️ Updated 8 days ago

Yorumlar