Ultralytics YOLO27:

Model Değerlendirme ve İnce Ayar Hakkında İçgörüler#

Bir YOLO modelini eğittikten sonra sıradaki adım, ne kadar iyi performans gösterdiğini ölçmek ve eksiklikleri gidermek için ince ayar yapmaktır. Değerlendirme, doğruluğu nicel olarak ölçmek için mAP ve IoU gibi metrikleri kullanırken ince ayar, modelin projenin hedefini karşılamasını sağlamak üzere zayıf noktaları güçlendirmek için eğitim parametrelerini ayarlar. Bu kılavuzda temel değerlendirme metrikleri, bunların nasıl okunacağı ve gösterdikleri sonuçlara göre nasıl hareket edileceği açıklanır.



Watch: Insights into Model Evaluation and Fine-Tuning | Tips for Improving Mean Average Precision

Değerlendirme ve ince ayar, bilgisayarlı görü projesi iş akışının son aşamalarında yer alır; eğitim başladıktan ve modelin doğru, verimli ve dağıtıma hazır olduğunu doğrulaman gerektiğinde uygulanır.

Temel Değerlendirme Metrikleri#

Bir modelin ne kadar etkili performans gösterdiğini çeşitli metrikler ölçer. Bu performans metrikleri, modelin amaçlanan hedefleri karşıladığından emin olmaya yönelik iyileştirmelere rehberlik eden açık ve sayısal içgörüler sağlar.

Güven Skoru#

Güven skoru, modelin algılanan bir nesnenin belirli bir sınıfa ait olduğuna dair kesinliğini temsil eder. 0 ile 1 arasında değişir; daha yüksek skorlar daha yüksek güveni gösterir. Güven skoru, tahminleri filtrelemeye yardımcı olur; yalnızca güven skoru belirtilen eşikten yüksek olan tespitler geçerli kabul edilir.

Hiçbir tahmin göremiyor musun?

Çıkarım yaparken hiçbir tahmin göremiyorsan ve diğer her şeyi kontrol ettiysen güven eşiğini düşürmeyi dene. Bazen eşik çok yüksek olur ve modelin geçerli tahminleri göz ardı etmesine neden olur. Eşiği düşürmek, modelin daha fazla olasılığı değerlendirmesini sağlar. Bu, nihai proje hedeflerini karşılamayabilir; ancak modelin neler yapabildiğini görmek ve ince ayarı nasıl yapacağına karar vermek için iyi bir yöntemdir.

Birleşim Üzerinde Kesişim#

Birleşim Üzerinde Kesişim (IoU), nesne tespitinde tahmin edilen sınırlayıcı kutunun gerçek sınırlayıcı kutuyla ne ölçüde örtüştüğünü ölçen bir metriktir. IoU değerleri 0 ile 1 arasında değişir; 1, mükemmel eşleşmeyi ifade eder. IoU önemlidir, çünkü tahmin edilen sınırların gerçek nesne sınırlarıyla ne kadar yakından eşleştiğini ölçer.

Intersection over Union Overview

Ortalama Hassasiyet#

Ortalama Hassasiyet (mAP), bir nesne tespit modelinin genel olarak ne kadar iyi performans gösterdiğini ölçer. Her nesne sınıfının tespit hassasiyetini inceler, bu skorların ortalamasını alır ve modelin nesneleri ne kadar doğru tanımlayıp sınıflandırabildiğini gösteren tek bir sayı üretir.

En yaygın olarak iki mAP metriği raporlanır:

  • mAP@.5: Tek bir 0.5 IoU eşiğinde ortalama hassasiyeti ölçer. Bu metrik, modelin daha esnek bir doğruluk gereksinimiyle nesneleri doğru şekilde bulup bulamadığını kontrol eder. Nesnenin yaklaşık olarak doğru yerde olup olmadığına odaklanır; kusursuz konumlandırma gerektirmez ve modelin genel olarak nesneleri tespit etmede iyi olup olmadığını görmeye yardımcı olur.
  • mAP@.5:.95: 0.5 ile 0.95 arasındaki birden fazla IoU eşiğinde 0.05 artışlarla hesaplanan mAP değerlerinin ortalamasını alır. Bu metrik daha ayrıntılı ve katıdır. Modelin farklı katılık düzeylerinde nesneleri ne kadar doğru bulabildiğine dair daha kapsamlı bir görünüm sunar ve özellikle hassas nesne tespiti gerektiren uygulamalarda yararlıdır.

