İç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 YOLO11 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 YOLO11'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, YOLO11'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 bağlı olarak 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 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=yolo11n.pt veya model('yolo11n.pt').val()

Kullanım Örnekleri

Eğitilmiş YOLO11n modelini doğrulayın doğruluk COCO8 veri kümesi üzerinde. Hiçbir argüman gerekmez çünkü model eğitimini sürdürür data ve model öznitelikleri olarak bağımsız değişkenler. Doğrulama argümanlarının tam listesi için aşağıdaki Argümanlar 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). Bu dosya aşağıdakilere giden yolları içerir doğrulama veri̇leri̇, sınıf adları ve sınıf sayısı.
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. Daha büyük boyutlar küçük nesneler için doğruluğu artırabilir ancak hesaplama süresini artırır.
batch int 16 Yığın başına görüntü sayısını ayarlar. Daha yüksek değerler GPU belleğini daha verimli kullanır ancak daha fazla VRAM gerektirir. Mevcut donanım kaynaklarına göre ayarlayın.
save_json bool False Eğer Truedaha fazla analiz, diğer araçlarla entegrasyon veya COCO gibi değerlendirme sunucularına gönderme 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. Yarı denetimli öğrenme ve veri kümesi geliştirme için kullanışlıdır.
conf float 0.001 Tespitler için minimum güven eşiğini ayarlar. Düşük değerler geri çağırmayı artırır, ancak daha fazla yanlış pozitifliğe neden olabilir. Doğrulama sırasında hassasiyet-geri çağırma eğrilerini hesaplamak için kullanılır.
iou float 0.6 Maksimum Olmayan Bastırma için Birlik Üzerinde Kesişme eşiğini ayarlar. Yinelenen algılama eliminasyonunu kontrol eder.
max_det int 300 Görüntü başına maksimum algılama sayısını sınırlar. Yoğun sahnelerde aşırı tespitleri önlemek ve hesaplama kaynaklarını yönetmek için kullanışlıdır.
half bool True Yarım hassasiyetli (FP16) hesaplamaya olanak sağlayarak 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.). Ne zaman Noneotomatik olarak mevcut en iyi cihazı seçer. Virgül ayrımı ile birden fazla CUDA cihazı belirtilebilir.
dnn bool False Eğer True, kullanır OpenCV ONNX model çıkarımı için DNN modülü, aşağıdakilere bir alternatif sunar PyTorch çıkarım yöntemleri.
plots bool False Olarak ayarlandığında Truemodel performansının görsel olarak değerlendirilmesi için temel gerçeğe, karışıklık matrislerine ve PR eğrilerine karşı tahminlerin çizimlerini oluşturur ve kaydeder.
rect bool True Eğer Truegörüntüleri orijinal en boy oranlarında işleyerek 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.
project str None Doğrulama çıktılarının kaydedildiği proje dizininin adı. Farklı deneylerden veya modellerden elde edilen sonuçların düzenlenmesine yardımcı olur.
name str None Doğrulama çalışmasının adı. Proje klasörü içinde doğrulama günlüklerinin ve çıktılarının depolandığı bir alt dizin oluşturmak için kullanılır.
verbose bool False Eğer Truedoğrulama işlemi sırasında sınıf başına ölçümler, toplu iş ilerlemesi ve ek hata ayıklama bilgileri dahil olmak üzere ayrıntılı bilgiler görüntüler.
save_txt bool False Eğer TrueAlgılama sonuçlarını, görüntü başına bir dosya olmak üzere metin dosyalarına kaydeder ve daha fazla analiz, özel işlem sonrası veya diğer sistemlerle entegrasyon için kullanışlıdır.
save_conf bool False Eğer Truekaydedilen metin dosyalarındaki güven değerlerini şu durumlarda içerir save_txt etkinleştirildiğinde, analiz ve filtreleme için daha ayrıntılı çıktı sağlar.
save_crop bool False Eğer Truealgılanan nesnelerin kırpılmış görüntülerini kaydeder; bu, odaklanmış veri kümeleri oluşturmak, görsel doğrulama veya tek tek algılamaların daha fazla analizi için yararlı olabilir.
workers int 8 Veri yükleme için işçi iş parçacığı sayısı. Daha yüksek değerler veri ön işlemeyi hızlandırabilir ancak CPU kullanımını artırabilir. 0 olarak ayarlandığında, bazı ortamlarda daha kararlı olabilen ana iş parçacığı kullanılır.
augment bool False Doğrulama sırasında test zamanı artırımını (TTA) etkinleştirir, girdinin dönüştürülmüş sürümleri üzerinde çıkarım yaparak çıkarım hızı pahasına tespit doğruluğunu potansiyel olarak artırır.
agnostic_nms bool False Tahmin edilen sınıflarına bakılmaksızın çakışan kutuları birleştiren, sınıftan bağımsız Maksimum Olmayan Bastırmayı etkinleştirir. Örnek odaklı uygulamalar için kullanışlıdır.
single_cls bool False Doğrulama sırasında tüm sınıfları tek bir sınıf olarak ele alır. İkili algılama görevlerinde veya sınıf ayrımlarının önemli olmadığı durumlarda model performansını değerlendirmek için kullanışlıdır.

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

YOLO11 modelimi Ultralytics ile nasıl doğrulayabilirim?

YOLO11 modelinizi doğrulamak için Ultralytics tarafından sağlanan Val modunu kullanabilirsiniz. Örneğin, Python API'sini kullanarak bir model yükleyebilir ve doğrulamayı şu şekilde çalıştırabilirsiniz:

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.

YOLO11 model doğrulamasından hangi ölçümleri elde edebilirim?

YOLO11 model doğrulaması, model performansını değerlendirmek için birkaç temel ölçüt sağlar. Bunlar şunları içerir:

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

  • Hassasiyet: YOLO11 , mAP50, mAP75 ve mAP50-95 dahil olmak üzere doğru performans ölçümleri sunar.
  • 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.

Özel bir veri kümesi kullanarak YOLO11 modelimi doğrulayabilir miyim?

Evet, YOLO11 modelinizi bir özel veri kümesi. Belirtin data argümanını veri kümesi yapılandırma dosyanızın yolu ile birlikte kullanın. Bu dosya aşağıdakilerin yollarını içermelidir doğrulama veri̇leri̇, sınıf adları ve diğer ilgili ayrıntılar.

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.

Doğrulama sonuçlarını YOLO11 adresindeki bir JSON dosyasına nasıl kaydederim?

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.

📅1 yıl önce oluşturuldu ✏️ 4 gün önce güncellendi

Yorumlar