Diğer mAP metrikleri arasında 0.75 gibi daha katı bir IoU eşiği kullanan mAP@0.75 ile farklı boyutlardaki nesnelerde hassasiyeti değerlendiren mAP@small, medium ve large bulunur.

Mean average precision mAP metric

Bir YOLO26 Modelini Değerlendirme#

Eğitilmiş bir YOLO26 modelini doğrulama moduyla değerlendirebilirsin. Her metriğin nasıl hesaplandığı ve yorumlandığına daha derinlemesine bakmak için YOLO26 performans metrikleri kılavuzuna göz at.

Değişken Görüntü Boyutlarını İşleme#

Modelini farklı boyutlardaki görüntüler üzerinde değerlendirmek, çeşitli veri kümelerindeki performansını anlamana yardımcı olur. rect=true doğrulama parametresi, görüntüleri en-boy oranına göre gruplandırır ve her batch'i sığan en küçük şekle doldurur; böylece dikdörtgen görüntüler kareye zorlanmadan değerlendirilir.

imgsz parametresi, doğrulama sırasında kullanılan görüntü boyutunu kare olarak belirler. Açıkça ayarlamazsan YOLO26, model ayarlarında kaydedilen değeri yeniden kullanır (resmî önceden eğitilmiş modeller için 640 veya özel checkpoint'in eğitildiği boyut). rect=true ile YOLO26 uzun kenarı imgsz ile sınırlar ve en-boy oranını koruyarak kısa kenarı stride katına doldurur. imgsz değerini veri kümenin boyutlarına ve kullanılabilir GPU belleğine göre ayarla.

YOLO26 Metriklerine Erişme#

Modelinin performansını ayrıntılı olarak anlamak için birkaç satır Python koduyla belirli değerlendirme metriklerine erişebilirsin. Aşağıdaki kod parçacığı bir model yükler, doğrulama çalıştırır ve en yararlı metrikleri yazdırır.

Kullanım
from ultralytics import YOLO

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

# Run validation on your dataset
results = model.val(data="coco8.yaml")

# Overall metrics
print("mAP50-95:", results.box.map)  # mAP at IoU 0.50:0.95
print("mAP50:", results.box.map50)  # mAP at IoU 0.50
print("mAP75:", results.box.map75)  # mAP at IoU 0.75
print("Mean precision:", results.box.mp)
print("Mean recall:", results.box.mr)
print("Fitness:", results.box.fitness())  # weighted score used for model selection

# Per-class metrics
print("Class indices evaluated:", results.box.ap_class_index)
print("Per-class mAP50-95:", results.box.maps)

# Per-image precision, recall, F1, TP, FP, and FN
print("Per-image metrics:", results.box.image_metrics)

# Per-stage timing breakdown in milliseconds per image
print("Timing breakdown (ms/image):", results.speed)

fitness() öğesinin bir metot olduğunu ve parantezlerle çağrılması gerektiğini, map, map50 ve mp gibi metriklerin ise doğrudan erişilen özellikler olduğunu unutma.

results.box.image_metrics özniteliği, görüntü dosya adıyla anahtarlanan ve her görüntü için IoU 0.5 değerinde precision, recall, f1, tp, fp ve fn öğelerini içeren görüntü başına bir sözlüktür. Ön işleme, çıkarım, kayıp ve son işleme süreleri results.speed sözlüğünde ayrı ayrı raporlanır. Bunlar birlikte, modelin hangi görüntülerde zorlandığını belirlemene ve buna göre ince ayar yapmana olanak tanır.

Modeline İnce Ayar Yapma#

İnce ayar, önceden eğitilmiş bir modelin belirli bir görev veya veri kümesindeki performansını iyileştirmek için parametrelerini ayarlar. Model yeniden eğitimi olarak da bilinen bu işlem, modelin gerçek dünya uygulamalarında karşılaşacağı verileri daha iyi anlamasını ve sonuçları daha doğru tahmin etmesini sağlar. Değerlendirme sonuçlarına göre modeli kendi verilerin üzerinde yeniden eğitir ve eğitim bağımsız değişkenlerini ince ayar kılavuzunda açıklanan şekilde ayarlarsın.

Küçük Nesneler için Görüntü Döşeme#

Görüntü döşeme, küçük nesneler için tespit doğruluğunu artırabilir. Büyük görüntüleri daha küçük parçalara bölerek, örneğin 1280x1280 görüntüleri birden fazla 640x640 parçaya ayırarak, orijinal çözünürlüğü korur ve modelin yüksek çözünürlüklü parçalardan öğrenmesini sağlarsın. Ultralytics bunu çıkarım sırasında SAHI döşemeli çıkarımı aracılığıyla destekler. Döşenmiş görüntülerle eğitim yaparken her yeni parça için etiketlerini doğru şekilde ayarladığından emin ol.

Sonuç#

Değerlendirme ve ince ayar, eğitilmiş bir modeli güvenilir ve dağıtıma hazır bir modele dönüştürür: mAP ve IoU gibi metrikler zayıflıkları ortaya çıkarır, hedefli parametre değişiklikleri de bunları giderir. Modelini kıyaslamak için doğrulama moduyla başla, ardından ince ayar kılavuzunda açıklanan bağımsız değişkenlerle yeniden eğitim yap ve yeni parametreler, teknikler ve veri kümeleriyle yinelemeye devam et. Yol boyunca soruların olursa Ultralytics GitHub deposunda veya Ultralytics Discord sunucusunda topluluğa sor.

SSS#

  • YOLO26 model performansını değerlendirmek için önemli metrikler arasında Güven Skoru, Birleşim Üzerinde Kesişim (IoU) ve Ortalama Hassasiyet (mAP) bulunur. Güven Skoru, modelin algılanan her nesne sınıfına ilişkin kesinliğini ölçer. IoU, tahmin edilen sınırlayıcı kutunun gerçek sınırlayıcı kutuyla ne kadar örtüştüğünü değerlendirir. Ortalama Hassasiyet (mAP), sınıflar genelindeki hassasiyet skorlarını bir araya getirir; mAP@.5 ve mAP@.5:.95, farklı IoU eşikleri için kullanılan iki yaygın türdür. Bu metrikler hakkında daha fazla bilgi için YOLO26 performans metrikleri kılavuzumuza göz at.

  • Önceden eğitilmiş bir YOLO26 modeline ince ayar yapmak, belirli bir görev veya veri kümesindeki performansını iyileştirmek için parametrelerini ayarlamayı içerir. Önce modelini metriklerle değerlendir, ardından önceden eğitilmiş ağırlıklardan başlayarak kendi veri kümen üzerinde yeniden eğit. Değerlendirme sırasında rect=true gibi parametreler, farklı görüntü boyutlarını etkili şekilde işlemeye yardımcı olur. Ayarlanacak eğitim bağımsız değişkenleri için ince ayar kılavuzuna bak.

  • Değerlendirme sırasında değişken görüntü boyutlarını işlemek için YOLO26 içindeki rect=true parametresini kullan; bu parametre görüntüleri en-boy oranına göre gruplandırır ve her görüntüyü kareye zorlamak yerine her batch'i doldurur. imgsz parametresi doğrulama için görüntü boyutunu belirler; bu değeri geçersiz kılmazsan YOLO26 modelin kaydedilmiş değerini yeniden kullanır (resmî önceden eğitilmiş modeller için 640). imgsz değerini veri küene ve GPU belleğine uygun şekilde ayarla. Daha fazla ayrıntı için değişken görüntü boyutlarını işleme bölümümüzü ziyaret et.

  • Bir YOLO26 modelinin ortalama hassasiyetini (mAP) iyileştirmek birkaç adım içerir:

    1. Hiperparametreleri Ayarlama: Farklı öğrenme oranları, batch boyutları ve görüntü artırma yöntemleriyle denemeler yap.
    2. Veri Artırma: Çeşitli eğitim örnekleri oluşturmak için Mosaic ve MixUp gibi teknikleri kullan.
    3. Görüntü Döşeme: Küçük nesnelerde tespit doğruluğunu artırmak için büyük görüntüleri daha küçük döşemelere ayır.

    ve 2. adımların temelindeki eğitim bağımsız değişkenleri için ince ayar kılavuzuna bak; 3. adım görüntü döşeme bölümünde ele alınır.

  • Doğrulamayı çalıştırdıktan sonra YOLO26 model değerlendirme metriklerine Python kullanarak erişebilirsin:

    Kullanım
    from ultralytics import YOLO
    
    # Load a model
    model = YOLO("yolo26n.pt")
    
    # Run validation
    results = model.val(data="coco8.yaml")
    
    # Access key metrics
    print("Mean average precision at IoU=0.50:", results.box.map50)
    print("Mean average precision at IoU=0.50:0.95:", results.box.map)
    print("Mean recall:", results.box.mr)
    print("Class indices evaluated:", results.box.ap_class_index)

    Bu metrikleri analiz etmek, YOLO26 modeline ince ayar yapmana ve modeli optimize etmene yardımcı olur. Daha derinlemesine bilgi için YOLO performans metrikleri kılavuzumuza göz at.

Yorumlar